七段數碼管顯示四位數字

2020-12-16 電子產品世界

七段數碼管顯示四位數字的C代碼:

#include
//#include
unsigned char a,b,c,d;
unsigned char code dispbitcode[]={0x10,0x20,0x40,0x80,0x00};//共陰位碼
unsigned char code dispcode[]= { 0X3F,/*0*/
0X06,/*1*/
0X5B,/*2*/
0X4F,/*3*/
0X66,/*4*/
0X6D,/*5*/
0X7D,/*6*/
0X07,/*7*/
0X7F,/*8*/
0X6F,/*9*/};//共陰段碼
/*************延時子程序*******************************/
void delay(unsigned int x)//最小1毫秒
{
unsigned char j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
/***************顯示子程序**********************/
void display(unsigned char qian,unsigned char bai,unsigned char shi,unsigned char ge)
{
P3=dispbitcode[0];
P0=dispcode[qian]; //顯示千位
delay(5);
//P3=dispbitcode[5];
//P2=dispcode[11];
P3=dispbitcode[1];
P0=dispcode[bai]; //顯示佰位
delay(5);
//P3=dispbitcode[5];
//P2=dispcode[11];
P3=dispbitcode[2];
P0=dispcode[shi]; //顯示十位
delay(5);
//P3=dispbitcode[5];
//P2=dispcode[11];
P3=dispbitcode[3];
P0=dispcode[ge]; //顯示個位
delay(5);
}
void main(void)
{
while(1)
{
unsigned int abcd=1024; //一定要注意數據類型之前我一直用的是char(0^225)導致千位無法顯示
a=abcd/1000;//送去顯示
b=abcd%1000/100;
c=abcd%1000%100/10;
d=abcd%1000%100%10;
display(a,b,c,d);
}
}

本文引用地址:http://www.eepw.com.cn/article/201611/315523.htm

仿真電路:


相關焦點

  • 數碼管的工作原理與編碼顯示接口分析
    數碼管的一種是半導體發光器件,數碼管的工作原理是通過單片機的I/O埠進行驅動數碼管的各個段碼,點亮不同的段碼從而形成字符顯示出我們要的數字。絕大多數熱水器用的都是數碼管,其他家電也用液晶屏與螢光屏。  數碼管也稱LED數碼管,不同行業人士對數碼管的稱呼不一樣,其實都是同樣的產品。數碼管按段數可分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極體單元,也就是多一個小數點(DP)這個小數點可以更精確的表示數碼管想要顯示的內容;按能顯示多少個(8)可分為1位、2位、3位、4位、5位、6位、7位等數碼管。
  • 數字時鐘設計電路圖匯總(七款數字時鐘電路圖)
    個位採用十進位,十位採用六進位就能完美解決六十進位的秒計數。然後再用74ls191和74ls74來分別控制時的個位和十位。   數字時鐘設計電路圖(五)   作原理:6個數碼管的字型段輸入端(a、b、c、d、e、f,g)全部並接到解碼器相應的輸出端。電源控制開關管分別接到3~6解碼器的六個輸出端。
  • 數字時鐘設計電路圖匯總(七款數字時鐘電路圖)
    個位採用十進位,十位採用六進位就能完美解決六十進位的秒計數。然後再用74ls191和74ls74來分別控制時的個位和十位。   數字時鐘設計電路圖(五)   作原理:6個數碼管的字型段輸入端(a、b、c、d、e、f,g)全部並接到解碼器相應的輸出端。電源控制開關管分別接到3~6解碼器的六個輸出端。
  • 24進位數字電子鐘時計器、解碼顯示電路
    前言24進位電子數字鐘是實現具有24進位清零功能的電子鐘,它主要由脈衝、10進位加法器74LS160、解碼器74LS48、共陰極LED數碼管等四個模塊構成。通過找課外書,上網查找有關該課題方面的知識,將課題提交給指導老師,同指導老師討論後課題可行。
  • 第36節:帶數碼管顯示的加法簡易計算器
    這一節要教會大家兩個知識點:第一個:數字按鍵的輸入和十進位數值的移位方法。第二個:繼續加深理解按鍵與數碼管的關聯程序框架。具體內容,請看原始碼講解。(1)硬體平臺:基於朱兆祺51單片機學習板。數字1鍵對應S1鍵,數字2鍵對應S2鍵,數字3鍵對應S3鍵….
  • 51單片機直接驅動共陰極數碼管
    單片機驅動Led數碼管(或n個Led)應該算是單片機經典試驗之一了。數碼管種類:本文引用地址:http://www.eepw.com.cn/article/201611/321065.htm 少量的數碼管實際可以直接用單片機驅動(如4個數碼管)。數碼管數碼管有兩種:共陰極和共陽極數碼管。
  • STC89C52單片機對數字溫度計顯示系統的設計
    本文研究了一個可以實時存儲和顯示當前的溫度數據,並且可以切換顯示當前的時間而且可對其時間進行修改的溫度顯示系統。文章以STC89C52單片機,DS18B20溫度傳感器以及DS1302時鐘芯為硬體基礎,主要介紹了相關的硬體電路和相關應用程式。硬體電路主要包括STC89C52單片機最小系統,測溫電路、實時時鐘電路、數碼管顯示電路以及通訊模塊電路等。
  • 51單片機8位數碼管電子時鐘(完結)
    利用8位數碼管顯示時間,原理與4位數碼管顯示的基本一樣 仿真圖: 程序原始碼: 作者:胡琴 聯繫qq:1257394091 本程序已經通過在線軟體仿真和硬體製作. mov b,#10 div ab mov 20h,a ;將十位放入20h單元 mov 21h,b ;將個位、餘數放入21h單元 disp1: mov a,20h ;秒十位顯示 mov dptr,#table movc a,@a+dptr ;將A的內容+table內容,結果回存給A
  • 顯示解碼器設計的步驟、技巧及案例分析
    比如要設計一個顯示數字5,4,3,2,1,一個顯示字母E,L,H,F的顯示解碼器,雖然兩個顯示結果的內容和個數都不相同,但是如果兩種電路都選用七段數碼管,那麼兩種解碼電路輸出變量的個數都是7個。如果顯示字母E,L,H,F的電路,選擇五筆劃的顯示器,那麼它的輸出變量就只有5個。
  • 第29節:數碼管通過切換窗口來設置參數不顯示為0的高位
    每個窗口顯示一個參數。第8,7,6,5位數碼管顯示當前窗口,P-1代表第1個窗口,P-2代表第2個窗口,P-3代表第3個窗口,P-4代表第1個窗口。第4,3,2,1位數碼管顯示當前窗口被設置的參數。範圍是從0到9999。有三個按鍵。一個是加按鍵,按下此按鍵會依次增加當前窗口的參數。一個是減按鍵,按下此按鍵會依次減少當前窗口的參數。
  • 數碼管電子鐘
    主要元器件:89C52RC,74HL138,四位數碼管兩個,獨立按鈕三個,排線,杜邦線原理:利用定時計數器數碼管的顯示採用動態掃描法,至於如何對按鍵進行實時響應,參考程序部分。說明:由於本程序軟體部分既不是很複雜也不是很簡單,故採用C51編寫,硬體原理圖暫缺。軟體部分如下,本程序僅供QQ好友中從事嵌入式工作的叔叔和大哥們參考,修改。
  • 數碼管顯示時間整點報時C語言實例
    電路很簡單就不畫圖了,數碼管的段是p0口,2個數碼管位選分別是p2.5,p2.6#includesbit cs1=P2^5;sbit cs2=P2^6
  • 【實例分享】數字電子時鐘設計
    今天鑑鷹就陪大家一起設計一個簡單的電子時鐘,這個內容結合了數碼管以及定時器的相關知識,同時進一步加深程序的設計的思想,在學習中體會流程圖是如何設計的。若有疑問歡迎諮詢,吳鑑鷹單片機精講。1.硬體電路設計如下圖是電子時鐘的電路設計,按鍵的作用:其中K1將小時加1,K2將小時減1,K3用於將分鐘加1,K4用於將分鐘減1;數碼管用於顯示數字時間關於電路說明如下:1:按鍵:四個獨立按鍵佔用單片機p1.4,p1.5,p1.6,p1.7引腳,並且每個引腳上加上拉電阻,保證按鍵釋放後引腳上為可靠的高電平,以區分按鍵的按下和釋放狀態。
  • 51單片機六位顯示數碼管時鐘實例(帶鬧鐘設置,源碼,原理圖)
    時鐘可以顯示到秒位數碼管用的是共陰,共陽的話加三極體閒麻煩,沒加。數碼管a~g接的P0口,沒用10K排阻上拉,試了下覺得亮度太低了,就都換成了2K的作為上拉。有興趣的可以給加上溫度傳感器,可以顯示溫度(我這裡面就沒加了)初學單片機沒多久,歡迎大佬指導。
  • 實用21位多功能大屏幕遙控萬年曆
    本文介紹的HB40MA萬年曆IC,採用飛利浦高性能、低功耗、強抗幹擾晶片開發,能顯示21位年/月/日/星期/時/分/秒/農曆(或安全日、倒計時)/溫度。獨特的段掃描位驅動技術,使得數碼管連接十分簡單,可隨意混合接入0.3英寸~8英寸共陰LED,筆段亮度高且相當均勻、穩定,避免了一般段驅動法的段電流大、亮度不一致及閃爍等缺點。該晶片主要性能如下:1.工作電壓2.7~6V。
  • CD4026數字鐘電路
    1、引言   數字時鐘是以數字電路技術為基礎來實現時、分、秒的計時裝置,通常以十進位計數器和七段解碼器兩組晶片完成數字鐘計數功能。   2、數字鐘的組成及設計思路   2.1CD4026晶片簡介   CD4026是一款同時兼備十進位計數和七段解碼兩大功能的晶片,通常在CP脈衝的作用下為共陰極七段LED數碼管顯示提供輸入信號。在一些無需預置數的電子產品中得到了廣泛的應用,節約了開發成本。
  • 51單片機驅動8位數碼管電路圖+程序
    ^2; //定義138解碼器的輸入A腳由P2.2控制sbit LS138B = P2^3; //定義138解碼器的輸入腳B由P2.3控制sbit LS138C = P2^4; //定義138解碼器的輸入腳C由P2.4控制//此表為 LED 的字模, 共陰數碼管
  • 6位LED顯示單片機控制電子鐘/計數器
    這是我們設計的單片機電子鐘/計時器學習板,它採用6位LED數碼管顯示時、分、秒,以24小時計時方式。可以通過按鍵實現時分調整、秒表/時鐘功能轉換、省電(關閉顯示)等功能。常見的電子鐘程序由顯示部分、計算部分、時鐘調整部分構成,本產品硬體上完全支持倒計時器,客戶只要自己修改程序就能實現倒計時功能。 為了實現LED顯示器的數字顯示,可以採用靜態顯示法和動態顯示法。由於靜態顯示法需要數據鎖存器等硬體,接口複雜一些。考慮時鐘顯示只有六位,且系統沒有其它複雜的處理任務,所以決定採用動態掃描法實現LED的顯示。
  • 基於陣列除法的數據接收/顯示模塊設計
    根據系統要求,脈衝雷達高度表通過RS-422串行輸出高度數據,要求數據接收模塊實時接收,並顯示雷達高度數據。接收模塊接收到的高度數據採用二進位(BIN)碼表示,而數碼管等顯示設備需要BCD碼(即二進位編碼的十進位碼),所以二者之間的轉換非常必要。 BCD碼與BIN碼的相互轉換比較傳統的方法是採用DAA調節指令來實現,需要逐位調節,比較費時。文獻[3]提出利用模除,每次移動半字節,使轉換效率大為提高,但也僅是軟體算法,無法滿足數制轉換高效率和實時性的要求。