Re: 簡單的閃爍控制
|
||||
---|---|---|---|---|
高級會員
|
你的振盪頻率是多少 , 看起來ON-OFF的時間太短 , 可以用軟體模擬的STOPWATCH算一下時間 , 基本上 , LED及相關發光元件 , 一般在小於20ms的ON-OFF動作 , 實際上是看不到閃爍的 ,
如果不確定IO有無動作 , 示波器一勾就看得到IO有無ON-OFF的動作了,
發表於: 2005/6/29 11:09
|
|||
|
Re: 簡單的閃爍控制
|
||||
---|---|---|---|---|
初級會員
|
1.你的有一個奇怪的地方
banksel ADCON1 ;定義ADCCON1,將PORTA第四個bit設為數位模式 你應該是用portb輸出吧!為何要規劃porta咧? 2.看一下你震盪器頻率吧!!DELAY時間不夠
發表於: 2005/6/29 10:46
|
|||
|
Re: 簡單的閃爍控制
|
||||
---|---|---|---|---|
資深會員
|
要不要試著用F7單步執行看看?
把中斷點放在delay_100ms 副程式中的RETURN上 執行到中斷點後開始單步執行 如果PORTB有正常開關 試試看是否是延遲時間太短而不是0.1秒 導致看不出來有閃爍
發表於: 2005/6/29 10:06
|
|||
|
簡單的閃爍控制
|
||||
---|---|---|---|---|
中級會員
|
大家好 我是初學者
我常試寫LED閃爍控制 每格100ms就閃爍一次 但是我的結果出來並不會進行此一動作 一值停留在亮的狀態 我使用的PIC 為 16F873A Demoboard PICDEM 2 PLUS 燒錄器ICD 2 以下是我的程式 請各位幫我看看 謝謝 list p=16F873a #include <p16f873a.inc> ; Include file locate at defult directory ; ;#define Shift_vaule b'00000001' VAL_500us equ .5 ; 0.5ms delay value VAL_10ms equ .3 ; 10mS delay value VAL_100ms equ .1 ; 100mS delay value count_us equ 0x20 ; Defined temp reg. for 1ms delay count_10ms equ 0x21 ; Defined delay reg. count_100ms equ 0x22 ;count_200ms equ 0x22 ;count equ 0x23 ;shift_value equ 0x20 ;******************************************** ;********************************************* org 0x00 nop initial: banksel ADCON1 ;定義ADCCON1,將PORTA第四個bit設為數位模式 movlw b'11001110' movwf ADCON1 banksel CMCON ;定義CMCON將比較器功能關閉 movlw b'00000111' movwf CMCON banksel TRISB ;定義TRISB設定PORTB為輸出模式 clrf TRISB banksel PORTB clrf PORTB ;*********************************************** Main ;*********************************************** start: call delay_100ms movlw b'00000001' movwf PORTB call delay_100ms clrf PORTB goto start ;-----------------------延遲100ms------------------------------------------- delay_100ms: movlw VAL_100ms movwf count_100ms loop_100ms: call delay_10ms decfsz count_100ms,F goto loop_100ms return ;-----------------------延遲10ms------------------------------------------- delay_10ms: movlw VAL_10ms movwf count_10ms loop_10ms: call delay_0.5ms decfsz count_10ms,F goto loop_10ms return ;-----------------------延遲0.5ms---------------------------------------- delay_0.5ms: movlw VAL_500us movwf count_us dec_loop nop nop nop nop nop decfsz count_us,F goto dec_loop return end
發表於: 2005/6/28 17:07
|
|||
|