




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第,5,章,串行通信接口,SCI,主要內容,?,5.1,異步串行通信的通用基礎知識,?,5.2 AW60,的,SCI,模塊的編程結構,?,5.3 AW60,的,SCI,構件設計與測試,?,5.4 AW60,的中斷源與第一個帶有中斷的編程,實例,5.1,異步串行通信的通用基礎知識,5.1.1,串行通信的基本概念,?,異步串行通信的格式,SCI(standard non-return-zero mark/space data,format),“標準不歸零傳號,/,空號數(shù)據(jù)格式”通常采用,NRZ,數(shù)據(jù)格式,.,“不歸零”的最初含義是:用正、負電平表示,二進制值,不使用零電平?!癿ark/space”
2、即“傳號,/,空,號”分別是表示兩種狀態(tài)的物理名稱,邏輯名稱記為,“1/0”。下圖給出了,8,位數(shù)據(jù)、無校驗情況的傳送格式,開始位,第,0,位,第,1,位,第,2,位,第,3,位,第,4,位,第,5,位,第,6,位,第,7,位,停止位,串行通信數(shù)據(jù)格式,?,串行通信的波特率,波特率單位是位,/,秒,記為,bps,。通常情況下,波特率的單位可,以省略。通常使用的波特率有,300,、,600,、,900,、,1200,、,1800,、,2400,、,4800,、,9600,、,19200,、,38400,、,57600,、,115200,、,128000,等,?,奇偶校驗,字符奇偶校驗檢查(,ch
3、aracter parity checking,)稱為垂直,冗余檢查(,vertical redundancy checking,,,VRC,),它是每個,字符增加一個額外位使字符中“1”的個數(shù)為奇數(shù)或偶數(shù)。,奇校驗:如果字符數(shù)據(jù)位中“1”的數(shù)目是偶數(shù),校驗位應為,“1”,如果“1”的數(shù)目是奇數(shù),校驗位應為“0”。,偶校驗:如果字符數(shù)據(jù)位中“1”的數(shù)目是偶數(shù),則校驗位應,為“0”,如果是奇數(shù)則為“1”,?,串行通信的傳輸方式,單工(,Simplex,):數(shù)據(jù)傳送是單向的,一端為發(fā)送端,另一端,為接收端。這種傳輸方式中,除了地線之外,只要一根數(shù)據(jù)線就,可以了。有線廣播就是單工的,全雙工(,Ful
4、l-duplex,):數(shù)據(jù)傳送是雙向的,且可以同時接,收與發(fā)送數(shù)據(jù)。這種傳輸方式中,除了地線之外,需要兩根數(shù)據(jù),線,站在任何一端的角度看,一根為發(fā)送線,另一根為接收線。,一般情況下,,MCU,的異步串行通信接口均是全雙工的,半雙工(,Half-duplex,):數(shù)據(jù)傳送也是雙向的,但是在這種,傳輸方式中,除了地線之外,一般只有一根數(shù)據(jù)線。任何一個時,刻,只能由一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù),不能同時收發(fā)。在,freescale,的,HCS08,系列,MCU,中,監(jiān)控模式的通信就采用這種方式,5.1.2,RS-232,總線標準,MCU,引腳一般輸入,/,輸出使用,TTL,電平,而,TTL,電平的“
5、1”和,“0”的特征電壓分別為,2.4V,和,0.4V,,適用于板內數(shù)據(jù)傳輸。,為了使信號傳輸?shù)酶h,美國電子工業(yè)協(xié)會,EIA(Electronic,Industry Association),制訂了串行物理接口標準,RS-232C,。,RS-232C,采用負邏輯,,-3V,-15V,為邏輯“1”,,+3V,+15V,為邏,輯“0”。,RS-232C,最大的傳輸距離是,30m,,通信速率一般低于,20Kbps,。,RS-232,接口,簡稱“串口”,它主要用于連接具有同,樣接口的室內設備。目前幾乎所有計算機上的串行口都是,9,芯接,口。下面給出了,9,芯串行接口的排列位置,相應引腳含義見下表。,
6、1,6,2,7,3,8,4,9,5,上圖為,9,芯串行接口排列,引腳號,1,2,3,4,5,功能,接收線信號檢測,(,載波檢測,DCD),接收數(shù)據(jù)線,(RXD),發(fā)送數(shù)據(jù)線,(TXD),數(shù)據(jù)終端準備就緒,(DTR),信號地,(SG),引腳號,6,7,8,9,功能,數(shù)據(jù)通信設備準備就緒,(DSR),請求發(fā)送,(RTS),允許發(fā)送,(CTS),振鈴指示,9,芯串行接口引腳含義表,5.1.3 TTL,電平到,RS-232,電平轉換電路,具有,SCI,接口的,MCU,,一般具有發(fā)送引腳,(TxD),與接收引腳,(RxD),,不同公司或不同系列的,MCU,,使用的引腳縮寫名可能不,一致,但含義相同。,S
7、CI,的外圍硬件電路,主要目的是將,MCU,的,發(fā)送引腳,TxD,與接收引腳,RxD,的,TTL,電平,通過,RS-232,電平轉換,芯片轉換為,RS-232,電平。下圖給出一個基本,SCI,電平轉換電路,及芯片,MAX232,引腳圖,232,電,平,TTL,電,平,T1IN,R1IN,R1OUT,T1OUT,+5V GND,+,16 15 14 13 12 11 10 9,MAX232CPE,1 2 3 4 5 6 7 8,+,+,+,+5V,+,1,F,5,TTL,電平,轉為,232,電平,MAX232,引腳,串行通信接口電平轉換電路,?,MAX232,芯片進行電平轉換基本原理是:,?,發(fā)
8、送過程:,MCU,的,TXD,(,TTL,電平)經(jīng)過,MAX232,的,11,腳,(T1IN),送到,MAX232,內部,在內部,TTL,電平被“提升”為,232,電平,通過,14,腳,(T1OUT),發(fā)送出去,?,接收過程:外部,232,電平經(jīng)過,MAX232,的,13,腳(,R1IN,)進入,到,MAX232,的內部,在內部,232,電平被“降低”為,TTL,電平,,經(jīng)過,12,腳(,R1OUT,)送到,MCU,的,RXD,,進入,MCU,內,組別,1,2,TTL,電平引腳,11,(,T1IN,),12,(,R1OUT,),10,(,T2IN,),9,(,R2OUT,),方向,輸入,輸出,
9、輸入,輸出,典型接口,接,MCU,的,TXD,接,MCU,的,RXD,接,MCU,的,TXD,接,MCU,的,RXD,232,電平引腳,13,14,8,7,方向,輸入,輸出,輸入,輸出,典型接口,接到,9,芯接口的,2,腳,RXD,接到,9,芯接口的,3,腳,TXD,接到,9,芯接口的,2,腳,RXD,接到,9,芯接口的,3,腳,TXD,MAX232,芯片輸入輸出引腳分類與基本接法,5.1.4,串行通信編程模型,從基本原理角度看,串行通信接口,SCI,的主要功能是:接收,時,把外部的單線輸入的數(shù)據(jù)變成一個字節(jié)的并行數(shù)據(jù)送入,MCU,內部;發(fā)送時,把需要發(fā)送的一個字節(jié)的并行數(shù)據(jù)轉換為單線,輸出,
10、接受引腳,RxD,發(fā)送引腳,TxD,接受移位寄存器,發(fā)送移位寄存,器,SCI,數(shù)據(jù)寄存器,MCU,內部總線,SCI,狀態(tài),寄存器,SCI,控制寄,存器,SCI,波特率,寄存器,?,概況,5.2,AW60,的,SCI,模塊的編程結構,?,MC9S08AW60,系列包含,兩個,獨立的串行,通信接口(,SCI,,,Serial Communication,Interface,)模塊,分別和端口,E,、端口,C,的管腳,復用,。,?,每個,SCI,模塊特性,?,?,?,?,具有的獨立的可編程波特率生成器,支持低于,115.2kbaud,的多種標準波特率,采用雙緩沖結構,接收器和發(fā)送器還具有硬件奇偶校驗
11、、,接收喚醒和雙緩沖。,?,可編程的,8,位或,9,位字符長度??蛇x的,13,位暫停符。支持多種中斷驅動或輪詢操,作,?,SCI,還具有多種工作模式:,8,位和,9,位數(shù)據(jù),模式、,Stop,模式、回路模式和單線模式,等,Slide 11,5.2,AW60,的,SCI,模塊的編程結構,?,內部結構,?,波特率生成器,SCI,波特率,=BUSCLK/(SBR12:0 x16),其中,,SBR12:0,由,SCI,波特率寄存器,SCIxBDH/L,設定,Slide 12,5.2,AW60,的,SCI,模塊的編程結構,?,內部結構,?,發(fā)送器,通過設置,SCIxC2,中的,TE,位為,1,來允許,發(fā)
12、送器;,通過,寫,SCI,數(shù)據(jù)寄存器,SCIxD,可以把數(shù)據(jù)存儲,到發(fā)送數(shù)據(jù)緩沖器,中。,Slide 13,5.2,AW60,的,SCI,模塊的編程結構,?,內部結構,?,接收器,通過設置,SCIxC2,中的,RE,位為,1,來,允許接收,器;,RDRF,接收數(shù)據(jù)滿標志。,Slide 14,5.2,AW60,的,SCI,模塊的編程結構,從程序員角度看,涉及,SCI,的有,8,個,8,位寄存器,其中,2,個波特,率寄存器,,1,個數(shù)據(jù)寄存器,,3,個控制寄存器,,2,個狀態(tài)寄存器,,只要理解和掌握這,8,個寄存器的用法,就可以進行,SCI,編程,寄存器名稱,波特率寄存,器,數(shù)據(jù)寄存器,控制寄存器
13、,狀態(tài)寄存器,縮寫,SCI1BDH,(,SCI2BDH,),SCI1BDL,(,SCI2BDL,),SCI1D,(,SCI2D,),SCI1C1,(,SCI2C1,),SCI1C2,(,SCI2C2,),SCI1C3,(,SCI2C3,),SCI1S1,(,SCI2S1,),SCI1S2,(,SCI2S2,),地址,0 x0038,(,0 x0040,),0 x0039,(,0 x0041,),0 x003F,(,0 x0047,),0 x003A,(,0 x0042,),0 x003B,(,0 x0043,),0 x003E,(,0 x0046,),0 x003C,(,0 x0044,),0
14、 x003D,(,0 x0045,),訪問權限,基本功能,設置波特率,讀,/,寫,收發(fā)數(shù)據(jù),讀,/,寫,設置傳輸格式,中,斷使能,讀,/,寫,只讀,中斷標志,發(fā)送與,接收狀態(tài),AW60,的,SCI,模塊寄存器簡況,?,SCI,波特率計算公式與,SCI,波特率寄存器,?,SCI,波特率,= f,BUSCLK,/(16,BR),,其中,f,BUSCLK,為內部總線頻率,?,SCI,數(shù)據(jù)寄存器,?,SCI,控制寄存器,?,SCI,控制寄存器,1,(,SCIxC1,),?,SCI,控制寄存器,2,(,SCIxC2,),?,SCI,控制寄存器,3,(,SCIxC3,),?,SCI,狀態(tài)寄存器,?,SCI
15、,狀態(tài)寄存器,1,(,SCIxS1,),?,SCI,狀態(tài)寄存器,2,(,SCIxS2,),9.3,內部寄存器,?,SCI,波特率寄存器(,SCIxBDH,SCIxBDL,),Slide 17,9.3,內部寄存器,?,SCI,控制寄存器,1,(,SCIxC1,),Slide 18,9.3,內部寄存器,?,SCI,控制寄存器,1,(,SCIxC1,),Slide 19,9.3,內部寄存器,?,SCI,控制寄存器,2,(,SCIxC2,),Slide 20,9.3,內部寄存器,?,SCI,控制寄存器,2,(,SCIxC2,),Slide 21,9.3,內部寄存器,?,SCI,控制寄存器,3,(,SC
16、IxC3,),Slide 22,9.3,內部寄存器,?,SCI,控制寄存器,3,(,SCIxC3,),Slide 23,9.3,內部寄存器,?,SCI,狀態(tài)寄存器,1,(,SCIxS1,),Slide 24,9.3,內部寄存器,?,SCI,狀態(tài)寄存器,1,(,SCIxS1,),Slide 25,9.3,內部寄存器,?,SCI,狀態(tài)寄存器,2,(,SCIxS2,),Slide 26,9.3,內部寄存器,?,SCI,數(shù)據(jù)寄存器(,SCIxD,),?,此寄存器實際上是,兩個獨立的,寄存器:,SCI,接收數(shù)據(jù)寄存器和,SCI,發(fā)送數(shù)據(jù)寄存器。,讀操作返回只讀型接收緩沖器中的內容,,而,寫,操作把數(shù)據(jù)寫
17、入只寫型發(fā)送數(shù)據(jù)緩沖器中,。對此寄存器的讀寫操,作還和,SCI,狀態(tài)標志位的自動清零機制相關聯(lián)。,Slide 27,9.4 SCI,應用舉例,?,SCI,使用設置,?,根據(jù)通信雙方的,波特率,,設定,SCI,波特率寄存器,SCIxBD,中分頻因子,。需要,先寫,SCIxBDH,,再寫,SCIxBDL,。,?,更新,SCI,控制寄存器,1,(,SCIxC1,),,設定環(huán)路模式、,8,位,還是,9,位數(shù)據(jù)位、是否允許硬件奇偶校驗等,,如無特別,需求,可取其缺省值而不做設定。,?,更新,SCI,控制寄存器,2,(,SCIxC2,)來,允許發(fā)送、接收,,以及是否允許發(fā)送中斷和接收中斷,等。,?,如需要
18、,更新,SCI,控制寄存器,3,(,SCIxC3,),再對發(fā)送,數(shù)據(jù)是否取反、是否允許錯誤中斷等進行設定。,Slide 28,9.4 SCI,應用舉例,?,SCI,使用設置,?,允許,SCI,發(fā)送之后,,通過,讀,SCI,狀態(tài)寄存器,1,(,SCIxS1,)判斷,其中的,TDRE,位是否為,1,來判斷發(fā)送數(shù)據(jù)寄存器是否為空,,當,發(fā)送數(shù)據(jù)寄存器為空時,可以寫發(fā)送數(shù)據(jù)到發(fā)送數(shù)據(jù)寄存器,SCIxD,。,?,寫發(fā)送數(shù)據(jù)到,SCIxD,之后,通過,查詢或中斷方式判斷,SCIxS1,中的發(fā)送完成標志位,TC,是否為,1,來判斷當前數(shù)據(jù)是否發(fā)送完,成,,當前字符發(fā)送完成后,可以回到上一步繼續(xù)下一個數(shù)據(jù),的
19、發(fā)送。,?,允許,SCI,接收之后,,通過,查詢或中斷方式判斷,SCIxS1,中的接,收數(shù)據(jù)寄存器滿標志位,RDRF,是否為,1,來判斷是否接收到了新,數(shù)據(jù),,當接收到新數(shù)據(jù)時,讀寄存器,SCIxD,來保存新數(shù)據(jù),,之后還要通過清零,RDRF,的操作清零,RDRF,標志位。,Slide 29,5.3,AW60,的,SCI,構件設計與測試,5.3.1 SCI,構件設計概述,以,SCI,的初始化、接收和發(fā)送三種基本操作為例,來說明實現(xiàn)構件,化的全過程,?,實現(xiàn)構件化編程的,SCI,軟件模塊應當具有以下幾個特點:,?,SCI,模塊是最底層的構件,它主要向上提供三種服務,分,別是,SCI,模塊的初始化
20、、接收單個字節(jié)和發(fā)送單個字節(jié),,向下則直接訪問模塊寄存器,實現(xiàn)對硬件的直接操作。另,外,從現(xiàn)實使用角度出發(fā),它還需要封裝接收,N,個字節(jié)和,發(fā)送,N,個字節(jié)的子功能函數(shù),?,SCI,模塊在軟件上對應,1,個,SCI.c,程序源代碼文件和,1,個,SCI.h,頭文件,當需要對它進行移植時,大多數(shù)情況下只,需簡單拷貝這兩個文件即可,無需對源代碼文件和頭文件,進行修改,只有當實施不同芯片之間的移植時,才需要修,改頭文件中與硬件相關的宏定義,?,上層構件或軟件在使用該構件時,嚴格禁止通過全局變量,來傳遞參數(shù),所有的數(shù)據(jù)傳遞都直接通過函數(shù)的形式參數(shù),來接收,?,SCI,初始化:,?,void SCIIn
21、it(uint8 SCINo, uint8 sysclk, uint16 baud,),?,通過其中一個串口發(fā)送一個字節(jié):,?,void SCISend1(uint8 SCINo, uint8 ch),?,通過其中一個串口接收單個字節(jié):,?,uint8 SCIRe1(uint8 SCINo, uint8 *p),?,通過其中一個串口發(fā)送,N,個字節(jié):,?,void SCISendN(uint8 SCINo, uint8 n, uint8 ch),?,通過其中一個串口接收,N,個字節(jié):,?,uint8 SCIReN(uint8 SCINo, uint8 n, uint8 ch),5.3.2 SC
22、I,構件的頭文件,SCI.h,頭文件,SCI.h,中的內容可分為兩個主要的部分,,它們分別是,5,個函數(shù)原型的聲明和外設模塊寄存器相,關信息的定義。前者給出了本,SCI,構件對上層構件或,軟件所提供的接口函數(shù),而后者則指明了本“元構,件”與具體硬件相關的信息,5.3.3 SCI,構件的,C,語言源程序文件,SCI.c,?,SCI,構件的初始化功能函數(shù):,SCIInit,?,SCI,構件單字節(jié)發(fā)送功能函數(shù):,SCISend1,?,SCI,構件的單字節(jié)接收功能函數(shù):,SCIRe1,?,SCI,構件的多字節(jié)發(fā)送功能函數(shù):,SCISendN,?,SCI,構件的多字節(jié)接收功能函數(shù):,SCIReN,?,S
23、CI,構件的字符串接收功能函數(shù):,SCISendString,5.3.4 SCI,構件的測試工程,SCI1,模塊首先向,PC,機發(fā)送字符串,然后等待接收,PC,機從串口,發(fā)送來的數(shù)據(jù),若成功接收到,1,個數(shù)據(jù),則立即將該數(shù)據(jù)回,發(fā)給,PC,機,隨后繼續(xù)等待接收,1,個數(shù)據(jù)并回發(fā),如此循環(huán),串口調試工具軟件界面,串行通信收發(fā)測試軟件界面,5.4 AW60,的中斷源與第一個帶有中斷的編程實例,5.4.1,中斷處理的相關基本概念,?,中斷與異常的含義,異常是,CPU,強行從正常的程序執(zhí)行切換到由,某些內部或外部條,件所要求的處理任務,上,這些任務是,優(yōu)于,CPU,正在執(zhí)行任務,的。,外部條件:外設、
24、硬件斷點請求、訪問錯誤和復位等;,內部條件:指令不對界錯誤、違反特權級和跟蹤,通常將硬件復位視作一種具有最高優(yōu)先級的異常;,來自,CPU,外圍設備的強行任務切換請求,謂之,中斷,?,中斷服務例程,ISR,?,ISR(Interrupt Service Routine):,即中斷服務子程序,5.4 AW60,的中斷源與第一個帶有中斷的編程實例,5.4.1,中斷處理的相關基本概念,?,中斷源與中斷向量表,?,中斷源:引起,CPU,產(chǎn)生中斷的外部器件;,?,中斷向量表:通常,CPU,有多個中斷源,每個中斷源對應,?,一個,ISR,將這些,ISR,的開始地址,(,中斷向量地址,),放在,?,一段連續(xù)的
25、存儲區(qū)域內,此存儲區(qū)稱之中斷向量表,?,中斷向量表實際是一個指針數(shù)組,內容是,ISR,的地址,?,中斷優(yōu)先級,5.4 AW60,的中斷源與第一個帶有中斷的編程實例,5.4.1,中斷處理的相關基本概念,?,可屏蔽中斷與不可屏蔽中斷,?,根據(jù)中斷是否可以通過程序設置為響應與否。,?,中斷處理的一般過程,?,?,?,?,?,?,1,、保存現(xiàn)場,:CPU,內部寄存器的內容保存堆棧中;,2,、獲取向量號并獲得中斷向量地址;,3,、根據(jù)中斷向量地址訪問向量表,從向量表中取得,ISR,的首地,址,裝入,PC;,4,、執(zhí)行,ISR,;,5,、中斷返回:從堆棧中恢復,CPU,內部寄存器的內容。,5.4.2 S0
26、8CPU,的中斷實現(xiàn)過程,?,堆棧的使用,?,響應中斷時,CPU,自動保存,PC,、,X,、,A,、,CCR,至堆棧中,?,S08CPU,的中斷過程的詳細說明,?,中斷的關閉與開啟方法,中斷的處理過程一般為:,關中斷、保護現(xiàn)場、,執(zhí)行中斷服務程序、,恢復現(xiàn)場、開中斷等,中斷過程,CPU,中寄存器進出棧情況,5.4.2 S08CPU,的中斷實現(xiàn)過程,?,S08CPU,的中斷過程的詳細說明,當,CPU,接收到一個有效的中斷請求之后,先執(zhí)行完當前正在執(zhí),行的指令,然后按照下面順序,自動,響應中斷:,?,保存,CPU,寄存器到堆棧中,注意對,H,寄存器的保護;,?,設置,CCR,中的,I,位為,1,,
27、,屏蔽將來的中斷;,?,讀取正在請求中的優(yōu)先級最高的中斷源的,中斷向量,從相應,的中斷向量地址取出中斷向量送到,PC,;,?,執(zhí)行,ISR,直至執(zhí)行,RTI,返回,依次從,堆棧中,恢復,CPU,寄存器,的內容,返回原來的斷點處繼續(xù)執(zhí)行,?,若允許中斷嵌套,則在,ISR,中可用,CLI,指令開中,?,5.4.3 AW60,的中斷源與中斷向量表,AW60,有,26,個中斷源,按優(yōu)先級從高到低的順序分別是:,復位中斷(,1,個)、,SWI,指令中斷(,1,個)、,引腳中斷(,1,個)、,低電壓檢測中斷(,1,個)、,ICG,中斷(,1,個)、定時器中斷(,10,個)、,SPI,中斷(,1,個)、,S
28、CI,中斷(,6,個)、鍵盤輸入中斷(,1,個)、,ADC,轉換完成中斷(,1,個)、,I2C,中斷(,1,個)和實時中,斷(,1,個)。,26,個中斷源只有,18,個中斷向量,有的是幾個中斷,源使用同一個中斷向量,5.4.3 AW60,的中斷源與中斷向量表,Slide 41,5.4.4 AW60,的中斷編程方法,?,CW,環(huán)境下使用,AW60,芯片中斷的步驟是:,?,在,main.c,中,依照“關總中斷開模塊中斷開總中斷”的順,序打開模塊中斷;,?,在,isr.c,文件中,編寫中斷服務程序,修改中斷向量表,?,為了方便代碼移植,在,Includes.h,文件中做了如下定義:,?,#defin
29、e EnableInterrupts() asm(CLI) /,開放總中斷,?,#define DisableInterrupts() asm(SEI) /,禁止總中斷,?,AW60,的中斷編程的可概括為下述,3,個步驟:,?,新建(或者復制)一個,isr.c,文件,并加入工程中,?,定義中斷向量表(復制,isr.c,的應修改中斷向量表),?,定義,ISR,并在中斷向量表中填入相應,ISR,的名稱,5.4.5 AW60,的中斷編程示例,以,SCI1,接收中斷為例,實現(xiàn)以下功能:主程序每隔,1,秒,讓,SCI1,模塊向,PC,機發(fā)送用于握手的字符串“Hello!,World!”;同時,串口等待接
30、收從,PC,機發(fā)來的數(shù)據(jù),一旦接,到數(shù)據(jù),馬上將該數(shù)據(jù)回發(fā)給,PC,機。串口接收程序使用中斷,來實現(xiàn),中斷處理程序執(zhí)行完畢后,又回到主程序,繼續(xù)每,隔,1,秒鐘向,PC,機發(fā)送一遍“Hello! World!”,4.4,外部引腳中斷,(IRQ),?,中斷優(yōu)先,4.4,外部引腳中斷,(IRQ),?,IRQ,外部引腳中,斷,?,出現(xiàn),正,/,負脈沖,發(fā)生,IRQ,中斷,3.6,外部管腳中斷,(IRQ),?,IRQ,內部結構,IRQ,中斷由外部中斷狀態(tài)和控制寄存器,IRQSC,管理:,?,IRQPE,位允許,/,禁止,IRQ,管腳功能:,1=,允許;,0,禁止,?,IRQEDG,位選定邊沿極性,?,
31、0,下降沿或下降沿和低電平觸發(fā),?,1,上降沿或上升沿和高電平觸發(fā),V,DD,IRQACK,V,DD,內部上拉,電阻,R,PU,1,0,s,RESET,CLR,D,Q,CK,STOP,BUSCLK,IRQF,SYNCHRONIZER,STOP BYPASS,IRQ,中斷請求,IRQ,內部下拉,電阻,R,PD,IRQEDG,IRQPE,IRQIE,IRQMOD,GND,Slide 46,3.6,外部管腳中斷,(IRQ),?,IRQ,內部結構,IRQ,中斷由外部中斷狀態(tài)和控制寄存器,IRQSC,管理:,?,IRQMOD,設定檢測模式,?,0,僅僅在下降沿或上升沿產(chǎn)生,IRQ,事件,?,1,在下降沿
32、和低點平或者在上升沿和高電平產(chǎn)生,IRQ,事件,?,IRQIE,允許,/,禁止,IRQ,中斷:,1=,允許;,0,禁止,V,DD,IRQACK,V,DD,內部上拉,電阻,R,PU,1,0,s,RESET,CLR,D,Q,CK,STOP,BUSCLK,IRQF,SYNCHRONIZER,STOP BYPASS,IRQ,中斷請求,IRQ,內部下拉,電阻,R,PD,IRQEDG,IRQPE,IRQIE,IRQMOD,GND,Slide 47,3.6,外部管腳中斷,(IRQ),?,IRQ,內部結構,IRQ,中斷由外部中斷狀態(tài)和控制寄存器,IRQSC,管理:,?,IRQF,只讀,標志位,指示是否有,IR
33、Q,事件發(fā)生:,0,無;,1,有,?,IRQACK,只寫,位,,向,IRQACK,位寫,1,以清,IRQF,位為,0,,寫,0,既無,意義也無效果,讀總返回,0,。,V,DD,IRQACK,V,DD,內部上拉,電阻,R,PU,1,0,s,RESET,CLR,D,Q,CK,STOP,BUSCLK,IRQF,SYNCHRONIZER,STOP BYPASS,IRQ,中斷請求,IRQ,內部下拉,電阻,R,PD,IRQEDG,IRQPE,IRQIE,IRQMOD,GND,Slide 48,3.6,外部管腳中斷,(IRQ),?,IRQ,寄存器,Slide 49,4.4,外部引腳中斷,(IRQ),?,IR
34、Q,內部結構,只寫位,寫,1,清,IRQF,為,0,,寫,0,無意義,允許,/,禁止,IRQ,引腳功能,1,允許,,0,禁止,只讀標志,指示是否,IRQ,事件發(fā)生,選定邊緣極性,1,上升沿或高電平,,0,下降沿或低電平,設定檢測模式,1,下降沿和低或上升沿和高,0,僅在下降沿或上升沿,允許,/,禁止,IRQ,1,允許,,0,禁止,4.4,外部引腳中斷,(IRQ),?,應用舉例一,?,當觸發(fā),IRQ,引腳時,點亮或熄滅一個,LED,并使,BEEPER,關閉或,/,發(fā)出聲音,?,采用下降沿觸發(fā),代碼分析,#include /* for EnableInterrupts macro */,#incl
35、ude derivative.h /* include peripheral declarations */,void main(void),Init_IRQ();,EnableInterrupts; /* enable interrupts */,/* include your code here */,PTDDD_PTDDD5=1; PTBDD=0 xFF;,for(;) ,_RESET_WATCHDOG(); /* feeds the dog */, /* loop forever */,/* please make sure that you never leave main */,I
36、nterrupt 2 void IRQ_ISR(void),if(IRQSC /,清除外部中斷標志位,PTDD_PTDD5=PTDD_PTDD5;/,點亮或熄滅,D5,PTBD_PTBD6= PTBD_PTBD6,/,觸發(fā)引腳,IRQ,,點亮或熄滅,D5,/=,/,函數(shù)名,:Init_IRQ,/,功能,:,初始化外部中斷引腳,/=,void Init_IRQ(void),IRQSC_IRQMOD=0; /0:,邊沿方式,;1:,電平方式,IRQSC_IRQIE=1; /0,:中斷使能;,1,:禁止中斷,IRQSC_IRQPE=1; /1,:中斷引腳使能;,0,:普通,IO,IRQSC_IRQEDG=0; /,下降沿或低電平信號有效,4.4,外部引腳中斷,(IRQ),?,應用舉例二,?,主程序為流水燈,?,當觸發(fā),IRQ,引腳時,使,BEEPER,發(fā)出,3m,時間的聲音,?,采用下降沿觸發(fā),代碼分析,#include /* for EnableInterrupts macro */,#include derivative.h /* include peripheral declarations,*/,void DelayMS(uint x),uint t;,while(x-) for(t=0;t300;t+);,void Init_IRQ(void),IRQSC_IRQMO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國防火門行業(yè)發(fā)展策略規(guī)劃分析報告
- 2025-2030年中國鉆機電控系統(tǒng)市場十三五規(guī)劃與發(fā)展策略研究報告
- 2025-2030年中國訓練健身器材行業(yè)需求現(xiàn)狀及發(fā)展趨勢分析報告
- 2025-2030年中國組合電器產(chǎn)業(yè)發(fā)展趨勢及前景調研分析報告
- 武漢體育學院《機制設計理論及應用》2023-2024學年第二學期期末試卷
- 鄂爾多斯職業(yè)學院《功能表面設計》2023-2024學年第二學期期末試卷
- 大同師范高等??茖W校《研究性學習指導與管理》2023-2024學年第二學期期末試卷
- 合肥職業(yè)技術學院《社會企業(yè)》2023-2024學年第二學期期末試卷
- 新版統(tǒng)編版一年級道德與法治下冊全冊教案(完整版)教學設計含教學反思
- 城市開放空間-課件
- 2025年春季學期學校德育工作計劃安排表(完整版)
- 湖南2024年湖南省水利廳所屬事業(yè)單位招聘57人筆試歷年參考題庫附帶答案詳解
- 2025年全球及中國調頻儲能行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2024年加氫站技術規(guī)范
- 《幼兒教育政策與法規(guī)》教案-單元4 幼兒園的保育和教育
- 小學思政培訓
- 《森林火災預防與撲救技術課件教程》
- 2025年度會計人員繼續(xù)教育會計法律法規(guī)答題活動測試100題答案
- 第15課 人機對話的實現(xiàn) 說課稿 六上信息科技浙教版(2023)001
評論
0/150
提交評論