版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章串行通信接口SCI1嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用本章目錄5.1異步串行通信的基礎(chǔ)知識5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.3DG128SCI模塊寄存器5.4串行口初始化與收發(fā)編程的基本方法5.5串行通信通用函數(shù)與測試實(shí)例5.6有關(guān)串行通信編程的進(jìn)一步討論
2嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.1異步串行通信的基礎(chǔ)知識1.異步串行通信的格式(NRZ)5.1.1基本概念2.串行通信的波特率定義:每秒內(nèi)傳送的位數(shù)。單位:b/s或bps常用:1200bps、4800bps、9600bps……3嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.1異步串行通信的基礎(chǔ)知識5.1.1基本概念3.奇偶校驗奇校驗:校驗位為0或1,使得1的數(shù)目是奇數(shù)偶校驗:校驗位為0或1,使得1的數(shù)目是偶數(shù)4.串行通信的傳輸方式單工:1根數(shù)據(jù)線全雙工:2根數(shù)據(jù)線半雙工:1根數(shù)據(jù)線4嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.2.1SCI的外圍硬件電路
電平轉(zhuǎn)換芯片MAX2326嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.2電平轉(zhuǎn)換電路與SCI通用編程原理5.2.2SCI的基本編程原理
SCI的主要功能是:接收時,把外部的單線輸入的數(shù)據(jù)變成一個字節(jié)的并行數(shù)據(jù)送入MCU內(nèi)部;發(fā)送時,把需要發(fā)送的一個字節(jié)的并行數(shù)據(jù)轉(zhuǎn)換為單線輸出。7嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(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è)計與應(yīng)用5.3DG128SCI模塊寄存器5.3.1SCI波特率寄存器
根據(jù)波特率設(shè)置寄存器的公式:BR=fBUS/(16×Bt)舉例:總線頻率fBUS=19.6608MHz,定義波特率Bt=9600(針對SCI0) SCI0BDL=0x80;//須先給低8位賦值 SCI0BDH=0x00;//再給高5位賦值9嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.3DG128SCI模塊寄存器縮寫:SCI0CR1、SCI1CR1位定義:5.3.2SCI控制寄存器1
數(shù)據(jù)位D7D6D5D4D3D2D1D0定義LOOPSSCISWAIRSRCMWAKEILTPEPT復(fù)位000000003.舉例:設(shè)置允許SCI、正常碼輸出、8位數(shù)據(jù)、無校驗
SCI0CR1=Ox00;10嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(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è)計與應(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è)計與應(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è)計與應(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è)計與應(yīng)用5.4串行口初始化與收發(fā)編程的基本方法5.4.1SCI初始化
設(shè)置SCI波特率寄存器設(shè)置SCI控制寄存器1設(shè)置SCI控制寄存器215嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.4串行口初始化與收發(fā)編程的基本方法5.4.2發(fā)送一個數(shù)據(jù)與接收一個數(shù)據(jù)
發(fā)送數(shù)據(jù)可以發(fā)送數(shù)據(jù)嗎?是否接收數(shù)據(jù)可以接收數(shù)據(jù)嗎?是否16嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(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è)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
1.查詢方式收發(fā)測試工程主函數(shù)文件main.c1.禁止總中斷2.芯片初始化3.SCI模塊初始化等待從PC機(jī)接收一個數(shù)據(jù)向PC機(jī)發(fā)送一個數(shù)據(jù)18嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
2.查詢方式收發(fā)測試工程MT環(huán)境的工程結(jié)構(gòu)19嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
3.查詢方式收發(fā)測試工程CW環(huán)境的工程結(jié)構(gòu)20嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
4.中斷方式測試工程輔助工具21嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
5.中斷方式HCS12C語言主程序1.禁止總中斷2.芯片初始化3.SCI模塊初始化4.開放SCI0接收中斷5.開放總中斷空語句22嵌入式系統(tǒng)--使用HCS12微控制器的設(shè)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
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è)計與應(yīng)用5.5串行通信通用函數(shù)與測試實(shí)例5.5.2查詢方式收發(fā)測試工程
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個數(shù)據(jù)
if(i==0)SCISendN(1,SerialBuff);//發(fā)送接到的數(shù)據(jù)
ENABLE_INTERRUPTS;//開總中斷}//ISR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024預(yù)應(yīng)力管樁勞務(wù)分包合同
- 2025年度智能辦公空間場地租賃合作協(xié)議書4篇
- 專項水電維修分包合同書2024版范例版
- 二零二五年度文化產(chǎn)業(yè)代理注銷合作協(xié)議3篇
- 2024年04月廣州銀行白云支行2024年社會招考筆試歷年參考題庫附帶答案詳解
- 2025年度產(chǎn)學(xué)研合作項目資金支持及財務(wù)管理合同4篇
- 專業(yè)短駁貨物運(yùn)輸協(xié)議示范文本版B版
- 2025年度廠房裝修項目環(huán)保評估與治理合同3篇
- 二零二五年度財務(wù)共享服務(wù)中心建設(shè)合同3篇
- 二零二五年度跨境電商供應(yīng)鏈金融連帶責(zé)任擔(dān)保協(xié)議3篇
- ICU常見藥物課件
- CNAS實(shí)驗室評審不符合項整改報告
- 農(nóng)民工考勤表(模板)
- 承臺混凝土施工技術(shù)交底
- 臥床患者更換床單-軸線翻身
- 計量基礎(chǔ)知識培訓(xùn)教材201309
- 中考英語 短文填詞、選詞填空練習(xí)
- 一汽集團(tuán)及各合資公司組織架構(gòu)
- 阿特拉斯基本擰緊技術(shù)ppt課件
- 初一至初三數(shù)學(xué)全部知識點(diǎn)
- 新課程理念下的班主任工作藝術(shù)
評論
0/150
提交評論