Re: RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
資深會員
|
國偉兄:
要用ICD2 Debug,你看!!!竟然惹火了jubel大大了... 趕快請他息怒。
MAIN_LOOP
請在SCAN_KEY這個副程式裡處理好你的按鍵,並用旗標設定按鍵的狀態 請在LED_PROCESS這個副程式,判斷按鍵旗標的狀態,再依照旗標來做LED的動作,這樣子程式架構才會有系統規劃,可攜性也比較高。
發表於: 2008/1/15 9:09
|
|||
|
Re: RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
資深會員
|
把我說得那兩行丟到這段程式外面
讓他只執行一次 不然會有問題 還有你上下都各少打一行 呼叫延遲的前一行少個判斷 你把你要的完整功能寫出來吧 兩個同時按下要做啥事 PORTD 全部閃爍嗎? 建議你弄台ICD2用除錯模式一步一步執行 這樣要找問題才容易找 不然就用SIM模擬模式 用WATCH視窗看PORTD的變化 來去睡覺....
發表於: 2008/1/14 23:56
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
Re: RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
初級會員
|
你好:
程式是RB0則左旋 RA4就右旋沒錯... 可否請先進指導一下用call寫不出來 SHIFT_VAL equ b'0000001' start: movlw SHIFT_VAL ;這兩行我覺得會出問題 movwf PORTD ;把這兩行丟到程式最前面讓他 只執行一次看看 btfsc RA4 CALL led_left CALL delay_200ms btfsc RB0 CALL led_right CALL delay_200ms led_left rlf PORTD led_right rrf PORTD 只會最左邊量亮...跟最右邊亮...
發表於: 2008/1/14 21:23
|
|||
|
Re: RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
資深會員
|
我想你用的大概是PIC16系列的
你要做的是 按下RA4就右旋,按下RB0則左旋 對吧?! 你這種寫法只會有其中一種發生 不可能會左右同時發生 試試以下寫法 用呼叫的不要用跳躍才可以兩種都發生 寫程式如果可以的話儘量用呼叫不要用跳躍 這樣容易讓流程混亂
SCAN_KEY
發表於: 2008/1/14 9:15
|
|||
木亟缶夬金戔
彳艮缶夬金戔 走召缶夬金戔 |
||||
|
RB0跟RA4同時按下8個LED 燈會閃爍
|
||||
---|---|---|---|---|
初級會員
|
MAIN_LOOP
CALL SCAN_KEY call LED_PROCESS GOTO MAIN_LOOP SCAN_KEY start: movlw SHIFT_VAL movwf PORTD test_rb0 btfss RB0 goto test_1 goto led_left led_left rlf PORTD call delay_200ms goto test_rb0 ; test_1 btfss RA4 goto test_rb0 goto led_right led_right rrf PORTD call delay_200ms goto test_1 call LED_PROCESS 請問個位先進小弟想了很久還是寫不出來RB0跟RA4同時按下 8個LED 燈會閃爍可否教導一下..謝謝 ;--------- 200 md delay routine -------- ; delay_200ms: movlw VAL_200MS movwf count_200ms loop_20ms call delay_10ms decfsz count_200ms,F goto loop_20ms return ; ;-------- 10 ms delay routine ---------- ; delay_10ms: movlw VAL_10MS movwf count_10ms loop_ms call delay_500us decfsz count_10ms,F goto loop_ms return ; ;-------- 0.5 ms delay routine ----------- ; delay_500us: movlw VAL_500US movwf count_us dec_loop nop nop nop nop nop decfsz count_us,F goto dec_loop return end
發表於: 2008/1/13 21:40
|
|||
|