1樓:網友
#include //51晶元管腳定義標頭檔案#include //內部包含延時函式 _nop_()#define uchar unsigned char#define uint unsigned intuchar display[ ]
uchar shift,j=0;
ms延時函式。
void delayms(uint ms)uchar t;
while(ms--)
for(t = 0; t < 120; t++)顯示函式。
void disp(void)
uchar i;
shift=0x7f;
for(i=8; i>0; i--)
p0=display[i+j];
p3=shift;
shift=(shift>>1)|0x80;
delayms(1);
p3=0xff ;
主函式void main()
uchar k;
p0=0xff;
p3=0xff;
while(1)
for(j=0;j<17;j++)
for(k=0;k<125;k++)
disp();
2樓:網友
#include
#define uchar unsigned char#define uint unsigned intuchar code dsy_code=
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
/段碼錶(共陰數碼管),依次是0,1,2,3,4,5,6,7,8,9
void delayms(uint x)//延時程式。
uchar t;
while(x--)
for(t=120;t>0;t--)
void main()
uchar i=0;
p0=0x00;//先關閉顯示。
while(1)
for(i=0;i<10;i++)迴圈顯示0~9p0=~dsy_code[i];
delayms(200);
3樓:網友
你的要求還不是很明確啊 。1-8是怎麼顯示呢 ? 自動1-8顯示 , 還是按鍵按一下加1或減1!
4樓:網友
建議先說自己的硬體實現方式,硬體不同,軟體也不同,你使用硬體編碼,還是要軟體編碼,數碼管的驅動是什麼。
微控制器數碼管如何從1顯示到9?
5樓:出家人詞悲
把 數碼管的 1-9 的 對應的碼算出來就好了。
例如:#include
數字0-9的字形碼。
unsigned char code table=;
unsigned char dispcount;
void delay02s(void);
void main(void)
p1_0=0;//選通第一位數碼管。
while(1)
for(dispcount=0;dispcount<10;dispcount++)
p0=table[dispcount];
delay02s();
void delay02s(void)
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--)
補充:微控制器(microcontrollers)是一種積體電路晶元,是採用超大規模積體電路技術把具有資料處理能力的**處理器cpu、隨機儲存器ram、唯讀儲存器rom、多種i/o口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調製電路、模擬多路轉換器、a/d轉換器等電路)整合到一塊矽片上構成的乙個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位微控制器,發展到現在的300m的高速微控制器。
6樓:匿名使用者
把 數碼管的 1-9 的 對應的碼算出來就好了 迴圈顯示 每次顯示完乙個數字 等一會 再顯示第二個還有你的數碼管是共陽極的還是陰極的 試一下就知道了。
7樓:匿名使用者
這個真沒有,人家怎麼又沒資料手冊。
微控制器組合語言數碼管顯示0到
8樓:做而論道
先設計電路,在編寫程式。
下圖電路,供你參考。
微控制器數碼管顯示的數值編碼
9樓:網友
8位資料匯流排,16位位址匯流排的cpu;具有布林處理能力和位處理能力;採用哈佛結構,程式儲存器與資料儲存器位址空間各自獨立,便於程式設計;相同位址的64kb程式儲存器和64kb資料儲存器;
0-8kb片內程式儲存器(8031無,8051有4kb,8052有8kb,89c55有20kb);128位元組片內資料儲存器(8051有256位元組);
32根雙向並可以按位定址的i/o線;兩個16位定時/計數器(8052有3個);乙個全雙工的序列i/o介面;多箇中斷源的中斷結構,具有兩個中斷優先順序;片內時鐘振盪器。
10樓:網友
昏,你學過數位電路麼?關於7段數碼管的部分(其實我們用的是8段),數碼管中有8斷二極體,從最上到小數點,分別是a,b,c,d,e,f,g,h(這個是小數點),8個數碼管統一接在地線或者高電平,所以只要看二極體的那一面接為啥,這也就是什麼共陽極和共陰極了,你可以手工自己面一下碼,比如說你上面所說的共陽極吧,如果想要顯示1的話,是不是b段,c段為低電平呀,其他為高呀,對應的編碼是不是1111 1001.(最低位是a,次位為b,後c,。。
那不是0xf9麼?。。
11樓:蒼生何辜_彭亮
首先確定是哪種接發:共陰還是共陽。
共陰極的:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
共陽極的:0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x84,0x0e
12樓:8問題
數碼管的a,b,c,d,e,f,g,h分別對應微控制器八個埠的0~7位。
13樓:網友
首先確定是哪種接發:共陰還是共陽。然後就有個順序。
微控制器控制數碼管1按鍵控制開始數碼管迴圈顯示0F時
p1口外接共陽極bai的du8段數碼顯示器。zhip3.2外接乙個按鍵,按dao下後,接專地,用來起 屬動.0000h jb p3.2,mov r2,0 loop inc r2 mov a,r2 anl a,0fh mov dptr,tab movc a,a dptr mov p1,a lcall ...
51微控制器數字秒錶設計用4位數碼管分別顯示十秒,秒,百毫秒
include sbit axs p1 3 sbit bxs p1 2 sbit cxs p1 1 sbit dxs p1 0 數碼管位選埠 char table 10 數碼管顯示編碼 void ys char hs void xs int xm,int xs void time1 void int...
STC51微控制器控制數碼管後續問題
理論上來講是這樣的,會產生重影,要加消影的但是由於你顯示 的是9000 重影現象不版會很明顯 你改為顯示權1234看看,會不會有重影 如果有的話,就加上消影,沒有重影的話也不用糾結,可能跟硬體有一定關係吧 但是我在做點陣時,不加消影顯示的是亂碼,一定要加消影才行 這是你想像的是bai這樣的,可是du...