第05章串行通信接口SCI學(xué)習(xí)資料_第1頁(yè)
第05章串行通信接口SCI學(xué)習(xí)資料_第2頁(yè)
第05章串行通信接口SCI學(xué)習(xí)資料_第3頁(yè)
第05章串行通信接口SCI學(xué)習(xí)資料_第4頁(yè)
第05章串行通信接口SCI學(xué)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章串行通信接口SCI1嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用本章目錄5.1異步串行通信的基礎(chǔ)知識(shí)5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.3DG128SCI模塊寄存器5.4串行口初始化與收發(fā)編程的基本方法5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.6有關(guān)串行通信編程的進(jìn)一步討論

2嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.1異步串行通信的基礎(chǔ)知識(shí)1.異步串行通信的格式(NRZ)5.1.1基本概念2.串行通信的波特率定義:每秒內(nèi)傳送的位數(shù)。單位:b/s或bps常用:1200bps、4800bps、9600bps……3嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.1異步串行通信的基礎(chǔ)知識(shí)5.1.1基本概念3.奇偶校驗(yàn)奇校驗(yàn):校驗(yàn)位為0或1,使得1的數(shù)目是奇數(shù)偶校驗(yàn):校驗(yàn)位為0或1,使得1的數(shù)目是偶數(shù)4.串行通信的傳輸方式單工:1根數(shù)據(jù)線全雙工:2根數(shù)據(jù)線半雙工:1根數(shù)據(jù)線4嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.2.1SCI的外圍硬件電路

電平轉(zhuǎn)換芯片MAX2326嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.2.2SCI的基本編程原理

SCI的主要功能是:接收時(shí),把外部的單線輸入的數(shù)據(jù)變成一個(gè)字節(jié)的并行數(shù)據(jù)送入MCU內(nèi)部;發(fā)送時(shí),把需要發(fā)送的一個(gè)字節(jié)的并行數(shù)據(jù)轉(zhuǎn)換為單線輸出。7嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器寄存器高8位(SCI0BDH、SCI1BDH)數(shù)據(jù)位D7D6D5D4D3D2D1D0定義xxxSBR12SBR11SBR10SBR9SBR8復(fù)位000000005.3.1SCI波特率寄存器

寄存器低8位(SCI0BDL、SCI1BDL)數(shù)據(jù)位D7D6D5D4D3D2D1D0定義SBR7SBR6SBR5SBR4SBR3SBR2SBR1SBR0復(fù)位000001008嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器5.3.1SCI波特率寄存器

根據(jù)波特率設(shè)置寄存器的公式:BR=fBUS/(16×Bt)舉例:總線頻率fBUS=19.6608MHz,定義波特率Bt=9600(針對(duì)SCI0) SCI0BDL=0x80;//須先給低8位賦值 SCI0BDH=0x00;//再給高5位賦值9嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0CR1、SCI1CR1位定義:5.3.2SCI控制寄存器1

數(shù)據(jù)位D7D6D5D4D3D2D1D0定義LOOPSSCISWAIRSRCMWAKEILTPEPT復(fù)位000000003.舉例:設(shè)置允許SCI、正常碼輸出、8位數(shù)據(jù)、無(wú)校驗(yàn)

SCI0CR1=Ox00;10嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0CR2、SCI1CR2位定義:5.3.3SCI控制寄存器2

數(shù)據(jù)位D7D6D5D4D3D2D1D0定義TIETCIERIEILIETERERWUSBK復(fù)位000000003.舉例:設(shè)置允許發(fā)送、允許接收,查詢方式收發(fā)

SCI0CR2=0x0C;11嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0SR1、SCI1SR1位定義:只讀5.3.4SCI狀態(tài)寄存器1

數(shù)據(jù)位D7D6D5D4D3D2D1D0定義TDRETCRDRFIDLEORNFFEPF復(fù)位110000003.常用:

D7=1:可以發(fā)送數(shù)據(jù);D7=0:不可以發(fā)送數(shù)據(jù),需等待D5=1:可以取出數(shù)據(jù);D5=0:不可以取出數(shù)據(jù),需等待12嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0SR2、SCI1SR2位定義:只讀5.3.5SCI狀態(tài)寄存器2

數(shù)據(jù)位D7D6D5D4D3D2D1D0定義----------BK13TXDIRRAF復(fù)位000000003.常用:

D0=1:正在接收數(shù)據(jù);13嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0DRH、SCI0DRL、SCI1DRH、SCI1DRL位定義:數(shù)據(jù)位D7D6D5D4D3D2D1D0讀操作R8000000寫操作T8復(fù)位000000005.3.6SCI數(shù)據(jù)寄存器

數(shù)據(jù)位D7D6D5D4D3D2D1D0讀操作R7R6R5R4R3R2R1R0寫操作T7T6T5T4T3T2T1T0復(fù)位00000000DRH:DRL:14嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.4串行口初始化與收發(fā)編程的基本方法5.4.1SCI初始化

設(shè)置SCI波特率寄存器設(shè)置SCI控制寄存器1設(shè)置SCI控制寄存器215嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.4串行口初始化與收發(fā)編程的基本方法5.4.2發(fā)送一個(gè)數(shù)據(jù)與接收一個(gè)數(shù)據(jù)

發(fā)送數(shù)據(jù)可以發(fā)送數(shù)據(jù)嗎?是否接收數(shù)據(jù)可以接收數(shù)據(jù)嗎?是否16嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.1串行通信子函數(shù)

SCI.h:串行通信頭文件串行通信寄存器及標(biāo)志位定義串行通信相關(guān)函數(shù)聲明SCIInit.c:串行口SCI0初始化函數(shù)

voidSCIInit(void)

SCI.c:串行發(fā)送與接收通用子函數(shù)voidSCISend1(INT8Uo)voidSCISendN(INT8Un,INT8Uch[])INT8USCIRe1(INT8U*p)INT8USCIReN(INT8Un,INT8Uch[])17嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

1.查詢方式收發(fā)測(cè)試工程主函數(shù)文件main.c1.禁止總中斷2.芯片初始化3.SCI模塊初始化等待從PC機(jī)接收一個(gè)數(shù)據(jù)向PC機(jī)發(fā)送一個(gè)數(shù)據(jù)18嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

2.查詢方式收發(fā)測(cè)試工程MT環(huán)境的工程結(jié)構(gòu)19嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

3.查詢方式收發(fā)測(cè)試工程CW環(huán)境的工程結(jié)構(gòu)20嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

4.中斷方式測(cè)試工程輔助工具21嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

5.中斷方式HCS12C語(yǔ)言主程序1.禁止總中斷2.芯片初始化3.SCI模塊初始化4.開放SCI0接收中斷5.開放總中斷空語(yǔ)句22嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

6.串行中斷子函數(shù)聲明(isr.h)#ifndefISR_H//避免重復(fù)定義#defineISR_HvoidISR_Receive(void);//接收中斷函數(shù)聲明void__attribute__((interrupt))ISR_Empty(void);void_start(void);//復(fù)位函數(shù)(StartCode.s中定義,特殊)//芯片開關(guān)總中斷的宏定義#defineENABLE_INTERRUPTS__asm__("cli")//開中斷#defineDISABLE_INTERRUPTS__asm__("sei")//關(guān)中斷//開關(guān)各模塊中斷的宏定義//開放或禁止SCI0的接收中斷的宏定義#defineEnableSCIReIntSCI0CR2|=0x20//開放SCI0接收中斷#defineDisableSCIReIntSCI0CR2&=0xDF//禁止SCI0接收中斷#endif

23嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計(jì)與應(yīng)用5.5串行通信通用函數(shù)與測(cè)試實(shí)例5.5.2查詢方式收發(fā)測(cè)試工程

7.串行中斷函數(shù)(isr.c)//ISR_Receive:SCI0接收中斷函數(shù)void__attribute__((interrupt))ISR_Receive(void){INT8Ui;INT8USerialBuff[1];//存放接收數(shù)據(jù)的數(shù)組

DISABLE_INTERRUPTS;//關(guān)總中斷

i=SCIReN(1,SerialBuff);//等待接收1個(gè)數(shù)據(jù)

if(i==0)SCISendN(1,SerialBuff);//發(fā)送接到的數(shù)據(jù)

ENABLE_INTERRUPTS;//開總中斷}//ISR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論