單片機中斷與定時系統(tǒng)_第1頁
單片機中斷與定時系統(tǒng)_第2頁
單片機中斷與定時系統(tǒng)_第3頁
單片機中斷與定時系統(tǒng)_第4頁
單片機中斷與定時系統(tǒng)_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

16.1MCS-51單片機的中斷系統(tǒng)6.2MCS-51單片機的定時器/計數(shù)器6.3MCS-51單片機外部中斷源的擴展6.4定時器/計數(shù)器與中斷綜合應用舉例6單片機中斷與定時系統(tǒng)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第1頁!26單片機中斷與定時系統(tǒng)6.1MCS-51單片機的中斷系統(tǒng)6.1.1單片機中斷技術概述6.1.2中斷源1.外部中斷源——(P3.2)和(P3.3)2.定時器中斷源——T0和T13.串行口中斷源INT0INT1單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第2頁!36單片機中斷與定時系統(tǒng)6.1.3中斷控制1.定時器控制寄存器(TCON—Timer/CounterControlRegister)(1)IE0和IE1——外中斷請求標志位(硬件置1或清0)(2)IT0和IT1——外中斷請求觸發(fā)方式控制位(軟件置1或清0) (0—電平觸發(fā),1—脈沖觸發(fā))(3)TF0和TF1——計數(shù)器溢出標志位(硬件置1或清0)(4)TR0和TR1——RunControlbitsforTimer1andTimer0.Settorun,resettohold.(軟件置1或清0)位地址8FH8EH8DH8CH8BH8AH89H88H位符號TF1TR1TF0TR0IE1IT1IE0IT0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第3頁!46單片機中斷與定時系統(tǒng)3.中斷允許控制寄存器(IE—InterruptEnableRegister)(1)EA——中斷允許總控制位(2)EX0和EX1——外部中斷允許控制位(3)ET0和ET1——定時/計數(shù)中斷允許控制位(4)ES——串行中斷允許控制位位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H位符號EA//ESET1EX1ET0EX0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第4頁!56單片機中斷與定時系統(tǒng)5.中斷優(yōu)先級控制原則和控制邏輯中斷嵌套——高優(yōu)先級可以中斷低優(yōu)先級同級不能嵌套同級中斷同時請求,查詢次序為:外部中斷0→定時中斷0→外部中斷1→定時中斷1→串行中斷6.中斷初始化與中斷控制寄存器狀態(tài)設置 MOVIE,#81H;開放外部中斷0或 SETBEA SETBEX0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第5頁!66單片機中斷與定時系統(tǒng)6.1.4中斷響應過程1.中斷采樣——在每個機器周期的S5P2采樣和2.中斷查詢——在每個機器周期的最后一個狀態(tài)S6查詢3.中斷響應——硬件自動產(chǎn)生LCALLaddr16指令響應過程——單片機響應中斷后,自動執(zhí)行下列操作:(1)置位中斷優(yōu)先級有效觸發(fā)器,即關閉同級和低級中斷:(2)調(diào)用入口地址,斷點入棧,相當于LCALL指令;(3)進入中斷服務程序。例如:LCALL0003H;響應外部中斷0INT0INT1單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第6頁!76單片機中斷與定時系統(tǒng)(1)最快響應時間以外部中斷的電平觸發(fā)為最快。從查詢中斷請求信號到中斷服務程序需要三個機器周期:1個周期(查詢)+2個周期(長調(diào)用LCALL)(2)最長時間若當前指令是RET、RETI和訪問IP、IE指令,緊接著下一條是乘除指令發(fā)生,則最長為8個周期:2個周期執(zhí)行當前指令(其中含有1個周期查詢)+4個周期乘除指令+2個周期長調(diào)用=8個周期。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第7頁!86單片機中斷與定時系統(tǒng) ORLP1,#01H ANLP1,#0FEHP1.0Q外部中斷請求信號1INT080C51DCPSD電平方式外部中斷請求的撤銷電路單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第8頁!96.2MCS-51單片機的定時器/計數(shù)器6.2.1定時方法概述1.軟件定時2.硬件定時3.可編程定時器定時6.2.2定時器/計數(shù)器的定時和計數(shù)功能1.計數(shù)功能2.定時功能6單片機中斷與定時系統(tǒng)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第9頁!106單片機中斷與定時系統(tǒng)2.定時器/計數(shù)器方式控制寄存器(TMOD—Timer/CounterModeControlRegister)M0M1C/TGATEM0M1C/TGATED0D1D2D3D4D5D6D7T1控制T0控制GATE—門控位C/T—計數(shù)/定時選擇M1M0—工作方式選擇單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第10頁!116單片機中斷與定時系統(tǒng)2.定時和計數(shù)應用設晶振頻率fosc=6MHz,方式0的最長定時時間為:(213–0)×2us=214us=16384us=16.384ms例6.1設晶振頻率fosc=6MHz,使用定時器1以方式0產(chǎn)生周期為500μs的方波脈沖,并由P1.0輸出。以查詢方式實現(xiàn)。80C51P1.0500μs單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第11頁!126單片機中斷與定時系統(tǒng)6.2.5定時工作方式1方式1—16位方式振蕩器1/12TL0TH0TF01≥1&T0TR0GATEINT0C/T=0C/T=18位8位16位計數(shù)器單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第12頁!136單片機中斷與定時系統(tǒng)例6.2程序如下: org 0 ljmp main org 001bh ljmp intt1main: mov tmod,#10h mov th1,#0ffh mov tl1,#83h setb ea setb et1 setb tr1 sjmp $intt1: mov th1,#0ffh mov tl1,#83h cpl p1.0 reti end單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第13頁!146單片機中斷與定時系統(tǒng)設晶振頻率fosc=6MHz,方式2的最長定時時間為:(28–0)×2us=29us=0.512ms例6.3設晶振頻率fosc=6MHz,使用定時器0以方式2產(chǎn)生周期為200μs的方波脈沖,并由P1.0輸出。分別以查詢和中斷方式實現(xiàn)。80C51P1.0200μs單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第14頁!156單片機中斷與定時系統(tǒng)例6.4設晶振頻率fosc=6MHz,使用定時器1以方式2實現(xiàn)計數(shù),每計數(shù)100次累加器加1。 org 0 mov tmod,#60h mov th1,#9ch mov tl1,#9ch mov ie,#0 setb tr1loop: jbc tf1,loop1 ajmp looploop1: inc a ajmp loop end單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第15頁!166單片機中斷與定時系統(tǒng)只有T0可以工作在方式3——此時T0分成2個獨立的計數(shù)器—TL0和TH0,前者用原來T0的控制信號(TR0、TF0),后者用原來T1的控制信號(TR1、TF1)。T1處于方式3時相當于TR1=0,停止計數(shù)。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第16頁!176.3.2通過自身的定時器/計數(shù)器實現(xiàn)在計數(shù)方式下,如果把計數(shù)器預置為全1,則只要在計數(shù)輸入端(T0或T1輸入端)加一脈沖就可以使計數(shù)器溢出,產(chǎn)生溢出中斷。這就是定時器/計數(shù)器實現(xiàn)外部中斷擴展的思想。具體方法是:(1)置定時器/計數(shù)器為工作方式2,即自動加載式8位計數(shù),以便在一次中斷響應后,自動為下一次中斷作準備;(2)TH和TL均置為FFH;(3)擴展的外部中斷請求信號接計數(shù)脈沖輸入端(T0或T1);(4)把擴展的外中斷服務程序存放在所占用的定時器/計數(shù)器中斷入口地址處(000BH或001BH)。6單片機中斷與定時系統(tǒng)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第17頁!186.4定時器/計數(shù)器與中斷綜合應用舉例時鐘程序 org 0start: ajmp main org 000bh ajmp pitomain: mov sp,#60h mov r0,#79h mov r7,#6ml1: mov @r0,#0 inc r0 djnz r7,ml16單片機中斷與定時系統(tǒng) mov tmod,#1 mov tl0,#0dch mov th0,#0bh setb tr0 setb ea setb et0 mov 30h,#8;ml0: lcall smxs ;sjmp ml0 sjmp $單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第18頁!19daad1: mov a,@r0 dec r0 swap a orl a,@r0 add a,#1 da a mov r2,a anl a,#0fh mov @r0,a mov a,r2 inc r0 anl a,#0f0h swap a mov @r0,a ret6單片機中斷與定時系統(tǒng)clr0: clr a mov @r0,a dec r0 mov @r0,a ret end單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第19頁!207.1單片機為什么需要I/O擴展7.1.1I/O口的直接使用1.數(shù)據(jù)的無條件傳送7單片機I/O擴展及應用P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.480C51K0K3LED0LED3+5V ORG 0200HEXTR: MOV A,#0FH MOV P1,A MOV A,P1 CPL A ANL A,#0FH SWAP A MOV P1,A RET END單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第20頁!217.1.2為什么要擴展I/O接口1.單片機本身接口功能有限2.單片機控制應用中的復雜接口要求(1)速度差異大(2)設備種類繁多(3)數(shù)據(jù)信號形式多種多樣3.擴展I/O接口電路的功能(1)速度協(xié)調(diào)(2)輸出數(shù)據(jù)鎖存(3)輸入數(shù)據(jù)三態(tài)緩沖(4)數(shù)據(jù)轉換7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第21頁!227.2單片機簡單I/O擴展7.2.1簡單輸入口擴展1.兩個輸入口擴展簡單輸入口擴展使用中小規(guī)模集成電路芯片,比較典型的有74LS244芯片。7單片機I/O擴展及應用1510CE11A12Y41A22Y31A32Y21A42Y1GND輸入設備74LS244CE1CE2地址選通信號ALEP074LS373271674LS24480C51RDVccCE21Y12A41Y22A31Y32A21Y42A1201611單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第22頁!237.2.2簡單輸出口擴展1.簡單輸出口擴展使用的典型芯片——74LS3772.輸出口擴展連接7單片機I/O擴展及應用QDP0

WR地址譯碼信號80C5174LS377輸出設備CKG單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第23頁!247單片機I/O擴展及應用7.48155帶RAM和定時器/計數(shù)器的可編程并行接口芯片7.4.18155基本結構及工作方式Vcc(+5V)Vss(GND)RDCEAD7~AD0RESETWRTIMERINTIMEROUTM/IOALE256字節(jié)靜態(tài)RAM14位定時計數(shù)器ABCPA7~PA0PB7~PB0PC5~PC0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第24頁!257單片機I/O擴展及應用3.RAM單元及I/O口編址AD7AD6AD5AD4AD3AD2AD1AD0對應端口×××××000命令/狀態(tài)寄存器×××××001A口×××××010B口×××××011C口×××××100定時器/計數(shù)器低8位×××××101定時器/計數(shù)器高8位單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第25頁!267單片機I/O擴展及應用7.4.38155的命令/狀態(tài)寄存器1.命令字434210D1D2D3D4D5D6D7DA口工作方式0:輸入1:輸出43421定時器工作方式00:無操作01:停止計數(shù)10:計滿后停止11:開始計數(shù)B口工作方式0:輸入1:輸出C口工作方式00:ALT101:ALT210:ALT311:ALT4A口中斷0:禁止1:允許B口中斷0:禁止1:允許單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第26頁!277單片機I/O擴展及應用7.4.48155的定時器/計數(shù)器1.定時器/計數(shù)器的計數(shù)結構8155的定時器/計數(shù)器是一個14位的減法計數(shù)器,由兩個8位寄存器構成,以其中的低14位組成計數(shù)器,剩下的兩個高位(M2,M1)用于定義計數(shù)器輸出的信號形式。輸出方式計數(shù)器高6位計數(shù)器低8位D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0D7D6D5D4D3D2D1D0M2M1T13T12T11T10T9T8單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第27頁!287單片機I/O擴展及應用M2M1=00單個方波M2M1=01連續(xù)方波M2M1=10單個脈沖M2M1=11連續(xù)脈沖這四種輸出形式如下圖所示。2M1M

00011011單個方波連續(xù)方波單個脈沖連續(xù)脈沖開始計數(shù)停止計數(shù)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第28頁!297單片機I/O擴展及應用7.4.58155初始化要求使用8155定時器/計數(shù)器對計數(shù)脈沖進行千分頻,即計數(shù)1000后,TIAMEROUT端電平狀態(tài)發(fā)生變化,并重新置數(shù)以產(chǎn)生連續(xù)方波。此外假定A口為輸入方式,B口為輸出方式,C口為輸入方式,禁止中斷。請編寫初始化程序。解:要求輸出連續(xù)方波,所以定時器/計數(shù)器的最高兩位M2M1=01。計數(shù)器的其它14位裝入計數(shù)初值。8155為減法計數(shù),所以計數(shù)初值為1000,化為16進制數(shù)為03E8H。則定時器/計數(shù)器的高8位為:43H,低8位為:0E8H。命令字為0C2H。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第29頁!307.58279可編程鍵盤/顯示器接口芯片8279是Intel公司生產(chǎn)的通用可編程鍵盤和顯示器I/O接口器件。由于它本身可提供掃描信號,因而可代替微處理器完成鍵盤和顯示器的控制,從而減輕了主機的負擔。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第30頁!31(3)掃描計數(shù)器掃描計數(shù)器有兩種輸出方式。一種為外部譯碼方式(也稱編碼方式),計數(shù)器以二進制方式計數(shù),4位計數(shù)狀態(tài)從掃描線SL0~SL3輸出,經(jīng)外部譯碼器譯碼出l6位掃描線;另一種為內(nèi)部譯碼方式(也稱譯碼方式),即掃描計數(shù)器的低2位經(jīng)內(nèi)部譯碼器后從SL0~SL3輸出。(4)鍵輸入控制這個部件完成對鍵盤的自動掃描,鎖存RL0~RL7的鍵輸入信息,搜索閉合鍵,去除鍵的抖動,并將鍵輸入數(shù)據(jù)寫入內(nèi)部先進先出(FIFO)的RAM存儲器。(5)FIFO/傳感器RAM和顯示RAM8279具有8個先進先出的鍵輸入緩沖器,并提供16個字節(jié)的顯示數(shù)據(jù)緩沖器。CPU將段數(shù)據(jù)寫入顯示緩沖器,8279自動對顯示器掃描,將其內(nèi)部顯示緩沖器中的數(shù)據(jù)在顯示器上顯示出來。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第31頁!327單片機I/O擴展及應用8279引腳圖單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第32頁!33RL0~RL7——反饋輸入線,作為鍵輸入線,由內(nèi)部拉高電阻拉成高電平,也可由鍵盤上按鍵拉成低電平。SL0~3——掃描輸出線,用于對鍵盤顯示器掃描。OUTA0~3,OUTB0~3——顯示段數(shù)據(jù)輸出線,可分別作為兩個半字節(jié)輸出,也可作為8位段數(shù)據(jù)輸出口,此時OUTB0為最低位,OUTA3為最高位。/BD——消隱輸出線,低電平有效,當顯示器切換時或使用顯示消隱命令時,將顯示消隱。RESET——復位輸入線,高電平有效。當RESET輸入端出現(xiàn)高電平時,8279被復位,復位后8279被設置為:16個8位字符顯示為左端輸入;編碼的掃描鍵為兩鍵連鎖;程序時鐘前置分頻器被置為31H。SHIFT、CNTL/——控制鍵輸入線,由內(nèi)部拉高電阻拉成高電平,也可由外部控制按鍵拉成低電平,SHIFT為換檔,CNTL為控制,為選通。7單片機I/O擴展及應用STBSTB單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第33頁!347單片機I/O擴展及應用7.5.28279的寄存器1.命令寄存器(1)鍵盤/顯示器方式設置命令其中:D7D6D0=000是方式設置命令的特征位。DD(D4D3)為顯示器方式選擇位,其定義如下:所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的顯示字符逐個向右順序排列,所謂右入口,則是顯示位置從最右一位(最低位)開始,以后逐次輸入顯示字符時,已有的顯示字符依次向左移動。D7D6D5D4D3D2D1D0000DDKKKD4D3顯示器方式008個字符顯示,左入口0116個字符顯示,左入口108個字符顯示,右入口1116個字符顯示,右入口單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第34頁!357單片機I/O擴展及應用(2)內(nèi)部時鐘設置命令8279的內(nèi)部定時信號是由外部輸入時鐘經(jīng)過分頻后產(chǎn)生的,分頻系數(shù)由內(nèi)部時鐘設置命令確定。其中:D7D6D5=001為時鐘編程命令的特征位,PPPPP(D4~D0)用來設定對外部輸入CLK端的時鐘進行分頻的分頻數(shù)N。N取值為2~31。例如,外部時鐘頻率為2MHz,PPPPP被置為10100B(N=20),則對外部輸入時鐘20分頻,以獲得8279內(nèi)部要求的100kHz的基本頻率。(3)讀FIFO/傳感器RAM命令D7D6D5D4D3D2D1D0001PPPPPD7D6D5D4D3D2D1D0010AIXAAA單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第35頁!367單片機I/O擴展及應用(5)寫顯示數(shù)據(jù)命令在CPU將顯示數(shù)據(jù)寫入8279的顯示緩沖器RAM之前必須先輸出寫顯示數(shù)據(jù)緩沖器的命令。其中:D7D6D5=100為寫顯示RAM命令宇特征位。AAAA(D3D2D1D0)為將要寫入的顯示RAM中的存儲單元地址。AI(D4)為自動增量特征位。AI=1時,每次寫入后地址自動加1,指向下一地址。D7D6D5D4D3D2D1D0100AIAAAA單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第36頁!377單片機I/O擴展及應用(7)清除命令CPU將清除命令寫入8279,使顯示緩沖器清成初態(tài)(暗碼),同時也能清除鍵輸入標志和中斷請求標志。其中:D7D6D5=110為清除命令特征位。CDCDCD(D4D3D2)用來設定清除顯示RAM方式。共有四種消除方式。CF(D1)用來置空FIFO存儲器,當CF=1時,執(zhí)行清除命令后,F(xiàn)IFORAM被置空,使中斷輸出線IRQ復位。同時,傳感器RAM讀出地址也被置為0。CA(D0)為總清的特征位。它兼有CD和CF的聯(lián)合效能。在CF=1時,對顯示的清除方式由D3、D2的編碼決定。清除顯示RAM大約需100μS時間,在此期間,CPU不能向顯示RAM寫入數(shù)據(jù)。D7D6D5D4D3D2D1D0110CDCDCDCFCAD4D3D2清除方式10X將顯示RAM全部清010將顯示RAM清成20H11將顯示RAM全部置10XX不清除(CA=0時)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第37頁!387單片機I/O擴展及應用作為特定錯誤方式設置命令。在8279已被設定為鍵盤掃描N鍵輪回方式以后,如果CPU給8279又寫入結束中斷/錯誤方式設置命令(D4=1),則8279將以一種特定的錯誤方式工作。這種方式的特點是:在8279的消顫周期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則FIFO狀態(tài)宇中的錯誤特征位S/E將置1,并產(chǎn)生中斷請求信號和阻止寫入FIFORAM。上述8種用于確定8279操作方式的命令字皆由D7D6D5特征位確定,輸出到8279后能自動尋址相應的命令寄存器。因此,寫入命令時唯一的要求是使數(shù)據(jù)選擇信號A0=1。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第38頁!397單片機I/O擴展及應用U(D4Underrun)——在FIFORAM中沒有輸入字符時,CFU對FIFORAM讀,則置“1”U位。F(D3FIFOFull)——在F=1時,表示FIFORAM已滿(8個鍵入數(shù)據(jù))。NNN(D2D1D0NumberofcharactersinFIFO)——表示FIFORAM中數(shù)據(jù)的個數(shù)。3.數(shù)據(jù)寄存器在鍵掃描方式中,鍵輸入數(shù)據(jù)格式如下:CNTL(D7)——控制鍵CNTL的狀態(tài)。SHIFT(D6)——控制鍵SHIFT的狀態(tài)。D5~D3指出輸入鍵所在的行號(掃描計數(shù)值)。D2~D0指出輸入鍵所在的列號(回送計數(shù)值)。D7D6D5D4D3D2D1D0CNTLSHIFTSL3~SL0RL7~RL0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第39頁!407.5.38279的接口應用1.8279與80C51兼容信號的連接2.地址信號連接和寄存器地址3.8279與鍵盤的連接和操作4.8279與顯示器的連接和操作7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第40頁!417.6MCS-51單片機鍵盤接口技術7.6.1單片機鍵盤和鍵盤接口概述7.6.2單片機鍵盤接口和鍵功能的實現(xiàn)1.鍵盤接口處理的內(nèi)容2.鍵盤接口的控制方式3.鍵處理子程序7.6.3使用8155作單片機鍵盤接口1.接口電路邏輯圖2.判定有無閉合鍵的子程序3.鍵盤掃描程序7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第41頁!422.判定有無閉合鍵的子程序KS1: MOV DPTR,#0101H MOV A,#0 MOVX @DPTR,A INC DPTR INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH RET7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第42頁!43NEXT: INC R4 MOV A,R2 JNB ACC.7,KND RL A MOV R2,A AJMP LK4KND: AJMP KEY17單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第43頁!4474LS156(Dual2-Lineto4-LineDecoders)邏輯圖7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第44頁!45 ORG 0013HINT: MOV DPTR,#7FFFH MOV A,#40H MOVX @DPTR,A MOV DPTR,#7EFFH MOVX A,@DPTR ANL A,#3FH MOV R0,A RETI7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第45頁!467單片機I/O擴展及應用LED顯示器R8abcdefgdpgfGNDabedGNDcdpaefbgdcdp共陰極abcdefgdpR8+5V共陽極單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第46頁!4774LS244——OctalBuffer/LineDriverwith3-StateOutputs7單片機I/O擴展及應用74LS06H=HIGHVoltageLevelL=LOWVoltageLevelX=ImmaterialZ=HIGHImpedance單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第47頁!483.LED顯示程序DIR: MOV R0,#79H MOV R3,#1 MOV A,R3LD0: MOV DPTR,#0103H MOVX @DPTR,A MOV DPTR,#101H MOV A,@R0DIR0: ADD A,#0DH MOVC A,@A+PCDIR1: MOVX @DPTR,A ;1B ACALL DL ;2B INC R0 ;1B MOV A,R3 ;1B7單片機I/O擴展及應用 JB ACC.7,LD1 ;3B RL A ;1B MOV R3,A ;1B AJMP LD0 ;2BLD1: RET ;1BDSEG: DB 3FH,06H DB 5BH,4FH DB 66H,6DH DB 7DH,07H DB 7FH,6FH DB 77H,7CH DB 39H,5EH DB 79H,71H單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第48頁!49

當加在筆畫(a~g)中某個電極上的方波和公共電極(COM)上的方波信號相位相同時,相對電壓為零,則該筆畫段不顯示;當加在某個筆畫電極上的方波與公共電極上的方波信號相位相反時,則有幅值二倍于方波幅值的電壓加在液晶上,該筆畫被選中而顯示。例:如果要顯示字符“E”則應使a、d、e、f、g筆畫段電極上的方波與COM電極上方波的相位相反,而b、c筆畫電極上的方波與COM電極上方波的相位相同。一般控制方波的頻率為25~100Hz,并保證其為對稱方波,從而使加在液晶極板上的交流電壓平均值為零。否則有較大的直流分量,將使液晶材料迅速分解,這會大大縮短顯示器的工作壽命。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第49頁!504047——單穩(wěn)態(tài)/無穩(wěn)態(tài)多諧振蕩器(Monostable/AstableMultivibrator)7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第50頁!514056——BCDTo7-SegmentDecoder/DriverwithStrobedLatchFunction7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第51頁!52顯示程序STAR: CLR A ;MOV A,#80H MOV P1,A MOV R0,#20 MOV A,@R0 ANL A,#0FH ORL A,#20H MOV P1,A ACALL DMS INC R0 MOV A,@R0 ANL A,#0FH ORL A,#10H MOV P1,A ACALL DMS7單片機I/O擴展及應用 INC R0 MOV A,@R0 ANL A,#0FH ORL A,#00H MOV P1,A ACALL DMS ACALL DMS ACALL DMS RETDMS: MOV R7,#02HDL1: MOV R6,#0FFHDL2: DJNZ R6,DL2 DJNZ R7,DL1 RET單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第52頁!53DB7~DB0——數(shù)據(jù)線,單向由計算機輸入到打印機。/STB——數(shù)據(jù)選通信號。BUSY——打印機“忙”狀態(tài)信號。/ACK——打印機的應答信號。/ERR——出錯信號。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第53頁!547單片機I/O擴展及應用2.使用8255作打印機接口RDWRRESET80C51

P0.7~P0.0ALEEARDWRRESETCSA1A0D7~D0PA7~PA08255APC7PC0DB7~DB0微型打印機BUSYSTB74LS373Q7D7~D0

Q1GEQ0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第54頁!558.1串行通信基礎知識8.2MCS-51單片機的串行口及控制寄存器8.3MCS-51單片機串行通信工作方式8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第55頁!信號傳輸速率(碼元速率或調(diào)制速率或波特率):每秒內(nèi)信號變化的次數(shù)。B=1/T(Baud)T——一個數(shù)字脈沖的寬度(全寬碼情況)或重復周期(歸零碼情況),單位秒。數(shù)據(jù)傳輸速率(位率或比特率):每秒傳送的二進制位數(shù)。S=1/TLog2N(bps)當一個碼元僅取兩種離散值時,S=B。曼徹斯特編碼:S=1/2B568單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第56頁!SerialPinouts(D25andD9Connectors)57D-Type-25PinNo.D-Type-9PinNo.AbbreviationFullNamePin2Pin3TXDTransmitDataPin3Pin2RXDReceiveDataPin4Pin7RTSRequestToSendPin5Pin8CTSClearToSendPin6Pin6DSRDataSetReadyPin7Pin5SGSignalGroundPin8Pin1CDCarrierDetectPin20Pin4DTRDataTerminalReadyPin22Pin9RIRingIndicator8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第57頁!588.2.2串行通信控制寄存器1.串行控制寄存器SCON2.電源控制寄存器PCON3.中斷允許寄存器IE8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第58頁!592.電源控制寄存器PCON對于MCS-51系列機型來說,它們有待機方式和掉電保護方式兩種低功耗方式。通過設置電源控制寄存器PCON(PowerControlRegister)的相關位可以確定當前的低功耗方式。PCON寄存器格式如下:其中 SMOD:波特率倍增位 GF0,GF1:通用標志位 PD:掉電方式位,PD=1為掉電方式 IDL:待機方式位,IDL=1為待機方式位序B7B6B5B4B3B2B1B0位符號SMOD///GF1GF0PDIDL8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第59頁!608.3MCS-51單片機串行通信工作方式8單片機串行數(shù)據(jù)通信SM0SM1方式功能說明波特率00方式0移位寄存器方式fosc/1201方式18位UART可變10方式29位UARTfosc/64或者fosc/3211方式39位UART可變單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第60頁!618.3.2串行工作方式1方式1是10位為一幀的異步串行通信方式。其幀格式為1個起始位、8個數(shù)據(jù)位和1個停止位。如下圖所示:1.數(shù)據(jù)發(fā)送與接收發(fā)送——數(shù)據(jù)寫入SBUF后,開始發(fā)送,此時由硬件加入起始位和停止位,構成一幀數(shù)據(jù),由TXD串行輸出。輸出一幀數(shù)據(jù)后,TXD保持在高電平狀態(tài)下,并將TI置位,通知CPU可以進行下一個字符的發(fā)送。接收——當REN=1且接收到起始位后,在移位脈沖的控制下,把接收到的數(shù)據(jù)移入接收緩沖寄存器(SBUF)中,停止位到來后,把停止位送入RB8中,并置位RI,通知CPU接收到一個字符。起始D0D1D2D3D4D5D6D7停止8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第61頁!62溢出率為溢出周期的倒數(shù)。則波特率的計算公式為:實際使用中,波特率是已知的。因此需要根據(jù)波特率的計算公式求定時初值X。用戶只需要把定時初值設置到定時器1,就能得到所要求的波特率。8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第62頁!63甲機發(fā)送主程序 ORG 0023H AJMP ACINT ORG 8030H MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H SETB EA CLR ES MOV PCON,#0 SETB TR1 MOV SCON,#40H MOV SBUF,#40HSOUT1: JNB TI,$ CLR TI MOV SBUF,#0SOUT2: JNB TI,$ CLR TI MOV SBUF,#40HSOUT3: JNB TI,$ CLR TI MOV SBUF,#1FH MOV DPTR,#4000H MOV R7,#20H SETB ESAHALT: AJMP $ ORG 8100HACINT: MOVX A,@DPTR CLR TI MOV SBUF,A DJNZ R7,AEND CLR ES CLR TR1AEND: INC DPTR RETI8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第63頁!64乙機中斷服務程序 ORG 8100HBCINT: MOV A,SBUF MOV @DPTR,A CLR RI DJNZ R7,BEND CLR ES CLR TR1BEND: INC DPTR RETI8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第64頁!65發(fā)送數(shù)據(jù)(D0~D7)由MOV指令向SBUF寫入,而D8位的內(nèi)容則由硬件電路從TB8中直接送到發(fā)送移位器的第九位,并以此來啟動串行發(fā)送。一個字符幀發(fā)送完畢后,將TI位置“1”,其他過程與方式1相同。方式2的接收過程也與方式1基本類似,所不同的只在第9數(shù)據(jù)位上,串行口把接收到的前8個數(shù)據(jù)位送入SBUF,而把第9數(shù)據(jù)位送入RB8。方式2的波特率是固定的,而且有兩種。一種是晶振頻率的三十二分之一;另一種是晶振頻率的六十四分之一。即fosc/32和fosc/64。如用公式表示則為:由此公式可知,當SMOD為0時,波特率為fosc/64,當SMOD為1時,波特率為fosc/32。8單片機串行數(shù)據(jù)通信單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第65頁!669.1MCS-51單片機與D/A轉換器的接口與應用9.2MCS-51單片機與A/D轉換器的接口與應用9單片機與數(shù)/模及模/數(shù)轉換器接口單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第66頁!679.2MCS-51單片機與A/D轉換器的接口與應用9單片機與數(shù)/模及模/數(shù)轉換器接口單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第67頁!6810.1單片機應用舉例10MCS-51單片機應用及開發(fā)技術單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第68頁!696單片機中斷與定時系統(tǒng)2.串行口控制寄存器(SCON—SerialPortControlRegister)(1)SM0、SM1、SM2——SerialPortModeBits(2)REN——允許串行接收位ReceiverEnable(軟件置1或清0)(3)TB8——Transmitbit8.Ninthbittransmitted(inmode2and3);set/clearedbysoftware.(4)RB8——Receivebit8.Ninthbitreceived(inmode2and3);Mode0:NotusedMode1:StopbitMode2,3:Ninthdatabit.(5)TI——發(fā)送中斷標志位Transmitinterruptflag.Setatendofcharactertransmission;clearedbysoftware.(6)RI——接收中斷標志位Receiveinterruptflag.Setatendofcharacterreception;clearedbysoftware.位地址9FH9EH9DH9CH9BH9AH99H98H位符號SM0SM1SM2RENTB8RB8TIRI單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第69頁!706單片機中斷與定時系統(tǒng)4.中斷優(yōu)先級控制寄存器(IP—InterruptPriorityRegister)(1)PX0——外部中斷0優(yōu)先級設定位(2)PT0——定時中斷0優(yōu)先級設定位(3)PX1——外部中斷1優(yōu)先級設定位(4)PT1——定時中斷1優(yōu)先級設定位(5)PS——串行中斷優(yōu)先級設定位位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H位符號///PSPT1PX1PT0PX0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第70頁!716單片機中斷與定時系統(tǒng)MCS-51的中斷系統(tǒng)IE0TF0IE1TF1TIRIEX0ET0EX1ET1ES≥1PX0PT0PX1PT1PS高級低級內(nèi)部查詢內(nèi)部查詢?nèi)肟诘刂啡肟诘刂稩NT0INT1T0T1TIRI中斷請求標志中斷允許控制中斷優(yōu)先級EA中斷源單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第71頁!726單片機中斷與定時系統(tǒng)響應條件——CPU要響應中斷需滿足下列條件:(1)無同級或高級中斷正在服務;(2)當前指令周期結束,如果查詢中斷請求的機器周期不是當前指令的最后一個周期,則不響應;(3)若現(xiàn)行指令是RETI、RET或訪問IE、IP指令,則需要執(zhí)行完當前指令及下一條指令方可響應。4.中斷響應時間——最短為3個機器周期;最長為8個機器周期。響應時間——從查詢中斷請求標志位到轉向中斷服務入口地址所需的機器周期數(shù)。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第72頁!736單片機中斷與定時系統(tǒng)6.1.5中斷請求的撤銷1.定時中斷請求的撤銷——自動撤銷(硬件自動清TF0和TF1)2.脈沖方式外部中斷請求的撤銷——自動撤銷(硬件自動清IE0和IE1;脈沖信號消失)3.電平方式外部中斷請求的撤銷——硬件自動清IE0和IE1,但低電平中斷請求信號需強制變?yōu)楦唠娖健?.串行中斷請求的撤銷——軟件撤銷(CLRTI,CLRRI)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第73頁!746單片機中斷與定時系統(tǒng)6.1.6中斷服務流程1.現(xiàn)場保護和現(xiàn)場恢復(PUSHdirect、POPdirect)2.關中斷和開中斷(CLR、SETB)3.中斷處理4.中斷返回(RETI)6.1.7MCS-51的單步工作方式外部中斷0的中斷服務程序: JNB P3.2,$ JB P3.2,$ RETI80C51+5VINT0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第74頁!756單片機中斷與定時系統(tǒng)6.2.3定時器/計數(shù)器的控制寄存器1.定時器/計數(shù)器控制寄存器(TCON—Timer/CounterControlRegister)D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0中斷請求標志觸發(fā)方式選擇啟動定時/計數(shù)器0低電平1下降沿0停止1啟動單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第75頁!6單片機中斷與定時系統(tǒng)6.2.4定時工作方式01.電路邏輯結構方式0—13位方式計數(shù)脈沖輸入TF0T0TR0GATEINT01≥1&C/T=1振蕩器1/12C/T=0TL0TH08位低5位13位計數(shù)器定時器計數(shù)器76單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第76頁!776單片機中斷與定時系統(tǒng)例6.1程序如下: org 0 mov tmod,#0 mov th1,#0fch mov tl1,#3 mov ie,#0 setb tr1loop: jbc tf1,loop1 ajmp looploop1: mov th1,#0fch mov tl1,#3 cpl p1.0 ajmp loop end單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第77頁!786單片機中斷與定時系統(tǒng)設晶振頻率fosc=6MHz,方式1的最長定時時間為:(216–0)×2us=217us=131.072ms例6.2設晶振頻率fosc=6MHz,使用定時器1以方式1產(chǎn)生周期為500μs的方波脈沖,并由P1.0輸出。以中斷方式實現(xiàn)。80C51P1.0500μs單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第78頁!6單片機中斷與定時系統(tǒng)6.2.6定時工作方式21.電路邏輯結構79方式2—8位自動裝入時間常數(shù)方式TF0振蕩器1/121≥1&T0TR0GATEINT0C/T=0C/T=1TL0TH0單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第79頁!806單片機中斷與定時系統(tǒng)例6.3程序如下:查詢方式: org 0 mov tmod,#2 mov th0,#0ceh mov tl0,#0ceh mov ie,#0 setb tr0loop: jbc tf0,loop1 ajmp looploop1: cpl p1.0 ajmp loop end中斷方式: org 0 ljmp main org 000bh cpl p1.0 retimain: mov tmod,#2 mov th0,#0ceh mov tl0,#0ceh setb ea setb et0 setb tr0 sjmp $ end單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第80頁!6單片機中斷與定時系統(tǒng)6.2.7定時工作方式381方式3—2個8位方式INT0振蕩器1/12TL0TF01≥1&T0TR0GATEC/T=0C/T=18位TH0TF1振蕩器1/12TR18位單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第81頁!826.3MCS-51單片機外部中斷源的擴展6.3.1通過OC門線或實現(xiàn) ORG 0013HINTER: … JB P1.0,LOOP1 JB P1.1,LOOP2

… JB P1.n,LOOPnINTEND: … RETILOOP1: … AJMP INTEND6單片機中斷與定時系統(tǒng)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第82頁!83例如用定時器/計數(shù)器0擴展一個外部中斷,其初始化程序段如下: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB EA SETB ET0 SETB TR06單片機中斷與定時系統(tǒng)單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第83頁!84pito: push psw push acc setb psw.3 mov tl0,#0dch mov th0,#0bh djnz 30h,ret0 mov 30h,#8 mov r0,#7ah acall daad1 mov a,r2 xrl a,#60h jnz ret0 acall clr06單片機中斷與定時系統(tǒng) mov r0,#7ch acall daad1 mov a,r2 xrl a,#60h jnz ret0 acall clr0 mov r0,#7eh acall daad1 mov a,r2 xrl a,#24h jnz ret0 acall clr0ret0: pop acc pop psw reti單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第84頁!857.1單片機為什么需要I/O擴展7.2單片機簡單I/O擴展7.38255A可編程通用并行接口芯片7.48155帶RAM和定時器/計數(shù)器的可編程并行接口芯片7.58279可編程鍵盤/顯示器接口芯片7.6MCS-51單片機鍵盤接口技術7.7MCS-51單片機顯示器接口技術7.8MCS-51單片機打印機接口技術7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第85頁!862.中斷方式的數(shù)據(jù)傳送7單片機I/O擴展及應用P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.480C51INT0+5VK0K3LED0LED3K+5V74LS001K1K ORG 0000HSTART: AJMP MAIN ORG 0003H AJMP EXTR ORG 0030HMAIN: SETB IT0 SETB EX0 SETB EA SJMP $ ORG 0200HEXTR: MOV A,#0FH MOV P1,A MOV A,P1 CPL A ANL A,#0FH SWAP A MOV P1,A RETI END單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第86頁!877.1.3I/O擴展的相關技術1.接口與端口2.數(shù)據(jù)總線隔離技術3.單片機I/O編址技術(1)獨立編址方式(2)統(tǒng)一編址方式7.1.4單片機I/O控制方式1.無條件傳送方式2.查詢方式3.中斷方式7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第87頁!882.多輸入口擴展使用多片74LS244實現(xiàn)多個(例如5個)輸入口擴展。3.應用舉例一個撥盤可產(chǎn)生一個BCD碼形式的十進制數(shù)(4位)。現(xiàn)有A、B、C、D4個撥盤,要求把它們產(chǎn)生的BCD碼依次輸入到R4(B、A)和R5(C、D)中去。 MOV DPTR,#7FFFH MOVX A,@DPTR MOV R4,A MOV DPTR,#0BFFFH MOVX A,@DPTR MOV R5,A7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第88頁!897.38255A可編程通用并行接口芯片7.3.1可編程I/O接口擴展概述8255A——可編程通用并行接口8155——帶RAM和定時器/計數(shù)器的可編程并行接口8259——可編程中斷控制器8279——可編程鍵盤/顯示器接口8253——可編程通用定時器7.3.28255A的邏輯結構和信號引腳7.3.38255A的工作方式及數(shù)據(jù)I/O操作7.3.48255A控制字及初始化編程7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第89頁!907單片機I/O擴展及應用1.主要接口信號AD7~AD0——地址數(shù)據(jù)復用線。ALE——地址鎖存信號。除了進行AD7~AD0的地址鎖存控制外,還用于把片選信號和等信號進行鎖存?!x選通信號?!獙戇x通信號?!x信號?!狪/O與RAM的選擇信號。RESET——復位信號。復位后A口、B口和C口均為數(shù)據(jù)輸入方式。2.I/O及其工作方式A口——該口作輸入還是輸出,由軟件決定。B口——該口作輸入還是輸出,由軟件決定。C口——該口除可作輸入、輸出口外,還可作為控制口,傳送控制和狀態(tài)信號,因此C口共有四種工作方式,即:輸入方式(ALT1),輸出方式(ALT2),A口控制端口方式(ALT3)以及A口和B口控制端口方式(ALT4)。其工作方式由軟件決定。CEIO/MCEIO/MWRRD單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第90頁!917單片機I/O擴展及應用7.4.28155與MCS-51單片機的連接1.用或非門產(chǎn)生信號2.以高位地址直接作為信號IO/MIO/M單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第91頁!927單片機I/O擴展及應用2.狀態(tài)字0D1D2D3D4D5D6DINTRA:A口中斷請求TIMER:定時器中斷(計數(shù)滿時為高電平,讀出狀態(tài)字或硬件復位為低電平)×

ABF:A口緩沖器滿/空INTEA:A口中斷允許INTEB:B口中斷允許INTRB:B口中斷請求BBF:B口緩沖器滿/空單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第92頁!937單片機I/O擴展及應用2.定時器/計數(shù)器的使用8155的定時器/計數(shù)器是減法計數(shù),而MCS-51單片機的定時器/計數(shù)器卻是加法計數(shù),因此確定計數(shù)初值的方法是不同的。MCS-51單片機的定時器/計數(shù)器有多種工作方式,而8155的定時器/計數(shù)器只有一種固定的工作方式,即14位計數(shù)。通過軟件方法進行計數(shù)初加載。MCS-51單片機的定時器計數(shù)器有兩種計數(shù)脈沖。定時功能時,內(nèi)部按機器周期提供固定頻率的計數(shù)脈沖;計數(shù)功能時,從芯片外部引入計數(shù)脈沖。但8155的定時器/計數(shù)器,不論是定時功能還是計數(shù)功能都是由外部提供計數(shù)脈沖,其信號引腳是TIMERIN。MCS-51單片機的定時器/計數(shù)器,計數(shù)溢出時,自動置位TCON寄存器的計數(shù)溢出標志位(TF),供用戶查詢或中斷方式使用;但8155的定時器/計數(shù)器,計數(shù)溢出時向芯片外部輸出一個信號(TIMEROUT)。而且這一信號還有脈沖和方波兩種形式,可由用戶進行選擇。具體(M2,M1)兩位定義。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第93頁!947單片機I/O擴展及應用3.定時器/計數(shù)器的控制8155定時器/計數(shù)器的工作方式由命令字中的最高兩位進行控制。具體說明如下:D7D6=00不影響計數(shù)器工作。D7D6=01停止計數(shù)。如計數(shù)器未啟動則無操作,如計數(shù)器正運行則停止計數(shù)。D7D6=10達到計數(shù)值(計數(shù)器減為0)后停止。D7D6=11啟動,如果計數(shù)器沒運行,則在裝入計數(shù)值后開始計數(shù);如果計數(shù)器已運行,則在當前計數(shù)值計滿后,再以新的計數(shù)值進行計數(shù)。單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第94頁!957單片機I/O擴展及應用初始化程序如下: MOV DPTR,#0FD00H MOV A,#0C2H MOV @DPTR,A MOV DPTR,#0FD04H MOV A,#0E8H MOV @DPTR,A INC DPTR MOV A,#43H MOV @DPTR,A單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第95頁!967.5.18279的電路邏輯和信號引腳1.8279的電路邏輯(1)I/O控制和數(shù)據(jù)緩沖器雙向的三態(tài)數(shù)據(jù)緩沖器將內(nèi)部總線和外部總線DB0~7相連,用于傳送CPU和8279之間的命令、數(shù)據(jù)和狀態(tài)。(2)控制邏輯控制與定時寄存器用以存儲鍵盤及顯示器的工作方式,鎖存操作命令,通過譯碼產(chǎn)生相應的控制信號,使8279的各個部件完成一定的控制功能。定時控制含有一些計數(shù)器,其中有一個可編程的5位計數(shù)器,對外部輸入時鐘信號進行分頻,產(chǎn)生100kHz的內(nèi)部定時信號。外部時鐘輸入信號周期不小于500ns。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第96頁!977單片機I/O擴展及應用8279邏輯框圖數(shù)據(jù)緩沖器I/O控制FIFO傳感器RAM狀態(tài)IRQ168顯示用RAM控制用時序寄存器88FIFO/傳感器RAM鍵盤去抖動和控制顯示寄存器時序和控制掃描計數(shù)器回送顯示地址

寄存器848DB0~7OUTA0~3OUTB0~3BDRDWRCSA0SL0~3RL0~7CNTL/STBSHIFTCLKRESET單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第97頁!982.8279芯片的信號引腳DB0~7——雙向外部數(shù)據(jù)總線。用于傳送8279與CPU之間的命令、數(shù)據(jù)和狀態(tài)??芍苯优cMCS-51系列芯片連接。/CS——選片信號。當/CS為低電平時,CPU才選中8279芯片,并對其進行操作。A0——區(qū)分信息的特性位。當A0為1時,CPU寫入8279的信息為命令,CPU從8279讀出的信息為8279的狀態(tài)。當A0為0時,I/O信息均為數(shù)據(jù)。/RD、/WR——是讀、寫選通信號,低電平有效。IRQ——中斷請求輸出線。高電平有效。在鍵盤工作方式下,當FIFO/傳感器RAM中有數(shù)據(jù)時,此中斷請求線變高電平。在FIFO/傳感器RAM每次讀出時,中斷請求線就下降為低電平,若在RAM中還有信息,則此線又重新變?yōu)楦唠娖健T趥鞲衅鞴ぷ鞣绞街?,每當傳感器信號變化時,中斷請求線就變?yōu)楦唠娖健?單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第98頁!99CLK——外時鐘輸入端,CLK信號由外部振蕩器提供。需說明的一點是:CLK是系統(tǒng)來的外時鐘,8279靠設置定時器將外部時鐘變?yōu)閮?nèi)時鐘。其內(nèi)時鐘頻率=外時鐘/定時值。內(nèi)部時鐘控制著掃描時間和鍵盤去抖動時間的長短。若8279內(nèi)部時鐘為100kHz,則掃描時間為5.1ms,去抖動時間為10.3ms。7單片機I/O擴展及應用單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第99頁!1007單片機I/O擴展及應用KKK(D2D1D0)為鍵盤工作方式選擇位,其定義如下:雙鍵鎖定與N鍵輪回是多鍵按下時的兩種不同的保護方式。雙鍵鎖定為兩鍵同時按下提供的保持方法。在消顫周期里,如果有兩鍵同時被按下,則只有其中一個鍵彈起,而另一個鍵保持在按下位置時,才被認可。N鍵輪回為N鍵同時按下的保護方法。當有若干鍵按下時,鍵盤掃描能夠根據(jù)發(fā)現(xiàn)它們的順序,依次將它們的狀態(tài)送入FIFORAM中。D2D1D0操作方式000編碼掃描鍵盤,雙鍵鎖定001譯碼掃描鍵盤,雙鍵鎖定010編碼掃描鍵盤,N鍵輪回011譯碼掃描鍵盤,N鍵輪回100編碼掃描傳感器矩陣101譯碼掃描傳感器矩陣110選通輸入,編碼顯示掃描111選通輸入,譯碼顯示掃描單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第100頁!1017單片機I/O擴展及應用其中:D7D6D5=010為讀FIFO/傳感器RAM命令的特征位。AAA(D2~D0)為傳感器RAM中的8個字節(jié)地址。AI(D4)為自動增量特征。當AI=l時,每次讀出傳感器RAM后地址自動加1使地址指針指向下一個存儲單元。這樣,下一個數(shù)據(jù)便從下一個地址讀出,而不必重新設置讀FIFO/傳感器RAM命令。AI=0時僅讀出一個單元內(nèi)容。在鍵盤工作方式中,由于讀出操作嚴格按照先入先出順序,因此,不需使用這條命令。(4)讀顯示RAM命令在CPU讀顯示數(shù)據(jù)(用于檢查)之前必須先輸出讀顯示緩沖器RAM的命令。其中:D7D6D5=011是該命令字的特征位。AAAA(D3D2D1D0)用來尋址顯示RAM中的存儲單元。由于顯示RAM中有16個節(jié)單元故需要4位地址。AI(D4)為自動增量特征位。AI=1時,每次讀出后地址自動加1,指向下一地址。D7D6D5D4D3D2D1D0011AIAAAA單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第101頁!1027單片機I/O擴展及應用(6)顯示禁止寫入/消隱命令(Displaywriteinhibit/Blank)其中:D7D6D5=101為顯示禁止寫入/消隱命令特征位。IWA、IWB(D3D2)為A、B組顯示RAM寫入屏蔽位。由于顯示寄存器分成A、B兩組,可以單獨送數(shù),故用兩位來分別屏蔽。當A組的屏蔽位D3=1時,A組的顯示RAM禁止入。因此,從CPU寫入顯示器RAM數(shù)據(jù)時,不會影響A的顯示。這種情況通常在采用雙4位顯示器時使用。因為兩個4位顯示器是相互獨立的。為了給其中一個4位顯示器輸入數(shù)據(jù)又不影響另一個4位顯示器,因此必須對另一組的輸入實行屏蔽。BLA、BLB(D3D2)為消隱設置位。用于對兩組顯示輸出消隱。若BL=1,對應組的顯示輸出被消隱;當BL=0,則恢復顯示。D7D6D5D4D3D2D1D0101XIWAIWBBLABLB單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第102頁!1037單片機I/O擴展及應用(8)結束中斷/錯誤方式設置命令其中:D7D6D5=111為結束中斷/錯誤方式設置命令的特征位。此命令有兩種不同的作用。作為結束中斷命令。在傳感器工作方式中使用。每當傳感器狀態(tài)出現(xiàn)變化時,掃描檢測電路就將其狀態(tài)寫入傳感器RAM,并啟動中斷邏輯,使IRQ變高,向CPU請求中斷,并且禁止寫入傳感器RAM。此時,若傳感器RAM讀出地址的自動遞增特征沒有置位(AI=0),則中斷請求IRQ在CPU次從傳感器RAM讀出數(shù)據(jù)時就被清除。若自動遞增特征已置位(AI=0),則CPU對傳感器RAM的讀出并不能清除IRQ,而必須通過給8279寫入結束中斷/錯誤方式設置命令才能使IRQ變低。因此,在傳感器工作方式中,此命令用來結束傳感器RAM的中斷請求。D7D6D5D4D3D2D1D0111EXXXX單片機中斷與定時系統(tǒng)共134頁,您現(xiàn)在瀏覽的是第103頁!1047單片機I/O擴展及應用2.狀態(tài)寄存器8279的狀態(tài)字節(jié)用于鍵輸入和選通輸入方式中,指出輸入數(shù)據(jù)緩沖器FIFO中的字符個數(shù)和是否出錯。狀態(tài)字節(jié)的格式如下:DU(D7DisplayUnavailable)——在清除命令執(zhí)行期間該位為“1”,D7為1時對顯示RAM寫操作無效。S/E(D6Sensor/Errorflag)——為傳感器信號結束/錯誤特征位。該特征位在讀出FIFO態(tài)狀字時被讀出。而在執(zhí)行CF=1的清除命令時被復位。當8279工作在傳感器工作方式時,若S/E=1,表示傳感器的最后一個信號已進入傳感器RAM;而當8279工作在特殊錯誤方式時,若S/E=1則表示出現(xiàn)了多鍵同時按下的錯誤。O(D5Overrun)——當F

溫馨提示

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

評論

0/150

提交評論