版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)義務(wù)學(xué)習(xí)義務(wù)3 LED數(shù)碼管顯示接口及編程方法學(xué)習(xí)數(shù)碼管顯示接口及編程方法學(xué)習(xí) 學(xué)習(xí)內(nèi)容學(xué)習(xí)內(nèi)容LED數(shù)碼顯示器的構(gòu)造數(shù)碼顯示器的構(gòu)造LED數(shù)碼顯示器的顯示編碼原理數(shù)碼顯示器的顯示編碼原理單片機(jī)與單片機(jī)與LED數(shù)碼顯示器接口和編程數(shù)碼顯示器接口和編程學(xué)習(xí)目的學(xué)習(xí)目的了解了解LED數(shù)碼顯示器的構(gòu)造數(shù)碼顯示器的構(gòu)造掌握掌握LED數(shù)碼顯示器的顯示編碼原理數(shù)碼顯示器的顯示編碼原理學(xué)會單片機(jī)與學(xué)會單片機(jī)與LED數(shù)碼顯示器接口和編程方法數(shù)碼顯示器接口和編程方法一、一、 LED數(shù)碼顯示器的構(gòu)造數(shù)碼顯示器的構(gòu)造 LED數(shù)碼顯示器是數(shù)碼顯示器是1種由種由LED發(fā)光二極管組合顯示字符的發(fā)光二極管組合顯示字符的
2、顯示器件。它運(yùn)用了顯示器件。它運(yùn)用了8個(gè)個(gè)LED發(fā)光二極管,其中發(fā)光二極管,其中7個(gè)用于顯個(gè)用于顯示字符,示字符,1個(gè)用于顯示小數(shù)點(diǎn),故通常稱之為個(gè)用于顯示小數(shù)點(diǎn),故通常稱之為7段段(也有稱也有稱作作8段段)發(fā)光二極管數(shù)碼顯示器。其內(nèi)部構(gòu)造如圖發(fā)光二極管數(shù)碼顯示器。其內(nèi)部構(gòu)造如圖3-12所示。所示。 LED數(shù)碼顯示器有兩種銜接方法:數(shù)碼顯示器有兩種銜接方法: 1.共陽極接法共陽極接法 把發(fā)光二極管的陽極連在一同構(gòu)成公共陽極,運(yùn)用時(shí)公共把發(fā)光二極管的陽極連在一同構(gòu)成公共陽極,運(yùn)用時(shí)公共陽極接電源正端陽極接電源正端,每個(gè)發(fā)光二極管的陰極經(jīng)過電阻與輸入每個(gè)發(fā)光二極管的陰極經(jīng)過電阻與輸入端相連。端相連
3、。 2.共陰極接法共陰極接法 把發(fā)光二極管的陰極連在一同構(gòu)成公共陰極,運(yùn)用時(shí)公共把發(fā)光二極管的陰極連在一同構(gòu)成公共陰極,運(yùn)用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極經(jīng)過電阻與輸入端相連。陰極接地。每個(gè)發(fā)光二極管的陽極經(jīng)過電阻與輸入端相連。二、二、 LED數(shù)碼顯示器的顯示段碼數(shù)碼顯示器的顯示段碼 為了顯示字符,要為為了顯示字符,要為LED顯示器提供顯示段碼顯示器提供顯示段碼(或稱字形或稱字形代碼代碼),組成一個(gè),組成一個(gè)“8字形字符的字形字符的7段,再加上段,再加上1個(gè)小數(shù)點(diǎn)個(gè)小數(shù)點(diǎn)位,合計(jì)位,合計(jì)8段,因此提供應(yīng)段,因此提供應(yīng)LED顯示器的顯示段碼為顯示器的顯示段碼為1個(gè)字個(gè)字節(jié)。各段碼位的對應(yīng)關(guān)
4、系如下:節(jié)。各段碼位的對應(yīng)關(guān)系如下:二、二、 LED數(shù)碼顯示器的顯示段碼數(shù)碼顯示器的顯示段碼 十六進(jìn)制數(shù)的顯示段碼十六進(jìn)制數(shù)的顯示段碼 三、三、 LED數(shù)碼顯示器的顯示方法數(shù)碼顯示器的顯示方法 LED數(shù)碼顯示器的顯示方法有靜態(tài)顯示和動態(tài)顯數(shù)碼顯示器的顯示方法有靜態(tài)顯示和動態(tài)顯示兩種。示兩種。 1.靜態(tài)顯示靜態(tài)顯示 所謂靜態(tài)顯示,就是在同一時(shí)辰只顯示所謂靜態(tài)顯示,就是在同一時(shí)辰只顯示1種字符,種字符,或者說被顯示的字符在同一時(shí)辰是穩(wěn)定不變的?;蛘哒f被顯示的字符在同一時(shí)辰是穩(wěn)定不變的。其顯示方法比較簡單,普通由一個(gè)其顯示方法比較簡單,普通由一個(gè)8位口銜接一位口銜接一位顯示的字型控制端,只需將顯示段
5、碼送至段碼位顯示的字型控制端,只需將顯示段碼送至段碼口,并把位控固定銜接即可???,并把位控固定銜接即可。1.靜態(tài)顯示靜態(tài)顯示 例例3-9:運(yùn)用共陰極構(gòu)造的數(shù)碼管與單片機(jī)的:運(yùn)用共陰極構(gòu)造的數(shù)碼管與單片機(jī)的P2口銜接,口銜接,如圖如圖3-13。 執(zhí)行執(zhí)行 MOV P1,#3FH這一語句可在數(shù)碼管上顯示數(shù)字這一語句可在數(shù)碼管上顯示數(shù)字1。對應(yīng)的對應(yīng)的C言語語句是言語語句是P1=0 x3F;,;,3F是是1的共陰極顯的共陰極顯示代碼,同樣方法可使其顯示其他數(shù)字或字符。示代碼,同樣方法可使其顯示其他數(shù)字或字符。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.
6、1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51PROGRAM=GG.hexR110R2120R3120
7、R4120R5120R6120R7120靜態(tài)顯示優(yōu)點(diǎn):靜態(tài)顯示優(yōu)點(diǎn):穩(wěn)定、亮度高、直穩(wěn)定、亮度高、直缺陷:占用口線多、缺陷:占用口線多、不適用于多位顯示不適用于多位顯示1.靜態(tài)顯示靜態(tài)顯示例例3-10:1位數(shù)碼管顯示。位數(shù)碼管顯示。1在上圖中的顯示器上輪番顯示數(shù)字在上圖中的顯示器上輪番顯示數(shù)字0F。匯編言語程序如下:。匯編言語程序如下:DDD:MOV R1,#00H ;第一個(gè)數(shù)字值;第一個(gè)數(shù)字值 MOV R2,#10H ;顯示數(shù)字的個(gè)數(shù)設(shè)置;顯示數(shù)字的個(gè)數(shù)設(shè)置HH: MOV A,R1 ;取要顯示的數(shù)字;取要顯示的數(shù)字 MOV DPTR,#TAB ;字型表格首地址送;字型表格首地址送DPTR M
8、OVC A,A+DPTR ;查表,得到與;查表,得到與A中數(shù)對應(yīng)的字型代碼中數(shù)對應(yīng)的字型代碼 MOV P2,A ;送;送I/O口,靜態(tài)顯示口,靜態(tài)顯示 LCALL DEL ;延時(shí);延時(shí) INC R1 ;調(diào)整下一個(gè)要顯示的數(shù);調(diào)整下一個(gè)要顯示的數(shù) DJNZ R2,HH ;顯示計(jì)數(shù)器值減;顯示計(jì)數(shù)器值減1,未減完時(shí)進(jìn)展下一個(gè)數(shù),未減完時(shí)進(jìn)展下一個(gè)數(shù) LJMP DDD ;程序循環(huán);程序循環(huán)TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;0F的字型代碼表的字型代碼表DEL: MOV R7,#0FFH
9、;延時(shí)程序;延時(shí)程序WW: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,WW RET END1.靜態(tài)顯示靜態(tài)顯示2C言語程序:言語程序:/*聲明區(qū)聲明區(qū)*/#include#define LED P2void delayms(int);char TAB16= 0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07,0 x7f, 0 x6f, 0 x77, 0 x7c, 0 x39, 0 x5e, 0 x79, 0 x71;/*主程序主程序*/main() int i; while(1) /無限循環(huán)無限循環(huán) for(i=0;
10、i16;i+) /個(gè)數(shù)設(shè)置個(gè)數(shù)設(shè)置 LED=TABi; /字型代碼由字型代碼由LED代表的代表的P2輸出輸出 delayms(100); /延時(shí)延時(shí) /*延時(shí)函數(shù)延時(shí)函數(shù)*/void delayms(int x) int i,j; for(i=0;ix;i+) for(j=1;j=600;j+);1.靜態(tài)顯示靜態(tài)顯示 2位數(shù)碼管靜態(tài)顯示,只需將兩個(gè)位數(shù)碼管靜態(tài)顯示,只需將兩個(gè)8位位I/O口與數(shù)碼管銜接,口與數(shù)碼管銜接,分別驅(qū)動十位與個(gè)位。分別驅(qū)動十位與個(gè)位。 例例3-11:如圖:如圖3-14,在兩位數(shù)碼管上顯示,在兩位數(shù)碼管上顯示100以內(nèi)的計(jì)數(shù)以內(nèi)的計(jì)數(shù)值。值。XTAL218XTAL119A
11、LE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89
12、C51PROGRAM=1LED.HEXR1220R2220R3220R4220R5220R6220R7220R8220R9220R10220R11220R12220R13220R142201.靜態(tài)顯示靜態(tài)顯示1匯編言語程序匯編言語程序SS: MOV R2,#0 ;顯示初值;顯示初值JY : MOV A,R2 ;R2中的數(shù)送中的數(shù)送A,作為被除數(shù),作為被除數(shù)MOV B,#10 ;設(shè)置;設(shè)置B存放器中的數(shù)作除數(shù)存放器中的數(shù)作除數(shù)DIV AB ;除法運(yùn)算,用于分開數(shù)據(jù)的十位和個(gè)位;除法運(yùn)算,用于分開數(shù)據(jù)的十位和個(gè)位MOV DPTR,#TAB MOVC A,A+DPTR ;除法運(yùn)算的結(jié)果商在;除法運(yùn)算
13、的結(jié)果商在A中,為十位數(shù),查表中,為十位數(shù),查表MOV P3,A ;字型代碼由;字型代碼由P3輸出輸出MOV A,B ;除法運(yùn)算的結(jié)果余數(shù)由;除法運(yùn)算的結(jié)果余數(shù)由B送送A,MOVC A,A+DPTR ;查表;查表MOV P2,A ;個(gè)位數(shù)顯示;個(gè)位數(shù)顯示LCALL DEL ;延時(shí);延時(shí)INC R2 ;調(diào)整要顯示的數(shù);調(diào)整要顯示的數(shù)CJNE R2,#100,JY ;顯示完否,未完轉(zhuǎn)到;顯示完否,未完轉(zhuǎn)到JY語句語句LJMP SS ;循環(huán);循環(huán)DEL: MOV R7,#0FFH ;延時(shí)子程序;延時(shí)子程序LL: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,LL RET TAB: D
14、B 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END1.靜態(tài)顯示靜態(tài)顯示2C言語程序言語程序/*聲明區(qū)聲明區(qū)*/#includevoid delayms(int x);char TAB10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/*主程序主程序*/main() Int k;k=0;while(1) P3=TABk/10; /十位顯示十位顯示P2=TABk%10; /個(gè)位顯示個(gè)位顯示delayms(100); /延時(shí)延時(shí)k=k+1; /數(shù)值加數(shù)值加1if(k=100)k=0;
15、/到到100時(shí)重回時(shí)重回0/*延時(shí)函數(shù)延時(shí)函數(shù)*/void delayms(int x) int i,j; for(i=0;ix;i+) for(j=1;j=600;j+);2. 動態(tài)顯示動態(tài)顯示 實(shí)踐運(yùn)用的實(shí)踐運(yùn)用的LED數(shù)碼顯示器位數(shù)較多,為了簡化線路、降數(shù)碼顯示器位數(shù)較多,為了簡化線路、降低本錢,大多采用以軟件為主的接口方法。對于多位低本錢,大多采用以軟件為主的接口方法。對于多位LED數(shù)碼顯示器,通常采用動態(tài)掃描顯示方法,即逐個(gè)地循環(huán)數(shù)碼顯示器,通常采用動態(tài)掃描顯示方法,即逐個(gè)地循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時(shí)辰只需點(diǎn)亮各位顯示器。這樣雖然在任一時(shí)辰只需1位顯示器被位顯示器被點(diǎn)亮,但
16、是由于人眼具有視覺殘留效應(yīng),看起來與全部顯點(diǎn)亮,但是由于人眼具有視覺殘留效應(yīng),看起來與全部顯示器繼續(xù)點(diǎn)亮的效果根本一樣示器繼續(xù)點(diǎn)亮的效果根本一樣(在亮度上要有差別在亮度上要有差別),如圖,如圖3-15。 2. 動態(tài)顯示動態(tài)顯示 假設(shè)要在同一時(shí)辰顯示不同的字符,從電路上看,假設(shè)要在同一時(shí)辰顯示不同的字符,從電路上看,這是辦不到的。因此只能利用人眼對視覺的殘留這是辦不到的。因此只能利用人眼對視覺的殘留效應(yīng),采用動態(tài)掃描顯示的方法,逐個(gè)地循環(huán)點(diǎn)效應(yīng),采用動態(tài)掃描顯示的方法,逐個(gè)地循環(huán)點(diǎn)亮各位數(shù)碼管,每位顯示亮各位數(shù)碼管,每位顯示1ms左右,使人看起來左右,使人看起來就好象在同時(shí)顯示不同的字符一樣。就
17、好象在同時(shí)顯示不同的字符一樣。 在進(jìn)展動態(tài)掃描顯示時(shí),往往事先并不知道應(yīng)顯在進(jìn)展動態(tài)掃描顯示時(shí),往往事先并不知道應(yīng)顯示什么內(nèi)容,這樣也就無從選擇被顯示字符的顯示什么內(nèi)容,這樣也就無從選擇被顯示字符的顯示段碼。為此,普通采用查表的方法,由待顯示示段碼。為此,普通采用查表的方法,由待顯示的字符經(jīng)過查表得到其對應(yīng)的顯示段碼。的字符經(jīng)過查表得到其對應(yīng)的顯示段碼。2. 動態(tài)顯示動態(tài)顯示 下面引見動態(tài)掃描顯示程序編程方法。下面引見動態(tài)掃描顯示程序編程方法。 例例3-12:以下電路圖:以下電路圖3-16,共陰極數(shù)碼管銜,共陰極數(shù)碼管銜接時(shí),利用動態(tài)掃描方法在六位數(shù)碼管上顯示出接時(shí),利用動態(tài)掃描方法在六位數(shù)碼
18、管上顯示出穩(wěn)定的穩(wěn)定的123456。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014
19、P3.7/RD17P3.6/WR16P3.5/T115U180C51PROGRAM=6SMGDT.hexR1200R2200R3200R4200R5200R6200R7200R82002. 動態(tài)顯示動態(tài)顯示1匯編言語程序:匯編言語程序:DT:MOV P3,#0FFH ;每掃描一位每掃描一位前先關(guān)顯示前先關(guān)顯示MOV P2,#06H ;1的字型代碼的字型代碼由由P2口輸出口輸出MOV P3,#0FEH ;位控由位控由P3口口輸出輸出,以下每位控制左移一位以下每位控制左移一位LCALL DL ;每位顯示中短每位顯示中短暫停留暫停留MOV P3,#0FFHMOV P2,#5BHMOV P3,#0FD
20、HLCALL DLMOV P3,#0FFHMOV P2,#4FHMOV P3,#0FBHLCALL DLMOV P3,#0FFHMOV P2,#66HMOV P3,#0F7HLCALL DLMOV P3,#0FFHMOV P2,#6DHMOV P3,#0EFHLCALL DLMOV P3,#0FFHMOV P2,#7DHMOV P3,#0DFHLCALL DLLJMP DTDL: MOV R6,#0FFH ;每位停留每位停留延時(shí)延時(shí) DJNZ R6,$ RET END 2. 動態(tài)顯示動態(tài)顯示2C言語程序:言語程序:/*聲明區(qū)聲明區(qū)*/ 2. 動態(tài)顯示動態(tài)顯示#include /51單片機(jī)頭文件
21、單片機(jī)頭文件#define uint unsigned int /宏定義宏定義#define uchar unsigned char /宏定義宏定義uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77; /數(shù)碼管顯示編碼數(shù)碼管顯示編碼void delay(uint); /聲明延時(shí)函數(shù)聲明延時(shí)函數(shù)/*主程序主程序*/void main() while(1) P3=0 xff; /送位數(shù)據(jù)前封鎖一切顯示送位數(shù)據(jù)前封鎖一切顯示 P2=table1; /送段數(shù)據(jù)送段數(shù)據(jù) P3=0 xfe;
22、/位控制位控制 delay(10); /每位顯示停留一段小延時(shí)每位顯示停留一段小延時(shí),以下同以下同 P3=0 xff; P2=table2; P3=0 xfd; delay(10); P3=0 xff; P2=table3; P3=0 xfb; delay(10); P3=0 xff; P2=table4; P3=0 xf7; delay(10); P3=0 xff; P2=table5; P3=0 xef; delay(10); P3=0 xff; P2=table6; P3=0 xdf; delay(10);/*延時(shí)子函數(shù)延時(shí)子函數(shù)*/void delay(uint z) /延時(shí)子函數(shù)延時(shí)
23、子函數(shù)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); 本例顯示數(shù)據(jù)有本例顯示數(shù)據(jù)有6位,每位數(shù)碼管對應(yīng)位,每位數(shù)碼管對應(yīng)1位位有效顯示數(shù)據(jù)。在動態(tài)掃描顯示過程中,每有效顯示數(shù)據(jù)。在動態(tài)掃描顯示過程中,每位數(shù)碼管的有一個(gè)短暫的顯示時(shí)間,這由調(diào)位數(shù)碼管的有一個(gè)短暫的顯示時(shí)間,這由調(diào)用延時(shí)子程序來實(shí)現(xiàn)。用延時(shí)子程序來實(shí)現(xiàn)。2. 動態(tài)顯示動態(tài)顯示掃描中的位控制輸出可由移位方法處理,使程序更為簡化。掃描中的位控制輸出可由移位方法處理,使程序更為簡化。例例3-13 上例的簡化程序上例的簡化程序匯編言語程序匯編言語程序DT: MOV R5,#06 ;顯示位數(shù)顯示位數(shù) MOV
24、 DPTR,#TAB ;取顯示代碼表道地址取顯示代碼表道地址 MOV R2,#1 ;首個(gè)顯示數(shù)值存在首個(gè)顯示數(shù)值存在R2 MOV R3,#0FEH ;第一位的位控制輸出保管在第一位的位控制輸出保管在R3中中XG: MOV A,R2 ;取出要顯示的數(shù)值取出要顯示的數(shù)值 MOVC A,A+DPTR ;運(yùn)用查表指令找到對應(yīng)的字型代碼運(yùn)用查表指令找到對應(yīng)的字型代碼MOV P3,#0FFH ;每掃描一位前先關(guān)顯示每掃描一位前先關(guān)顯示MOV P2,A ;字型代碼由字型代碼由P2口輸出口輸出MOV P3,R3 ;位控由位控由P3口輸出口輸出,LCALL DL ;每位顯示中短暫停留每位顯示中短暫停留INC R
25、2 ;調(diào)整顯示的數(shù)值調(diào)整顯示的數(shù)值MOV A,R3RL A ;每位控制左移一位;每位控制左移一位MOV R3,A ;位控制由;位控制由R3保管保管DJNZ R5,XG ;保證顯示位數(shù)保證顯示位數(shù)LJMP DTDL: MOV R6,#0FFH ;每位停留延時(shí)每位停留延時(shí) DJNZ R6,$ RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 2. 動態(tài)顯示動態(tài)顯示C言語程序言語程序/*聲明區(qū)聲明區(qū)*/#include /52單片機(jī)頭文件單片機(jī)頭文件#define uint unsigned int /宏定義宏定義#define ucha
26、r unsigned char /宏定義宏定義uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /數(shù)碼管顯示編碼數(shù)碼管顯示編碼void delay(uint);/*主程序主程序*/void main()uchar i,wei; while(1) wei=0 xfe; /位控初始值位控初始值 for(i=1;i7;i+) /共共6位位P3=0 xff; /送位數(shù)據(jù)前封鎖一切顯示送位數(shù)據(jù)前封鎖一切顯示 P2=tablei; /送字型代碼送字型代碼P3=wei; /送段數(shù)據(jù)送段數(shù)據(jù) wei=(w
27、ei0;x-) for(y=110;y0;y-); 2. 動態(tài)顯示動態(tài)顯示 例例3-14:六位數(shù)碼管顯示:六位數(shù)碼管顯示 匯編言語編程。匯編言語編程。 內(nèi)存內(nèi)存30H、31H、32H中的小于中的小于100的數(shù)依次在六的數(shù)依次在六位數(shù)碼管上顯示。位數(shù)碼管上顯示。 要顯示十進(jìn)制數(shù),就必需先將其進(jìn)展進(jìn)制轉(zhuǎn)換,要顯示十進(jìn)制數(shù),就必需先將其進(jìn)展進(jìn)制轉(zhuǎn)換,將其分解成十位數(shù)和個(gè)位數(shù)存于顯示緩沖區(qū)將其分解成十位數(shù)和個(gè)位數(shù)存于顯示緩沖區(qū)70H75H單元中,再查表得到其字形代碼送到顯單元中,再查表得到其字形代碼送到顯示器。示器。2. 動態(tài)顯示動態(tài)顯示MOV 30H,#XX ;先設(shè)置要顯示的數(shù)據(jù)給;先設(shè)置要顯示的數(shù)
28、據(jù)給3個(gè)內(nèi)個(gè)內(nèi)存單元存單元 MOV 31H,#XX MOV 32H,#XXJZZH: MOV A,30H ;取第一個(gè)內(nèi)存單元的數(shù);取第一個(gè)內(nèi)存單元的數(shù)給給A存放器作為被除數(shù)存放器作為被除數(shù) MOV B,#10 ;10送給送給B存放器,作為除數(shù)存放器,作為除數(shù) DIV AB ;做除法;做除法 MOV 70H,A ;十位數(shù)商存入;十位數(shù)商存入70H單元單元 MOV 71H,B ;個(gè)位數(shù)余數(shù)存入;個(gè)位數(shù)余數(shù)存入71H單元單元JZZH1:MOV A,31H ;分解第二個(gè)單元的數(shù);分解第二個(gè)單元的數(shù) MOV B,#10 DIV AB MOV 72H,A MOV 73H,BJZZH2:MOV A,32H
29、;分解第三個(gè)單元的數(shù);分解第三個(gè)單元的數(shù) MOV B,#10 DIV AB MOV 74H,A MOV 75H,BDISP: MOV R0,#70H ;顯示緩沖區(qū)的第;顯示緩沖區(qū)的第1 個(gè)單個(gè)單元的地址給元的地址給R0 MOV R4,#6 ;R4作為顯示數(shù)據(jù)個(gè)數(shù)的計(jì)數(shù)作為顯示數(shù)據(jù)個(gè)數(shù)的計(jì)數(shù)存儲器存儲器 MOV R3,#0FEH ;顯示掃描位控制的初始值;顯示掃描位控制的初始值給給R3 MOV DPTR,#TABWW: MOV A,R0 ;間接尋址,取要顯示的數(shù)據(jù);間接尋址,取要顯示的數(shù)據(jù) MOVC A,A+DPTR ;查表,得到相應(yīng)的字型碼;查表,得到相應(yīng)的字型碼 MOV P3,#0FFH ;
30、關(guān)顯示;關(guān)顯示 MOV P2,A ;字型碼由;字型碼由P2口輸出口輸出 MOV A,R3 ;取位控制碼;取位控制碼 MOV P3,A ;由;由P3口輸出控制相應(yīng)位顯示口輸出控制相應(yīng)位顯示 RL A ;位控制字左移,指向下一位;位控制字左移,指向下一位 MOV R3,A ;存儲位控制字;存儲位控制字 INC R0 ;調(diào)整顯示緩沖單元指針;調(diào)整顯示緩沖單元指針 LCALL YS DJNZ R4,WW ;計(jì)數(shù)器內(nèi)容減;計(jì)數(shù)器內(nèi)容減1,完成一切,完成一切數(shù)據(jù)顯示掃描數(shù)據(jù)顯示掃描 LJMP JZZH ;反復(fù)掃描,得到穩(wěn)定顯示;反復(fù)掃描,得到穩(wěn)定顯示YS: MOV R7,#0FFH ;延時(shí);延時(shí) DJNZ
31、 R7,$ RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND2. 動態(tài)顯示動態(tài)顯示C言語編程言語編程將將a、b、c分別代表的時(shí)間時(shí)、分、秒顯示在分別代表的時(shí)間時(shí)、分、秒顯示在6位數(shù)碼位數(shù)碼管上。設(shè)時(shí)間為管上。設(shè)時(shí)間為15:30:25。/*聲明區(qū)聲明區(qū)*/#include /52單片機(jī)頭文件單片機(jī)頭文件#define uint unsigned int /宏定義宏定義#define uchar unsigned char /宏定義宏定義uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /數(shù)碼管顯示編碼數(shù)碼管顯示編碼void delay(uint);/*主程序主程序*/void main() uchar w
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 音視頻智慧城市安全防護(hù)-洞察分析
- 托哌酮類藥物不良反應(yīng)及預(yù)防措施研究-洞察分析
- 預(yù)測性維護(hù)標(biāo)準(zhǔn)制定-洞察分析
- 云存儲備份策略-洞察分析
- 信號設(shè)備可靠性提升-洞察分析
- 體育贊助效果評估-洞察分析
- 云計(jì)算平臺資源調(diào)度策略-洞察分析
- 壓力管理策略研究-洞察分析
- 文具店智慧門店運(yùn)營模式-洞察分析
- 心電信號識別技術(shù)-第1篇-洞察分析
- 微創(chuàng)手術(shù)機(jī)器人醫(yī)療器械行業(yè)營銷策略方案
- 軟件系統(tǒng)日常運(yùn)維服務(wù)方案
- GB/T 11017.2-2024額定電壓66 kV(Um=72.5 kV)和110 kV(Um=126 kV)交聯(lián)聚乙烯絕緣電力電纜及其附件第2部分:電纜
- 飛灰二惡英類低溫催化分解污染控制技術(shù)規(guī)范-編制說明(征求意見稿)
- 24年追覓在線測評28題及答案
- 會計(jì)憑證附件管理制度范文
- GB/T 44462.1-2024工業(yè)互聯(lián)網(wǎng)企業(yè)網(wǎng)絡(luò)安全第1部分:應(yīng)用工業(yè)互聯(lián)網(wǎng)的工業(yè)企業(yè)防護(hù)要求
- DB34T 3703.3-2021 長大橋梁養(yǎng)護(hù)指南 第3部分:定期檢查工作驗(yàn)收
- 保潔突發(fā)事件應(yīng)急預(yù)案
- 膽囊術(shù)后并發(fā)癥護(hù)理
- 醫(yī)療廢物暫存間消毒制度
評論
0/150
提交評論