1樓:匿名使用者
#include
#define uchar unsigned charuchar tab=; //0到f
uchar num;
uchar led=;
void delay(uchar a)
main()
c語言微控制器** 數碼管動態顯示
2樓:匿名使用者
這裡的16個元素代表的是從
十六進製制數0~9、a、b、c、d、e、f的段碼,根據什麼來填這些陣列元素?那就要看你設計程式時定義陣列的作用才能確定.table[1]對應的元素為0x06,是十六進製制數,轉換成二進位制數是00000110b,分別對應於數碼管的dp、g、f、e、d、c、b、a 腳,所以在共陰數碼管上點亮b、c兩段,顯示的是數字1,其它同理。
3樓:匿名使用者
你這陣列裡面16組數分別為0~f的共陰數碼管的編碼,你說只需要數碼管顯示0~6,那麼多餘的就沒有用到,或者 在別的函式裡面有用到 你仔細看你的程式......
p0=table[1],意思就是說 往p0裡面送table這組數裡面的第2個數也就是0x06,0x06正好是共陰數碼管顯示1的編碼。所以數碼管就會顯示1,同理 table[2]就是顯示2的編碼,需要注意的是table[0]指定的是table裡面的第乙個數。
4樓:匿名使用者
陣列不一定是數碼管的編碼,也許是其它地方用的,如果顯示6個字,6個陣列也就夠了,看看數碼管的規格書吧,共陽還是共陰,自已編下看看
微控制器四位數碼管顯示學號1308010123,求c語言程式
5樓:匿名使用者
電路做好了嗎
發給我原理圖
我就可以寫了
幫忙看一下,51微控制器的4位數碼管動態顯示
6樓:匿名使用者
#include
void delay(unsigned int i);
unsigned char code disp_tab[16]=;
unsigned char code dispbit[4]=; // 高4位進行段選擇,每次選擇乙個數碼管
unsigned char disbuf[4];
void delayms(unsigned int ms)void led_disp()
}main()
7樓:飛雪流星
16 以前顯示的是 0 和 乙個數,如15 時顯示的是 0 和 f、14 時顯示的是 0 和 e。。。
16 時顯示的是 1 和 0 ,17 時顯示的是 1 和 1
disbuf[0]=(((firstdat&0xf0)>>4)&0x0f);
disbuf[1]=firstdat&0x0f;
disbuf[2]=(((seconddat&0xf0)>>4)&0x0f);
disbuf[3]=seconddat&0x0f;
這裡不用這麼麻煩吧,直接
disbuf[0]=firstdat>>4; 右移時,低四位被移出,高四位移入0,就是你要的結果了
disbuf[1]=firstdat&0x0f;
disbuf[2]=seconddat>>4;
disbuf[3]=seconddat&0x0f;
或者disbuf[0]=firstdat/16; 除以16 得到 16 進製的十位
disbuf[1]=firstdat%16; 對16取餘得到 16進製制的個位
disbuf[2]=seconddat/16;
disbuf[3]=seconddat%16;
就行了吧
我想應該不會出現沒消影的,不知道你說的消影是指什麼現象
8樓:匿名使用者
參考一下這個**例項的8位數碼管的動態顯示,試試
用at89c51微控制器實現四位數碼管顯示資料!!用c語言程式實現!!例如顯
9樓:匿名使用者
#include
#define uchar unsigned charuchar tab=; //0到9
uchar num;
uchar led=;
void t0isr() interrupt 1p0=~tab[led[num]];
num++;
num&=0x03;
}main()
用c語言編一段程式,要求同時讓四個一位數碼管分別顯示1.-.2.6,急求(51微控制器做的,共陽數碼
10樓:匿名使用者
#include
#define uchar unsigned charuchar tab=; //0到9
uchar num,dat,time;
uchar led=;
void t1isr() interrupt **0=~tab[led[num]];
num++;
num&=0x03;
}main()
51微控制器led4位數碼管動態顯示「0123」的程式,急急,,,能幫忙的就快點,謝謝啦
11樓:
51微控制器led8位數碼管動態顯示「76543210」的程式,你修改一下
12樓:匿名使用者
右邊的四根線
,控制位選,即:控制哪個數
碼管亮。左邊的七根線,控制段選,即:控制乙個數碼管的七段。
明白了吧?在while迴圈中:1 選第乙個數碼管,關閉其他數碼管,再選讓第乙個數碼管的那些段亮;2 選第二個數碼管,關閉其他數碼管,再選讓第二個數碼管的哪些段亮;3 ,4步同理,這樣讓while不停迴圈,就可以實現動態顯示了。
微控制器中數碼管動態顯示掃瞄時間問題
我也遇到copy過同樣的問題,仿bai真時顯示刷 proteus 是電腦 的,led的閃爍速度和真實的是不一樣的,一般數碼管延時20ms沒問題的,最好是搭電路看,電腦螢幕重新整理速度太慢。這個問題我也碰到過,proteus裡的時間不是很準確的,在實際電路板上做只要重新整理時間在5ms以內就可以的。微...
51微控制器如何利用七段數碼管採用動態顯示顯示4位數字,如
顯示函式 函式名 display56 變數定義 unsigned char qian,bai,shi,ge 定義顯示緩衝區 unsigned char table 表 共陽數碼管 0 1 2 3 4 5 6 7 8 9 c 延時子函式,短暫延時 void delay56 void display56...
微控制器如何驅動LCD顯示字元,微控制器用LCD1602C語言程式設計,如何讓第一行顯示字串比如welcome,第
微控制器命令lcd說 你給我顯示字元 急不得,看看看時序圖和指令 做研究 怎麼這麼浮躁?微控制器 用lcd1602 c語言程式設計,如何讓第一行顯示字串 比如 wel e 第 參考bai du 51 單片 zhi機dao驅動 版 lcd1602 權 位址 第一行第一列是0x80,第二行第一列是0xc...