日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数码管流动显示(自己的单片机)

發(fā)布時(shí)間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数码管流动显示(自己的单片机) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/********************************************************************************** * 標(biāo)題: 試驗(yàn)數(shù)碼管上顯示數(shù)字( 單片機(jī)直接實(shí)現(xiàn)位選 共陰極) * * * * 連接方法:P0與J12 用8PIN排線連接 P1與JP16 用排線連接 * *********************************************************************************** * * * 請(qǐng)學(xué)員認(rèn)真消化本例程,用573鎖存器控制和單片機(jī)腳直接位選控制(非譯碼器控制)數(shù)碼管 * ***********************************************************************************/#include <reg51.h> void delay(unsigned int i); //函數(shù)聲名 char DelayCNT;//定義變量//此表為 LED 的字模, 共陰數(shù)碼管 0-9 - unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //段碼控制//此表為8個(gè)數(shù)碼管位選控制, 共陰數(shù)碼管 1-8個(gè) - unsigned char code dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F}; //位選控制 查表的方法控制/************主函數(shù)**********************/ main() { unsigned int i,LedNumVal=1 ; //變量定義unsigned int LedOut[10]; //變量定義 DelayCNT=0;while(1){ if(++DelayCNT>=20) //控制數(shù)字變化速度 {DelayCNT=0; //20個(gè)掃描周期清零一次++LedNumVal; //每隔20個(gè)掃描周期加一次 }LedOut[0]=Disp_Tab[LedNumVal%10000/1000];LedOut[1]=Disp_Tab[LedNumVal%1000/100]|0x80;LedOut[2]=Disp_Tab[LedNumVal%100/10];LedOut[3]=Disp_Tab[LedNumVal%10];LedOut[4]=Disp_Tab[LedNumVal%10000/1000]; //千位LedOut[5]=Disp_Tab[LedNumVal%1000/100]|0x80; //百位帶小數(shù)點(diǎn)LedOut[6]=Disp_Tab[LedNumVal%100/10]; //十位LedOut[7]=Disp_Tab[LedNumVal%10]; //個(gè)位 for( i=0; i<8; i++) { P0 = LedOut[i];P1 = dispbit[i]; //使用查表法進(jìn)行位選 /* switch(i) //使用switch 語(yǔ)句控制位選 { case 0:P1 = 0x7F; break; case 1:P1 = 0xbF; break; case 2:P1 = 0xdF; break; case 3:P1 = 0xeF; break; case 4:P1 = 0xf7; break;case 5:P1 = 0xfb; break;case 6:P1 = 0xfd; break;case 7:P1 = 0xfe; break;} */delay(150); //掃描間隔時(shí)間 太長(zhǎng)會(huì)數(shù)碼管會(huì)有閃爍感 }} } /*******************延時(shí)函數(shù)**********************************************/ void delay(unsigned int i) {char j;for(i; i > 0; i--)for(j = 200; j > 0; j--); }

?

轉(zhuǎn)載于:https://www.cnblogs.com/dingxiaowei/p/3145175.html

總結(jié)

以上是生活随笔為你收集整理的数码管流动显示(自己的单片机)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。