2﹑作八段LED動態顯示時﹐我把40H,41H,42H,43H,44H作顯示緩沖區用﹐但怎樣才能
用循環的方式來實現顯示﹐如﹕
disp: mov r0, #40h
mov r1, #01h
disp2: jb p2.4, disp
mov p2, r1
mov a, r1
rl a
mov r1, a
mov a, @r0
mov dptr, #tab
movc a, @a+dptr
mov p1, a
inc r0
acall delay ;1ms
ajmp disp2
這段程序好像實現不了。
怎么還是沒人回?
謝樓上﹐程序我已改好了﹐這樣就沒有問題了﹐
但誰能告訴我第一個問題怎樣去解決﹕外部中斷經常不靈﹐怎樣去解決?
謝樓上﹐是這樣的﹐我做過好多外部中斷程序都是一樣不靈﹐程序自身是沒有問題的﹐我想應是硬件上造成的﹐
普通IO可以通過軟件延時的方式進行消抖﹐但是外部中斷卻無能為力了﹐請指教這個消抖電路應該怎樣來做呢?例程﹕
org 0000h
ajmp 0030h
org 000bh
ajmp ex0
org 0030h
main: mov ie, #86h
setb it0
sjmp $
ex0: cpl p1.0 ; p1.0上接一LED發光管
reti
結果﹕按一次int0所接按鍵﹐有時會LED閃兩 次。這我就沒招了﹐還請同行指教﹗
用位标志多判几下就可以了
謝樓上﹐但是外部中斷是無法通過軟件上去延時的,延時20ms只能用在普通的IO上;
謝過你了﹐我已有辦法去做好了。
欢迎光临 千家论坛_智能建筑与智能家居技术交流社区 (http://bbs.qianjia.com:8020/) | Powered by Discuz! X3.2 |