導航:首頁 > 操作系統 > 51單片機數碼管程序

51單片機數碼管程序

發布時間:2023-09-04 20:58:09

A. 51單片機的共陰數碼管怎麼顯示數字(c語言)

要讓51單片機共陰數碼管顯示數字,只需要將單片機的P2埠輸出數字對應的段碼即可。

以顯示數字「0」為例,c語言程序如下:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

//數碼管的段碼編碼

Uchar table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void main(){//主函數

P0 = table[0];//顯示0,大家可以修改裡面的數據。

while(1);//程序不再執行其他步驟;

}

(1)51單片機數碼管程序擴展閱讀:

數字0-9的對應段碼:

數字0 0x3f

數字1 0x06

數字2 0x5b

數字3 0x4f

數字4 0x66

數字5 0x6d

數字6 0x7d

數字7 0x07

數字8 0x7f

數字9 0x6f

B. 51單片機 讓數碼管自動顯示0至9的C程序。有沒有比這個更簡單的

可以通過代碼優化的方式來簡化代碼。

一、設置延時函數

延時函數在單片機中有著讓現實延時的能力,本程序中可以通過採用for循環方式進行延時,具體代碼如下:

void delay()

uinti,j;

for(i=100;i>0;i--)

for(j=1000;j>0;j--);

二、設置數碼管顯示數組

數組定義簡單,而且訪問很方便。所有元素類型相同,在數碼管顯示程序中可以讓程序代碼減少。數組代碼如下:

chara[10]={0xff,0x3,0x9f,0x25,0xd,0x99,0x49,0x41,0x1f,0x1,0x9};

三、設置數碼管顯示循環

數碼管顯示循環可以不用編寫一次又一次的數碼管顯示代碼,既方便又簡潔。具體代碼如下:

for(inti=0;i<10;i++)

P0=a[i];

delay();

(2)51單片機數碼管程序擴展閱讀

單片機程序進行簡化可以查看是否有反復出現的代碼序列,整合成循環進行更改。同一類型且用法相同的變數可以整合成數組,方便對各個內容進行訪問。有特定功能的代碼段可以定義一個函數進行訪問。

注意:用C51語言編輯的單片機程序與普通C語言不同,C51語言中的數據類型和標准c中的數據類型不同。

C. 51單片機怎麼讓數碼管顯示學號用匯編語言

數碼管連接電路如圖1所示,P0口輸出碼型,P2口輸出位選。鎖存器74HC573起驅動作用,提供驅動電流供數碼管發光。解碼器74HC138將位選地址轉換成位選信號,例如當前是第5個數碼管顯示,那麼P2口輸出位選地址05H,解碼器輸入CBA=110,輸出位選信號Y7-Y0=11101111,其中Y5=0,第5個數碼管選通並顯示,其它數碼管不顯示。實驗時將J6的左邊兩個引腳針(1和2)用跳冒連接,鎖存器11腳接VCC,關閉鎖存功能。

數碼管顯示方式為動態掃描方式,當P0口送絕搏第一個數0的碼型到鎖存器時,P2送位選地址01H,即Y0=0,只有第一個數碼管亮,宏宏枯顯示0,其他數碼管不顯示。當P0口送第二個數1的碼型到鎖存器時,P2送位選地址02H,即Y1=0,只有第二個數碼管亮,顯示1,其他數碼管不顯示。即每次只有一個數碼管點亮,8個數碼管是輪流被點亮的,輪流點亮的間隔時間很短(一般用延時程序延時幾個毫秒),由於視覺蔽洞的暫留現象,看到的卻好象全都點亮著,這就是動態掃描。

數碼管顯示數字的碼型由數碼管的數據腳a~dp決定,圖2為數碼管的筆段分布圖,由於是共陰極的,所以當a~dp為高電平時相應的筆段會亮,電路中P1.0~P1.7分別接數碼管的a.b.c.d.e.f.g.dp,得到0~9這10個數字的碼型如表1所示。

圖2數碼管的筆段分布圖

引腳 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1P0.0數字碼型

筆段 dp g f e d c ba

0 0 1 1 1 1 11 03FH

0 0 0 0 0 1 10 106H

0 1 0 1 1 0 11 25BH

0 1 0 0 1 1 11 34FH

0 1 1 0 0 1 10 466H

0 1 1 0 1 1 01 56DH

0 1 1 1 1 1 01 67DH

0 0 0 0 0 1 11 707H

0 1 1 1 1 1 11 87FH

0 1 1 0 1 1 11 96FH

1 0 0 0 0 0 00 小數點80H

只要把上面的相關數,改成學好就可以了。

D. 51單片機怎麼用按鍵控制一個數碼管,按一下顯示一個數字,順序顯示

1、首先,要把代碼寫好,點亮數碼管。

E. 51單片機怎樣用鍵盤控制數碼管顯示

51單片機怎樣用鍵盤控制數碼管顯示的方法。

如下參考:

1.首先,編寫代碼並點亮數碼管。

F. 51單片機數碼管顯示的程序是什麼

#include //52系列單片機頭文件x0dx0a#define uchar unsigned char //宏定義x0dx0a#define uint unsigned intx0dx0asbit la=P2^6; //申明u1鎖存器的鎖存端x0dx0asbit wela=P2^7; // u2x0dx0auchar num1,num2;x0dx0auchar code table[]={ //數組定義x0dx0a 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,x0dx0a 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};x0dx0auchar code aable[]={ //位選數組定義x0dx0a 0xfe,0xfd,0xfb,0xf7,0xef,0xdf};x0dx0a void delays(uint); //子函數申明x0dx0ax0dx0a void main() x0dx0a{x0dx0a while(1)x0dx0a {x0dx0a for(num1=0;num1<48;num1++)//6個數循環顯示x0dx0a {x0dx0a wela=1;//打開u2鎖存端x0dx0a P0=aable[num1%6];//送入位選信號x0dx0a wela=0;//關閉u2鎖存端x0dx0a //delays(1);x0dx0a la=1;//打開u1鎖存端x0dx0a P0=table[num1%16];//送入段選信號x0dx0a la=0;//關閉u1鎖存端x0dx0a delays(1);x0dx0a }x0dx0a }x0dx0a}x0dx0a/*---------主函數-----------------------------------------------*/x0dx0ax0dx0avoid delays(uint xs)x0dx0a{x0dx0a uint i,j,k;x0dx0a for(i=xs;i>0;i--)x0dx0a for(j=1000;j>0;j--)x0dx0a for(k=110;k>0;k--);x0dx0a}x0dx0a/*----------------延時程序-----------------------------------------------*/

G. 51單片機用4個按鍵,每個按鍵被按下都會使數碼管顯示一個數值

5. [問答題] [技能題畫10配線圖寫出程序]按下按鈕S1,數碼管顯示1;按下按鈕S2,數碼管顯示2;按下按鈕S3,數碼管顯示3;按下按鈕S4,數碼管顯示4;能互相直接切換。按下停止按鈕後,數碼管熄滅。。

閱讀全文

與51單片機數碼管程序相關的資料

熱點內容
校驗演算法的缺點是什麼 瀏覽:717
PHP商品分類功能實現 瀏覽:328
php取字元串中間 瀏覽:428
程序員經常用工具 瀏覽:835
降服主力指標源碼主圖 瀏覽:500
python實用庫 瀏覽:692
電腦默認7個文件夾 瀏覽:11
新唐單片機安裝c51後編譯錯誤 瀏覽:530
紅包源碼引流神器 瀏覽:235
學生初中畢業撕書解壓 瀏覽:747
命令方塊刷銅點教學 瀏覽:690
php郵件訂閱系統 瀏覽:997
柱樑底加密箍間距 瀏覽:30
pythonjavascript對比 瀏覽:741
什麼動漫app是大陸字幕 瀏覽:286
android查看activity棧 瀏覽:918
x86固件編譯 瀏覽:166
安卓下什麼可以看微博動圖 瀏覽:412
永輝生活app注冊有什麼優惠嗎 瀏覽:411
行偏移演算法 瀏覽:241