新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機學習之4-數(shù)碼管

51單片機學習之4-數(shù)碼管

作者: 時間:2016-11-30 來源:網(wǎng)絡 收藏




上圖是六位共陰型數(shù)碼管搭配兩片74HC573芯片的電路圖。L2是控制數(shù)碼管的a、b、c、d、e、f、g、dp,L3是選擇要顯示的數(shù)碼管。
下圖是74HC573芯片接在單片機上的10個IO口。(完美詮釋74HC573的實用性,哈哈~)



下圖是編碼列表



利用數(shù)碼管顯示秒表程序源碼:

/*****************************************

*說明:動態(tài)顯示方式控制數(shù)碼管。秒表源碼

*設計者:L、QQ:1007566569

*開發(fā)板:DB-51Ver2.1

*數(shù)碼管:六位共陰型

******************************************/

#include

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitdual=P2^6;//控制L2的74HC573芯片是否鎖存

sbitweal=P2^7;//控制L3的74HC573芯片是否鎖存

ucharaa;

//數(shù)碼管顯示數(shù)字的編碼table[0]就是顯示0

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

//要顯示指定數(shù)字的數(shù)碼管

ucharcodetablewe[]={

0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

#defineTime50000

#defineYsTime1

voidShowTime(ucharbai,ucharshi,ucharge);

voiddelay(uintz);

/********主函數(shù)********/

voidmain()

{

ucharb,s,g;

TMOD=0x01;//選擇定時器工作方式1

TH0=(65536-Time)/256;//(65536-(50000/(12*(1/12))))/256;

TL0=(65536-Time)%256;//(65536-(50000/(12*(1/12))))%256;

EA=1;//開啟總中斷

ET0=1;//開啟定時器0中斷

TR0=1;//啟動定時器0



評論


技術專區(qū)

關閉