51單片機學習之4-數(shù)碼管
上圖是六位共陰型數(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
評論