第12章任務(wù)T2-7用電腦控制燈光_第1頁
第12章任務(wù)T2-7用電腦控制燈光_第2頁
第12章任務(wù)T2-7用電腦控制燈光_第3頁
第12章任務(wù)T2-7用電腦控制燈光_第4頁
第12章任務(wù)T2-7用電腦控制燈光_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第12章章 任務(wù)任務(wù)T2-7用電腦控制燈光用電腦控制燈光 212.1 本章的知識(shí)點(diǎn)和技能點(diǎn)本章的知識(shí)點(diǎn)和技能點(diǎn)知識(shí)點(diǎn)技能點(diǎn)vSCI通信協(xié)議通信協(xié)議 v靈活使用定時(shí)器靈活使用定時(shí)器v使用使用SCI通信協(xié)議通信協(xié)議v掌握單片機(jī)與電腦的交互方法掌握單片機(jī)與電腦的交互方法12.2 任務(wù)描述任務(wù)描述MC9S08AC16通用功能板的單片機(jī)通過通用功能板的單片機(jī)通過SCI(串口)與電腦相連,然后電腦通過專用軟件或者串口)與電腦相連,然后電腦通過專用軟件或者串口助手向單片機(jī)發(fā)送控制字符串控制串口助手向單片機(jī)發(fā)送控制字符串控制LED1和和LED2的亮滅,如發(fā)送十六進(jìn)制的兩個(gè)數(shù)字的亮滅,如發(fā)送十六進(jìn)制的兩個(gè)數(shù)字

2、01 01 時(shí)時(shí)LED1亮,發(fā)送十六進(jìn)制的兩個(gè)數(shù)字亮,發(fā)送十六進(jìn)制的兩個(gè)數(shù)字01 00 時(shí)時(shí)LED1滅,單片機(jī)定時(shí)的通過串口向電腦報(bào)告滅,單片機(jī)定時(shí)的通過串口向電腦報(bào)告LED的狀態(tài),的狀態(tài),電腦根據(jù)功能板上電腦根據(jù)功能板上LED的狀態(tài)更新專用軟件的的狀態(tài)更新專用軟件的LED狀態(tài)。另外,狀態(tài)。另外,LED1和和LED2的亮滅還可以通的亮滅還可以通過按鍵過按鍵S5和和S6分別控制。分別控制。 13.3 任務(wù)分析任務(wù)分析單片機(jī)和電腦之間的通信主要有兩種方式異步單片機(jī)和電腦之間的通信主要有兩種方式異步串行和串行和TCP/IP,而最常用的是異步串行通信,而最常用的是異步串行通信,本任務(wù)中,單片機(jī)正是利用

3、異步串行通信這種本任務(wù)中,單片機(jī)正是利用異步串行通信這種方法和電腦進(jìn)行通信。為了完成本任務(wù),必須方法和電腦進(jìn)行通信。為了完成本任務(wù),必須簡單了解簡單了解串行通信協(xié)議串行通信協(xié)議,明白,明白波特率波特率、數(shù)據(jù)位數(shù)據(jù)位、檢驗(yàn)位檢驗(yàn)位等概念。等概念。12.4 實(shí)操訓(xùn)練:電腦控制燈光體驗(yàn)實(shí)操訓(xùn)練:電腦控制燈光體驗(yàn) CodeWarrior軟件軟件 MC9S08AC16 通用功能板,通用功能板,1塊塊/人人 BDM工具,工具,1個(gè)個(gè)/人人 串口調(diào)試軟件串口調(diào)試軟件 串口線,串口線,1條條/人人12.4.1 任務(wù)所需工具任務(wù)所需工具12.4.2 實(shí)驗(yàn)步驟實(shí)驗(yàn)步驟步驟步驟1:用串口線把:用串口線把MC9S08

4、AC16通用功能板上通用功能板上的串口和電腦的串口連接起來。的串口和電腦的串口連接起來。 步驟步驟2:下載控制程序:下載控制程序Sci_1.mcp(該程序可以該程序可以在隨書光盤的目錄在隨書光盤的目錄“單片機(jī)技術(shù)初步實(shí)踐例子程單片機(jī)技術(shù)初步實(shí)踐例子程序序MC9S08AC16通用功能板例子程序通用功能板例子程序第第12章章”中找到),并用串口調(diào)試程序控制中找到),并用串口調(diào)試程序控制LED1的亮滅的亮滅(發(fā)送十六進(jìn)制的(發(fā)送十六進(jìn)制的01 01時(shí)時(shí)LED1滅,發(fā)送十六進(jìn)滅,發(fā)送十六進(jìn)制的制的01 00時(shí)時(shí)LED1亮)。亮)。 12.5 知識(shí)鏈接知識(shí)鏈接1:RS-232RS-232標(biāo)準(zhǔn)標(biāo)準(zhǔn)12.5

5、.1 RS232接口及引腳定義接口及引腳定義 12.5.2 RS232RS232引腳定義引腳定義信號(hào)信號(hào)9針針(公)(公)9針針(母)(母)25針針(公)(公)25針針(母)(母)功能功能PG11保護(hù)地保護(hù)地TxD3223發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)RxD2332接收數(shù)據(jù)接收數(shù)據(jù)RTS7845請(qǐng)求傳送請(qǐng)求傳送CTS8754清除請(qǐng)求清除請(qǐng)求DSR64620數(shù)據(jù)裝置就緒數(shù)據(jù)裝置就緒GND5577信號(hào)地信號(hào)地DCD1188接收線信號(hào)檢測(cè)接收線信號(hào)檢測(cè)DTR46206數(shù)據(jù)終端準(zhǔn)備好數(shù)據(jù)終端準(zhǔn)備好RI992222振鈴指示振鈴指示12.5.3 RS232的電平的電平RS-232早期是用于調(diào)制解調(diào)器等設(shè)備的一種串行通信

6、標(biāo)準(zhǔn),推薦的最大電纜長度為50英尺,即傳輸距離一般不超過15m。它的邏輯電平以公共地為對(duì)稱,其邏輯“0”電平規(guī)定在+3V+25V之間,邏輯“1”電平則在-25V-3V之間,因而它不僅要使用正負(fù)極性的雙電源,而且與傳統(tǒng)的TTL等數(shù)字電路的邏輯電平不兼容,兩者之間必須使用電平轉(zhuǎn)換。 12.5.4 RS232的電平轉(zhuǎn)換的電平轉(zhuǎn)換12.5.5 RS232的硬件電路的硬件電路12.5.6 RS232數(shù)據(jù)格式數(shù)據(jù)格式 起始位起始位必須是邏輯必須是邏輯0,因?yàn)楫惒酵ㄐ攀强窟@個(gè)起始位的下降沿,因?yàn)楫惒酵ㄐ攀强窟@個(gè)起始位的下降沿來同步通信雙方的。來同步通信雙方的。 接下來的是接下來的是數(shù)據(jù)位數(shù)據(jù)位,數(shù)據(jù)位可以是

7、,數(shù)據(jù)位可以是5位、位、6位、位、7位、位、8位或位或9位。位。發(fā)送時(shí)從低位起,逐位地發(fā)出,低位在前,高位在后。發(fā)送時(shí)從低位起,逐位地發(fā)出,低位在前,高位在后。 如果校驗(yàn)允許,數(shù)據(jù)位最高位后面的一位是奇偶如果校驗(yàn)允許,數(shù)據(jù)位最高位后面的一位是奇偶校驗(yàn)位校驗(yàn)位。奇。奇偶校驗(yàn)位是通過設(shè)置校驗(yàn)位,保持發(fā)送的數(shù)據(jù)位中邏輯偶校驗(yàn)位是通過設(shè)置校驗(yàn)位,保持發(fā)送的數(shù)據(jù)位中邏輯1的數(shù)的數(shù)目為奇數(shù)個(gè)或者偶數(shù)個(gè),分別稱為目為奇數(shù)個(gè)或者偶數(shù)個(gè),分別稱為“奇校驗(yàn)奇校驗(yàn)”或或“偶校驗(yàn)偶校驗(yàn)”。 停止位停止位永遠(yuǎn)為邏輯永遠(yuǎn)為邏輯1。停止位可以是。停止位可以是1個(gè)、個(gè)、1.5個(gè)或個(gè)或2個(gè),含義個(gè),含義是兩個(gè)被發(fā)送的數(shù)據(jù)之間至

8、少要間隔是兩個(gè)被發(fā)送的數(shù)據(jù)之間至少要間隔1位、位、1.5位或者位或者2位。位。 12.5.7 RS232的波特率的波特率所謂所謂“異步通信異步通信”是指通信雙方?jīng)]有時(shí)鐘信號(hào)是指通信雙方?jīng)]有時(shí)鐘信號(hào)用以同步,而是按照預(yù)先約定的通信速率進(jìn)行用以同步,而是按照預(yù)先約定的通信速率進(jìn)行發(fā)送和接收。這一通信速率被稱為發(fā)送和接收。這一通信速率被稱為“波特率波特率”(Baud Rate),),波特率為波特率為1表示每秒傳送表示每秒傳送1位數(shù)位數(shù)據(jù)。標(biāo)準(zhǔn)的波特率有據(jù)。標(biāo)準(zhǔn)的波特率有50、110、300、600、1200、2400、4800、9600、19200、38400、57600和和115200等。等。 1

9、2.6 知識(shí)鏈接知識(shí)鏈接2:MC9S08AC16 SCIMC9S08AC16 SCI功能介紹功能介紹12.6.1 SCI的發(fā)送器和接收器的發(fā)送器和接收器在在MC9S08AC16中存在兩個(gè)串行通信接口中存在兩個(gè)串行通信接口SCI(Serial Communication Interface),),每個(gè)每個(gè)SCI都具有發(fā)送器和接收器,它們的功能獨(dú)立,但都具有發(fā)送器和接收器,它們的功能獨(dú)立,但是使用相同的數(shù)據(jù)格式和波特率。是使用相同的數(shù)據(jù)格式和波特率。 發(fā)送器中存在發(fā)送數(shù)據(jù)寄存器,接收器中存在發(fā)送器中存在發(fā)送數(shù)據(jù)寄存器,接收器中存在接收數(shù)據(jù)寄存器,它們是兩個(gè)獨(dú)立的存儲(chǔ)空間,接收數(shù)據(jù)寄存器,它們是兩個(gè)

10、獨(dú)立的存儲(chǔ)空間,但是使用同樣一個(gè)地址,標(biāo)號(hào)為但是使用同樣一個(gè)地址,標(biāo)號(hào)為SCIxD。12.6.2 SCI的發(fā)送器的發(fā)送器SCI的發(fā)送器負(fù)責(zé)數(shù)據(jù)的發(fā)送,它由的發(fā)送器負(fù)責(zé)數(shù)據(jù)的發(fā)送,它由發(fā)送數(shù)據(jù)寄發(fā)送數(shù)據(jù)寄存器存器和和發(fā)送移位寄存器發(fā)送移位寄存器組成。組成。SCI發(fā)送數(shù)據(jù)的流程:發(fā)送數(shù)據(jù)的流程:1)要發(fā)送的數(shù)據(jù)首先寫)要發(fā)送的數(shù)據(jù)首先寫入發(fā)送數(shù)據(jù)寄存器,寫入后由系統(tǒng)自動(dòng)送到發(fā)入發(fā)送數(shù)據(jù)寄存器,寫入后由系統(tǒng)自動(dòng)送到發(fā)送移位寄存器,并設(shè)置發(fā)送數(shù)據(jù)寄存器空送移位寄存器,并設(shè)置發(fā)送數(shù)據(jù)寄存器空(SCTE) 標(biāo)志為標(biāo)志為1;2)發(fā)送移位寄存器得到完)發(fā)送移位寄存器得到完整的數(shù)據(jù)后從整的數(shù)據(jù)后從Tx引腳把數(shù)據(jù)

11、發(fā)送出去,并設(shè)置引腳把數(shù)據(jù)發(fā)送出去,并設(shè)置發(fā)送完成(發(fā)送完成(TC)標(biāo)志為標(biāo)志為1。若發(fā)送中斷允許若發(fā)送中斷允許(TIE)和發(fā)送結(jié)束中斷允許和發(fā)送結(jié)束中斷允許(TCIE)置置1,則,則TDRE和和TC標(biāo)志將分別產(chǎn)生中斷標(biāo)志將分別產(chǎn)生中斷請(qǐng)求。請(qǐng)求。 12.6.3 SCI的接收器的接收器 SCI的接收器負(fù)責(zé)數(shù)據(jù)的接收,它由的接收器負(fù)責(zé)數(shù)據(jù)的接收,它由數(shù)據(jù)恢復(fù)模塊數(shù)據(jù)恢復(fù)模塊、接接收移位寄存器收移位寄存器和和接收數(shù)據(jù)寄存器接收數(shù)據(jù)寄存器組成。組成。 SCI接收數(shù)據(jù)的流程:接收數(shù)據(jù)的流程:v1)數(shù)據(jù)恢復(fù)模塊以波特率的)數(shù)據(jù)恢復(fù)模塊以波特率的16倍頻率對(duì)倍頻率對(duì)Rx引腳的每引腳的每一位數(shù)據(jù)進(jìn)行一位數(shù)據(jù)

12、進(jìn)行16次采樣,并根據(jù)其中次采樣,并根據(jù)其中2/3以上相同的以上相同的狀態(tài)來決定該位的邏輯值。例如在狀態(tài)來決定該位的邏輯值。例如在16次采樣中,如果次采樣中,如果有有14次為高電平,次為高電平,2次為低電平,則認(rèn)為該數(shù)據(jù)為次為低電平,則認(rèn)為該數(shù)據(jù)為1。這樣處理可以有效排除干擾,增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃浴_@樣處理可以有效排除干擾,增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃浴?shù)據(jù)恢復(fù)模塊把每一位接收到數(shù)據(jù)送到接收移位寄存數(shù)據(jù)恢復(fù)模塊把每一位接收到數(shù)據(jù)送到接收移位寄存器。器。v2)接收移位寄存器在接收到停止位后把數(shù)據(jù)送到接)接收移位寄存器在接收到停止位后把數(shù)據(jù)送到接收數(shù)據(jù)寄存器中并設(shè)置接收數(shù)據(jù)寄存器滿(收數(shù)據(jù)寄存器中并設(shè)置接

13、收數(shù)據(jù)寄存器滿(RDRF) 標(biāo)志為標(biāo)志為1;12.6.3 SCI的接收器(續(xù))的接收器(續(xù)) SCI接收數(shù)據(jù)的流程:接收數(shù)據(jù)的流程:v3)接收數(shù)據(jù)寄存器中的數(shù)據(jù)被讀取后,接收數(shù)據(jù)寄)接收數(shù)據(jù)寄存器中的數(shù)據(jù)被讀取后,接收數(shù)據(jù)寄存器滿(存器滿(RDRF) 標(biāo)志被清標(biāo)志被清0,并設(shè)置接收允許(,并設(shè)置接收允許(RE)標(biāo)志為標(biāo)志為1;當(dāng)數(shù)據(jù)寄存器中的數(shù)據(jù)還未被取走,移位當(dāng)數(shù)據(jù)寄存器中的數(shù)據(jù)還未被取走,移位寄存器又接收到下一個(gè)數(shù)據(jù)時(shí),就會(huì)發(fā)生溢出,此時(shí)寄存器又接收到下一個(gè)數(shù)據(jù)時(shí),就會(huì)發(fā)生溢出,此時(shí)移位寄存器中未取走的數(shù)據(jù)將會(huì)丟失,狀態(tài)寄存器中移位寄存器中未取走的數(shù)據(jù)將會(huì)丟失,狀態(tài)寄存器中溢出(溢出(OR

14、)狀態(tài)標(biāo)志置狀態(tài)標(biāo)志置1,以指出溢出錯(cuò)誤。,以指出溢出錯(cuò)誤。v4)如果接收器發(fā)現(xiàn)當(dāng)前數(shù)據(jù)線處于空閑狀態(tài),那么)如果接收器發(fā)現(xiàn)當(dāng)前數(shù)據(jù)線處于空閑狀態(tài),那么其狀態(tài)寄存器中的空閑標(biāo)志其狀態(tài)寄存器中的空閑標(biāo)志IDLE將會(huì)置起將會(huì)置起1。 v5)SCI接收器的上述接收器的上述3個(gè)標(biāo)志位(個(gè)標(biāo)志位(IDLE、RDRF和和OR)在允許后能夠分別產(chǎn)生中斷請(qǐng)求。設(shè)置接收中在允許后能夠分別產(chǎn)生中斷請(qǐng)求。設(shè)置接收中斷允許(斷允許(RIF)控制位就可以允許控制位就可以允許RDRF和和OR狀態(tài)標(biāo)狀態(tài)標(biāo)志產(chǎn)生硬件中斷請(qǐng)求;設(shè)置空閑線中斷允許(志產(chǎn)生硬件中斷請(qǐng)求;設(shè)置空閑線中斷允許(ILIE)控制位就可以允許控制位就可以允

15、許IDLE狀態(tài)標(biāo)志產(chǎn)生硬件中斷請(qǐng)求。狀態(tài)標(biāo)志產(chǎn)生硬件中斷請(qǐng)求。 12.6.4 SCI的寄存器的寄存器每個(gè)每個(gè)SCI模塊包括模塊包括8個(gè)寄存器,它們分別是波特個(gè)寄存器,它們分別是波特率寄存器率寄存器SCIxBDH和和SCIxBDL、控制寄存器控制寄存器1 SCIxCl、控制寄存器控制寄存器2 SCIxC2、控制寄存器控制寄存器3SCIxC3、狀態(tài)寄存器狀態(tài)寄存器1 SCIxSl、狀態(tài)寄存器狀態(tài)寄存器2 SCIxS2、數(shù)據(jù)寄存器數(shù)據(jù)寄存器SCIxD。每個(gè)每個(gè)SCI模塊都和模塊都和2個(gè)外引腳(接收引腳個(gè)外引腳(接收引腳RxD和發(fā)送引腳和發(fā)送引腳TxD)相相關(guān),當(dāng)關(guān),當(dāng)SCI接收器發(fā)送器被允許時(shí),接收

16、器發(fā)送器被允許時(shí),SCI模塊模塊將控制將控制RxD和和TxD,否則它們只用作普通的并行否則它們只用作普通的并行IO口。詳細(xì)說明請(qǐng)看課本口。詳細(xì)說明請(qǐng)看課本P204209。12.6.5 SCI的軟件設(shè)計(jì)的軟件設(shè)計(jì)SCI的軟件開發(fā)有以下的軟件開發(fā)有以下2個(gè)步驟:個(gè)步驟:v第一步,第一步,SCI模塊的初始化;模塊的初始化;v第二步,編寫發(fā)送和接收等基本功能,接收第二步,編寫發(fā)送和接收等基本功能,接收和發(fā)送都可以用查詢方式或者中斷方式實(shí)現(xiàn),和發(fā)送都可以用查詢方式或者中斷方式實(shí)現(xiàn),一般來說發(fā)送時(shí)采用查詢方法,接收時(shí)采用一般來說發(fā)送時(shí)采用查詢方法,接收時(shí)采用中斷方式。中斷方式。下面以下面以SCI模塊模塊1

17、為例作具體介紹。為例作具體介紹。12.6.5.1 SCI的初始化的初始化SCI的初始化要完成如下設(shè)置:的初始化要完成如下設(shè)置:v置置SCI模塊的模塊的SCI功能有效。不作功能有效。不作SCI使用時(shí),使用時(shí),SCI引腳默認(rèn)為普通引腳默認(rèn)為普通IO端口的輸入模式。端口的輸入模式。v設(shè)置通信波特率。這是設(shè)置通信波特率。這是SCI模塊的工作時(shí)鐘。模塊的工作時(shí)鐘。v設(shè)置通信規(guī)約。如設(shè)置通信規(guī)約。如1位起始位,位起始位,8位數(shù)據(jù)位,位數(shù)據(jù)位,1個(gè)停止位,無奇偶校驗(yàn)位等。個(gè)停止位,無奇偶校驗(yàn)位等。12.6.5.2 SCI的初始化舉例的初始化舉例 例子:例子:v假設(shè)假設(shè)MC9S08AC16單片機(jī)的總線頻率為單

18、片機(jī)的總線頻率為8MHz,要求要求SCI1波特率為波特率為9600,數(shù)據(jù)位為,數(shù)據(jù)位為8位,停止位為位,停止位為1位,無位,無奇偶校驗(yàn)位,允許接收和發(fā)送,不允許奇偶校驗(yàn)位,允許接收和發(fā)送,不允許SCI的所有中的所有中斷。斷。 分析:分析:v由于波特率由于波特率=(總線頻率總線頻率/16)/BR,因此因此BR= (總線頻率總線頻率/16)/波特率波特率=(8000000/16)/9600=52,即,即SCI1BDH=0 x00, SCI1BDH=0 x34;v8位數(shù)據(jù)位位數(shù)據(jù)位SCI1C1中的中的M=0;1位停止位位停止位SCI中默中默認(rèn)為認(rèn)為1位,無須設(shè)置;位,無須設(shè)置;無奇偶校驗(yàn)位無奇偶校驗(yàn)

19、位SCI1C1中的中的PE=0;SCI1C1的其他各位也都為的其他各位也都為0; 因此因此SCI1C2=0 x00。v允許接收和發(fā)送,不允許允許接收和發(fā)送,不允許SCI的所有中斷的所有中斷SCI1C2中中的的TE=1,RE=1,其他各位均為其他各位均為0,因此,因此SCI1C2=0 x0C。12.6.5.2 SCI的初始化舉例(續(xù))的初始化舉例(續(xù))本例的代碼如下:本例的代碼如下:vCLRAvSTASCI1BDHvLDA#$34; 分頻因子分頻因子=52vSTASCI1BDL; FBus:8MHz,波特率為波特率為9600vCLRAvSTASCI1C1 ; 8位數(shù)據(jù)位,位數(shù)據(jù)位,1位停止位,無

20、校驗(yàn)位停止位,無校驗(yàn)vLDA#%00001100 ; TE,RE位應(yīng)置位應(yīng)置1vSTASCI1C2; 允許允許SCI發(fā)送接收發(fā)送接收,無中斷無中斷12.6.5 SCI用查詢方式發(fā)送數(shù)據(jù)用查詢方式發(fā)送數(shù)據(jù) SCIOutv ; 等待數(shù)據(jù)寄存器等待數(shù)據(jù)寄存器SCI1D為空為空,即即TDRE=1vBRCLR7,SCI1S1,*v ; 把累加器把累加器A中的數(shù)據(jù)寫入中的數(shù)據(jù)寫入SCI1DvSTASCI1Dv ; 等待數(shù)據(jù)發(fā)送完成等待數(shù)據(jù)發(fā)送完成,即即TC=1vBRCLR6,SCI1S1,*vRTS開開始始TDRE=1寫寫數(shù)數(shù)據(jù)據(jù)到到SCI數(shù)數(shù)據(jù)據(jù)寄寄存存器器SCIxDTC=1結(jié)結(jié)束束是是是是否否否否12

21、.6.6 SCI用查詢方式接收數(shù)據(jù)用查詢方式接收數(shù)據(jù)SCI1Rxv ; 確保數(shù)據(jù)接收緩沖區(qū)已滿確保數(shù)據(jù)接收緩沖區(qū)已滿v BRCLR 5,SCI1S1,*v ; 判斷判斷SCI通訊是否存在錯(cuò)誤通訊是否存在錯(cuò)誤v LDA SCI1S1v AND #$0Fv ; 串口接收存在錯(cuò)誤串口接收存在錯(cuò)誤v BNE SCI1Rx _Errv ; 獲取接收緩沖區(qū)中的數(shù)據(jù)獲取接收緩沖區(qū)中的數(shù)據(jù)v LDA SCI1Dv ; 把收到的數(shù)據(jù)保存在把收到的數(shù)據(jù)保存在RxDatav STA RxDatav BRA SCI1Rx_Returnv ; 串口接收存在錯(cuò)誤串口接收存在錯(cuò)誤SCI1Rx _Errv ; 清數(shù)據(jù)接收緩沖

22、區(qū)清數(shù)據(jù)接收緩沖區(qū)v LDA SCI1DSCI1Rx_Returnv RTS開始開始RDRF=1讀讀SCI數(shù)據(jù)寄存器數(shù)據(jù)寄存器SCIxD并作相應(yīng)的處理并作相應(yīng)的處理結(jié)束結(jié)束是是否否SCI通訊存在錯(cuò)誤通訊存在錯(cuò)誤讀讀SCI數(shù)據(jù)寄存器數(shù)據(jù)寄存器SCIxD以便清空它以便清空它否否是是12.6.7 SCI的中斷方式的中斷方式在用查詢方式接收在用查詢方式接收SCI的字符時(shí),如果沒有字符的字符時(shí),如果沒有字符輸入,則輸入,則CPU將無限制地查詢下去,此時(shí)將無限制地查詢下去,此時(shí)CPU完全被查詢程序占用,不能再做別的事情。完全被查詢程序占用,不能再做別的事情。采用中斷方式接收字符時(shí),采用中斷方式接收字符時(shí),

23、CPU可以正常處理可以正常處理其他任務(wù)。當(dāng)其他任務(wù)。當(dāng)SCI模塊接收到字符時(shí),通過向模塊接收到字符時(shí),通過向CPU發(fā)出一個(gè)中斷信號(hào)申請(qǐng)一個(gè)中斷服務(wù),在發(fā)出一個(gè)中斷信號(hào)申請(qǐng)一個(gè)中斷服務(wù),在中斷服務(wù)子程序中讀取接收字符并作相應(yīng)處理。中斷服務(wù)子程序中讀取接收字符并作相應(yīng)處理。SCIl中有中有3個(gè)中斷向量:發(fā)送中斷向量(個(gè)中斷向量:發(fā)送中斷向量($FFDA,$FFDB)、)、接收中斷向量(接收中斷向量($FFDC,$FFDD)和出錯(cuò)中斷向量(和出錯(cuò)中斷向量($FFDE,$FFDF)。)。其中接其中接收中斷向量有收中斷向量有2個(gè)中斷源:接收數(shù)據(jù)寄存器滿中個(gè)中斷源:接收數(shù)據(jù)寄存器滿中斷和接收線路空閑時(shí)間超過接收斷和接收線路空閑時(shí)間超過接收1個(gè)字符的時(shí)間個(gè)字符的時(shí)間中斷。中斷。12.6.8 SCI的用中斷方式接收數(shù)據(jù)的用中斷方式接收數(shù)據(jù) SCI通訊中采用中斷方式接收數(shù)據(jù)一般分為通訊中采用中斷方式接收數(shù)據(jù)一般分為3個(gè)步驟:個(gè)步驟: 1)允許)允許

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論