




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章第七章 MCS-51 MCS-51 單片機(jī)的系統(tǒng)擴(kuò)展單片機(jī)的系統(tǒng)擴(kuò)展 本章主要介紹51系列單片機(jī)系統(tǒng)擴(kuò)展問(wèn)題,在本章中要研究較多的硬件方面及硬軟結(jié)合方面的問(wèn)題,本章與第一章關(guān)系密切,在學(xué)習(xí)本章內(nèi)容之前,要先明確51系列單片機(jī)本身的系統(tǒng)資源,可先復(fù)習(xí)一下前面幾章的有關(guān)單片機(jī)硬件組成方面的內(nèi)容。 本章將介紹以下具體內(nèi)容: 系統(tǒng)擴(kuò)展的含義、單片機(jī)的地址總線(xiàn)和數(shù)據(jù)總線(xiàn)、常見(jiàn)系統(tǒng)擴(kuò)展電路舉例。7.0 前言 1.系統(tǒng)擴(kuò)展的含義 單片機(jī)中雖然已經(jīng)集成了CPU、I/O口、定時(shí)器、中斷系統(tǒng)、存儲(chǔ)器等計(jì)算機(jī)的基本部件(即系統(tǒng)資源),但是對(duì)一些較復(fù)雜應(yīng)用系統(tǒng)來(lái)說(shuō)有時(shí)感到以上資源中的一種或幾種不夠用,這就需要在
2、單片機(jī)芯片外加相應(yīng)的芯片、電路,使得有關(guān)功能得以擴(kuò)充,我們稱(chēng)為系統(tǒng)擴(kuò)展(即系統(tǒng)資源的擴(kuò)充)。 2.系統(tǒng)擴(kuò)展分類(lèi)-單一功能的擴(kuò)展 綜合功能的擴(kuò)展3.系統(tǒng)擴(kuò)展需要解決的問(wèn)題- 單片機(jī)與相應(yīng)芯片的接口電路連接(即地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)的連接)與編程。 51系列單片機(jī)沒(méi)有專(zhuān)用的對(duì)外地址總線(xiàn)和數(shù)據(jù)總線(xiàn),其P0口和P2口既是通用I/O口,同時(shí)P0口還是分時(shí)復(fù)用的雙向數(shù)據(jù)總線(xiàn)和低8位地址總線(xiàn)(一般需要加一級(jí)鎖存器),而P2口則是高8位地址總線(xiàn)。4.單片機(jī)的地址總線(xiàn)和數(shù)據(jù)總線(xiàn)(1)單一功能的系統(tǒng)擴(kuò)展 存儲(chǔ)器的擴(kuò)展(程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、E2PROM ) 外部中斷源的擴(kuò)展(簡(jiǎn)單門(mén)電路) 并行口的擴(kuò)展(8
3、155)(2)綜合功能的擴(kuò)展 外部RAM、定時(shí)器、并行口擴(kuò)展(8155) 存儲(chǔ)器、并行口、定時(shí)器擴(kuò)展(多芯片)5.常見(jiàn)系統(tǒng)擴(kuò)展電路 .程序存儲(chǔ)器的作用-存放程序代碼或常數(shù)表格 .擴(kuò)展時(shí)所用芯片-一般用只讀型存儲(chǔ)器芯片(可以是EPROM、E2PROM、 FLASH芯片等)。 .擴(kuò)展電路連接 - 用EPROM 2764擴(kuò)展程序存儲(chǔ)器。 .存儲(chǔ)器地址分析-究竟單片機(jī)輸出什么地址值時(shí),可以指向存儲(chǔ)器中的某一單元。7.1 存儲(chǔ)器的擴(kuò)展7.1.1 程序存儲(chǔ)器的擴(kuò)展2764-8K EPROM2764-8K EPROM27642764引腳功能引腳功能A0A0A12A12地址線(xiàn)地址線(xiàn) CE CE選片選片 OE
4、OE讀讀D0D0D7D7數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn)VPPA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGMN.CA8A9A11OEA10CED7D6D5D4D32764.擴(kuò)展時(shí)所用芯片1編程脈沖編程脈沖輸入輸入 PGM PGM編程電源編程電源 Vpp VppD7D6D5D4D3D2D1D0G74LS373GND+5VEQ7Q6Q5Q4Q3Q2Q1Q0.擴(kuò)展時(shí)所用芯片2 373 373引腳功能引腳功能D0D0D6D6數(shù)據(jù)輸入數(shù)據(jù)輸入 E E輸出允許輸出允許 G G數(shù)據(jù)輸出數(shù)據(jù)輸出 Q0 Q0Q7Q7使能端使能端當(dāng)E=0,G=1時(shí), 輸出Q=輸入D(透明);當(dāng)E=0,G=0時(shí), 輸出Q端不變(
5、鎖存)當(dāng)E=0,輸出高阻態(tài). .擴(kuò)展電路連接擴(kuò)展電路連接圖7-4 擴(kuò)展電路單片機(jī)單片機(jī) 8031P2.0:.A8.ALEPSEN74LS373G2764A7.A0O0.O7P0.0P0.0 :P0.7P0.7OECEQ0.Q7D0.D7 8031 8031 27642764數(shù)據(jù)數(shù)據(jù)總線(xiàn)的連接:P0.0-P0.7(數(shù)據(jù)總線(xiàn))-O0-O7地址地址總線(xiàn)的連接:P0.0-P0.7(地址總線(xiàn)低8位)- A0-A7P2.0-P2.4(地址總線(xiàn)高8位中的5位)- A8-A12控制控制總線(xiàn)的連接: PSEN(程序存儲(chǔ)器允許,即讀指令) - OE ALE(地址鎖存允許)-接373的使能端G 經(jīng)過(guò)鎖存器經(jīng)過(guò)鎖存器
6、373373 A12P2.4一個(gè)機(jī)器周期一個(gè)機(jī)器周期ALEPSENP2P0地址地址A8A15地址地址A8A15A0A7A0A7指令碼指令碼指令碼指令碼圖7-2 從外存取指令時(shí)序圖一個(gè)機(jī)器周期ALEPSENP2P0地址地址A8A8A15A15地址地址A8A15A0A0A7A7A0A0A7A7指令碼指令碼指令碼指令碼單片機(jī)單片機(jī) 8031P2.0:.A8.ALEPSEN74LS373G2764A7.A0O0.O7P0.0P0.0 :P0.7P0.7OECEQ0.Q7D0.D7A12P2.4.存儲(chǔ)器地址分析-究竟單片機(jī)輸出什么地址值時(shí),可以指向存儲(chǔ)器中的某一單元。指向存儲(chǔ)器中的某一單元。 80318
7、031 P2.4 P2.0 P0.7P0.0P2.4 P2.0 P0.7P0.0 選中單元(27322732 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0) A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0) 0 0 0 0 0 0 0 0 0 0 0 0 0(0000H)0 0 0 0 0 0 0 0 0 0 0 0 0 1(0001H)1 0 0 0 0 0 0 0 0 0 0 0 1 0(0002H)2 0 0 0 0 0 0 0 0 0 0 0 1 1(0003H)3 0 0 0 0 0 0 0 0 0 0 1 0
8、 0(0004H)4 . . . 1 1 1 1 1 1 1 1 1 1 1 1 1(1FFFH) 8K-1 可見(jiàn),當(dāng)單片機(jī)輸出地址可見(jiàn),當(dāng)單片機(jī)輸出地址0000H0000H1FFFH1FFFH時(shí),選中時(shí),選中27642764的的0 08K-18K-1號(hào)單元,號(hào)單元,即按照上面電路擴(kuò)展的即按照上面電路擴(kuò)展的4K4K存儲(chǔ)器的地址范圍是存儲(chǔ)器的地址范圍是0000H0000H1FFFH1FFFH(共(共8K8K字字節(jié))。節(jié))。 請(qǐng)思考請(qǐng)思考:請(qǐng)同學(xué)們結(jié)合圖7.2來(lái)分析圖7.4中373 的作用,并說(shuō)明沒(méi)有它行不行?為什么? . .擴(kuò)展時(shí)所用芯片擴(kuò)展時(shí)所用芯片. .程序存儲(chǔ)器的作用程序存儲(chǔ)器的作用. .
9、擴(kuò)展電路連接擴(kuò)展電路連接. .存儲(chǔ)器地址分析存儲(chǔ)器地址分析程序存儲(chǔ)程序存儲(chǔ)器的擴(kuò)展器的擴(kuò)展7.1.2 7.1.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器的擴(kuò)展.數(shù)據(jù)存儲(chǔ)器的作用-存放數(shù)據(jù),可改寫(xiě).擴(kuò)展時(shí)所用芯片-一般用靜態(tài)讀寫(xiě)型存儲(chǔ)器芯片SRAM,也可以用E2PROM、FLASH芯片等.擴(kuò)展電路連接 - 用SRAM 6264擴(kuò)展程序存儲(chǔ)器。.存儲(chǔ)器地址分析-究竟單片機(jī)輸出什么地址值時(shí),可以指向存儲(chǔ)器中的某一單元。.擴(kuò)展時(shí)所用芯片6264-8K SRAM6264-8K SRAM6264引腳功能A0A0A12A12地址線(xiàn) CE選片 OE讀D0D7數(shù)據(jù)線(xiàn)N.CA12A7A6A5A4A3A2A1A0D0D1D2G
10、NDVccWECSA8A9A11OEA10CED7D6D5D4D36264寫(xiě) WE. .擴(kuò)展電路連接擴(kuò)展電路連接圖7-9 擴(kuò)展電路數(shù)據(jù)數(shù)據(jù)總線(xiàn)的連接:總線(xiàn)的連接:P0.0P0.7P0.0P0.7(數(shù)據(jù)總線(xiàn))(數(shù)據(jù)總線(xiàn))-D0D7-D0D7 地址地址總線(xiàn)的連接:P0.0P0.7(地址總線(xiàn)低8位)- A0A7P2.0P2.4(地址總線(xiàn)高8位中的5位)- A8A12控制控制總線(xiàn)的連接:總線(xiàn)的連接: RDRD(讀外部數(shù)據(jù))(讀外部數(shù)據(jù)) - OE - OE WRWR(寫(xiě)外部數(shù)據(jù))(寫(xiě)外部數(shù)據(jù))- WE - WE ALEALE(地址鎖存允許)(地址鎖存允許)-接接373373的使能端的使能端 G G 經(jīng)
11、過(guò)373 A86264WE單片機(jī)單片機(jī) 8031P2.0:.A8.ALERD74LS373GA7.A0P0.0P0.0 :P0.7P0.7OECEQ0.Q7D0.D7A12P2.4WR8031803162646264一個(gè)機(jī)器周期ALEPSENP2P0地址A8A15A0A7三態(tài)數(shù)據(jù)D0D7入圖7-6 讀外部數(shù)據(jù)RAM時(shí)序圖RD一個(gè)機(jī)器周期ALEPSENP2P0地址A8A15A0A7數(shù)據(jù)D0D7出圖7-7 寫(xiě)外部數(shù)據(jù)RAM時(shí)序圖WR一個(gè)機(jī)器周期ALEPSENP2P0地址A8A15A0A7三態(tài)數(shù)據(jù)D0D7入RD圖4.4 讀外部數(shù)據(jù)RAM時(shí)序圖單片機(jī)單片機(jī) 8031P2.0P2.1P2.2A8A9A1
12、0ALERD74LS373G6264A7A6A5A4A3A2A1A0O0O1O2O3O4O5O6O7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7OECEQ0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7WEWRP2.7P2.3P2.4A11A12. .存儲(chǔ)器地址分析存儲(chǔ)器地址分析-究竟單片機(jī)輸出什么地址值時(shí),可以究竟單片機(jī)輸出什么地址值時(shí),可以指向存儲(chǔ)器中的某一單元。指向存儲(chǔ)器中的某一單元。 80318031 P2.7P2.7 P2.4 P2.4 P2.0P2.0 P0.7 P0.0 選中單元(62646264 CE A12 A11 A8 A7 A6 A5 A
13、4 A3 A2 A1 A0) 0 X X 0 0 0 0 0 0 0 0 0 0 0 0 0(0000H) 0 0 X X 0 0 0 0 0 0 0 0 0 0 0 0 1(0001H) 1 0 X X 0 0 0 0 0 0 0 0 0 0 0 1 0(0002H) 2 0 X X 0 0 0 0 0 0 0 0 0 0 0 1 1(0003H) 3 0 X X 0 0 0 0 0 0 0 0 0 0 1 0 0(0004H) 4 . . . 0 X X 1 1 1 1 1 1 1 1 1 1 1 1 1(1FFFH) 8K-1 可見(jiàn),可見(jiàn),當(dāng)單片機(jī)輸出地址當(dāng)單片機(jī)輸出地址0000H1FF
14、FH時(shí),選中時(shí),選中62646264的的08K-1號(hào)號(hào)單元,即按照上面電路擴(kuò)展的單元,即按照上面電路擴(kuò)展的4K存儲(chǔ)器的地址范圍是存儲(chǔ)器的地址范圍是0000H1FFFH(共(共8K字節(jié))。字節(jié))。 請(qǐng)注意,與擴(kuò)展程序存儲(chǔ)器相比較,有以下不同點(diǎn):. 存儲(chǔ)器芯片為可讀可寫(xiě)的靜態(tài)RAM芯片,有讀寫(xiě)控制引腳OE和WE。.單片機(jī)輸出的對(duì)數(shù)據(jù)存儲(chǔ)器的讀寫(xiě)控制信號(hào)分別是RD(而不再是讀程序存儲(chǔ)器時(shí)的PSEN)和WR。. .擴(kuò)展時(shí)所用擴(kuò)展時(shí)所用芯片芯片. .數(shù)據(jù)存儲(chǔ)器的作用數(shù)據(jù)存儲(chǔ)器的作用. .擴(kuò)展電路連擴(kuò)展電路連接接. .存儲(chǔ)器地址存儲(chǔ)器地址分析分析數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器的擴(kuò)展器的擴(kuò)展2864-8K E2864-
15、8K E2 2PROMPROM2864引腳功能A0A12地址線(xiàn) CE選片 OE讀D0D7數(shù)據(jù)線(xiàn)N.CA12A7A6A5A4A3A2A1A0D0D1D2GNDVccWEN.CA8A9A11OEA10CED7D6D5D4D32864. .擴(kuò)展時(shí)所用芯片擴(kuò)展時(shí)所用芯片寫(xiě) WE7.1.3 7.1.3 E E2 2PROMPROM的擴(kuò)展的擴(kuò)展單片機(jī)單片機(jī) 8031P2.4P2.4P2.0P2.0A8A12ALERD74LS373G2864A7A6A5A4A3A2A1A0D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7OECEQ0Q1Q2Q3Q4Q5Q6Q7
16、D0D1D2D3D4D5D6D7WEWRWRP2.7P2.7PSEN&圖圖7-9 28647-9 2864擴(kuò)展電路圖擴(kuò)展電路圖 請(qǐng)思考請(qǐng)思考:什么情況下圖7-9中的與門(mén)輸出低電平,使E2PRAM的內(nèi)容可以被讀出,讀出的是什么方面的內(nèi)容?圖中擴(kuò)展的E2PRAM是外部數(shù)據(jù)存儲(chǔ)器?外部程序存儲(chǔ)器??jī)烧叨紨U(kuò)展了?7.2 7.2 并行口的擴(kuò)展并行口的擴(kuò)展7.2.1 7.2.1 并行口的簡(jiǎn)單擴(kuò)展并行口的簡(jiǎn)單擴(kuò)展輸出口-利用鎖存器擴(kuò)展并行口擴(kuò)展的分類(lèi)并行口擴(kuò)展的分類(lèi) 利用鎖存器、緩沖器進(jìn)行并行口簡(jiǎn)單擴(kuò)展進(jìn)行并行口簡(jiǎn)單擴(kuò)展 用可編程并行接口芯片進(jìn)行擴(kuò)展用可編程并行接口芯片進(jìn)行擴(kuò)展輸入口-利用緩沖器擴(kuò)展
17、8031 1 1WRRDP2.7GQ0.Q7P0.0.P0.7D0.D7Q0.Q7D0.D7CLK圖圖7-10 7-10 并行口的簡(jiǎn)單擴(kuò)展并行口的簡(jiǎn)單擴(kuò)展2732447.2.2 7.2.2 可編程并行接口芯片可編程并行接口芯片81558155的擴(kuò)展的擴(kuò)展一、一、81558155的結(jié)構(gòu)及引腳的結(jié)構(gòu)及引腳81558155的結(jié)構(gòu)的結(jié)構(gòu)81558155256256字節(jié)字節(jié)RAMRAM三個(gè)可編程并行口三個(gè)可編程并行口PAPA口,口,8 8位位PBPB口,口,8 8位位PCPC口,口,6 6位位1414位二進(jìn)制減法計(jì)數(shù)器位二進(jìn)制減法計(jì)數(shù)器8155芯片的內(nèi)部結(jié)構(gòu)256B256B靜態(tài)靜態(tài)RAMRAM A A
18、定時(shí)器定時(shí)器B B C C 口APA0PA7口BPB0PB7PC0PC5口CIO/ MAD0AD7CEALERDWRRESET定時(shí)器輸入定時(shí)器輸出接單片機(jī)接外設(shè)接外設(shè)接外設(shè)圖7.11b81558155引腳功能引腳功能PC3PC4 PC5 IO/ MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMER INRESETTIMER OUTAD0-AD7AD0-AD7三態(tài)地址三態(tài)地址/ /數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn) IO/ M IO/ M端口端口/ /存儲(chǔ)存儲(chǔ)
19、器選擇器選擇 RD RD讀讀ALEALE地址鎖存地址鎖存允許允許寫(xiě)寫(xiě) WR WR選片選片 CE CE定時(shí)器輸定時(shí)器輸入入TIMER INTIMER IN定時(shí)器輸定時(shí)器輸出出TIMER OUTTIMER OUTPA0-PA7PA0-PA7A A口端口線(xiàn)口端口線(xiàn)PB0-PB7PB0-PB7B B口端口線(xiàn)口端口線(xiàn)PC0-PC5PC0-PC5C C口端口線(xiàn)口端口線(xiàn)圖7.11aPA0-PA7端口A的I/O線(xiàn)(8位,接外設(shè))PB0-PB7端口B的I/O線(xiàn)(8位,接外設(shè))PC0-PC5端口C的I/O線(xiàn)(6位,接外設(shè))AD0-AD7三態(tài)地址/數(shù)據(jù)復(fù)用線(xiàn)(8位,一般接單片機(jī)P0口,CPU與8155之間的地址、數(shù)
20、據(jù)、命令、狀態(tài)等信號(hào)都通過(guò)它來(lái)傳送)端口/存儲(chǔ)器 選擇控制 “0”選擇片內(nèi)RAM “1”選擇片內(nèi)I/O口TIMER IN8155片內(nèi)定時(shí)器/計(jì)數(shù)器的計(jì)數(shù)脈沖輸入引腳TIMER OUT8155片內(nèi)定時(shí)器/計(jì)數(shù)器的計(jì)滿(mǎn)回零輸出引腳分別是對(duì)8155片內(nèi)的RAM或I/O口的的讀、寫(xiě)控制信號(hào)ALE地址鎖存引腳選片RESET復(fù)位引腳IO/ MRD、WRCEI/OI/O口地址口地址-當(dāng)IO/ M 加高電平時(shí)1. 8155的RAM和I/O口地址RAMRAM地址-當(dāng)IO/ M 加低電平時(shí)此時(shí)AD0-AD7上得到的地址值是指8155的某一RAMRAM單元的地址,地址范圍是 0000 0000-1111 1111分
21、別指向8155 RAM 的256256個(gè)存儲(chǔ)單元。此時(shí)AD0-AD7 (僅用到低三位AD2、AD1、AD0)上得到的地址值是指8155的某一I/O口的地址,具體端口地址分配是:二、二、81558155的工作原理的工作原理AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0I/O端口 0 0 00 0 0命令/狀態(tài)口 0 0 10 0 1A口 0 1 00 1 0B口 0 1 10 1 1C口 1 0 01 0 0計(jì)數(shù)器低8位 1 0 11 0 1計(jì)數(shù)器高6位8155的RAM和I/O口地址分配 2. 81552. 8155的
22、使用(分二種情況:片內(nèi)的使用(分二種情況:片內(nèi)RAMRAM的使用的使用 各各端口端口的使用)的使用) 8155 8155內(nèi)內(nèi)RAMRAM的使用:與一般外部數(shù)據(jù)存儲(chǔ)器的使用基本一樣,唯一區(qū)別是事先要使IO/ M 為低電平。81558155各各端口端口(包括定時(shí)器)的使用:A、B、C各端口可工作于不同的工作方式,使用前要進(jìn)行初始化初始化(寫(xiě)命令字到命令口)。81558155命令字含義命令字含義 PAPBPC1PC2IEAIEBTM1TM2PBPB、PAAPAA口、口、B B口數(shù)據(jù)傳送方向口數(shù)據(jù)傳送方向00輸入輸入11輸出輸出0000CC口輸入,口輸入,A A、B B口基本口基本I/OI/O方式方式
23、1111CC口輸出,口輸出,A A、B B口基本口基本I/OI/O方式方式01PC3-PC501PC3-PC5輸出,輸出,A A口選通方式,口選通方式,B B口基本口基本I/OI/O方式方式10A10A、B B口選通方式口選通方式PC2PC2、PC1CPC1C口數(shù)據(jù)傳送方向及口數(shù)據(jù)傳送方向及ABAB口工作方式口工作方式IEAIEA、IEB AIEB A、B B口中斷允許控制口中斷允許控制00禁止禁止11允許允許TM1TM1、TM2TM2定時(shí)器定時(shí)器/ /計(jì)數(shù)器控制計(jì)數(shù)器控制00 00 空操作空操作01 01 停止定時(shí)器停止定時(shí)器10 10 記滿(mǎn)回零停止計(jì)數(shù)記滿(mǎn)回零停止計(jì)數(shù)11 11 啟動(dòng)啟動(dòng)8
24、155內(nèi)部有一個(gè)14位減法計(jì)數(shù)器,計(jì)數(shù)脈沖來(lái)自其引腳“TIMER IN”,使用定時(shí)器前要先裝入“時(shí)間常數(shù)”-14位二進(jìn)制數(shù)。其格式為:8155定時(shí)器/計(jì)數(shù)器 D15D15 D14D14 D13D13 D12D12 D11D11 D10D10D9D9D8D8D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0M2M2M1M1T13T13 T12T12 T11T11 T10T10T9T9T8T8T7T7T6T6T5T5T4T4T3T3T2T2T1T1T0T0高6位計(jì)數(shù)值低8位計(jì)數(shù)值定時(shí)器方式M2 M1M2 M100 單方波01 連續(xù)方波 單脈沖10 連續(xù)脈沖 三三. .擴(kuò)展電路的連接舉
25、例擴(kuò)展電路的連接舉例-見(jiàn)圖見(jiàn)圖7-127-12,接口電路非常,接口電路非常簡(jiǎn)單,基本上是相同信號(hào)對(duì)接。簡(jiǎn)單,基本上是相同信號(hào)對(duì)接。 8031803181558155RESETRDWRALEP2.0P2.7P0.0P0.1P0.2P.03P0.4P0.5P0.6P0.7RESETRDWRALEIO/MCEAD0AD1AD2AD3AD4AD5AD6AD7口口APA0PA7口口BPB0PB7PC0PC5口口C圖圖7-127-12請(qǐng)思考請(qǐng)思考:對(duì)比圖7-4(2764的擴(kuò)展),為什么圖7-12中擴(kuò)展8155時(shí),單片機(jī)P0口輸出的地址信號(hào)沒(méi)有經(jīng)過(guò)373鎖存而是直接接到8155的地址/數(shù)據(jù)復(fù)用線(xiàn)上了?四四.
26、 . 應(yīng)用舉例-(見(jiàn)教材p139例)設(shè)8155與單片機(jī)連接電路如圖7-127-12,現(xiàn)要求其A口為基本輸入方式,B口為基本輸出方式,定時(shí)器為方波發(fā)生器,對(duì)8031輸入脈沖進(jìn)行24分頻,編制初始化程序段。解:首先分析各端口地址-見(jiàn)教材P138表7-9。 命令狀態(tài)口地址為7F00H A口地址為7F01H B口地址為7F02H C口地址為7F03H 定時(shí)器低8位地址7F04H 定時(shí)器高6位地址7F05H8155的控制字為0C2H:PAPBPC1PC2IEAIEBTM1TM2 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0補(bǔ)充題補(bǔ)充題1 1: 根據(jù)圖7-12的電路,把8155的PB口設(shè)
27、置成輸入方式,PA口設(shè)置成輸出方式,并把PB口輸入的數(shù)據(jù)與8031 P1口輸入的數(shù)據(jù)相“異或”,結(jié)果從PA口輸出。試寫(xiě)出滿(mǎn)足此要求的程序。MOV DPTR,#7F00HMOV DPTR,#7F00HMOV A,#0C2HMOV A,#0C2HMOVX DPTR,AMOVX DPTR,AMOV DPTRMOV DPTR,#7F05H#7F05H24分頻即計(jì)數(shù)初值為24(000000 0011000B=18H)加上定時(shí)計(jì)數(shù)控制01(連續(xù)方波),則送往定時(shí)計(jì)數(shù)器的時(shí)間常數(shù)及定時(shí)控制字應(yīng)為 01000000 00011000B=4018HMOV A,#40HMOV A,#40HMOVX DPTR,AM
28、OVX DPTR,AMOV DPTR,#7F04HMOV DPTR,#7F04HMOV AMOV A,#18H#18HMOV DPTRMOV DPTR,A A TM2 TM1 IEB IEA PC2 PC1 PB PA 0 0 0 0 0 0 0 1即控制字為01H01H,(注:此處PC2 PC1取1 1也可以)依圖依圖7-127-12電路,電路,81558155的六個(gè)端口地址分配如下的六個(gè)端口地址分配如下P2.7P2.0 P0.7 P0.0P2.7P2.0 P0.7 P0.0 I/O I/O端口端口 0 X X X X X X 1 X X X X X 0 0 0 命令/狀態(tài)口 0 X X X
29、 X X X 1 X X X X X 0 0 1 A口 0 X X X X X X 1 X X X X X 0 1 0 B口 0 X X X X X X 1 X X X X X 0 1 1 C口 0 X X X X X X 1 X X X X X 1 0 0 計(jì)數(shù)器低8位 0 X X X X X X 1 X X X X X 1 0 1 計(jì)數(shù)器高6位地址地址7F00H7F01H7F02H7F03H7F04H7F05H解:解:根據(jù)題目要求,要先初始化8155(設(shè)置其端口的輸入輸 出方式-這里PB口輸入,PA口輸出),其控制字如下:SJMP $SJMP $所以程序如下:所以程序如下:MOV DPTR
30、MOV DPTR,#7F00H #7F00H ;選中;選中81558155命令口命令口MOV A,#01H MOV A,#01H ;控制字;控制字01H01HMOVX DPTR,A MOVX DPTR,A ;控制字;控制字01H01H送送81558155命令口命令口 MOV DPTRMOV DPTR,#7F02H #7F02H ;選中;選中8155 PB8155 PB口口MOVX A, DPTR MOVX A, DPTR ;從;從PBPB口輸入數(shù)據(jù)口輸入數(shù)據(jù)XRL A,P1 XRL A,P1 ;與;與8031 P18031 P1口內(nèi)容口內(nèi)容“異或異或”MOV DPTRMOV DPTR,#7F0
31、1H #7F01H ;選中;選中8155 PA8155 PA口口MOVX DPTR,A MOVX DPTR,A ;從;從PAPA口輸出數(shù)據(jù)口輸出數(shù)據(jù)補(bǔ)充題補(bǔ)充題2 2:根據(jù)圖7-12電路,設(shè)計(jì)一段程序把8155片內(nèi)RAM全部填滿(mǎn)FFH。 解:根據(jù)圖7-12的電路,8155片內(nèi)RAM地址是0000H00FFH,又由于是對(duì)8155片內(nèi)RAM操作,不需要初始化芯片,P2.7P2.0 P0.7 P0.0P2.7P2.0 P0.7 P0.0 RAM RAM單元單元 0 X X X X X X 0 0 0 0 0 0 0 0 0 0號(hào)地址地址0000H 0 X X X X X X 0 1 1 1 1 1
32、1 1 1 255號(hào)00FFH程序如下:程序如下:SJMP $SJMP $MOV R7, #00H MOV R7, #00H ;R7R7作計(jì)數(shù)器,從作計(jì)數(shù)器,從0 0開(kāi)始共減開(kāi)始共減256256次再到次再到0 0MOV A,#0FFH MOV A,#0FFH ;準(zhǔn)備送;準(zhǔn)備送FFHFFHMOV DPTR,#0000H MOV DPTR,#0000H ;DPTRDPTR指向第一個(gè)單元指向第一個(gè)單元LOOP: MOVX DPTR,A LOOP: MOVX DPTR,A ;送數(shù);送數(shù)INC DPTR INC DPTR ;調(diào)整指針,指向下一個(gè)單元;調(diào)整指針,指向下一個(gè)單元DJNZ R7,LOOP DJ
33、NZ R7,LOOP ;循環(huán)控制;循環(huán)控制1.1.綜合功能的擴(kuò)展綜合功能的擴(kuò)展:使用具有綜合功能的芯片、使用具有綜合功能的芯片、 使用多個(gè)芯片擴(kuò)展。使用多個(gè)芯片擴(kuò)展。(1 1)綜合功能芯片擴(kuò)展- 8155 使用具有綜合功能的可編程可編程芯片8155來(lái)同時(shí)擴(kuò)展單片機(jī)的I/O口、定時(shí)器、外部數(shù)據(jù)存儲(chǔ)器RAM。補(bǔ)充(2 2)多芯片擴(kuò)展-使用多個(gè)芯片來(lái)進(jìn)行綜合功能擴(kuò)展。8031 373G27166116(2)6116(1)8155P0P2.2-P2.0PSENALEWRRDABCG2AG2BG1P1.0A0A7A8A10D7D0D7D0D7D0 CECECSOEA0A7A8A10WEWEOEOEWER
34、DALEAD0AD7CEY2Y1Y0+5VIO/ MPAPBPCP2.3P2.4P2.5P2.6P2.7需要弄清以下幾個(gè)問(wèn)題:.選片問(wèn)題-選片選片信號(hào)的功能是:當(dāng)某個(gè)芯片的選片選片信號(hào)接低電平時(shí),意味著該芯片被選中,而當(dāng)其接高電平時(shí),意味著該芯片沒(méi)有被選中,此時(shí)就好象該芯片沒(méi)有連接到電路中(實(shí)際上是其各引腳處于高阻態(tài))。在這部分以前所有擴(kuò)展電路中所用的芯片的選片選片信號(hào)引腳CE,都是直接接地或者接某一P2口線(xiàn)的。芯片138是3:8譯碼器,它在這里的作用是輸出選片信號(hào):其輸出端Y0、Y1、Y2分別用來(lái)選擇8155、6116(1)、6116(2)。138的引腳及功能見(jiàn)下表:. 譯碼器問(wèn)題-控控 制
35、制 引引 腳腳輸輸 入入 引引 腳腳輸輸 出出 引引 腳腳G1 G2A G2BG1 G2A G2BC B AY7 Y6 Y5 Y4 Y3 Y2 Y1 Y0Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y01 0 00 0 01 1 1 1 1 1 1 01 0 00 0 11 1 1 1 1 1 0 11 0 00 1 01 1 1 1 1 0 1 11 0 00 1 11 1 1 1 0 1 1 11 0 01 0 01 1 1 0 1 1 1 11 0 01 0 11 1 0 1 1 1 1 11 0 01 1 01 0 1 1 1 1 1 11 0 01 1 10 1 1 1 1 1 1 1
36、 138 功能表功能表 請(qǐng)思考請(qǐng)思考:b.b.為什么圖中 6116(1)的地址范圍是 0800H-0FFFH?而 6116(2)的地址范圍是 1000H-17FFH?a.a.為什么圖中的8155的各端口地址分別是 0000H、0001H、0005H, 而其內(nèi)部RAM地址范圍是 0000H-00FFH?a.a.由由圖可知 圖中8155的CE接138的Y0, 138的G2B、G2A和CBA分別接到8031的P2.7-P2.3P2.7-P2.3,所以要選中8155,即要CE=0,則必有Y0=0, 由Y0=0得到必有G1=1,且G2A=G2B=0,CBA=000, 即8031的P2.7-P2.3=00
37、000P2.7-P2.3=00000時(shí),時(shí),選中81558155,在此前提下,當(dāng)8031的P0口輸出地址是 00000000-11111111,且IO/ M=0時(shí),選中8155的RAM單元,所以其內(nèi)部RAM地址范圍是 0000H-00FFH 。當(dāng)8031的P0口輸出地址是XXXXX000-XXXXX101,且IO/ M=1時(shí),選中8155的各端口,即P2.7 P2.0 P0.7 P0.0 P2.7 P2.0 P0.7 P0.0 端口端口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0000H) 命令口 0 0 0 0 00 0 0 0 0 0 0 0 0
38、 0 0 0 0 0 0 1 (0001H) PA口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 (0002H) PB口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 (0003H) PC口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 (0004H)計(jì)數(shù)器低 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 (0005H)計(jì)數(shù)器高所以8155的各端口地址分別是 0000H、0001H、0005H。b.b.同理可得61166116(1 1)和)和6116
39、6116(2 2)的地址范圍分別是0800H-0FFFH0800H-0FFFH和和1000H-17FFH1000H-17FFH:.圖中61166116(1 1)的CE接138的Y1Y1,所以要選中61166116(1 1),則必有Y1=0,由Y1=0得 必有G1=1,且G2A=G2B=0,CBA=001, 即8031的P2.7-P2.3=00001P2.7-P2.3=00001時(shí),時(shí),選中61166116(1 1),在此前提下,當(dāng)8031的P2.2-P2.0,P0.7-P0.0輸出地址 000 0000 0000 -111 1111 1111時(shí),選中61166116(1 1)中的某一個(gè)單元,也
40、即61166116(1 1) 的地址范圍是: 0000 1000 0000 0000-0000 1111 1111 1111 即 0800H-0FFFH(共2K)。同樣分析可知61166116(2 2)的地址范圍是1000H-17FFH1000H-17FFH 7.4.1 顯示器及接口一、 LED結(jié)構(gòu)與原理DpgfedcbaD7 D6 D5 D4 D3 D2 D1 D0+5VDp g f e d c b a共陽(yáng)極如共陽(yáng)極時(shí),輸出1 1 1 1 1 0 0 0 即 F8H時(shí),顯示“7”。字型表見(jiàn)表5.9。Dp g f e d c b a共陰極abcdefg7.4 7.4 鍵盤(pán)及顯示接口鍵盤(pán)及顯示接
41、口(見(jiàn)教材p146153)二、LED接口(分靜態(tài)、動(dòng)態(tài)).靜態(tài)LED-亮度大,硬件、軟件相對(duì)簡(jiǎn)單,可以 用并行或串行方式。8031 WR P2.7 P2.6aDp373P0aDp37311117-15 并行輸出的靜態(tài)顯示電路.動(dòng)態(tài)LED分時(shí)使各數(shù)碼管輪流點(diǎn)亮,硬件簡(jiǎn)單。8155同相驅(qū)動(dòng)反向驅(qū)動(dòng)C5C4C3C2C1C0PB0PB1. .PB7PA0PA1.PA5圖 7-17 掃描式顯示電路共陰極數(shù)碼管原理: 8155的PB口輸出字型碼到所有數(shù)碼管的ag各段(1亮,0暗), PA口輸出位選字,選中某一個(gè)數(shù)碼管(因?yàn)榧恿艘患?jí)反相器,所以1亮,0暗), 使該數(shù)碼管顯示相應(yīng)的字型,其余數(shù)碼管不亮。 輪流
42、點(diǎn)亮每個(gè)數(shù)碼管并不斷掃描,最后各數(shù)碼管得到穩(wěn)定的字型顯示。參考程序參考程序MOD:MOV R0,#CWR ;指向;指向8155命令口命令口MOV A,#03H ;設(shè)命令字,;設(shè)命令字,PA口、口、PB口輸出口輸出MOVX R0,A ;初始化;初始化8155DIR:MOV R0,#DIS0 ;指向片內(nèi)顯示緩沖區(qū)首地址;指向片內(nèi)顯示緩沖區(qū)首地址MOV R3,#01H ;選中;選中C0數(shù)碼管數(shù)碼管0000 0001ACALL DL1 ;調(diào)延時(shí)子程序;調(diào)延時(shí)子程序MOV A,R3 ;INC DPTR ;指向;指向8155的的PB口口LD0:MOV DPTR,#POA ;指向;指向8155的的PA口口M
43、OV A,R0 ;取要顯示的數(shù);取要顯示的數(shù)MOVC A,A+PC ;查表求得字型碼;查表求得字型碼MOVX DPTR,A ;送字型碼(段值);送字型碼(段值) MOVX DPTR,A ;送位掃描值;送位掃描值 ADD A,#0DH ;加上偏移量;加上偏移量INC R0 ;指向下一個(gè)要顯示的數(shù);指向下一個(gè)要顯示的數(shù)MOV A,R3JB ACC.5,ELD1 ;判斷掃描到;判斷掃描到C5數(shù)碼管沒(méi)有數(shù)碼管沒(méi)有ELD1:RETMOV R3,ADSEG:DB 3FH,06H,5BH,4FH,66H,6DH請(qǐng)思考:請(qǐng)思考:LEDLED靜態(tài)、動(dòng)態(tài)接口分別有什么特點(diǎn)?靜態(tài)、動(dòng)態(tài)接口分別有什么特點(diǎn)? RL A
44、 ;未掃描到;未掃描到C5,掃描碼左移,掃描碼左移1位位AJMP LD0 DSEG1:DB 7DH,07H,7FH,67H,77H,7CHDSEG2:DB 39H,5EH,79H,71HELD1:MOV R7, #02H ;延時(shí)子程序;延時(shí)子程序DL:MOV R6,#0FFHDL6:DJNZ R6,DL6DJNZ R7,DLRET7.4.2.鍵盤(pán)及接口-掃描(判斷哪個(gè)鍵按下)、去抖動(dòng)、判斷按鍵是否抬起(以防止重復(fù)進(jìn)行鍵處理)。 前沿抖動(dòng)前沿抖動(dòng)后沿抖動(dòng)后沿抖動(dòng)鍵按下鍵按下閉合穩(wěn)定閉合穩(wěn)定鍵釋放鍵釋放 a.鍵盤(pán)接口要解決的問(wèn)題一、鍵盤(pán)工作原理8031+5VI/OP1R8 b.獨(dú)立式鍵盤(pán)工作原理請(qǐng)
45、思考請(qǐng)思考:什么是鍵抖動(dòng)?為什么鍵盤(pán)要考慮去抖動(dòng)?一般常用哪兩種去抖動(dòng)的方法?原理-當(dāng)任何一個(gè)鍵被按下時(shí),與其相連的輸入線(xiàn)被置成 “0”,平時(shí)該線(xiàn)為“1”。鍵處理程序鍵處理程序ORG 2000HSTART:MOV A ,#0FFH ;先置;先置P1口為口為“1”MOV P1,AMOV A,P1 ;輸入鍵狀態(tài);輸入鍵狀態(tài)JNB ACC.0, P0F ;查詢(xún);查詢(xún)0號(hào)鍵號(hào)鍵JNB ACC.1, P1F ;查詢(xún);查詢(xún)1號(hào)鍵號(hào)鍵JNB ACC.2, P2F ;查詢(xún);查詢(xún)2號(hào)鍵號(hào)鍵JNB ACC.3, P3F ;查詢(xún);查詢(xún)3號(hào)鍵號(hào)鍵JNB ACC.4, P4F ;查詢(xún);查詢(xún)4號(hào)鍵號(hào)鍵JNB ACC.5,
46、 P5F ;查詢(xún);查詢(xún)5號(hào)鍵號(hào)鍵JNB ACC.6, P6F ;查詢(xún);查詢(xún)6號(hào)鍵號(hào)鍵JNB ACC.7, P7F ;查詢(xún);查詢(xún)7號(hào)鍵號(hào)鍵LJMP START鍵盤(pán)掃描鍵盤(pán)掃描P0F:LJMP PROM0 ;入口地址表;入口地址表P1F:LJMP PROM1P6F:LJMP PROM6P7F:LJMP PROM7PROM0:. ;0號(hào)鍵功能程序號(hào)鍵功能程序PROM7:. ;7號(hào)鍵功能程序號(hào)鍵功能程序.LJMP START ;0號(hào)鍵處理完返回鍵盤(pán)掃描號(hào)鍵處理完返回鍵盤(pán)掃描LJMP START ;7號(hào)鍵處理完返回鍵盤(pán)掃描號(hào)鍵處理完返回鍵盤(pán)掃描.c.行列式鍵盤(pán)工作原理(見(jiàn)教材p150151)+5V I/
47、O接口X3X2X1X0Y3Y2Y1Y05.1K4特點(diǎn):節(jié)省I/O口線(xiàn)過(guò)程:先判斷有無(wú)鍵按下列線(xiàn)輸出0000,然后輸入行線(xiàn)狀態(tài),若沒(méi)有鍵按下,則行線(xiàn)狀態(tài)為全1( 1111 );若有任一鍵按下,則行線(xiàn)狀態(tài)不為全(1111);再確認(rèn)哪個(gè)鍵被按下列線(xiàn)逐行輸出0(如1110),然后輸入行線(xiàn)狀態(tài),若沒(méi)有鍵按下,則行線(xiàn)狀態(tài)為全1( 1111 );若有任一鍵按下,則行線(xiàn)狀態(tài)不為全為1(如0111,說(shuō)明右上角那個(gè)鍵被按下)確定每個(gè)鍵的鍵值負(fù)邏輯表示-行列線(xiàn)數(shù)據(jù)直接組合,上例中的各鍵值分別為:77H、7BH 、7DH 、7EH、B7H 、BBH 、BDH、BEH、D7H、DBH、DDH、DEH、E7H、EBH、E
48、DH、EEH、負(fù)邏輯表示負(fù)邏輯表示-行列線(xiàn)數(shù)據(jù)求反組合,上例中的各行列線(xiàn)數(shù)據(jù)求反組合,上例中的各鍵值分別為:鍵值分別為:88H、84H 、82H 、81H、48H 、44H 、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H、(2 2)鍵盤(pán)掃描的控制方式)鍵盤(pán)掃描的控制方式程序控制掃描方式程序控制掃描方式-連續(xù)掃描連續(xù)掃描定時(shí)控制掃描方式定時(shí)控制掃描方式-定時(shí)掃描定時(shí)掃描中斷控制掃描方式中斷控制掃描方式-中斷后掃描中斷后掃描a.程序控制掃描方式以8155擴(kuò)展I/O口組成的行列式鍵盤(pán)為例+5V8155PA7PA6.PA0PC0PC1PC2PC35.1K4CEIO/M
49、WRRDALEP0WRRDALEP2.7P2.080310 12 34 5 678 9 10 11 12 1314 1516 1718 19 20 21222324 2526 27 28 2930318155擴(kuò)展I/O口組成的行列式鍵盤(pán)8155PA口地址7F01HPC口地址7F03H8155:PA口輸出列掃描信號(hào) PC口輸入行狀態(tài)信號(hào).判斷有無(wú)鍵按下PA口輸出00H PC口輸入行狀態(tài)信號(hào),若PC3PC01111,有鍵按下.去抖動(dòng)延時(shí)510ms后再判斷有無(wú)鍵按下.再確認(rèn)哪個(gè)鍵被按下及其鍵號(hào)8155的PA口依次輸出下列掃描字:PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1
50、1 1 1 1 1 0 FEH1 1 1 1 1 1 0 1 FDH0 1 1 1 1 1 1 1 7FH8155的PC口輸入行狀態(tài),可能為下列之一:PC5 PC4 PC3 PC2 PC1 PC0 1 1 1 0 EH 1 1 0 1 DH 1 0 1 1 BH 0 1 1 1 7H則每個(gè)鍵的鍵值(列行組合)FE E 、FD E 、 FB E 、 F7 E 、EF E、DE E、BF E、 7F E FE D 、FD D 、 FB D 、 F7 D 、EF D、DE D、BF D、 7F D FE B 、FD B 、 FB B 、 F7 B 、EF B、DE B、BF B、 7F B FE 7
51、 、 FD 7 、 FB 7 、 F7 7、 EF 7、 DE 7、 BF 7、 7F 7 每個(gè)鍵的鍵號(hào)(自己安排)N=行首鍵號(hào)+列號(hào).判斷按鍵是否抬起(以防止重復(fù)進(jìn)行鍵處理)等待鍵釋放后再進(jìn)行進(jìn)一步處理。鍵掃描程序框圖入口有鍵按下?延時(shí)12ms有鍵按下?NYNY鍵號(hào)入棧保存按鍵抬起?NY鍵號(hào)送A返回ORG 1000HKEY1:ACALL KS1 ;調(diào)用判斷有無(wú)鍵按下子程序JNZ LK1 ;有鍵按下,轉(zhuǎn)去抖動(dòng)AJMP KEY1 ;無(wú)鍵按下,返回LK1:ACALL TM12S ;延時(shí)12msACALL KS1 ;再查有無(wú)鍵按下JNZ LK2 ;確實(shí)有鍵按下,逐行掃描,確定具體鍵AJMP KEY1
52、 ;無(wú)鍵按下,返回LK2:MOV R2,#0FEH ;首列掃描字送R2 MOV R4,#00H ;首列號(hào)R4LK4:MOV DPTR,#7F01H ;首列掃描字送8155的PA口MOV A,R2 ;第一列掃描MOVX DPTR,A ;使第i 列為0(R2中Di位為0)INC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;讀入行狀態(tài)JB ACC.0, LONE ;0行無(wú)鍵按下,轉(zhuǎn)查1行LONE:JB ACC.1, LTWO ;1行無(wú)鍵按下,轉(zhuǎn)查2行MOV A,#00H ;0行有鍵按下,行首鍵號(hào)#00H送AAJMP LKP ;求鍵號(hào)LTWO:JB ACC.2, LTHR
53、 ;2行無(wú)鍵按下,轉(zhuǎn)查3行MOV A,#08H ;1行有鍵按下,行首鍵號(hào)#08H送AAJMP LKP ;求鍵號(hào)LTHR:JB ACC.3, NEXT ;3行無(wú)鍵按下,轉(zhuǎn)查下一列MOV A,#10H ;2行有鍵按下,行首鍵號(hào)#10H送AAJMP LKP ;求鍵號(hào)MOV A,#18H ;3行有鍵按下,行首鍵號(hào)#18H送ALKP: ADD A,R4 ;求鍵號(hào)=行首鍵號(hào)+列號(hào)PUSH ACC ;鍵號(hào)入棧LK3:ACALL KS1 ;等待鍵釋放JNZ LK3 ;未釋放,繼續(xù)等待POP ACC ;已釋放,鍵號(hào)送ARETNEXT:INC R4 ;指向下一列,列號(hào)加1MOV A, R2 ;判斷8列掃描完沒(méi)有J
54、NB ACC.7,KND ;8列掃描完,返回RL A ;沒(méi)掃描完,置下一列掃描字MOV R2, A ;掃描字送AAJMP LK4 ;繼續(xù)下列掃描KND:AJMP KEY1 ;8列掃描完,返回KS1:MOV DPTR, #7F01H ;查有無(wú)鍵按下子程序MOV A,#00HMOVX DPTR,A ;8155 PA口輸出全掃描字#00HINC DPTRINC DPTR ;指向8155的PC口MOVX A,DPTR ;讀入行狀態(tài),若有鍵按下,則A0FFHCPL A ;改成正邏輯,若有鍵按下,則A00HANL A ,#0FH ;屏蔽高四位RET ;子程序返回,當(dāng)有鍵按下時(shí),AA00HT12sm:MOV
55、 R7, #18H ;12sm延時(shí)子程序TM:MOV R6,#0FFH TM6:DJNZ R6, TM6DJNZ R7,TMRET;td=1+(1+255*2+2)*24+2*MCd.鍵操作及功能處理求出鍵號(hào)后要進(jìn)行鍵處理:先判斷是何種鍵,然后:對(duì)數(shù)字鍵-送顯示緩沖區(qū)顯示;對(duì)功能鍵-執(zhí)行相應(yīng)的功能鍵處理程序。設(shè)圖5.36中,015號(hào)鍵為數(shù)字鍵,即鍵號(hào)鍵號(hào)10H10H的是數(shù)字鍵的是數(shù)字鍵;1631號(hào)鍵為功能鍵,即鍵號(hào)鍵號(hào)10H10H的是功能鍵的是功能鍵,其功能鍵處理程序入口地址分別為:AAA、BBB、CCC、PPP。則轉(zhuǎn)入功能鍵處理程序清單如下:ORG 8000HKEYADR:MOV A ,BUFF ;鍵號(hào)送ACLR CSUBB A,#10H ;Y與10H比較JC DIGPRO ;VX,先清零DN-1 ,再設(shè)次高位(DN-2)為1,繼續(xù)如此反復(fù),經(jīng)過(guò)N次比較后,最后一位D0得到確定,此時(shí),N位寄存器的內(nèi)容就是轉(zhuǎn)換好的數(shù)字量,而EOC輸出轉(zhuǎn)換結(jié)束信號(hào),在輸出允許OE(高電平)有效時(shí),數(shù)字量經(jīng)輸出緩沖器讀出。8.2.2 ADC0809芯片與單片機(jī)的接口一、一、ADC0809的引腳及內(nèi)部結(jié)構(gòu)0809-80809-8位位
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)皮革皮件箱包市場(chǎng)運(yùn)行現(xiàn)狀及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)電熱線(xiàn)市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)電子驅(qū)蚊器市場(chǎng)競(jìng)爭(zhēng)狀況及投資趨勢(shì)分析報(bào)告
- 簡(jiǎn)單房屋買(mǎi)賣(mài)合同
- 新建住宅購(gòu)房合同標(biāo)準(zhǔn)模板范文
- 加工合同(六)(32篇)
- 2025年服裝品牌連鎖加盟合同樣本
- 2025年宣傳用品制作合同
- 2025年設(shè)備租賃服務(wù)承包合同規(guī)范
- 2025年官方玻璃制品采購(gòu)合同范文
- 作品集合同范本
- 保安員綜合理論考試題庫(kù)備考500題(含各題型)
- X證書(shū)失智老年人照護(hù)身體綜合照護(hù)講解
- 2025勞動(dòng)合同法重點(diǎn)法條導(dǎo)讀附案例詳解
- 2025年內(nèi)蒙古自治區(qū)政府工作報(bào)告測(cè)試題及參考答案
- 2024年全國(guó)中學(xué)生生物學(xué)聯(lián)賽試題及答案詳解
- 2025年度花卉產(chǎn)業(yè)大數(shù)據(jù)服務(wù)平臺(tái)建設(shè)合同2篇
- 2025年度花卉產(chǎn)業(yè)大數(shù)據(jù)平臺(tái)建設(shè)合同3篇
- 小學(xué)班會(huì)-交通安全伴我行(共25張課件)
- 建筑施工現(xiàn)場(chǎng)安全警示(案例)
- 《生產(chǎn)與運(yùn)作管理 第4版》課件 第1、2章 概論、需求預(yù)測(cè)與管理
評(píng)論
0/150
提交評(píng)論