版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)并行擴(kuò)展技術(shù)重點(diǎn)講述編址方法,以及ROM、RAM、I/O擴(kuò)展的硬件電路,并在鍵盤和顯示的內(nèi)容上給出實(shí)際編程案例。單片機(jī)并行擴(kuò)展技術(shù)單片機(jī)的最小系統(tǒng)7.1總線擴(kuò)展及編址方法7.2存儲器的擴(kuò)展7.3并行IO口的應(yīng)用7.47.1單片機(jī)的最小系統(tǒng)最小系統(tǒng):是指能維持單片機(jī)運(yùn)行的最簡單配置的系統(tǒng)。7.1.180C51/89C51最小應(yīng)用系統(tǒng)7.1單片機(jī)的最小系統(tǒng)7.1.28031最小應(yīng)用系統(tǒng)7.2總線擴(kuò)展及編址方法7.2.1MCS-51單片機(jī)外總線結(jié)構(gòu)7.2總線擴(kuò)展及編址方法1.地址總線寬度為16位,尋址范圍216=64KB高8位地址由P2口提供,低8位地址由P0口提供P0口為數(shù)據(jù)/地址分時復(fù)用,ALE的下降沿將P0口輸出的地址鎖存入鎖存器中。2.數(shù)據(jù)總線由P0口提供,其寬度為8位。7.2總線擴(kuò)展及編址方法3.控制總線EA:內(nèi)部和外部程序存儲器的選擇控制信號,電平高低由用戶決定;EA=0:只訪問外部程序存儲器;EA=1:地址低于1000H時,訪問內(nèi)部ROM,否則,訪問外部ROMALE:地址鎖存允許信號;PSEN:外部程序存儲器讀信號。WR:外部數(shù)據(jù)存儲器寫信號,執(zhí)行MOVX指令時自動產(chǎn)生。RD:外部數(shù)據(jù)存儲器讀信號,執(zhí)行MOVX指令時自動產(chǎn)生。7.2總線擴(kuò)展及編址方法7.2.2MCS-51單片機(jī)的擴(kuò)展能力片外可擴(kuò)展的程序存儲器最大容量為64KB,范圍:0000H~FFFFH。片外可擴(kuò)展的數(shù)據(jù)存儲器最大容量為64KB,范圍:0000H~FFFFH。為了配置外圍設(shè)備而需要擴(kuò)展的I/O口與片外數(shù)據(jù)存儲器統(tǒng)一編址,不再另外提供地址線。
7.2總線擴(kuò)展及編址方法7.2.3地址譯碼方式
CPU發(fā)出的地址信號必須實(shí)現(xiàn)兩種選擇:首先對存儲器芯片的選擇,使相關(guān)芯片的片選端為有效,這稱為片選。然后在選中的芯片內(nèi)部再選擇某一存儲單元,這稱為字選。連接方法:存儲器芯片的地址線和單片機(jī)的地址總線中的若干條低位地址線對應(yīng)相連,其余的地址線(通常是P2口的高位地址)通過地址譯碼來產(chǎn)生外部存儲器芯片的片選信號。7.2總線擴(kuò)展及編址方法1.線選法:將多余的高位地址線中單獨(dú)的一根直接接到存儲器芯片使能端上。7.2總線擴(kuò)展及編址方法地址P2.7A15P2.6A14P2.5A13P2.4A12P2.3A11P2.2A10P2.1A9P2.0A8P0.7A7P0.6A6P0.5A5P0.4A4P0.3A3P0.2A2P0.1A1P0.0A02764(1)××110001010101010101010101010101首址末址2764(2)××001101010101010101010101010101首址末址6264(1)11110001010101010101010101010101首址末址6264(2)11001101010101010101010101010101首址末址8255001111××××××××××××××××××××××0101首址末址編址方法對存儲空間的使用是斷續(xù)的,不能充分有效地利用存儲空間,且擴(kuò)充存儲容量受限7.2總線擴(kuò)展及編址方法2.譯碼法:使用譯碼器對系統(tǒng)的高位地址進(jìn)行譯碼,譯碼輸出作為存儲芯片的片選信號。(1)完全譯碼法——地址譯碼器使用了全部高位地址線,地址與存儲單元一一對應(yīng)。(2)部分譯碼法——地址譯碼器僅對余下高位地址線的一部分進(jìn)行譯碼,地址重疊7.3存儲器的擴(kuò)展7.3.1EPROM程序存儲器的擴(kuò)展1.EPROM芯片A0~Ai:地址線(不同容量芯片的地址線數(shù)目不同);D0~D7:8位輸出數(shù)據(jù)線;CE:片選端;OE:輸出允許;Vpp:編程電壓;PGM:編程脈沖輸入。7.3存儲器的擴(kuò)展7.3存儲器的擴(kuò)展2.EPROM基本擴(kuò)展法7.3存儲器的擴(kuò)展【例7-1】用兩片2764EPROM芯片為803l單片機(jī)擴(kuò)展16KB的程序存儲器,試畫出線路連接圖。將2片2764芯片低8位地址線A0~A7都通過地址鎖存器與8031的P0口的P0.0~P0.7相連,高5位地址線A8~A12直接和P2口的P2.0~P2.4相連(片內(nèi)尋址)。2片2764的數(shù)據(jù)線D0~D7都直接接到P0口,作為數(shù)據(jù)總線。PSEN與2片2764的OE端直連剩余高地址線通過線選法或譯碼產(chǎn)生2片2764的片選信號連接方法:
7.3存儲器的擴(kuò)展7.3存儲器的擴(kuò)展部分譯碼方式和線選法一樣同樣浪費(fèi)地址空間,出現(xiàn)地址重疊的情況。7.3存儲器的擴(kuò)展3.片外ROM操作時序片內(nèi)片外ROM讀(產(chǎn)生PSEN信號)片外片外ROM選擇,用EA。片外ROM最大容量64K。讀外部ROM時序。7.3存儲器的擴(kuò)展7.3.3數(shù)據(jù)存儲器及其擴(kuò)展1.RAM芯片簡介A0~A12:13位地址線。D0~D7:8位輸出/輸人數(shù)據(jù)線。CE1,CE2:片選端。OE:輸出允許。WE:寫允許信號。Vcc、Vss:+5V電源和接地端。7.3存儲器的擴(kuò)展7.3存儲器的擴(kuò)展2.外部數(shù)據(jù)存儲器的擴(kuò)展方法7.3存儲器的擴(kuò)展【例7-2】用三片6264芯片為MCS-51單片機(jī)擴(kuò)展24KB的外部數(shù)據(jù)存儲器,分別采用線選法、部分譯碼法和全譯碼法來實(shí)現(xiàn),并給出各芯片的地址范圍,譯碼芯片不限。連接方法:
將3片6264芯片低8位地址線A0~A7都通過地址鎖存器與8031的P0口的P0.0~P0.7相連,高5位地址線A8~A12直接和P2口的P2.0~P2.4相連(片內(nèi)尋址)。3片6264的數(shù)據(jù)線D0~D7都直接接到P0口,作為數(shù)據(jù)總線。RD與3片6264的OE端相連,WR與3片6264的WE端相連剩余高地址線通過線選法或譯碼產(chǎn)生3片6264的片選信號7.3存儲器的擴(kuò)展7.3存儲器的擴(kuò)展線選法:P2.5=0、P2.6=1和P2.7=1時,選中第一個RAM,地址范圍為:0C000H~0DFFFHP2.5=1、P2.6=0和P2.7=1時,選中第二個RAM,地址范圍為:0A000H~0BFFFHP2.5=1、P2.6=1和P2.7=0時,選中第三個RAM。地址范圍為:06000H~07FFFH顯然,用線選法會使存儲空間不連續(xù),同時不能充分有效地利用存儲空間,擴(kuò)充存儲容量受限。7.3存儲器的擴(kuò)展部分譯碼法:用P2.6~P2.7與2-4譯碼器直連,我們用其中的三個輸出信號(假設(shè)為Y0、Y1、Y2)與三片存儲器的/CE端相連,則:第一個RAM的地址范圍為:0000H~1FFFH和2000H~3FFFH第二個RAM的地址范圍為:4000H~5FFFH和6000H~7FFFH第三個RAM的地址范圍為:8000H~9FFFH和A000H~BFFFH每個芯片占用了16K的地址空間,而每個芯片實(shí)際的容量是8K,原因是地址線P2.5沒有參與譯碼,這種部分譯碼方式也存在地址空間浪費(fèi)的情況。7.3存儲器的擴(kuò)展譯碼器換成74LS138,則A13(P2.5)也參與了譯碼,這種全譯碼(所有剩余高地址線都參與譯碼)方式不存在地址空間浪費(fèi)。3.讀操作時序【例】若(DPTR)=2030H,片外RAM單元2030H內(nèi)容為55H,指令MOVXA,@DPTR(該指令代碼為E0H)所在片外ROM的地址為2314H。
7.3存儲器的擴(kuò)展4.寫操作時序【例】若(DPTR)=1040H,(A)=88H,指令MOVX@DPTR,A(該指令代碼為F0H)所在片外ROM的地址為2218H。
7.3存儲器的擴(kuò)展例:請擴(kuò)展1片8KB的RAM和1片8KB的EPROM,并分別寫出2個芯片的地址空間。7.3存儲器的擴(kuò)展7.4并行口擴(kuò)展MCS-51系列單片機(jī)的外部RAM和I/O口是統(tǒng)一編址的,單片機(jī)就可以像訪問外部RAM存儲器那樣訪問外部接口芯片。7.4.1I/O口的簡單擴(kuò)展【例7-3】編寫一段程序,功能是按下任意鍵,使對應(yīng)的LED發(fā)光。7.4并行口擴(kuò)展 ORG0000 LJMPSTART ORG1000HSTART:MOVDPTR,#0FEFFHMOVXA,@DPTR;通過74LS244讀開關(guān)狀態(tài)
MOVX@DPTR,A;通過74LS273控制燈亮滅
LJMPSTATREND分析:74LS244是8路緩沖線驅(qū)動器(三態(tài)輸出),G1、G2為低電平時,信息輸入到P0口的數(shù)據(jù)總線上,G1、G2為高電平時,呈現(xiàn)高阻狀態(tài)。74LS273是8D觸發(fā)器,CP下降沿將P0口輸出的數(shù)據(jù)鎖存到輸出端。7.4并行口擴(kuò)展7.4.2LED顯示接口1.LED數(shù)碼管顯示器的結(jié)構(gòu)共陽極:8個發(fā)光二極管的陽極全部連接在一起組成公共端,8個發(fā)光二極管的陰極則單獨(dú)引出。共陰極:8個發(fā)光二極管的陰極全部連接在一起組成公共端,8個發(fā)光二極管的陽極則單獨(dú)引出。7.4并行口擴(kuò)展2.LED數(shù)碼管驅(qū)動方法(1)靜態(tài)顯示法當(dāng)顯示器顯示某一個字符時,相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止。占用硬件多,一般用于顯示器位數(shù)較小的場合。
7.4并行口擴(kuò)展【例7-4】試將RAM緩沖區(qū)40H、41H中的單BCD碼通過74LS164并行輸出并顯示到兩位LED數(shù)碼管,如圖所示。假設(shè)LED數(shù)碼管是共陽的。7.4并行口擴(kuò)展
ORG0000H MOVR7,#02H MOVR0,#40HLOOP:
MOVA,@R0MOVDPTR,#TAB MOVCA,@A+DPTR MOV@R0,A INCR0DJNZR7,LOOP MOVR7,#02HMOVR0,#40H SETBP1.0LCALLDISPCLRP1.0LJMP$
DISP: NOP MOVSCON,#00HSEND: MOVA,@R0MOVSBUF,A WAIT: JNBTI,WAITCLRTIINCR0DJNZR7,SEND RETTAB: DB0C0H,0F9H,0A4H,DB0B0H,99H,92H,
DB82H,0F8H,80H,90H END7.4并行口擴(kuò)展(2)動態(tài)顯示法一位一位地輪流點(diǎn)亮各位顯示器,對于每一位顯示器來說,每隔一段時間點(diǎn)亮一次,調(diào)整電流和顯示時間間隔,可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。7.4并行口擴(kuò)展【例7-5】下圖為用單片機(jī)P2口和P1口構(gòu)成的動態(tài)顯示的電路,共有6個共陽極LED數(shù)碼顯示器,P2口為字段口,輸出字形碼,P2.0~P2.7分別與“a、b、c、d、e、f、g、dp”對應(yīng)相連,P1口為字位口,輸出位碼。編寫程序,使下圖的動態(tài)掃描顯示電路從左到右顯示1、2、3、4、5、6共6個字符,設(shè)晶振頻率12MHz。7.4并行口擴(kuò)展分析:在第一時刻從P2口輸出1的字形碼,從P1口輸出00100000(20H),使最左邊的LED點(diǎn)亮;延時一段時間后,從P2口輸出2的字形碼,從P1口輸出00010000B(10H),使左邊第二個LED點(diǎn)亮;依次循環(huán)......最后從P2口輸出6的字形碼,從P1口輸出0000001B(01H),使最右邊的LED點(diǎn)亮。再回過頭從左邊第一個開始。獲取字形碼采用查表方式,將字形碼以表格的形式按順序存儲到ROM當(dāng)中,將表格首地址取到DPTR中,將要顯示的數(shù)字送給累加器A,執(zhí)行“MOVCA,@A+DPTR”指令獲取字形碼。7.4并行口擴(kuò)展參考程序1:
ORG0000HSTART:MOVR0,#06HMOVR1,#00HMOVR2,#20HDISP:MOVDPTR,#TABMOVA,R1MOVCA,@A+DPTR
INCR1MOVP2,A
MOVA,R2MOVP1,ARRAMOVR2,ALCALLDELAY
DJNZR0,DISPLJMPSTARTTAB:DB0F9H,0A4H,0B0H,
DB99H,92H,82HDELAY:MOVR7,#40;若延時10msDEL1:MOVR6,#123NOPDJNZR6,$DJNZR7,DEL1RETEND7.4并行口擴(kuò)展參考程序2:
ORG0000H LJMP START ORG000BH LJMP TIMESTART: MOVR0,#06H MOVR1,#00H MOVR2,#20H MOVTMOD,#01H MOVTL0,#3CH MOVTH0,#0F6H SETBET0 SETB EA SETB TR0 LJMP $TIME: MOVDPTR,#TAB MOVA,R1 MOVCA,@A+DPTR INCR1 MOVP2,A MOVA,R2 MOVP1,A RRA MOVR2,A DJNZR0,T10 MOVR0,#06H MOVR1,#00H MOVR2,#20HT10: MOVTL0,#3CH MOVTH0,#0F6H RETITAB: DB0F9H,0A4H,0B0H,99H,
DB92H,82HEND7.4并行口擴(kuò)展7.4.3鍵盤接口1.非編碼鍵盤的設(shè)計(jì)必須解決以下問題:(1)判定是否有鍵按下。(2)若有鍵按下,判定是哪個鍵按下,確定被按鍵的“鍵值”。(3)除抖動。(4)準(zhǔn)確得出按鍵值(或鍵號),以滿足跳轉(zhuǎn)指令要求。(5)同一按鍵長時間持續(xù)按下。(6)處理同時按鍵。7.4并行口擴(kuò)展2.單片機(jī)對非編碼鍵盤的控制方式(1)程序查詢方式
CPU時刻處于鍵盤檢測狀態(tài),不能干別的事情,效率低下,很少用。
(2)定時掃描方式在定時中斷中,調(diào)用鍵盤掃描子程序,查詢按鍵狀態(tài),此方法常用。(3)中斷掃描方式當(dāng)鍵盤有鍵閉合時產(chǎn)生中斷請求,CPU響應(yīng)中斷,執(zhí)行服務(wù)程序,判斷鍵號,做相應(yīng)處理,效率最高。7.4并行口擴(kuò)展3.獨(dú)立式按鍵接口電路軟件結(jié)構(gòu)簡單,適用于應(yīng)用系統(tǒng)中的鍵較少的場合?!纠?-6】根據(jù)圖7-22表示的獨(dú)立式按鍵電路,給出查詢方式的鍵盤處理子程序。7.4并行口擴(kuò)展參考程序1:RDKEY:MOV P3,#0FFH
MOV A,P3 JNB ACC.4,S4 JNB ACC.5,S5 JNB ACC.6,S6 JNB ACC.7,S7 DONE:RETS4: LJMP PROM4S5: LJMP PROM5S6: LJMP PROM6S7: LJMPPROM7
PROM4:…… LJMPDONEPROM5:…… LJMPDONEPROM6:…… LJMPDONEPROM7:…… LJMPDONE7.4并行口擴(kuò)展參考程序2:RDKEY:MOVP3,#0FFH MOVA,P3 MOVB,#00H RRCA RRCA RRCA RRCARD10: RRCA JNCRD20 INCB LJMPRD10RD20: MOVA,#03H MULAB MOVDPTR,#TAB JMP@A+DPTRDONE: RETTAB: LJMPPROM4 LJMPPROM5 LJMPPROM6 LJMPPROM7PROM4:…… LJMPDONEPROM5:…… LJMPDONEPROM6:…… LJMPDONEPROM7: …… LJMPDONE7.4并行口擴(kuò)展4.矩陣式鍵盤鍵盤掃描程序應(yīng)包括以下內(nèi)容:檢測當(dāng)前是否有鍵按下有鍵閉合時,消除抖動。依次給每一條行線送出0信號,其余各行線均為1,并相繼檢測每一次掃描時所對應(yīng)的列狀態(tài)。若各列全為1,表示為0的這一行上沒有鍵閉合;否則為0的這一行上有鍵閉合,且閉合鍵所在的列就是列狀態(tài)為0的列。判斷閉合鍵是否釋放,如沒釋放繼續(xù)等待。用查表法或計(jì)算法得到鍵值,送A然后轉(zhuǎn)向相應(yīng)的處理程序。7.4并行口擴(kuò)展【例7-7】如圖所示矩陣式鍵盤,編寫鍵值獲取子程序,規(guī)定:S1~S16鍵對應(yīng)的鍵值為0~15,如果有鍵按下,鍵值存入A,以便用散轉(zhuǎn)指令轉(zhuǎn)移到不同的處理程序上去。如果沒有鍵按下,則A中的值為FFH。7.4并行口擴(kuò)展KEYP:MOVP3,#0F0HMOVA,P3ANLA,#0F0HCJNEA,#0F0H,L0
LJMPDONEL0:LCALLDELAY;延時
MOVA,P3ANLA,#0F0HCJNEA,#0F0H,L1
LJMPDONEL1:MOVR2,#04H
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院建筑暖通系統(tǒng)施工實(shí)施方案
- 《分?jǐn)?shù)微積分理論在車輛底盤控制中的應(yīng)用研究》
- 《基于BIM技術(shù)的某混合結(jié)構(gòu)施工碰撞檢測和優(yōu)化研究》
- 造價員-基礎(chǔ)知識-精講班-第4章
- 《《哲學(xué)與文化》教學(xué)中學(xué)生科學(xué)精神培育研究》
- 《Ni-Zn鐵氧體基材料的制備及其磁性能和介電行為研究》
- 2024年華東師大版四年級語文上冊月考試卷
- 2024年外研版九年級生物下冊階段測試試卷
- 2024年滬教版七年級生物上冊階段測試試卷
- 2024年北師大版八年級生物上冊階段測試試卷
- 柜式七氟丙烷氣體滅火系統(tǒng)安裝與綜合項(xiàng)目施工專項(xiàng)方案
- (正式版)JBT 14587-2024 膠體鉛酸蓄電池 技術(shù)規(guī)范
- 小學(xué)生作文方格紙
- 小區(qū)內(nèi)命案防控應(yīng)急預(yù)案
- 2024年內(nèi)蒙古交通集團(tuán)興安分公司招聘筆試參考題庫附帶答案詳解
- 臨電施工方案與施工組織設(shè)計(jì)
- “牢固樹立法紀(jì)意識,強(qiáng)化責(zé)任擔(dān)當(dāng)”心得體會模板(3篇)
- (2024年)質(zhì)量管理體系
- (高清版)TDT 1053-2017 農(nóng)用地質(zhì)量分等數(shù)據(jù)庫標(biāo)準(zhǔn)
- 大學(xué)生職業(yè)生涯規(guī)劃大賽醫(yī)學(xué)檢驗(yàn)技術(shù)專業(yè)成長賽道
- 聯(lián)合辦公協(xié)議書范本
評論
0/150
提交評論