![]() |
發(fā)布時間: 2022-8-10 16:09
正文摘要:我思考了半天,打出了冒號閃爍代碼,測試發(fā)現(xiàn)每分鐘只閃57下。 一開始直接用延時500毫秒循環(huán)閃,發(fā)現(xiàn)搶了數(shù)碼管的動態(tài)掃描時間,造成數(shù)碼管閃爍。 這里是插入在動態(tài)掃描里的,顯示效果都還算理想,只是少 ... |
sheep5618 發(fā)表于 2022-8-14 10:14 if(sec &1)ss=1;else ss=0;/*1s一翻*/ 這個一秒一翻轉(zhuǎn)還實在,直接關(guān)系1302 編譯不了0.5要不然就按秒亮滅了 ![]() |
wulin 發(fā)表于 2022-8-14 07:21 下載了,慢慢玩 |
Y_G_G 發(fā)表于 2022-8-13 14:50 復(fù)制修改的,改好的就湊一起了 ![]() |
調(diào)整延時時間 |
玉萌業(yè)余發(fā)展 發(fā)表于 2022-8-11 17:59 單鍵調(diào)時,適用帶冒號時鐘專用數(shù)碼管。 ![]()
![]() |
話不是這么說的 你多少是會點的 雖說不是一定要像人家科班出身那樣,寫出嚴(yán)謹(jǐn)?shù)囊?guī)范的C語言代碼出來 但至少,一個語句占一行,這一點是要的 因為大家都是這樣的,如果你要貼代碼出來,多少是要考慮一下別人能不能看得明白你的代碼 像你這種代碼,很多時候,過一段時間,只怕是你自己都不知道自己代碼是什么意思了 |
Y_G_G 發(fā)表于 2022-8-12 07:24 其實我什么都不懂 ![]() |
玉萌業(yè)余發(fā)展 發(fā)表于 2022-8-11 17:59 你這個代碼,寫得讓人耳目一新啊,有黑客帝國風(fēng)范 |
Y_G_G 發(fā)表于 2022-8-11 13:36 修改了一個。本來就學(xué)著玩得 ![]() |
188610329 發(fā)表于 2022-8-11 14:54 好,有錢再買回來研究 ![]() |
玉萌業(yè)余發(fā)展 發(fā)表于 2022-8-11 12:20 時鐘點是獨立引腳控制的話,建議用ds1307替代ds1302,因為ds1307有sqw引腳,可直接控制時鐘點,給07地址分別寫入0x00,0x80,0x10可控制時鐘點亮,滅,閃。 |
Miao在定時器中斷中改變,1秒鐘取反一次 OUT=..........; //顯示,冒號不亮 if(Miao)OUT&=.....;//冒號亮燈 如果你不會寫一個一秒鐘的定時器,那............. |
lkc8210 發(fā)表于 2022-8-10 17:00 冒號是哪根腳/段位? 假設(shè)是W3的dp段 P1=0xFF;w3=1;P1=smgduan[shi%16]; if(ss>=500) { ss==0; if(flash) { P1 &= 0x7F; } flash = !flash; }else{ ss+=ms*4; } delay(ms);w3=0;//.... 用的是單獨帶冒號的數(shù)碼管,不是小數(shù)點分出的;其實小數(shù)點分出可以節(jié)省硬件連接 ![]() |
mengsiu 發(fā)表于 2022-8-11 10:35 感謝黒友回復(fù)。 ![]() ![]() |
董云交 發(fā)表于 2022-8-11 09:08 感謝黒友回復(fù)。 ![]() |
wulin 發(fā)表于 2022-8-10 20:54 感謝黒友回復(fù)。 ![]() |
188610329 發(fā)表于 2022-8-10 18:06 感謝黒友回復(fù)。 ![]() ![]() |
npn 發(fā)表于 2022-8-10 18:00 感謝黒友回復(fù)。 ![]() |
天ノ憶 發(fā)表于 2022-8-10 17:35 感謝黒友回復(fù)。 ![]() |
haiyang201 發(fā)表于 2022-8-10 17:06 感謝黒友回復(fù)。 ![]() |
lkc8210 發(fā)表于 2022-8-10 17:00 感謝黒友回復(fù)。 ![]() |
用個定時器之類的,約500ms滅,然后時鐘變秒時亮就可以。 |
這種閃爍我會用定時器中斷,不占用系統(tǒng)延時。他在閃爍的話給我的信息就是系統(tǒng)在運行。至于一分鐘閃多少下,是57下還是63下,其實并不是那么重要的了。 |
可以用定時器延伸出來做一個軟定時器,然后置標(biāo)志位進(jìn)行準(zhǔn)確定時 |
這個程序里有關(guān)于數(shù)碼管閃點的代碼,可以借鑒用于冒號閃爍。![]() |
這要具體情況具體分析,不能任死理的。 一般如果時鐘點 是獨立引腳的話,我比較習(xí)慣用 DS1307 的 SQW 引腳輸出 1秒 的脈沖 來驅(qū)動。 而如果時鐘點 是和其他段是公用引腳,比如,在位2的 小數(shù)點。 那么會 利用定時器 每 500ms 翻轉(zhuǎn)一次 Flag_TimePiont 標(biāo)志, 在數(shù)碼管 動態(tài)掃描 顯示 位2 數(shù)字的時候: if(Flag_TimePiont) Disp[2] |= 0x80; else Disp[2] &= 0x7f; 這樣的方法。 |
你要用定時器中斷進(jìn)行動態(tài)掃描和計時。 |
要想準(zhǔn)確就用定時器 |
定時器不是好一點,不占用時間 |
冒號是哪根腳/段位? 假設(shè)是W3的dp段
|
Powered by 單片機教程網(wǎng)