導航:首頁 > 操作系統 > 單片機數碼管顯示變化

單片機數碼管顯示變化

發布時間:2024-06-15 15:30:13

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

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

B. keil51單片機數碼管滾的顯示

一,LED數碼管顯示的原理
數碼管的發光原理實際是七段LED燈(不包括小數點)或者八段LED燈被點亮的結果。八段依次是 a,b,c,d,e,f,g,dp(表示點)。LED數碼管是常見的顯示器件,在很多場合都可以看到,比如,鬧鍾沖胡的顯示,家電的顯示功能,車站等等。我們看到的數碼管為「8」字形,數碼管又分為共陰極和共陽極兩種。

1.共陰極:就是將八段數碼管的陰極(負極)接地在一起,需要高電平點亮。如下圖所示



2.共陽極:就是將八段數碼管的陽極(正極)接(+5v)在一起,需要低電平點亮。如下圖所示


3.數碼管的具體顯示

①共陰數碼管的點亮

為使數碼管的不同段顯示不同的字元,需要點亮和熄滅不同段的LED燈,才可以實現。對於共陰極數碼管來說,只需要給高電平LED燈就會被點亮,對應的斷碼就會亮起。給低電平相應的斷碼就會熄滅。

以顯示「0」為例 只需要給「dp」和「g」給低電平熄滅就可以了

斷碼的順序為:dp g f e d c b a



「0」斷碼用16進製表示為:3FH

其他字元的斷碼以此類推:如下表所示


②共陽數碼管的點亮

為使數碼管的不同段顯示不同的字元,需要點亮和熄滅不同段的LED燈,才可以實現。對於共陽極數碼管來說,只需要給低電平LED燈就會被點亮,對應的斷碼就會亮起。給高電平相應的斷碼就會熄滅。

以顯示「0」為例 只需要給「dp」和「g」給高電平熄滅就可以了

斷碼的順序為:dp g f e d c b a

1 1 0 0 0 0 0 0



「0」斷碼用16進製表示為:C0H

其他字元的斷碼以此類推:如下表所示


二.動態數碼管的顯示(共陰)
思路: 建立顯存、斷碼、位碼表格,將軟體延時部分設計成子函數的結構,在主函數中利用查表的方法來獲得相應的位碼和段碼,這種思路經常用於顯示變化的字元。
顯示的狀態(左移動態顯示,類似於常見的廣告牌)

3.原理圖(protues模擬圖)


4.設計方法
在多個數碼管的顯示中點亮數碼管需要 位碼和段碼共同作核搏用才能點亮

位碼(低電平有效):表示要點亮的數碼管的位置。

斷碼(上面講過了):就是要點亮哪一段數碼管

舉例說明:


如果要在上面的六個數碼管中點亮第一個數碼管,且讓它顯示「1」,首先確定它的位置是第六個。用八個二進製表示,最低位從0開始,最高位為7 那麼它的位碼為:11111110 (低電平有效)

斷碼為0x06

其他的以此類推

先要數碼管動態顯示要建一個數組。下圖為斷碼


源代碼:
#include#include#define uchar unsigned char#define uint unsigned intsbit an=P2^6; sbit wei=P2^7; uchar code tab[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x00,0x40}; //共陰極數碼管段碼表uchar idata dis_buf[6]={17,17,17,17,17,17}; //顯示緩沖區數據(十進制)void delayms(uint i) //延時1ms函數{ uint j; for(;i>0;i--) for(j=120;j>0;j--) {;}}void main() //主函數{ uchar k,m,n,bitcode,segcode; while(1) { for(n=0;n<17;n++) { dis_buf[0]=dis_buf[1]; //數據移動 dis_buf[1]=dis_buf[2]; dis_buf[2]=dis_buf[3]; dis_buf[3]=dis_buf[4]; dis_buf[4]=dis_buf[5]; dis_buf[5]=n; for(m=0;m<100;m++) //100次掃描,大約600ms { bitcode=0xfe; //起始位碼 for(k=0;k<6;k++) { P0=0xff; //消影 wei=1; wei=0; segcode=dis_buf[k]; //取數據 P0=tab[segcode]; //送段碼散氏攔 an=1; an=0; P0=bitcode; //送位碼 wei=1; wei=0; delayms(1); bitcode=_crol_(bitcode,1); //更新位碼,准備顯示下一位 } } } }}

閱讀全文

與單片機數碼管顯示變化相關的資料

熱點內容
8090電影電視劇免費網站 瀏覽:134
怎麼做用指甲油做的解壓球 瀏覽:736
遞歸編程與數學應用 瀏覽:929
驚變1小時8分鍾才是經典 瀏覽:724
ps如何pdf製作 瀏覽:782
如何按照序號排列文件夾 瀏覽:433
演算法設計與分析基礎網盤 瀏覽:712
linux信號量的使用 瀏覽:61
朴初炫演過的電影 瀏覽:969
掌閱下的書在哪個文件夾 瀏覽:851
程序員學python難嗎 瀏覽:737
源泉插件圖紙加密 瀏覽:609
minitab編程 瀏覽:231
網頁編程語言大全 瀏覽:633
單片機鋰離子 瀏覽:9
單片機交流電流測量 瀏覽:717
小雞模擬器ios游戲一直正在解壓 瀏覽:928
可以把文件夾轉化為文檔的軟體 瀏覽:956
微軟認證高級程序員 瀏覽:887
人工智慧網路演算法工程師 瀏覽:459