模塊3 數(shù)碼管顯示接口控制_第1頁
模塊3 數(shù)碼管顯示接口控制_第2頁
模塊3 數(shù)碼管顯示接口控制_第3頁
模塊3 數(shù)碼管顯示接口控制_第4頁
模塊3 數(shù)碼管顯示接口控制_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

模塊3數(shù)碼管接口控制課題15位數(shù)碼管的串行靜態(tài)顯示控制接口控制任務(wù)1數(shù)碼管的編碼控制任務(wù)21個(gè)數(shù)碼管顯示控制任務(wù)3串行靜態(tài)顯示“89C52”任務(wù)1動(dòng)態(tài)掃描顯示“bj2008”任務(wù)2動(dòng)態(tài)顯示課題26位數(shù)碼管的動(dòng)態(tài)掃描顯示接口控制任務(wù)4串行靜態(tài)跳變顯示“000~255”數(shù)碼管顯示任務(wù)1一、數(shù)碼管的識(shí)別與測(cè)量1、數(shù)碼管的識(shí)別7段數(shù)碼管由7個(gè)長形發(fā)光二極管和1個(gè)圓形發(fā)光二極管構(gòu)成,它們的陽極(或陰極)接在一起作為公共端(COM),陰極(或陽極)各自引出作為控制端引腳dp、g、f、e、d、c、b、a(按二進(jìn)制的位權(quán)左高右低的順序排列)。(1)結(jié)構(gòu):任務(wù)11、數(shù)碼管的識(shí)別(2)分類:公共端是陽極的數(shù)碼管稱為共陽極數(shù)碼管,公共端是陰極的數(shù)碼管稱為共陰極數(shù)碼管。共陰極數(shù)碼管共陽極數(shù)碼管數(shù)碼管顯示任務(wù)12、數(shù)碼管的測(cè)量使用數(shù)字萬用表的PN結(jié)測(cè)試檔對(duì)數(shù)碼管中的8個(gè)發(fā)光二極管加上正向電壓,正常情況下8個(gè)發(fā)光二極管都會(huì)發(fā)光,以此可以判斷該數(shù)碼管是共陽極還是共陰極。數(shù)碼管顯示任務(wù)1二、數(shù)碼管的編碼1、數(shù)碼管的編碼方法將數(shù)碼管的公共端接上直流電源的正極(共陽極)或負(fù)極(共陰極),并通過控制各控制端高低電平可顯示如圖3-1-3所示的字符。例1:讓共陰極數(shù)碼管顯示“2”顯示字符二進(jìn)制碼HEX碼2DpgfedcbaP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.001011000數(shù)碼管顯示5BH★共陽極7段數(shù)碼管各段的數(shù)字排列表0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,

01234

567890H,88H,83H

,0C6H,0A1H,86H,8FH9ABCDEF★共陰極7段數(shù)碼管各段的數(shù)字排列表03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

01234

5678977H,7CH,39H,5EH

,79H,71HABCDEF任務(wù)1數(shù)碼管顯示任務(wù)1三、數(shù)碼管的控制參數(shù)及控制電路設(shè)計(jì)數(shù)碼管中每個(gè)發(fā)光二極管的額定參數(shù)與普通發(fā)光二極管一樣:額定電壓為3V,額定電流為10mA。1、控制參數(shù)數(shù)碼管顯示任務(wù)1單片機(jī)電源為5V,因此輸?shù)綌?shù)碼管時(shí)要進(jìn)行分壓:即在公共端(COM)接20歐電阻。一個(gè)數(shù)碼管由8個(gè)發(fā)光二極管,正好構(gòu)成一個(gè)字節(jié)的控制字,1個(gè)數(shù)碼管可由1個(gè)I/O端口(如P1口)的位來控制,但是單片機(jī)的I/O口的驅(qū)動(dòng)能力很小,不能用來直接驅(qū)動(dòng)額定電流為10mA的發(fā)光二極管,因此,需要采用具有電流放大能力的元件(如鎖存器74LS245、74LS373、74LS164、達(dá)林頓管或三極管)來驅(qū)動(dòng)。三、數(shù)碼管的控制參數(shù)及控制電路設(shè)計(jì)2、控制電路設(shè)計(jì)數(shù)碼管顯示任務(wù)1數(shù)碼管顯示1、讓一個(gè)共陰極數(shù)碼管顯示數(shù)字“8”。ABGECDF四、數(shù)碼管顯示例子任務(wù)1

ORG0000HLJMPSTARTORG0030HSTART:MOVP0,#80HSETBP2.0LJMP$END參考程序數(shù)碼管顯示任務(wù)1數(shù)碼管顯示2、讓一個(gè)共陰極數(shù)碼管循環(huán)顯示字符“0~F”。四、數(shù)碼管顯示例子ABGECDF任務(wù)1數(shù)碼管顯示格式:

段碼表頭標(biāo)號(hào):DBdata,data,dataDBdata,data,data☆新指令剖析1、制表指令DB功能:將程序?qū)懭雴纹瑱C(jī)的程序存儲(chǔ)器(ROM)時(shí),在ROM中開辟一空間存儲(chǔ)一些程序運(yùn)行時(shí)所需要的數(shù)據(jù)。這些常數(shù)都是單字節(jié)常數(shù)。⊙段碼表一般放在結(jié)束指令的前面。例1:將共陰極數(shù)碼管顯示“0-F”的斷碼存入單片機(jī)的ROM中。任務(wù)1數(shù)碼管顯示☆新指令剖析SEGTAB:;段碼表

DB03FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,BDB39H,5EH,79H,71H;C,D,E,F(xiàn)ROM地址SEGTAB+0SEGTAB+1SEGTAB+2SEGTAB+3SEGTAB+4SEGTAB+5所存數(shù)據(jù)03FH06H5BH4FH66H6DHROM地址SEGTAB+6SEGTAB+7SEGTAB+8SEGTAB+9SEGTAB+10SEGTAB+11所存數(shù)據(jù)7DH07H7FH6FH77H7CHROM地址SEGTAB+12SEGTAB+13SEGTAB+14SEGTAB+15所存數(shù)據(jù)39H5EH79H71H任務(wù)1數(shù)碼管顯示☆新指令剖析格式:

MOVA,#data

MOVDPTR,#段碼表頭標(biāo)號(hào)MOVCA,@A+DPTR2、查表指令MOVC功能:將以上制表指令在ROM中產(chǎn)生的常數(shù)取出,需借用此指令和數(shù)據(jù)指針寄存器“DPTR”⊙查出表格中第“data+1”個(gè)數(shù)據(jù)。例2:用查表指令查出段碼表SEGTAB中數(shù)據(jù)“6FH”,并傳送到寄存器R0中。SEGTAB:;段碼表

DB03FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,BDB39H,5EH,79H,71H;C,D,E,F(xiàn)任務(wù)1數(shù)碼管顯示☆新指令剖析參考答案:

MOVA,#9

MOVDPTR,#SEGTABMOVCA,@A+DPTRMOVR0,A

MOVA,#3MOVDPTR,#TABLEMOVCA,@A+DPTRTABLE:DB08H,0C5H,0B0H,45H,60H,4FHDB6FH,03CHEND問:執(zhí)行完此程序后,A=()任務(wù)1數(shù)碼管顯示☆練習(xí)任務(wù)1數(shù)碼管顯示☆新指令剖析3、比較不相等轉(zhuǎn)移指令CJNE格式:

CJNEA,#data,relCJNEA,direct,relCJNE@Ri,#data,relCJNERn,#data,rel功能:比較兩個(gè)字節(jié)中的值,若兩個(gè)字節(jié)中的值不相等,則轉(zhuǎn)移。3、比較不相等轉(zhuǎn)移指令CJNE⊙注意:具有比較和判斷雙重功能,可產(chǎn)生3個(gè)分支程序,即相等分支、大于分支、小于分支任務(wù)1數(shù)碼管顯示☆新指令剖析不相等情況下,若第一操作數(shù)內(nèi)容小于第二操作數(shù)內(nèi)容,則(CY)=1,否則(CY)=0.例4:若(R2)=60H,問執(zhí)行完指令CJNER2,#68H,DL0后,(CY)=()。任務(wù)1數(shù)碼管顯示☆新指令剖析例3:試寫出以下指令的執(zhí)行結(jié)果:

MOVR0,#0DL0:INCR0CJNER0,#6,DL0LJMP$結(jié)果:(R0)=()例2:讓一個(gè)共陰極數(shù)碼管循環(huán)顯示字符“0~F”。任務(wù)1數(shù)碼管顯示1、制段碼表SEGTAB:;段碼表

DB03FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB39H,5EH,79H,71H任務(wù)1數(shù)碼管顯示MOVR1,#0MOVDPTR,#SEGTABMOVA,R1MOVCA,@A+DPTRMOVP0,ASETBP2.0INCR1LCALLDELAYCJNER1,#16,DISPLJMPSTART2、程序流程圖DISPSTARTORG0000HLJMPSTARTORG0030HORG0000HLJMPSTARTORG0030H

START:MOVR1,#0MOVDPTR,#SEGTABDISP:MOVA,R1MOVCA,@A+DPTRMOVP0,ASETBP2.0INCR1LCALLDELAYCJNER1,#16,DISPLJMPSTARTDELAY:......(略)SEGTAB:;段碼表

DB03FH,06H,5BH,4FH,66H,6DH,7DH,07H,

DB7FH,6FH,77H,7CH,39H,5EH,79H,71HEND格式:

段碼表頭標(biāo)號(hào):DBdata,data,dataDBdata,data,data1、制表指令DB數(shù)碼管顯示課前復(fù)習(xí)格式:

MOVA,#data

MOVDPTR,#段碼表頭標(biāo)號(hào)MOVCA,@A+DPTR2、查表指令MOVC⊙查出表格中第“data+1”個(gè)數(shù)據(jù)。3、比較不相等轉(zhuǎn)移指令CJNE格式:

CJNEA,#data,relCJNEA,direct,relCJNE@Ri,#data,relCJNERn,#data,rel數(shù)碼管顯示課前復(fù)習(xí)任務(wù)1數(shù)碼管顯示課堂練習(xí)1、將以下數(shù)據(jù):03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H存入單片機(jī)的ROM中(即編制成程序表格,要求表頭為TABLE)。2、編寫程序,查出以上表格中的第8個(gè)數(shù)據(jù),并傳送到寄存器B中。3、試寫出以下指令的執(zhí)行結(jié)果:

MOVR0,#12DL0:DECR0CJNER0,#6,DL0LJMP$結(jié)果:(R0)=()任務(wù)1數(shù)碼管顯示課堂練習(xí)數(shù)碼管顯示課堂練習(xí)4、讓一個(gè)共陰極數(shù)碼管循環(huán)顯示字符“1-9”,試在例題程序的基礎(chǔ)上做修改,完成此功能。5、讓一個(gè)共陰極數(shù)碼管循環(huán)顯示字符“F-1”,試在例題程序的基礎(chǔ)上做修改,完成此功能。任務(wù)2例1:采用AT89C51單片機(jī)的2位I/O口來控制下圖所示的串行靜態(tài)顯示電路,將5位“89C52”的斷碼通過串行方式輸出到5片移位寄存器的輸出端鎖存,并由5位數(shù)碼管顯示。數(shù)碼管顯示應(yīng)用舉例任務(wù)2數(shù)碼管顯示一、硬件電路由單片機(jī)最小應(yīng)用系統(tǒng)、5個(gè)由串行輸入并行輸出的74LS164鎖存器驅(qū)動(dòng)的共陰極數(shù)碼管組成。數(shù)據(jù)輸入口為“Din”,并將它接到單片機(jī)的P3.0口,移位脈沖輸入“CLK”接到單片機(jī)的P3.1口。1、硬件電路的組成任務(wù)2數(shù)碼管顯示☆8位串行輸入并行輸出移位鎖存器74LS164●1、2腳為與門輸入端“Din”,并一起作為輸入引腳;●3-6腳、10-13腳(QA-QH)為并行輸出端;●8腳“CLK”為移位脈沖輸入端,上升沿時(shí)移入一位;●9腳為清零端,低電平時(shí)并行輸出清零,一般常接高電平。(1)74LS164芯片的引腳功能●電路中的“CLK”出現(xiàn)一個(gè)移位脈沖時(shí)(即由低電平變?yōu)楦唠娖剑?,“Din”端的狀態(tài)移入到Q0,而原來Q0的狀態(tài)將移到Q1,從“Din”端輸入的狀態(tài)就逐位從Q0到Q7,這樣移位8次后74LS164芯片的Q0-Q7的狀態(tài)與單片機(jī)輸出端的數(shù)據(jù)狀態(tài)是一致的。任務(wù)2數(shù)碼管顯示☆8位串行輸入并行輸出移位鎖存器74LS164(2)74LS164芯片的數(shù)據(jù)傳送原理●多個(gè)74LS164進(jìn)行連接時(shí),前一個(gè)寄存器的第13腳(Q7)連接到下一個(gè)寄存器的“Din”腳。這樣再移位8次后前一個(gè)74LS164芯片的Q0-Q7的狀態(tài)則移位到下一個(gè)74LS164芯片的Q0-Q7中,而前一個(gè)74LS164芯片的Q0-Q7的狀態(tài)則與當(dāng)前單片機(jī)輸出端的數(shù)據(jù)狀態(tài)是一致的?!?位串行輸入并行輸出移位鎖存器74LS164(2)74LS164芯片的數(shù)據(jù)傳送原理任務(wù)2數(shù)碼管顯示●若要使這5位數(shù)碼管從左至右顯示5位段碼字符,先將要顯示的“89C52”編成共陰極段碼“5BH、6DH、58H、6FH、7FH”,然后將這5個(gè)段碼數(shù)據(jù)按逆序逐個(gè)分8位傳送即可。如此如此移位5*8次即可將5位段碼完整地輸出到5位數(shù)碼管顯示?!?位串行輸入并行輸出移位鎖存器74LS164(2)74LS164芯片的數(shù)據(jù)傳送原理任務(wù)2數(shù)碼管顯示☆8位串行輸入并行輸出移位鎖存器74LS164(3)74LS164的數(shù)據(jù)傳送的實(shí)現(xiàn)任務(wù)2數(shù)碼管顯示●74LS164串行輸入端數(shù)據(jù)的傳送:MOVP3.0,C●移位脈沖實(shí)現(xiàn)指令:CLRP3.1SETBP3.1任務(wù)2數(shù)碼管顯示☆新指令剖析格式:名字BIT內(nèi)部數(shù)據(jù)存儲(chǔ)器的位存儲(chǔ)單元地址●BIT偽指令功能:用來給單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器的位存儲(chǔ)單元定義一個(gè)名字例:DINBITP3.0CLKBITP3.1任務(wù)2數(shù)碼管顯示一、程序設(shè)計(jì)1、程序流程圖主程序顯示子程序

ORG0000HLJMPSTARTORG0030HSTART:MOV40H,#5BH;“2”的段碼MOV41H,#6DH;“5”的段碼

MOV42H,#58H;“C”的段碼MOV43H,#6FH;“9”的段碼MOV44H,#7FH;“8”的段碼LCALLDISPLJMP$任務(wù)2數(shù)碼管顯示一、程序設(shè)計(jì)2、源程序設(shè)計(jì)DISP:MOVR0,#40HMOVR1,#5DP0:MOVR2,#8MOVA,@R0DP1:RLCAMOVP3.0,CCLRP3.1SETBP3.1DJNZR2,DP1INCR0DJNZR1,DP0RETDP0DP1ORG0000HLJMPSTARTORG0030HSTART:MOV40H,#5BH;“2”的段碼MOV41H,#6DH;“5”的段碼

MOV42H,#58H;“C”的段碼MOV43H,#6FH;“9”的段碼MOV44H,#7FH;“8”的段碼LCALLDISPLJMP$DISP:MOVR0,#40HMOVR1,#5DP0:MOVR2,#8MOVA,@R0DP1:RLCAMOVP3.0,CCLRP3.1SETBP3.1DJNZR2,DP1INCR0DJNZR1,DP0RETEND任務(wù)2數(shù)碼管顯示DBUFEQU30HTEMPEQU40HDINBITP3.0CLKBITP3.1

ORG0000HLJMPSTARTORG0030H

START:LCALLCRSJLCALLQDMLCALLDISPSJMP$DBUFEQU30HTEMPEQU40HDINBITP3.0CLKBITP3.1

ORG0000HLJMPSTARTORG0030H

START:LCALLCRSJLCALLQDMLCALLDISPSJMP$CRSJ:MOV30H,#2HMOV31H,#5HMOV32H,#0CHMOV33H,#9HMOV34H,#8HRETQDM:MOVR0,#DBUFMOVR1,#TEMPMOVR2,#5QDM1:MOVDPTR,#SEGTABMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR1INCR0DJNZR2,QDM1RETDISP:MOVR0,#40HMOVR1,#5DP0:MOVR2,#8HMOVA,@R0DP1:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR2,DP1INCR0DJNZR1,DP0RET

DBUFEQU30HTEMPEQU40HDINBITP3.0CLKBITP3.1ORG0000HLJMPSTARTORG0030H

START:LCALLCRSJLCALLQDMLCALLDISPSJMP$CRSJ:MOV30H,#2HMOV31H,#5HMOV32H,#0CHMOV33H,#9HMOV34H,#8HRETQDM:MOVR0,#DBUFMOVR1,#TEMPMOVR2,#5QDM1:MOVDPTR,#SEGTABMOVA,@R0MOVCA,@A+DPTRMOV@R1,AINCR1INCR0DJNZR2,QDM1RETDISP:MOVR0,#40HMOVR1,#5DP0:MOVR2,#8HMOVA,@R0DP1:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR2,DP1INCR0DJNZR1,DP0RETSEGTAB:;段碼表DB03FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB39H,5EH,79H,71HEND用工作于最小應(yīng)用系統(tǒng)的AT89C51單片機(jī)的P1口來控制動(dòng)態(tài)掃描電路中的段碼借口,P0口來控制動(dòng)態(tài)掃描顯示電路中的位碼接口,讓6位數(shù)碼管顯示“bj2008”字符。動(dòng)態(tài)掃描應(yīng)用舉例顯示數(shù)據(jù)段碼表SEGTAB:DB03FH,06H,5BH,4FH,66H,6DH

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論