發新話題
打印

請問有關C8051F413做簡單的輸出

請問有關C8051F413做簡單的輸出

純粹做輸出,接上LED,讓它閃爍
我在port_init那邊改很多種方式,都試過了
可是結果都是只有P1_4發亮(1)
如果我將main中P1_4(第一個P1_4)改成0,結果就是不亮
都不會有我想要的閃爍效果
只能持續亮,或持續不亮
我想過很多問題,可能是port initial或是clock,或是download to flash(program)的問題
是很久了還是不行,問題到底出在哪裡呢?
delay的時間我有改長改短過
clock的部分我沒改變,照理說應該是internal oscillator is running at programmed frequency
flash的部分,我是用keil c version3,在target的option中的ultilities,選擇target driver,
選擇silicon labs c8051fxxx driver

程式如下
#include"c8051F410.h"
void Delay_ms(unsigned int dly) ;
void port_init(void);
void main(void)
{
        port_init();
        while(1)
        {
                P1_4=1;
                Delay_ms(500);
                P1_4=0;
                Delay_ms(500);
        }
}
void port_init(void)
{
        P1MDIN=0xFF;
        P1SKIP=0x10;
        XBR1=0x40;
}
void Delay_ms(unsigned int dly)
{  
  unsigned  int dly1;
  while(dly--)         
    for(dly1=0;dly1<113;dly1++);
}

請問我程式哪裡需要改正呢??
麻煩大家了~謝謝

TOP

你可以參考 原廠的範例程式
SiLabs\MCU\Examples\C8051F41x\Blinky.c

< 安裝完IDE 會有完整MCU 系列的 sample code >

TOP

感謝阿~
找出原因了
是PCA0MD &=~0x40這個指令沒用
但不懂的是,為何要將watchdog timer disable掉
PCA module 5是在做什麼的呢

TOP

Watchdog 功能 你可參考
http://www.asia-info.net/detail_elec.asp?id=7336
silab MCU default 是開啟的
所以要在編寫程式開始 將這個功能關掉

TOP

發新話題