【英語學(xué)習(xí)】第7章80C51單片機的系統(tǒng)擴展模版課件_第1頁
【英語學(xué)習(xí)】第7章80C51單片機的系統(tǒng)擴展模版課件_第2頁
【英語學(xué)習(xí)】第7章80C51單片機的系統(tǒng)擴展模版課件_第3頁
【英語學(xué)習(xí)】第7章80C51單片機的系統(tǒng)擴展模版課件_第4頁
【英語學(xué)習(xí)】第7章80C51單片機的系統(tǒng)擴展模版課件_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第7 7章章 80C5180C51單片機的系統(tǒng)擴展單片機的系統(tǒng)擴展存儲器的擴展存儲器的擴展輸入輸入/ /輸出輸出及其及其控制方式控制方式81C5581C55接口芯片接口芯片及其應(yīng)用及其應(yīng)用單片機與顯示器和鍵盤單片機與顯示器和鍵盤的接口的接口 存儲器的擴展存儲器的擴展n 片選方式片選方式n 線選法線選法n 譯碼法譯碼法線選法線選法CE 2K X 8CE 2K X 8CE 2K X 8CE 2K X 8線選法線選法芯片芯片地址地址A15A14A13A12A11A10A9A8A7A6A5A4A3A4A1A0地址范圍1#起始地址起始地址終了地址終了地址0800H0FFFH2#起始地址起始地址終了地址

2、終了地址1000H17FFH3#起始地址起始地址終了地址終了地址2000H27FFH4#起始地址起始地址終了地址終了地址4000H47FFH線選法擴展存儲器缺點:各芯片的地址不連續(xù),相當(dāng)數(shù)量的地址不能使用;優(yōu)點:硬件連接簡單,一般不需附加其它硬件。全譯碼法全譯碼法全譯碼法全譯碼法芯片芯片 地地 址址A12A11A10A9A8A7A6A5A4A3A4A1A0地址范圍地址范圍1#起始地址起始地址終了地址終了地址0000H07FFH2#起始地址起始地址終了地址終了地址0800H0FFFH3#起始地址起始地址終了地址終了地址1000H17FFH4#起始地址起始地址終了地址終了地址 11800H1FFF

3、H全譯碼法擴展存儲器優(yōu)點:每塊芯片的地址范圍是唯一的,沒有不可使用的地址;缺點:譯碼電路復(fù)雜。部分譯碼法部分譯碼法2K X 82-4譯碼器譯碼器部分譯碼法部分譯碼法芯片芯片 地地 址址A12A11A10A9A8A7A6A5A4A3A4A1A0地址范圍地址范圍1#起始地址起始地址終了地址終了地址0000H07FFH2#起始地址起始地址終了地址終了地址0800H0FFFH3#起始地址起始地址終了地址終了地址1000H17FFH4#起始地址起始地址終了地址終了地址 11800H1FFFH部分譯碼法擴展存儲器缺點:每塊芯片的地址范圍不是唯一的,存在地址重疊,影響地址區(qū)的有效使用;優(yōu)點:譯碼電路相對簡單

4、。Intel 8205 (74LS138)Intel 8205 (74LS138).A0A1A2E1E2E3O0O78205E1E2E3001A200001111A100110011A001010101O0O1O2O3O4O5O6O700000000地址輸入地址輸入允許工作輸入允許工作輸入譯碼輸出譯碼輸出n 擴展總線擴展總線7.1.1 7.1.1 程序存儲器的擴展程序存儲器的擴展n 數(shù)據(jù)總線,數(shù)據(jù)總線,P0P0口口n 地址總線,高地址總線,高8 8位位P2P2口、低口、低8 8位位P0P0口口n 控制總線,控制總線,RDRD、WRWR、EAEA、ALEALE、PSENPSEN74LS37374

5、LS373( (帶三態(tài)帶三態(tài)緩沖輸緩沖輸出的出的8D8D鎖存器鎖存器) ) P0P0口數(shù)據(jù)、地址分時復(fù)用口數(shù)據(jù)、地址分時復(fù)用 74LS57374LS573:與:與74LS37374LS373功能相同,其引腳排列更易于功能相同,其引腳排列更易于PCBPCB板布線。板布線。n 片外片外ROMROM操作時序操作時序n 片內(nèi)片外片內(nèi)片外ROMROM讀讀,用指令,用指令MOVCMOVC(產(chǎn)生(產(chǎn)生PSENPSEN信號)信號)n 片外片外片外片外ROMROM選擇,用選擇,用EAEA。片外。片外ROMROM最大容量最大容量64K64K。【例例】讀外部讀外部ROMROM時序。時序。 n ROMROM芯片及其擴

6、展方法芯片及其擴展方法n 常用常用ROMROM芯片特性芯片特性芯片型號芯片型號27C6427C6427C12827C12827C25627C25627C51227C512容量容量8 KB8 KB16 KB16 KB32 KB32 KB64 KB64 KB引腳數(shù)引腳數(shù)2828282828282828讀出時間讀出時間/ns/ns12012012012090909090最大工作電流最大工作電流/mA/mA2020202020202525最大維持電流最大維持電流/mA/mA0.10.10.10.10.10.10.030.03注:應(yīng)注意優(yōu)先選用注:應(yīng)注意優(yōu)先選用CMOSCMOS器件,其讀出時間短,耗電少

7、。器件,其讀出時間短,耗電少。v 常用常用ROMROM芯片引腳芯片引腳 v擴展電路擴展電路 v 由于是單片由于是單片EPROMEPROM擴展,擴展,CECE片選信號直接接地。片選信號直接接地。PSENP2.0ALEP0.7P0.0EAG74LS373D0-D7A0-A7A8P2.1P2.2P2.7A9A10CEOE27C16的地址范圍:的地址范圍:000007FFHn RAMRAM擴展原理擴展原理v 讀操作時序讀操作時序7.1.2 7.1.2 數(shù)據(jù)存儲器的擴展數(shù)據(jù)存儲器的擴展【例例】若(若(DPTRDPTR)=2030H=2030H,片外,片外RAMRAM單元單元2030H2030H內(nèi)容為內(nèi)容

8、為55H55H,指令指令MOV AMOV A,DPTRDPTR(該指令代碼為(該指令代碼為E0HE0H)所在片外)所在片外ROMROM的的地址為地址為2314H2314H。 v 寫操作時序?qū)懖僮鲿r序 【例例】若(若(DPTRDPTR)=1040H=1040H,(,(A A)=88H=88H,指令,指令MOV MOV DPTRDPTR,A A(該指令代碼為(該指令代碼為F0HF0H)所在片外)所在片外ROMROM的地址為的地址為2218H 2218H 。 n 數(shù)據(jù)存儲器擴展方法數(shù)據(jù)存儲器擴展方法n 常用常用RAMRAM芯片特性芯片特性芯片型號芯片型號62646212862256容量容量8 KB1

9、6KB32 KB典型工作電流典型工作電流/mA4088典型維持電流典型維持電流/mA20.50.5最大存取時間最大存取時間/ns200200200v 常用常用RAMRAM芯片引腳芯片引腳 v 擴展電路擴展電路 62C64地址范圍:地址范圍:00001FFFHRDWRP2.0ALEP0.7P0.0EAG74LS373譯碼器D0-D7A0-A711A8P2.1P2.2P2.6P2.7100100A9A10CSDEWE61C16的地址范圍:的地址范圍:800087FFH數(shù)據(jù)存儲器擴展時,存儲空間要與片外數(shù)據(jù)存儲器擴展時,存儲空間要與片外I/O空間統(tǒng)一考慮??臻g統(tǒng)一考慮。 輸入輸入/ /輸出及其控制方

10、式輸出及其控制方式7.2.1 7.2.1 輸入輸入/ /輸出接口的功能輸出接口的功能 一般地,計算機的三條總線并不是直接和外部設(shè)備相連,一般地,計算機的三條總線并不是直接和外部設(shè)備相連,而是通過各種接口電路再接到外部設(shè)備。接口電路也叫而是通過各種接口電路再接到外部設(shè)備。接口電路也叫 I/OI/O接口電路接口電路,一般它們都是一些大規(guī)模集成電路芯片,單片機,一般它們都是一些大規(guī)模集成電路芯片,單片機本身集成一定的本身集成一定的 I/OI/O接口電路。接口電路。 CPUCPU通過通過I/OI/O接口電路接口電路與外部設(shè)備交換信息。與外部設(shè)備交換信息。 I/OI/O接口電路接口電路中能被中能被CPU

11、CPU直接訪問的寄存器稱為直接訪問的寄存器稱為I/OI/O端口端口。一個一個I/OI/O接口芯片可以包含幾個接口芯片可以包含幾個I/OI/O端口。如數(shù)據(jù)端口、控制端口。如數(shù)據(jù)端口、控制端口、狀態(tài)端口等。端口、狀態(tài)端口等。l一般來說,每接一個外設(shè),就需要一個I/O接口(InterfaceInterface),但每個接口可以有不止一個端口(PortPort)。l端口是指在接口電路中用以完成某種信息傳送,并可由編程人員通過端口地址進行讀寫的寄存器。接口與端口的差別接口與端口的差別n 單片機與輸入單片機與輸入/ /輸出設(shè)備的關(guān)系輸出設(shè)備的關(guān)系n 輸入輸入/ /輸接口的功能輸接口的功能v 對單片機輸出的

12、數(shù)據(jù)鎖存對單片機輸出的數(shù)據(jù)鎖存v I/OI/O接口的數(shù)據(jù)端口鎖存數(shù)據(jù)總線上瞬時出現(xiàn)的數(shù)據(jù),解接口的數(shù)據(jù)端口鎖存數(shù)據(jù)總線上瞬時出現(xiàn)的數(shù)據(jù),解決高速工作的單片機與速度較低的決高速工作的單片機與速度較低的I/OI/O設(shè)備的速度協(xié)調(diào)問題。設(shè)備的速度協(xié)調(diào)問題。v 對輸入設(shè)備的三態(tài)緩沖對輸入設(shè)備的三態(tài)緩沖v 單片機系統(tǒng)的數(shù)據(jù)總線是雙向的,是所有單片機系統(tǒng)的數(shù)據(jù)總線是雙向的,是所有I/OI/O設(shè)備分時復(fù)設(shè)備分時復(fù)用的。設(shè)備傳送數(shù)據(jù)時要占用總線,不傳送數(shù)據(jù)時該設(shè)備用的。設(shè)備傳送數(shù)據(jù)時要占用總線,不傳送數(shù)據(jù)時該設(shè)備對總線呈現(xiàn)高阻狀態(tài)。對總線呈現(xiàn)高阻狀態(tài)。v 信號轉(zhuǎn)換信號轉(zhuǎn)換v 由于由于I/OI/O設(shè)備的多樣性,

13、利用設(shè)備的多樣性,利用I/OI/O接口實現(xiàn)單片機與接口實現(xiàn)單片機與I/OI/O設(shè)設(shè)備間信號類型(數(shù)字與模擬、電流與電壓)、信號電平備間信號類型(數(shù)字與模擬、電流與電壓)、信號電平(高與低、正與負(fù))、信號格式(并行與串行)等的轉(zhuǎn)換。(高與低、正與負(fù))、信號格式(并行與串行)等的轉(zhuǎn)換。v 時序協(xié)調(diào)時序協(xié)調(diào) v 不同不同I/OI/O設(shè)備的定時與控制邏輯不同,與設(shè)備的定時與控制邏輯不同,與CPUCPU的時序也不的時序也不一致,通過一致,通過I/OI/O接口進行時序協(xié)調(diào)。接口進行時序協(xié)調(diào)。7.2.2 7.2.2 單片機與單片機與I/OI/O設(shè)備的數(shù)據(jù)傳送方式設(shè)備的數(shù)據(jù)傳送方式n 無條件傳送無條件傳送n

14、查詢狀態(tài)傳送查詢狀態(tài)傳送n 中斷傳送方式中斷傳送方式n 直接存儲器存取傳送(直接存儲器存取傳送( DMADMA )方式)方式n 無條件傳送無條件傳送v不測試不測試I/OI/O設(shè)備的狀態(tài),在規(guī)定的時間單片機用輸設(shè)備的狀態(tài),在規(guī)定的時間單片機用輸 入或輸出指令進行數(shù)據(jù)輸入或輸出。入或輸出指令進行數(shù)據(jù)輸入或輸出。CPUCPU總是認(rèn)為總是認(rèn)為外設(shè)在任何時刻都是處于外設(shè)在任何時刻都是處于“準(zhǔn)備好準(zhǔn)備好”的狀態(tài)。的狀態(tài)。v適用場合適用場合l 對簡單的對簡單的I/OI/O設(shè)備設(shè)備( (如開關(guān)、如開關(guān)、LEDLED顯示器、繼電器等顯示器、繼電器等) )的操作的操作l I/O I/O設(shè)備的定時固定(或已知)的場

15、合設(shè)備的定時固定(或已知)的場合n 查詢狀態(tài)傳送(條件傳送)查詢狀態(tài)傳送(條件傳送)v單片機在執(zhí)行輸入單片機在執(zhí)行輸入/ /輸出指令前,查詢輸出指令前,查詢I/OI/O接口狀態(tài)接口狀態(tài)端口的狀態(tài)。端口的狀態(tài)。v單片機工作任務(wù)較輕時,此種方式可以較好地協(xié)調(diào)單片機工作任務(wù)較輕時,此種方式可以較好地協(xié)調(diào)中、慢速中、慢速I/OI/O設(shè)備與單片機間的速度差異。設(shè)備與單片機間的速度差異。v缺點:單片機必須執(zhí)行程序循環(huán)等待,不斷測試缺點:單片機必須執(zhí)行程序循環(huán)等待,不斷測試I/OI/O設(shè)備的狀態(tài),花費時間較多,降低了單片機的設(shè)備的狀態(tài),花費時間較多,降低了單片機的運行效率。運行效率。n 中斷傳送中斷傳送vI

16、/OI/O設(shè)備處于主動申請中斷的地位。設(shè)備處于主動申請中斷的地位。I/OI/O設(shè)備處理數(shù)設(shè)備處理數(shù)據(jù)期間,單片機不必浪費大量的時間查詢據(jù)期間,單片機不必浪費大量的時間查詢I/OI/O設(shè)備設(shè)備的狀態(tài)。的狀態(tài)。v在中斷傳送方式中,單片機與在中斷傳送方式中,單片機與I/OI/O設(shè)備設(shè)備并行工作并行工作,工作效率大大提高。工作效率大大提高。n 直接存儲器存取傳送(直接存儲器存取傳送( DMADMA )方式)方式vDMA(Direct Memory Access) 采用專用硬件電路執(zhí)采用專用硬件電路執(zhí)行輸入行輸入/ /輸出,它使輸出,它使I/OI/O設(shè)備可直接與內(nèi)存進行高速設(shè)備可直接與內(nèi)存進行高速數(shù)據(jù)傳

17、送,不必經(jīng)過數(shù)據(jù)傳送,不必經(jīng)過CPUCPU執(zhí)行傳送程序。執(zhí)行傳送程序。v通常采用專門的硬件通常采用專門的硬件DMA控制器,也可采用具有控制器,也可采用具有DMA通道的單片機。通道的單片機。v適用場合適用場合l 外設(shè)和存儲器之間有大量的數(shù)據(jù)需要傳送外設(shè)和存儲器之間有大量的數(shù)據(jù)需要傳送l 外設(shè)的工作速度很快,而不是一般印象中的慢速工作外設(shè)的工作速度很快,而不是一般印象中的慢速工作 的外部設(shè)備的外部設(shè)備7.2.3 7.2.3 單片機擴展單片機擴展TTLTTL芯片的輸入芯片的輸入/ /輸出輸出 v 基本擴展電路基本擴展電路 80C51 80C51單片機將片外擴展的單片機將片外擴展的I/OI/O口片外口

18、片外RAMRAM統(tǒng)一編址,擴展統(tǒng)一編址,擴展的接口相當(dāng)于擴展的片外的接口相當(dāng)于擴展的片外RAMRAM單元。訪問外部接口,使用單元。訪問外部接口,使用MOVXMOVX指令。指令?!纠扛鶕?jù)上圖編寫程序段,完成將根據(jù)上圖編寫程序段,完成將8 8位撥動開關(guān)的狀態(tài)反應(yīng)位撥動開關(guān)的狀態(tài)反應(yīng)在在8 8個個LEDLED上。上。 MOV DPTR,#7FFFH MOV DPTR,#7FFFH LOOPLOOP:MOVX A,DPTRMOVX A,DPTR MOVX DPTR,A MOVX DPTR,A JMP LOOP JMP LOOP 選擇接口芯片時,注意不同的芯片需要不同的控制方式。選擇接口芯片時,注意

19、不同的芯片需要不同的控制方式。如觸發(fā)器如觸發(fā)器74LS27374LS273是脈沖的上升沿送數(shù)并鎖存;鎖存器是脈沖的上升沿送數(shù)并鎖存;鎖存器74LS37374LS373是高電平送數(shù),低電平鎖存。是高電平送數(shù),低電平鎖存。 注意接口的驅(qū)動能力。注意接口的驅(qū)動能力。74LS37374LS373的低電平驅(qū)動能力是的低電平驅(qū)動能力是24mA24mA;LEDLED數(shù)碼管的公共限流電阻可采用數(shù)碼管的公共限流電阻可采用6868,以獲得較好的亮度。,以獲得較好的亮度。v 驅(qū)動驅(qū)動LEDLED數(shù)碼管示例數(shù)碼管示例 81C55接口芯片及其應(yīng)用接口芯片及其應(yīng)用7.3.1 81C557.3.1 81C55的結(jié)構(gòu)及工作方

20、式的結(jié)構(gòu)及工作方式 v 81C5581C55的結(jié)構(gòu)及引腳的結(jié)構(gòu)及引腳 81C5581C55內(nèi)部包含內(nèi)部包含n SRAM SRAM:256256字節(jié)字節(jié)n 三個可編程并行口三個可編程并行口PAPA、PBPB、PCPC PA PA,PBPB為為8 8位位 PCPC為為6 6位位n 計數(shù)器:一個計數(shù)器:一個1414位二進制減法位二進制減法 計數(shù)器計數(shù)器n 8 8位命令寄存器(只允許寫入)位命令寄存器(只允許寫入) /8 /8位狀態(tài)寄存器(只允許讀出)位狀態(tài)寄存器(只允許讀出)v RESET RESET:復(fù)位信號輸入端(三個:復(fù)位信號輸入端(三個I/OI/O口置口置v 成輸入工作方式)成輸入工作方式)

21、v CE CE:片選信號:片選信號v IO/M IO/M:內(nèi)部端口和:內(nèi)部端口和SRAMSRAM選擇信號選擇信號v IO/M=1 IO/M=1,選擇內(nèi)部端口,選擇內(nèi)部端口v IO/M=0 IO/M=0,選擇,選擇SRAMSRAMv WR WR:寫選通信號:寫選通信號v RD RD:讀選通信號:讀選通信號v PA7 PA7PA0PA0、 PB7PB7PB0PB0、PC5PC5PC0PC0v TIMER IN TIMER IN:計數(shù)脈沖輸入端:計數(shù)脈沖輸入端v TIMER OUT TIMER OUT:計數(shù)器輸出端:計數(shù)器輸出端v AD0 AD0AD7AD7三態(tài)地址三態(tài)地址/ /數(shù)據(jù)線,可與數(shù)據(jù)線,

22、可與80C5180C51v P0 P0口連接口連接v ALE ALE:信號的下降沿將:信號的下降沿將AD0AD0AD7AD7線上的線上的8 8位位v 地址鎖存在內(nèi)部地址寄存器中地址鎖存在內(nèi)部地址寄存器中81C5581C55各引腳功能各引腳功能v 81C5581C55的內(nèi)部編址的內(nèi)部編址v內(nèi)部內(nèi)部RAMRAM地址為地址為00H00HFFHFFHv內(nèi)部端口地址內(nèi)部端口地址 AD7AD0選中寄存器選中寄存器A7 A6 A5 A4 A3 A2 A1 A0X X X X X 0 0 0命令命令/ /狀態(tài)寄存器狀態(tài)寄存器X X X X X 0 0 1PAPA口口X X X X X 0 1 0PBPB口口X

23、 X X X X 0 1 1PCPC口口X X X X X 1 0 0計數(shù)器低計數(shù)器低8 8位位X X X X X 1 0 1計數(shù)器高計數(shù)器高6 6位及計數(shù)器方式設(shè)置位位及計數(shù)器方式設(shè)置位v 工作方式設(shè)置及狀態(tài)字格式工作方式設(shè)置及狀態(tài)字格式v方式設(shè)置方式設(shè)置76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000PAPA:A A口方向??诜较颉?-0-輸入;輸入;1-1-輸出輸出PBPB:B B口方向??诜较颉?-0-輸入;輸入;1-1-輸出輸出 命令命令/ /狀態(tài)寄存器狀態(tài)寄存器 工作方式由可編程命令寄存器內(nèi)容決定,狀態(tài)可由讀出狀工作方式由可編程命令寄存器內(nèi)容決定,狀態(tài)

24、可由讀出狀態(tài)寄存器內(nèi)容獲得。態(tài)寄存器內(nèi)容獲得。PC2PC1PC2PC1工作方式工作方式說說 明明0000ALT1ALT1A A、B B口為基本口為基本I/OI/O,C C口方向為輸入口方向為輸入0101ALT2ALT2A A、B B口為基本口為基本I/OI/O,C C口方向為輸出口方向為輸出1010ALT3ALT3A A口為選通口為選通I/OI/O,PC0PC0PC2PC2作為作為A A口的選通應(yīng)答口的選通應(yīng)答B(yǎng) B口為基本口為基本I/OI/O,PC3PC3PC5PC5方向為輸出方向為輸出1111ALT4ALT4A A口為選通口為選通I/OI/O,PC0PC0PC2PC2作為作為A A口的選通

25、應(yīng)答口的選通應(yīng)答B(yǎng) B口為選通口為選通I/OI/O,PC3PC3PC5PC5作為作為B B口的選通應(yīng)答口的選通應(yīng)答PC1PC1、PC2PC2:C C口工作方式設(shè)置位口工作方式設(shè)置位 76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000命令命令/ /狀態(tài)寄存器狀態(tài)寄存器IEAIEA:A A口的中斷允許設(shè)置位??诘闹袛嘣试S設(shè)置位。0-0-禁止;禁止;1-1-允許。允許。IEBIEB:B B口的中斷允許設(shè)置位。口的中斷允許設(shè)置位。0-0-禁止;禁止;1-1-允許。允許。TM2TM2、TM1TM1:計數(shù)器工作方式設(shè)置位:計數(shù)器工作方式設(shè)置位TM2TM1TM2TM1工作方式工作

26、方式說說 明明0000方式方式0 0空操作,對計數(shù)器無影響空操作,對計數(shù)器無影響0101方式方式1 1使計數(shù)器停止計數(shù)使計數(shù)器停止計數(shù)1010方式方式2 2減減1 1計數(shù)器回計數(shù)器回0 0后停止工作后停止工作1111方式方式3 3未計數(shù)時,送完初值及方式后立即啟動計數(shù);未計數(shù)時,送完初值及方式后立即啟動計數(shù);正在計數(shù)時,重置初值后,減正在計數(shù)時,重置初值后,減1 1計數(shù)器回計數(shù)器回0 0則則按新計數(shù)初值計數(shù)按新計數(shù)初值計數(shù)76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000命令命令/ /狀態(tài)寄存器狀態(tài)寄存器v狀態(tài)字格式狀態(tài)字格式76543210TIMERINTEBBF

27、BINTRBINTEABFAINTRA地址:地址:000INTRXINTRX:中斷請求標(biāo)志:中斷請求標(biāo)志 INTRX=1,INTRX=1,有中斷請求有中斷請求 INTRX=0,INTRX=0,無中斷請求無中斷請求 BFXBFX:口緩沖器空:口緩沖器空/ /滿標(biāo)志滿標(biāo)志 BFX=1 BFX=1,口緩沖器已裝滿數(shù)據(jù),可由外設(shè)或單片機取走,口緩沖器已裝滿數(shù)據(jù),可由外設(shè)或單片機取走 BFX=0BFX=0,口緩沖器為空,可接收外設(shè)或單片機發(fā)送數(shù)據(jù),口緩沖器為空,可接收外設(shè)或單片機發(fā)送數(shù)據(jù) INTEXINTEX:口中斷允許:口中斷允許/ /禁止標(biāo)志禁止標(biāo)志 INTEX=1INTEX=1,允許口中斷;,允許

28、口中斷;INTEX=0INTEX=0,禁止口中斷,禁止口中斷TIMERTIMER:計數(shù)器計滿標(biāo)志:計數(shù)器計滿標(biāo)志 TIMER=1TIMER=1,計數(shù)器的原計數(shù)初值已計滿回零,計數(shù)器的原計數(shù)初值已計滿回零 TIMER=0 TIMER=0,計數(shù)器尚未計滿,計數(shù)器尚未計滿位位號號1514131211109876543210M2M1T13T12T11T10T9T8T7T6T5T4T3T2T1T0M2M1M2M1輸出方式輸出方式說說 明明0000方式方式0 0單方波輸出單方波輸出。計數(shù)期間輸出低電平,計數(shù)器回。計數(shù)期間輸出低電平,計數(shù)器回0 0后輸出高后輸出高電平。電平。0101方式方式1 1連續(xù)方波輸

29、出連續(xù)方波輸出。計數(shù)前半部分輸出高電平,后半部分輸。計數(shù)前半部分輸出高電平,后半部分輸出低電平。出低電平。1010方式方式2 2單脈沖輸出單脈沖輸出。計數(shù)器回。計數(shù)器回0 0后輸出一個單脈沖。后輸出一個單脈沖。1111方式方式3 3連續(xù)脈沖輸出(計數(shù)值自動重裝)連續(xù)脈沖輸出(計數(shù)值自動重裝)。計數(shù)器回。計數(shù)器回0 0后輸出單后輸出單脈沖,又自動向計數(shù)器重裝原計數(shù)值,回脈沖,又自動向計數(shù)器重裝原計數(shù)值,回0 0后又輸出單脈后又輸出單脈沖,如此循環(huán)。沖,如此循環(huán)。 硬件復(fù)位信號硬件復(fù)位信號RESETRESET的到達,會使計數(shù)器停止工作,直至的到達,會使計數(shù)器停止工作,直至由由C/SC/S寄存器再發(fā)

30、出啟動計數(shù)器命令。寄存器再發(fā)出啟動計數(shù)器命令。v計數(shù)器輸出模式計數(shù)器輸出模式81C55定時器格式及輸出方式 v選通選通I/OI/O方式的組態(tài)方式的組態(tài)STBASTBBSTBA工作方式工作方式PC5PC5PC4PC4PC3PC3PC2PC2PC1PC1PC0PC0ALT1ALT1輸入輸入ALT2ALT2輸出輸出ALT3ALT3輸出輸出BFABFAINTRAINTRAALT4ALT4BFBBFBINTRBINTRBBFABFAINTRAINTRA選通方式時,選通方式時,C C口的口的PC0PC0PC5PC5被定義為被定義為A A或或B B口選通口選通I/OI/O方方式的應(yīng)答和控制線式的應(yīng)答和控制線

31、 組態(tài)邏輯組態(tài)邏輯 單片機與顯示器和鍵盤的接口單片機與顯示器和鍵盤的接口7.4.1 81C557.4.1 81C55與單片機的接口與單片機的接口A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0I/OI/O口口0 0 1 1 0 0 0 0 0 0命令命令/ /狀態(tài)口狀態(tài)口0 0 1 1 0 0 1 0 0 1A A口口0 0 1 1 0 1 0 0 1 0B B口口0 0 1 1 0 1 1 0 1 1C C口口0 0 1 1 1

32、0 0 1 0 0計數(shù)器低計數(shù)器低8 8位位0 0 1 1 1 0 1 1 0 1計數(shù)器高計數(shù)器高6 6位及方式位及方式RAM地址:01111110 0000000000000000B(7E0000H) 01111110 1111111111111111B(7EFFFFH) I/O端口的地址( 7F0000H 7F05H7F05H): 【例例】若若A A口定義為基本輸入方式,口定義為基本輸入方式,B B口定義為基本輸出方式,口定義為基本輸出方式,計數(shù)器作為方波發(fā)生器,對計數(shù)器作為方波發(fā)生器,對80C3180C31輸入脈沖進行輸入脈沖進行2424分頻(注意分頻(注意81C5581C55的計數(shù)最高

33、頻率約為的計數(shù)最高頻率約為4MHz4MHz),),81C5581C55的的I/OI/O口初始化程序:口初始化程序:START: MOV DPTR,#7F04H ;START: MOV DPTR,#7F04H ;指向計數(shù)寄存器低指向計數(shù)寄存器低8 8位位 MOV A,#18H ; MOV A,#18H ;設(shè)計數(shù)器初值設(shè)計數(shù)器初值#18H#18H(24D24D) MOVX DPTR,A ; MOVX DPTR,A ;計數(shù)器寄存器低計數(shù)器寄存器低8 8位賦值位賦值 INC DPTR ; INC DPTR ;指向計數(shù)器寄存器高指向計數(shù)器寄存器高6 6位及方式位及方式位位 MOV A,#40H ; MO

34、V A,#40H ;計數(shù)器為連續(xù)方波方式計數(shù)器為連續(xù)方波方式 MOVX DPTR,A ; MOVX DPTR,A ;計數(shù)器寄存器高計數(shù)器寄存器高6 6位賦值位賦值 MOV DPTR,#7F00H ; MOV DPTR,#7F00H ;指向命令寄存器指向命令寄存器 MOV A,#0C2H ; MOV A,#0C2H ;設(shè)命令字設(shè)命令字 MOVX DPTR,A ; MOVX DPTR,A ;送命令字送命令字LEDLED的結(jié)構(gòu)和顯示原理的結(jié)構(gòu)和顯示原理靜態(tài)顯示方式靜態(tài)顯示方式動態(tài)顯示方式動態(tài)顯示方式動態(tài)顯示的實現(xiàn)動態(tài)顯示的實現(xiàn)7.4.2 LED7.4.2 LED數(shù)碼顯示器與單片機的接口數(shù)碼顯示器與單

35、片機的接口LEDLED數(shù)碼管的數(shù)碼管的結(jié)構(gòu)結(jié)構(gòu):共陽與共陰共陽與共陰 單片機系統(tǒng)擴展單片機系統(tǒng)擴展LEDLED數(shù)碼管時數(shù)碼管時多用多用共陽共陽LEDLED: :共陽數(shù)碼管每個段筆畫是用低電平共陽數(shù)碼管每個段筆畫是用低電平(“0”)(“0”)點亮的點亮的, ,要求驅(qū)要求驅(qū)動功率很??;而共陰數(shù)碼管段筆畫是用高電平動功率很?。欢碴帞?shù)碼管段筆畫是用高電平(“0”)(“0”)點亮點亮的,要求驅(qū)動功率較大。的,要求驅(qū)動功率較大。 通常每個段筆畫要串一個數(shù)百歐姆的通常每個段筆畫要串一個數(shù)百歐姆的降壓電阻降壓電阻。公共公共陽陽極極h g f e d c b ah g f e d c b aa ab bc c

36、d dg ge ef fh h公共公共陰陰極極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高電平點亮高電平點亮接高電平接高電平接地接地LEDLED數(shù)碼管的數(shù)碼管的譯碼譯碼:硬件譯碼與軟件譯碼硬件譯碼與軟件譯碼硬件譯碼特點硬件譯碼特點: :采用專用的譯碼采用專用的譯碼/ /驅(qū)動器件驅(qū)動器件, ,驅(qū)動功驅(qū)動功率較大率較大; ;增加了硬件的開銷增加了硬件的開銷; ;軟件軟件編程簡單編程簡單; ;字型固字型固定定( (比如比如: :只有七段只有七段, ,只可譯數(shù)字只可譯數(shù)字, ,字型不好看字型不好看)。共陰共陰

37、LEDa ab bc cd dg ge ef fh hg gf fe ed dc cb b a aD DC CB BA ACD4511CD4511AT89C51AT89C5174LS48/CD451174LS48/CD4511是是“BCDBCD碼碼七段七段共陰共陰譯碼譯碼/ /驅(qū)動驅(qū)動”IC; IC; 74LS4774LS47是是“BCDBCD碼碼七段七段共陽共陽譯碼譯碼/ /驅(qū)動驅(qū)動”ICICLEDLED數(shù)碼管的譯碼:數(shù)碼管的譯碼:軟件譯碼軟件譯碼軟件譯碼特點軟件譯碼特點: : 不用專用的譯碼不用專用的譯碼/ /驅(qū)動器件,驅(qū)動驅(qū)動器件,驅(qū)動功率較小功率較??;不增不增加加硬件的開銷;軟件硬件的

38、開銷;軟件編程較復(fù)雜編程較復(fù)雜;字型;字型靈活靈活( (比如:比如:有八段,只可譯多種字符,字型好看有八段,只可譯多種字符,字型好看)。共陽共陽LEDa ab bc cd dg ge ef fh h+5V+5VAT89C51AT89C51硬件譯碼特點硬件譯碼特點: : 采用專用譯碼采用專用譯碼/ /驅(qū)動器件,驅(qū)動器件,驅(qū)動功率較大;增加了硬驅(qū)動功率較大;增加了硬件的開銷;軟件編程簡單;件的開銷;軟件編程簡單;字型固定字型固定( (比如:只有七比如:只有七段,只可譯數(shù)字,字型不段,只可譯數(shù)字,字型不好看好看)。LEDLED數(shù)碼管的軟件譯碼數(shù)碼管的軟件譯碼八段八段LEDLED數(shù)碼管數(shù)碼管段代碼編碼

39、表段代碼編碼表公共陽極公共陽極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共陰極公共陰極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高電平點亮高電平點亮低電平點亮低電平點亮接高電平接高電平接地接地LEDLED數(shù)碼管的數(shù)碼管的顯示方式顯示方式:靜態(tài)與動態(tài)靜態(tài)與動態(tài)靜態(tài)顯示靜態(tài)顯示 A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLRA AB BCLKCLKCLRCLRA AB BCLKCLKCLR

40、CLR+5V+5VVCCVCCTxDTxDRxDRxD 89C51單片機單片機74LS16474LS16474LS164h g f e d c b ah g f e d c b ah g f e d c b ah g f e d c b a+5V+5V共陽共陽LED數(shù)碼管數(shù)碼管LEDLED數(shù)碼管數(shù)碼管靜態(tài)靜態(tài)顯示舉例顯示舉例有幾個有幾個LEDLED就要幾個就要幾個74LS16474LS164,但只要數(shù)據(jù)不變,但只要數(shù)據(jù)不變,送一次就保持住了,且不閃爍,編程十分簡單。送一次就保持住了,且不閃爍,編程十分簡單。要求:要求:根據(jù)上圖編寫通過串行口和根據(jù)上圖編寫通過串行口和74LS16474LS164

41、驅(qū)動驅(qū)動共共 陽陽LEDLED數(shù)碼管數(shù)碼管查表顯示的子程序。查表顯示的子程序。條件:條件:系統(tǒng)有系統(tǒng)有6 6個個LEDLED數(shù)碼管數(shù)碼管, ,待顯數(shù)據(jù)待顯數(shù)據(jù)(00H09H)(00H09H)已放在已放在35H30H35H30H單元中單元中( (分別對應(yīng)分別對應(yīng)十萬位十萬位個位個位) ),DSPLYDSPLY:MOV DPTR, #TABLE :MOV DPTR, #TABLE ; ;共陽共陽LEDLED數(shù)碼管譯碼數(shù)碼管譯碼表首址表首址 MOV R0MOV R0,#30H #30H ; ;待顯數(shù)據(jù)緩沖區(qū)的待顯數(shù)據(jù)緩沖區(qū)的個位個位地址地址REDOREDO:MOV AMOV A, R0 R0 ; ;

42、通過通過R0R0實現(xiàn)寄存器實現(xiàn)寄存器間接尋址間接尋址 MOVC A, A+DPTR MOVC A, A+DPTR ; ;查表查表 MOV SBUF, A MOV SBUF, A ; ;經(jīng)串行口經(jīng)串行口發(fā)送發(fā)送到到74LS16474LS164 JNB TI, $ JNB TI, $ ; ;查詢查詢送完一個字節(jié)的第送完一個字節(jié)的第8 8位?位? CLR TI CLR TI ; ;為下一字節(jié)發(fā)送為下一字節(jié)發(fā)送作準(zhǔn)備作準(zhǔn)備 INC R0 INC R0 ;R0;R0指向下一個指向下一個數(shù)據(jù)緩沖單元數(shù)據(jù)緩沖單元 CJNE R0CJNE R0,#36H#36H,REDO REDO ; ;判斷判斷是否發(fā)完是否

43、發(fā)完6 6個數(shù)?個數(shù)? RET RET ; ;發(fā)完發(fā)完6 6個數(shù)就個數(shù)就返回返回TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 0C0H,0F9H,0A4H,0B0H,99H ; ;共陽共陽LEDLED譯碼表譯碼表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H動態(tài)顯示動態(tài)顯示 動態(tài)顯示基本原理電路的接法決定了必須采用電路的接法決定了必須采用逐位掃描顯示方式逐位掃描顯示方式。即從即從段選口段選口送出某位送出某位LEDLED的字型碼,然后選通該位的字型碼,然后選通該位LEDLED,并保,并保持一段延時時間

44、。然后選通下一位,直到所有位掃描完。持一段延時時間。然后選通下一位,直到所有位掃描完。1.字型碼通常通過查表指令MOVC來求得2.換位顯示時通常要加一段程序使所有的LED全滅AD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB 029C E8PB 130R D9PB 231W R10PB 332IO/M7PB 433ALE11PB 534PB 635PB 736TM R OUT6PC 037PC 138TM R IN3PC 239PC 31PC 42R ESET4PC 558155e

45、dcdpbafg70123456PB0PB7PA 0PA 72008LEDLED數(shù)碼管數(shù)碼管動態(tài)動態(tài)顯示顯示PA5 PA5 PA4PA4PA3PA3PA2PA2PA1PA1PA0PA0PB7 PB7 PB6 PB6 PB5 PB5 PB4 PB4 PB3 PB3 PB2 PB2 PB1 PB1 PB0PB07406 OC7406 OC門門 X 3X 3上拉上拉電阻電阻1414+5V+5V8155工作原理工作原理:從從PBPB口送段代碼口送段代碼,PA,PA口送位選信號口送位選信號。段碼雖同時。段碼雖同時到達到達 6 6個個LEDLED,但,但一次僅一個一次僅一個LEDLED被選中被選中。利用。

46、利用“視覺暫視覺暫留留”,每送一個字符并選中相應(yīng)位線,延時一會兒,每送一個字符并選中相應(yīng)位線,延時一會兒, ,再送再送/ /選下一個選下一個循環(huán)掃描循環(huán)掃描即可。即可。共陰共陰 數(shù)碼管數(shù)碼管位位選選線線段段代代碼碼PA5 PA5 PA4PA4PA3PA3PA2PA2PA1PA1PA0PA0PB7 PB7 PB6 PB6 PB5 PB5 PB4 PB4 PB3 PB3 PB2 PB2 PB1 PB1 PB0PB07406 OC7406 OC門門+5V+5V8155位位選選線線段段代代碼碼要求要求:此處為共陰數(shù)碼管,此處為共陰數(shù)碼管,PBPB口送段代碼,口送段代碼,PAPA口送位選信號??谒臀贿x信

47、號。通過查表實現(xiàn)動態(tài)顯示。通過查表實現(xiàn)動態(tài)顯示。條件條件:待顯數(shù)據(jù)待顯數(shù)據(jù)(00H09H)(00H09H)已放在已放在: : 65H60H65H60H單元中單元中( (分別對分別對應(yīng)應(yīng)十萬位十萬位個位個位) )說明說明:由于用了由于用了反相驅(qū)動器反相驅(qū)動器74067406,要用共陽譯碼表。,要用共陽譯碼表。共陰共陰 數(shù)碼管數(shù)碼管上拉上拉電阻電阻14147406 OC7406 OC門門 X 3X 3+5V+5V(65H) (64H) (63H) (62H) (61H) (60H)十萬十萬 萬位萬位 千位千位 百位百位 十位十位 個位個位數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) / / 顯示緩沖區(qū)顯示緩沖區(qū)PBPB口

48、口送段送段代碼,代碼,PAPA口口送位選送位選信號。信號。待顯數(shù)據(jù)待顯數(shù)據(jù)已經(jīng)放在已經(jīng)放在: : 65H60H65H60H單元單元( (分別分別對應(yīng)對應(yīng)十萬十萬位位個位個位) )使用共陽使用共陽譯碼表譯碼表。動態(tài)顯示程序流程圖動態(tài)顯示程序流程圖 81C55的PA口、PB口,工作在基本輸出方式。PB口輸出顯示代碼,PA口輸出位選碼。設(shè)PA口的地址為7F01H,PB口的地址為7F02H,控制字 寄 存 器 的 地 址 為7F00H,顯示緩沖區(qū)為60H65H。程序清單:程序清單:START:MOV A , #03H ;對;對81C55初始化初始化MOV DPTR , #7F00H;8155C命令口地

49、址命令口地址MOVX DPTR , AMOV R0 , #60H ;置顯示緩沖區(qū)首地址;置顯示緩沖區(qū)首地址 MOV R2 , #01H ; 置位選碼初值置位選碼初值MOV A , R2LOOP:MOV DPTR , #7F01H ;81C55 A口地址口地址MOVX DPTR , A ;位碼從;位碼從A口輸出口輸出INCDPTRMOV A , R0 ;待顯示數(shù)據(jù)送;待顯示數(shù)據(jù)送AADDA , #0DH ;形成查表的偏移地址;形成查表的偏移地址MOVC A , A+PC DIR: MOVXDPTR , A ;B口輸出段碼口輸出段碼 ACLLDELAY ;延時;延時 INCR0 ;修改數(shù)據(jù)指針;修

50、改數(shù)據(jù)指針 MOVA , R2 JBACC.5 , LOOP1 ;判斷;判斷6位是否顯示完畢位是否顯示完畢 RL A ;沒顯示完,位碼左移;沒顯示完,位碼左移 MOVR2 , A ;位碼暫存;位碼暫存 AJMPLOOP ;轉(zhuǎn)回,顯示下一個數(shù)碼;轉(zhuǎn)回,顯示下一個數(shù)碼LOOP1:RET ;發(fā)完;發(fā)完6個數(shù)就返回個數(shù)就返回DB0C0H , 0F9H , 0A4H , 0B0H , 66H DB92H , 82H , 0F8H , 80H , 90H DB88H , 83H , 0C6H , 0A1H,86H,8EHDELAY:MOV R7 , #04H ;延時子程序;延時子程序DELAY1: MOV

51、 R6 , #0FFHDELAY2: DJNZ R6 , DELAY2 DJNZ R7 , DELAY1RET按鍵的特點及輸入原理按鍵的特點及輸入原理獨立式按鍵獨立式按鍵矩陣式按鍵矩陣式按鍵7.4.2 7.4.2 非編碼鍵盤與單片機的接口非編碼鍵盤與單片機的接口v 按鍵的特點及輸入原理按鍵的特點及輸入原理v 鍵輸入原理鍵輸入原理v 通過按鍵的接通與斷開,產(chǎn)生兩種相反的邏輯狀態(tài)通過按鍵的接通與斷開,產(chǎn)生兩種相反的邏輯狀態(tài)v低電平低電平“0 0”與高電平與高電平“1 1”。v 鍵功能的實現(xiàn)鍵功能的實現(xiàn)v 對于一組鍵或一個鍵盤,需通過接口電路與單片機相對于一組鍵或一個鍵盤,需通過接口電路與單片機相

52、連??刹捎眠B??刹捎貌樵儾樵兓蚧蛑袛嘀袛喾绞綔y試有無鍵按下,再確定是哪方式測試有無鍵按下,再確定是哪一個鍵按下,將該鍵號送入累加器一個鍵按下,將該鍵號送入累加器ACCACC,然后判斷是數(shù)字鍵,然后判斷是數(shù)字鍵還是功能鍵,若是數(shù)字鍵,則將鍵號對應(yīng)的數(shù)字送入相關(guān)還是功能鍵,若是數(shù)字鍵,則將鍵號對應(yīng)的數(shù)字送入相關(guān)輸入緩沖區(qū);若是功能鍵,則通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵輸入緩沖區(qū);若是功能鍵,則通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。的功能程序,執(zhí)行完后再返回主程序。 n按鍵識別按鍵識別 是否有鍵按下。是否有鍵按下。n鍵抖動及消除鍵抖動及消除 機械按鍵抖動時間在機械按鍵抖動時間在5ms5m

53、s10ms10ms之間。之間。 v 鍵盤接口需要解決的問題鍵盤接口需要解決的問題 硬件方案硬件方案雙穩(wěn)態(tài)去抖電路雙穩(wěn)態(tài)去抖電路 軟件方案軟件方案延時延時10ms10ms20ms20ms后再次判斷后再次判斷消除方法:消除方法:v 獨立式按鍵獨立式按鍵8 0 3 1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7Vc c接口電路原理原理-當(dāng)任何一個鍵被按下時,與其相連的輸入線被當(dāng)任何一個鍵被按下時,與其相連的輸入線被置成置成 “ “0”0”,平時該線為,平時該線為“1”1”。鍵鍵處處理理程程序序ORG 2000HSTART:MOV A ,#0FFH ;先置;先置P1口為口為“1”M

54、OV P1,AMOV A,P1 ;輸入鍵狀態(tài);輸入鍵狀態(tài), P0F ;查詢;查詢0號鍵號鍵, P1F ;查詢;查詢1號鍵號鍵, P2F ;查詢;查詢2號鍵號鍵, P3F ;查詢;查詢3號鍵號鍵, P4F ;查詢;查詢4號鍵號鍵, P5F ;查詢;查詢5號鍵號鍵, P6F ;查詢;查詢6號鍵號鍵, P7F ;查詢;查詢7號鍵號鍵LJMP STARTP0F:LJMP PROM0 ;入口地址表;入口地址表P1F:LJMP PROM1P6F:LJMP PROM6P7F:LJMP PROM7PROM0:. ;0號鍵功能程序號鍵功能程序PROM7:. ;7號鍵功能程序號鍵功能程序 . LJMP START

55、 ;0號鍵處理完返回鍵盤掃描號鍵處理完返回鍵盤掃描 LJMP START ;7號鍵處理完返回鍵盤掃描號鍵處理完返回鍵盤掃描 .資源分配:資源分配:用用P1P1口的低口的低3 3位檢測位檢測3 3個按鍵的輸入,為個按鍵的輸入,為1 1則表示按鍵則表示按鍵沒有按下,為沒有按下,為0 0則表示相應(yīng)按鍵被按下。則表示相應(yīng)按鍵被按下。流程圖:流程圖:【例例】用用P1P1口檢測三個按鍵的狀態(tài)并完成相應(yīng)的功能。口檢測三個按鍵的狀態(tài)并完成相應(yīng)的功能。 ORG 0000HKB: MOV P1,#0FFH MOV A,P1 CPL A ANL A,#0FH JZ KBACK LCALL D10MS MOV A,P

56、1 CPL A ANL A,#0FH JZ KBACK CJNE A,#01H,KB01 LCALL PGM1 SJMP KBACKKB01: CJNE A,#02H,KB02 LCALL PGM2 SJMP KBACKKB02: CJNE A,#04H,KB LCALL PGM3KBACK: LJMP KB END按三個按鍵中的任一鍵按三個按鍵中的任一鍵都對應(yīng)一個特定功能。都對應(yīng)一個特定功能。v 獨立式鍵盤與獨立式鍵盤與LEDLED顯示示例顯示示例【例例】數(shù)據(jù)端與數(shù)據(jù)端與P0P0口口正序正序連接。編寫程序,分別實現(xiàn)功能:連接。編寫程序,分別實現(xiàn)功能:上電后數(shù)碼管顯示上電后數(shù)碼管顯示“P”P”

57、,按下任何鍵后,顯示從,按下任何鍵后,顯示從“0”0”開始開始每隔每隔1 1秒加秒加1 1,加至,加至“F”F”后,數(shù)碼管顯示后,數(shù)碼管顯示“P”P”,進入等待按,進入等待按鍵狀態(tài)。鍵狀態(tài)。 TEMP EQU 30H TEMP EQU 30HORG 0000HORG 0000HJMP STARTJMP START ORG 0100H ORG 0100HSTART:MOV SP,#5FHSTART:MOV SP,#5FH MOV P0,#8CH ; MOV P0,#8CH ;顯示顯示PPMOV P3,#0FFHMOV P3,#0FFHNOKEY:MOV A,P3NOKEY:MOV A,P3CPL

58、 ACPL AJZ NOKEY ;JZ NOKEY ;無鍵按下無鍵按下MOV TEMP,P3 ;MOV TEMP,P3 ;有鍵按下有鍵按下CALL D10msCALL D10msMOV A,P3MOV A,P3CJNE A,TEMP,NOKEY;CJNE A,TEMP,NOKEY;去抖去抖MOV R7,#16MOV R7,#16MOV R2,#0MOV R2,#0LOOP:MOV A,R2LOOP:MOV A,R2 MOV DPTR,#CODE_P0 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOVC A,A+DPTR MOV P0,A MOV P0,A INC R2 I

59、NC R2 SETB RS0 ; SETB RS0 ;切換組切換組 CALL D_1S CALL D_1S CLR RS0 CLR RS0 DJNZ R7,LOOP DJNZ R7,LOOP JMP START JMP START D_1S D_1S:(子程序):(子程序)D10msD10ms:(子程序):(子程序) CODE_P0:DB 0C0H,0F9H,0A4H,0B0HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H, DB 80H,90H,88H,83H,

60、 DB 0C6H,0A1H,86H,8EH DB 0C6H,0A1H,86H,8EH 有時為方便走線而采用逆序連接,顯示段碼要進行調(diào)整:有時為方便走線而采用逆序連接,顯示段碼要進行調(diào)整:CODE_P2:DB 03H,9FH,25H,0DH,99H,49H,40H,1FHCODE_P2:DB 03H,9FH,25H,0DH,99H,49H,40H,1FH DB 01H,09H,11H,0C1H,63H,85H,61H,71H DB 01H,09H,11H,0C1H,63H,85H,61H,71HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HCODE

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論