版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/*-名稱:?jiǎn)蝹€(gè)共陽(yáng)數(shù)碼管靜態(tài)顯示論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:通過(guò)賦值給P1,讓數(shù)碼管顯示特定的字符或者數(shù)字-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),/頭文件包含特殊功能寄存器的定義void main (void) P1=0xc0; /二進(jìn)制為 1100 0000 參考數(shù)碼管排列,/可以得出0對(duì)應(yīng)的段點(diǎn)亮,1對(duì)應(yīng)的段熄滅,結(jié)果顯示數(shù)字"0" while(1) /*-名稱:?jiǎn)蝹€(gè)共陽(yáng)數(shù)碼管動(dòng)態(tài)顯示變化數(shù)字論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:通過(guò)循環(huán)賦值給P1,讓數(shù)碼管顯示特定的字符
2、或者數(shù)字-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義unsigned char code dofly_table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,; / 顯示數(shù)值表0-9void Delay(unsigned int t); /函數(shù)聲明/*-主函數(shù)-*/void main (void)unsigned char i; /定義一個(gè)無(wú)符號(hào)字符型局部變量 i 取值范圍 0255while (1) /主循環(huán) for(i=0;i<10;i+) /加入 f
3、or循環(huán),表明for循環(huán)大括號(hào)中的程序循環(huán)執(zhí)行10次 P1=dofly_tablei; /循環(huán)調(diào)用表中的數(shù)值 Delay(60000); /延時(shí),方便觀看數(shù)字變化 /主循環(huán)中添加其他需要一直工作的程序 /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-名稱:?jiǎn)蝹€(gè)共陽(yáng)數(shù)碼管模擬水流論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:通過(guò)循環(huán)賦值給P1,讓數(shù)碼管顯示特定流動(dòng)樣式-*/#include<reg5
4、2.h> /包含頭文件,一般情況不需要改動(dòng),/頭文件包含特殊功能寄存器的定義void Delay(unsigned int t); /函數(shù)聲明/*-主函數(shù)-*/void main (void)unsigned char i; /定義一個(gè)無(wú)符號(hào)字符型局部變量 i 取值范圍 0255while (1) /主循環(huán) P1=0xfe; for(i=0;i<6;i+) /加入 for循環(huán),表明for循環(huán)大括號(hào)中的程序循環(huán)執(zhí)行6次 Delay(10000); P1<<=1; P1|=0x01; /主循環(huán)中添加其他需要一直工作的程序 /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned in
5、t t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-名稱:?jiǎn)蝹€(gè)共陽(yáng)數(shù)碼管動(dòng)態(tài)顯示變化數(shù)字論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:通過(guò)循環(huán)檢測(cè)P1口按鍵輸入值,然后用數(shù)碼管輸出,沒(méi)有按鍵按下時(shí)原值不變-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),/頭文件包含特殊功能寄存器的定義unsigned char code dofly_table10=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,
6、0xf8,0x80,0x90,; / 顯示數(shù)值表0-9/*-主函數(shù)-*/void main (void)while (1) /主循環(huán) switch(P3) /P3口作為獨(dú)立按鍵輸入端,檢測(cè)端口電平并做如下判斷 case 0xfe:P1=dofly_table1;break;/0xfe = 1111 1110,/說(shuō)明連接在P3.0端口的按鍵被按下,顯示對(duì)應(yīng)的數(shù)字然后跳出循環(huán)case 0xfd:P1=dofly_table2;break;/調(diào)用表中的第三個(gè)/元素 0xa4 下標(biāo) 0 才表示數(shù)組中的第一個(gè)元素case 0xfb:P1=dofly_table3;break;case 0xf7:P1=d
7、ofly_table4;break;case 0xef:P1=dofly_table5;break;case 0xdf:P1=dofly_table6;break;case 0xbf:P1=dofly_table7;break;case 0x7f:P1=dofly_table8;break;default:break; /如果都沒(méi)按下,直接跳出 /主循環(huán)中添加其他需要一直工作的程序 /*-名稱:?jiǎn)蝹€(gè)共陽(yáng)數(shù)碼管指示邏輯電平論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:通過(guò)循環(huán)檢測(cè)P3.2口電平輸入值,然后用數(shù)碼管輸出"H" or "L",表示該
8、端口現(xiàn)在連接的是高電平還是低電平-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng), /頭文件包含特殊功能寄存器的定義sbit IO_IN=P32; /定義IO 信號(hào)輸入端/*-主函數(shù)-*/void main (void)while (1) /主循環(huán) if(IO_IN=1)/如果端口檢測(cè)到1表示高電平 P1=0x89; /"H" else P1=0xc7; /"L" /否則表示低電平,這里使用條件語(yǔ)句 if 。else 。 /主循環(huán)中添加其他需要一直工作的程序 /*-名稱:8位數(shù)碼管顯示其中之一論壇:編寫:shifan
9、g日期:2009.5修改:無(wú)內(nèi)容:顯示8位數(shù)碼管中任意一位-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存/*-主函數(shù)-*/main() while(1) DataPort=0xfe; /取位碼第一位數(shù)碼管選通,即二進(jìn)制1111 1110 LATCH2=1; /位鎖存 LATCH2=0; DataPort=0x4F; /取顯示數(shù)據(jù),段
10、碼“3”共陰字符碼 LATCH1=1; /段鎖存 LATCH1=0; /*-名稱:8位數(shù)碼管顯示其中之二論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:顯示8位數(shù)碼管中任意二位-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存/*-主函數(shù)-*/main() while(1) DataPort=0x7e; /取位碼第一位數(shù)碼管選
11、通,即二進(jìn)制0111 1110 LATCH2=1; /位鎖存 LATCH2=0; DataPort=0x4F; /取顯示數(shù)據(jù),段碼“3”共陰字符碼 LATCH1=1; /段鎖存 LATCH1=0; /*-名稱:8位數(shù)碼管動(dòng)態(tài)掃描顯示論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:8位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖
12、存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char code dofly_DuanMa=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值01234567unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼void Delay(unsigned int t); /函數(shù)聲明/*-主函數(shù)-*/main() unsigned char i=0; while(1) DataPort=
13、dofly_WeiMai; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=dofly_DuanMai; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1=0; Delay(200); /掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影 i+; if(8=i) /檢測(cè)8位掃描完全結(jié)束?如掃描完成則從第一個(gè)開(kāi)始再次掃描8位 i=0; /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/
14、*-名稱:8位數(shù)碼管動(dòng)態(tài)掃描顯示論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:8位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char code dofly_DuanMa=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07
15、,0x7f,0x6f;/ 顯示段碼值01234567unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼void Delay(unsigned int t); /函數(shù)聲明/*-主函數(shù)-*/main() unsigned char i=0; while(1) DataPort=dofly_WeiMai; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=dofly_DuanMai; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1=
16、0; Delay(60000); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影, /這里故意延長(zhǎng)時(shí)間,方便直觀看出動(dòng)態(tài)掃描原理 i+; if(8=i) /檢測(cè)8位掃描完全結(jié)束?如掃描完成則從第一個(gè) /開(kāi)始再次掃描8位 i=0; /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-名稱:8位數(shù)碼管動(dòng)態(tài)掃描顯示變化數(shù)據(jù)論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:8位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式
17、成為動(dòng)態(tài)掃描,并不停變化賦值-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char code dofly_DuanMa=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/ 顯示段碼值0Funsigned
18、char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼void Delay(unsigned int t); /函數(shù)聲明/*-主函數(shù)-*/main() unsigned char i=0,num; unsigned int j; while(1) DataPort=dofly_WeiMai; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=dofly_DuanManum+i; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1=0; Delay(20
19、0); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影 i+;j+; if(8=i) /檢測(cè)8位掃描完全結(jié)束?如掃描完成則從第一個(gè)開(kāi)始再次掃描8位 i=0; if(j=500) /檢測(cè)當(dāng)前數(shù)值顯示了一小段時(shí)間后,需要顯示的數(shù)值加1,實(shí)現(xiàn)數(shù)據(jù)顯示的變化 j=0; num+; if(num=9) num=0; /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-名稱:1位數(shù)碼管動(dòng)態(tài)掃描顯示變化數(shù)據(jù)論壇:編寫:shifan
20、g日期:2009.5修改:無(wú)內(nèi)容:1位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描,并不停變化賦值-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char code dofly_DuanMa10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值
21、09unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼unsigned char TempData8; /存儲(chǔ)顯示值的全局變量void Delay(unsigned int t); /函數(shù)聲明void Display(unsigned char FirstBit,unsigned char Num);/*-主函數(shù)-*/main() unsigned char num; unsigned int j; while(1) j+; if(j=500) /檢測(cè)當(dāng)前數(shù)值顯示了一小
22、段時(shí)間后, /需要顯示的數(shù)值加1,實(shí)現(xiàn)數(shù)據(jù)顯示的變化 j=0; num+; if(num=10)/用于顯示09 num=0; TempData0=dofly_DuanManum%10;/分解顯示信息,/如要顯示68,則68/10=6 68%10=8 Display(2,1); /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-顯示函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管輸入?yún)?shù) FirstBit 表示需要顯示的第一位,如賦值2表示從
23、第三個(gè)數(shù)碼管開(kāi)始顯示如輸入0表示從第一個(gè)顯示。 Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2-*/void Display(unsigned char FirstBit,unsigned char Num) unsigned char i; for(i=0;i<Num;i+) DataPort=0; /清空數(shù)據(jù),防止有交替重影 LATCH1=1; /段鎖存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=TempDatai; /取顯示數(shù)據(jù),段碼 LATCH1=
24、1; /段鎖存 LATCH1=0; Delay(200); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍, /太短會(huì)造成重影 /*-名稱:2位數(shù)碼管動(dòng)態(tài)掃描顯示變化數(shù)據(jù)論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:2位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描,并不停變化賦值-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存u
25、nsigned char code dofly_DuanMa10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值09unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼unsigned char TempData8; /存儲(chǔ)顯示值的全局變量void Delay(unsigned int t); /函數(shù)聲明void Display(unsigned char FirstBit,unsigned char N
26、um);/*-主函數(shù)-*/main() unsigned char num; unsigned int j; while(1) j+; if(j=500) /檢測(cè)當(dāng)前數(shù)值顯示了一小段時(shí)間后, /需要顯示的數(shù)值加1,實(shí)現(xiàn)數(shù)據(jù)顯示的變化 j=0; num+; if(num=100)/用于顯示099 num=0; TempData0=dofly_DuanManum/10;/分解顯示信息, /如要顯示68,則68/10=6 68%10=8 TempData1=dofly_DuanManum%10; Display(2,2); /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 uns
27、igned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-顯示函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管輸入?yún)?shù) FirstBit 表示需要顯示的第一位,如賦值2表示從第三個(gè)數(shù)碼管開(kāi)始顯示如輸入0表示從第一個(gè)顯示。 Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2-*/void Display(unsigned char FirstBit,unsigned char Num) unsigned char i; for(i=0;i<Num;i+) DataPort=0; /清空數(shù)據(jù),防止有交替重影 L
28、ATCH1=1; /段鎖存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=TempDatai; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1=0; Delay(200); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍, /太短會(huì)造成重影 /*-名稱:多位數(shù)碼管動(dòng)態(tài)掃描顯示變化數(shù)據(jù)論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:多位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描,并不停變化賦值-*/#include<reg52.h> /包含頭文件,
29、一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char code dofly_DuanMa10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值09unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,
30、即位碼unsigned char TempData8; /存儲(chǔ)顯示值的全局變量void Delay(unsigned int t); /函數(shù)聲明void Display(unsigned char FirstBit,unsigned char Num);/*-主函數(shù)-*/main() unsigned int num; unsigned int j; while(1) j+; if(j=200) /檢測(cè)當(dāng)前數(shù)值顯示了一小段時(shí)間后,需要顯示的數(shù)值加1,實(shí)現(xiàn)數(shù)據(jù)顯示的變化 j=0; num+; if(num=1000)/用于顯示0999 num=0; TempData0=dofly_DuanMan
31、um/100;/分解顯示信息,如要顯示68,則68/10=6 68%10=8 TempData1=dofly_DuanMa(num%100)/10; TempData2=dofly_DuanMa(num%100)%10; Display(2,3); /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-顯示函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管輸入?yún)?shù) FirstBit 表示需要顯示的第一位,如賦值2表示從第三個(gè)數(shù)碼管開(kāi)始顯示如輸入0
32、表示從第一個(gè)顯示。 Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2-*/void Display(unsigned char FirstBit,unsigned char Num) unsigned char i; for(i=0;i<Num;i+) DataPort=0; /清空數(shù)據(jù),防止有交替重影 LATCH1=1; /段鎖存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=TempDatai; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1
33、=0; Delay(200); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影 /*-名稱:多位數(shù)碼管動(dòng)態(tài)掃描顯示變化數(shù)據(jù)論壇:編寫:shifang日期:2009.5修改:無(wú)內(nèi)容:多位數(shù)碼管分別顯示不同數(shù)字,這種掃描顯示方式成為動(dòng)態(tài)掃描,并不停變化賦值-*/#include<reg52.h> /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義#define DataPort P0 /定義數(shù)據(jù)端口程序中遇到DataPort 則用P0 替換sbit LATCH1=P22;/定義鎖存使能端口段鎖存sbit LATCH2=P23;/ 位鎖存unsigned char cod
34、e dofly_DuanMa10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值09unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼unsigned char TempData8; /存儲(chǔ)顯示值的全局變量void Delay(unsigned int t); /函數(shù)聲明void Display(unsigned char FirstBit,unsigned char Num);/*-主函數(shù)-*/mai
35、n() unsigned int num; unsigned int j; while(1) j+; if(j=10) /檢測(cè)當(dāng)前數(shù)值顯示了一小段時(shí)間后,需要顯示的數(shù)值加1,實(shí)現(xiàn)數(shù)據(jù)顯示的變化 j=0; num+; if(num=10000)/用于顯示09999 num=0; TempData0=dofly_DuanManum/1000;/分解顯示信息,如要顯示68,則68/10=6 68%10=8 TempData1=dofly_DuanMa(num%1000)/100; TempData2=dofly_DuanMa(num%1000)%100)/10; TempData3=dofly_Du
36、anMa(num%1000)%100)%10; Display(2,4); /*-延時(shí)函數(shù),含有輸入?yún)?shù) unsigned int t,無(wú)返回值 unsigned int 是定義無(wú)符號(hào)整形變量,其值的范圍是 065535-*/void Delay(unsigned int t) while(-t);/*-顯示函數(shù),用于動(dòng)態(tài)掃描數(shù)碼管輸入?yún)?shù) FirstBit 表示需要顯示的第一位,如賦值2表示從第三個(gè)數(shù)碼管開(kāi)始顯示如輸入0表示從第一個(gè)顯示。 Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2-*/void Display(unsigned char FirstBit,unsigned char Num) unsigned char i; for(i=0;i<Num;i+) DataPort=0; /清空數(shù)據(jù),防止有交替重影 LATCH1=1; /段鎖存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit; /取位碼 LATCH2=1; /位鎖存 LATCH2=0; DataPort=TempDatai; /取顯示數(shù)據(jù),段碼 LATCH1=1; /段鎖存 LATCH1=0; Delay(200); / 掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影 /*-名稱:1位數(shù)碼管動(dòng)態(tài)掃描顯
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度:協(xié)議離婚與訴訟離婚法律程序及權(quán)益保障合同3篇
- 2025年度個(gè)人房產(chǎn)交易擔(dān)保合同示范文本4篇
- 2025年度個(gè)人股份置換居間合同(含知識(shí)產(chǎn)權(quán))3篇
- 2025年度環(huán)保產(chǎn)業(yè)廢棄物處理合作合同2篇
- 2025年中國(guó)叔戊醇鈉行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年地暖管項(xiàng)目可行性研究報(bào)告
- 2025-2031年中國(guó)集裝箱房行業(yè)現(xiàn)狀分析與市場(chǎng)前景報(bào)告
- 2025年中國(guó)P2P信貸行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資前景展望報(bào)告
- 2025年三位五通腳踏閥行業(yè)深度研究分析報(bào)告
- 2025年醫(yī)用霧化器項(xiàng)目投資可行性研究分析報(bào)告
- 大學(xué)生國(guó)家安全教育意義
- 2024年保育員(初級(jí))培訓(xùn)計(jì)劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語(yǔ)文 Word版含答案
- 企業(yè)正確認(rèn)識(shí)和運(yùn)用矩陣式管理
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 陳閱增普通生物學(xué)全部課件
- 檢驗(yàn)科主任就職演講稿范文
- 人防工程主體監(jiān)理質(zhì)量評(píng)估報(bào)告
- 20225GRedCap通信技術(shù)白皮書
- 燃?xì)庥邢薰究蛻舴?wù)規(guī)范制度
- 延遲交稿申請(qǐng)英文
評(píng)論
0/150
提交評(píng)論