請教,8051 彈跳開關 控制七段的問題。 |
答題得分者是:handystudio
|
mbox0c
一般會員 發表:1 回覆:1 積分:0 註冊:2010-05-14 發送簡訊給我 |
各位好,有幾個問題想請教大家,我想要使用一個開關控制七段顯示的問題,且開關有三種功能。 主要是利用彈跳開關,一開始並無動作,按第一下才啟動七段顯示的功能(顯示電話或其他數字等)例如:1~5連續顯示,按第二下可以停止,按第三下回到第一個數字並且停止,三種功能循環。 我是使用中斷(INT0)去寫,然後用一個暫存器(R3)紀錄被按下的次數1~3超過三次歸零重算,我寫的程式只有啟動部份是正常的,也就是一開始按下第一下開關可以啟動七段顯示數字,但第二下之後就沒有動作了,七段還是一直跑。 我覺得是我判斷R3(按鍵次數)和歸零有錯,但是又不確定,改了又改問題依舊無法解決。希望可以給我一些指教、方向,謝謝! [code ] 00H MAIN 003H INT_0 MAIN: R7,#00H IT0 IE,#89H DPTR,#TABLE MAIN CLRR2: R2,#00H LOOP: A,R2 A,@A DPTR P1,A DELAY R2 R2,#10,LOOP CLRR2 INT_0: R7 SE1: P3.4 R7,#01H,SE2 CLRR2 SE2: P3.5 R7,#02H,SE3 SE2 CLR CJNE CLR RETI DELAY: R4,#20 TMOD,#00000001B TIMER: TH0,#3CH TL0,#0B0H TR0 WAIT: TF0,OK WAIT OK: TF0 R4,TIMER DB DB DB DB DB DB DB DB DB DB RET END [/code]
附加檔案:4bed2a718cd45_pb.txt
編輯記錄
mbox0c 重新編輯於 2010-05-14 21:35:40, 註解 無‧
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
"用一個暫存器(R3)紀錄被按下的次數" => ????? 你程式裡並沒有用R3阿???
是用R7嗎? 你程式 JMP MAIN 一直將R7 清為0, 改 JMP $ 試試 ===================引 用 mbox0c 文 章=================== 各位好,有幾個問題想請教大家,我想要使用一個開關控制七段顯示的問題,且開關有三種功能。 主要是利用彈跳開關,一開始並無動作,按第一下才啟動七段顯示的功能(顯示電話或其他數字等)例如:1~5連續顯示,按第二下可以停止,按第三下回到第一個數字並且停止,三種功能循環。 我是使用中斷(INT0)去寫,然後用一個暫存器(R3)紀錄被按下的次數1~3超過三次歸零重算,我寫的程式只有啟動部份是正常的,也就是一開始按下第一下開關可以啟動七段顯示數字,但第二下之後就沒有動作了,七段還是一直跑。 我覺得是我判斷R3(按鍵次數)和歸零有錯,但是又不確定,改了又改問題依舊無法解決。希望可以給我一些指教、方向,謝謝! [code ] 00H MAIN 003H INT_0 MAIN: R7,#00H IT0 IE,#89H DPTR,#TABLE MAIN CLRR2: R2,#00H LOOP: A,R2 A,@A DPTR P1,A DELAY R2 R2,#10,LOOP CLRR2 INT_0: R7 SE1: P3.4 R7,#01H,SE2 CLRR2 SE2: P3.5 R7,#02H,SE3 SE2 CLR CJNE CLR RETI DELAY: R4,#20 TMOD,#00000001B TIMER: TH0,#3CH TL0,#0B0H TR0 WAIT: TF0,OK WAIT OK: TF0 R4,TIMER DB DB DB DB DB DB DB DB DB DB RET END [/code]
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
mbox0c
一般會員 發表:1 回覆:1 積分:0 註冊:2010-05-14 發送簡訊給我 |
handystudio大,成功了!! 感恩
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |