![]() |
發(fā)布時間: 2021-5-16 17:29
正文摘要:單片機源程序如下:#include <REG52.H> #define uint unsigned int #define uchar unsigned char sbit sda =P2^0; sbit sclk=P2^2; sbit rclk=P2^1; uchar hou=12,min=32,sec=40; uchar code table[]={0x ... |
這里也要改一下
|
樓主想用4位數(shù)碼管交替顯示不同數(shù)據(jù)可以這樣改顯示函數(shù)
|
本帖最后由 名字不是重點 于 2021-5-17 10:41 編輯 這個有問題: void DisplayScan() { static uchar i=0; shift(wela[ i]);//送位碼 //===>位碼i shift(dis_buf[ i]);//送段碼//====>段碼i //每一個數(shù)碼管都要插入一個延時 shift(wela[ i]);//送位碼//====>位碼還是i,一個數(shù)碼管顯示2個段碼? shift(dis_buf[i+4]);//送段碼//====>段碼i+4,段碼i+1、i+2、i+3被誰吃了? //每一個數(shù)碼管都要插入一個延時 rck();//鎖存 i=++i%4;//循環(huán)掃描計數(shù) } |
動態(tài)顯示要延時。沒有延時感覺上就亂了。。 |
級聯(lián)多少片,就執(zhí)行多少次 shift() 函數(shù),然后鎖存一次,不能多也不能少。 |
兩片74HC595 驅動8位數(shù)碼管 單片機源代碼分享 http://www.zg4o1577.cn/bbs/dpj-201201-1.html |