標(biāo)題: 求助:關(guān)于按鍵控制流水燈速度(頻率)的問(wèn)題 [打印本頁(yè)]

作者: az_noodle    時(shí)間: 2016-7-8 21:36
標(biāo)題: 求助:關(guān)于按鍵控制流水燈速度(頻率)的問(wèn)題
我用的匯編,如果要添加P3.2和P3.3分別為一個(gè)按鍵控制增加流速(按一次固定增加多少ms,有最大值)和減少流速(按一次固定減少多少ms,有最小值),怎么設(shè)計(jì)?我用的兩個(gè)燈一組循環(huán)移動(dòng),求大神解答一下,謝謝了!。
ORG 0000H
LJMP START
ORG 0030H
START: MOV A,#0FCH ;LED燈初值,兩個(gè)燈點(diǎn)亮(11111100)
LOOP:  MOV P1,A ;P1口送控制值
       LCALL DELAY ;延時(shí)
       RL A ;移位
       SJMP LOOP ;循環(huán)
DELAY: MOV R3,#200 ;延時(shí)大概100毫秒
DLY:   MOV R4,#250
       DJNZ R4,$
       DJNZ R3,DLY
       RET
       END

怎么添加對(duì)應(yīng)的子程序按鍵控制~


作者: l912094869    時(shí)間: 2016-7-9 05:46
求大神解釋!
作者: zl2168    時(shí)間: 2016-7-9 07:41
本帖最后由 zl2168 于 2016-7-9 07:42 編輯

實(shí)例7  鍵控流水循環(huán)燈


Proteus仿真一下,確認(rèn)有效。
實(shí)例7 鍵控流水循環(huán)燈.rar (36.04 KB, 下載次數(shù): 231)



以上摘自張志良編著《80C51單片機(jī)Proteus仿真設(shè)計(jì)實(shí)例教程》清華大學(xué)出版社ISBN 978-7-302-41682-1


書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。



作者: az_noodle    時(shí)間: 2016-7-9 11:50
非常感謝,仿真很成功,但是如果有程序就再好不過(guò)了,書(shū)的話我看看圖書(shū)館有沒(méi)有?初學(xué)者就不知道怎么寫(xiě)按鍵控制流速的問(wèn)題~
作者: az_noodle    時(shí)間: 2016-7-9 11:52
zl2168 發(fā)表于 2016-7-9 07:41
實(shí)例7  鍵控流水循環(huán)燈

非常感謝~但是有程序就最好了~書(shū)的話看看圖書(shū)館有沒(méi)有~就是鍵控流速不知道怎么寫(xiě)才好~
作者: az_noodle    時(shí)間: 2016-7-9 12:26
zl2168 發(fā)表于 2016-7-9 07:41
實(shí)例7  鍵控流水循環(huán)燈

非常感謝,但是程序按鍵控制流速的程序怎么樣寫(xiě)?
作者: az_noodle    時(shí)間: 2016-7-9 12:37
zl2168 發(fā)表于 2016-7-9 07:41
實(shí)例7  鍵控流水循環(huán)燈

這個(gè)實(shí)例貌似要不就是一直按著不放,要不就看準(zhǔn)在流水燈最后按才有增加和縮短的效果(每循環(huán)一次),能不能直接在中途任意時(shí)刻按一下就是增加和縮短的?
作者: zl2168    時(shí)間: 2016-7-9 12:57
az_noodle 發(fā)表于 2016-7-9 12:26
非常感謝,但是程序按鍵控制流速的程序怎么樣寫(xiě)?

程序在書(shū)中
作者: zl2168    時(shí)間: 2016-7-9 12:57
az_noodle 發(fā)表于 2016-7-9 12:37
這個(gè)實(shí)例貌似要不就是一直按著不放,要不就看準(zhǔn)在流水燈最后按才有增加和縮短的效果(每循環(huán)一次),能不 ...

任意時(shí)刻
作者: az_noodle    時(shí)間: 2016-7-9 13:12
zl2168 發(fā)表于 2016-7-9 12:57
任意時(shí)刻

按了很多次反應(yīng)不大啊,而且每循環(huán)一次才增加和縮短,要一直按著才變化明顯,我想是按一下任意時(shí)刻直接加速減速(不是循環(huán)一次才加速減速)這樣按鍵才起到最好的調(diào)控效果~就是這種不會(huì)弄~求教了~
作者: zl2168    時(shí)間: 2016-7-9 14:38
本帖最后由 zl2168 于 2016-7-9 14:54 編輯

① 8個(gè)發(fā)光二極管從上到下(K0斷開(kāi))依次循環(huán)點(diǎn)亮,每次點(diǎn)亮?xí)r間約為0.5秒。
② 按下K0,流水方向從下至上滾動(dòng)點(diǎn)亮。
③ 按下K1(K2斷開(kāi)),每循環(huán)一次后間隔時(shí)間縮短0.1秒,直至最短間隔0.1秒后保持不變。
④ 按下K2(K1斷開(kāi)),每循環(huán)一次后間隔時(shí)間增加0.1秒,直至最長(zhǎng)間隔1秒后保持不變。
⑤ K1、K2同時(shí)斷開(kāi)或同時(shí)閉合,保持原滾動(dòng)間隔時(shí)間不變。
初設(shè)0.5秒,以后是每循環(huán)一次后間隔時(shí)間縮短或增加0.1秒,注意“每循環(huán)一次”,然后變化。
縮短或增加0.1秒,你有感覺(jué)嗎?
如果嫌慢,按住不放或鎖定按鍵(點(diǎn)擊按鍵右側(cè)小紅點(diǎn))。
這是仿真,象征性的。你要什么效果,都可修改!你們學(xué)單片機(jī),就是學(xué)修改,學(xué)好了,就自己能創(chuàng)造了!
例如,你要每次縮短或增加0.2秒,按2次就玩完了,有勁嗎?按5次才稍稍有勁些。
再例如,你要每次縮短或增加0.05秒,那就更沒(méi)感覺(jué)了。
腦子想想,什么叫仿真?什么叫象征性?
實(shí)際上,單片機(jī)都可做到,你怎么想,怎么實(shí)現(xiàn),問(wèn)題是有沒(méi)有必要,好玩不好玩。

作者: coliby    時(shí)間: 2016-7-9 14:46
http://wenku.baidu.com/link?url= ... ONpjdgCACqajqQXhG5a
作者: yzwzfyz    時(shí)間: 2016-7-11 01:18
寫(xiě)程序,主要是構(gòu)思!
速度取決于你的延時(shí),
將延時(shí)時(shí)間做成活的,即可達(dá)成目的.
所以最好用中斷做延時(shí).在中斷中改更延時(shí)的時(shí)常數(shù).(在你需要改變速度的時(shí)候,如按下了鍵)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1