89s51的問題 附電路圖 |
尚未結案
|
zxcjeff
一般會員 發表:3 回覆:3 積分:1 註冊:2012-06-08 發送簡訊給我 |
為什麼我用keil模擬的時候功能都正常
我是想 1 P1_0 輸出方波 0 P1_0 =0 我燒到89s51 用示波器測是會有波形 但是測到的波形都不是我想控制的那樣 是我程式打錯嗎?? 可是模擬的時候功能都正常 還是外部電路圖用錯?? #include #include #include void timer0_initialize(void) //初始化計時器0 { EA=0; //關閉中斷功能(所有中斷副程式失效) IE|=0x02; //開啟計時器中斷功能 TMOD|=0x01; //設定計時器模式 temp=65536-dutytime; //設定中斷一次的時間(預設是dutytime) TH0=temp/256; //填入高八位 TL0=temp%6; //填入低八位 TR0=1; //啟動計時器 EA=1; //開啟中斷功能(中斷副程式可以執行) } void timer1_initialize(void) //初始化計時器1 { EA=0; //關閉中斷功能(所有中斷副程式失效) IE|=0x08; //開啟計時器中斷功能 TMOD|=0x10; //設定計時器模式 temp=65536-dutytime; //設定中斷一次的時間(預設是dutytime) TH1=temp/256; //填入高八位 TL1=temp%6; //填入低八位 TR1=1; //啟動計時器 EA=1; //開啟中斷功能(中斷副程式可以執行) } void timer0_isr(void) interrupt TF0_VECTOR using 1 //使用計時器中斷副程式產生PWM { if(P0_0==1) P1_0=0; } } void timer1_isr(void) interrupt TF1_VECTOR using 1 //使用計時器中斷副程式產生PWM { if(P0_1==1) // 左轉 timer0_initialize();//呼叫計時器初始化副程式 timer1_initialize();//呼叫計時器初始化副程式 while(1); } |
if8051
中階會員 發表:2 回覆:53 積分:61 註冊:2012-08-24 發送簡訊給我 |
|
zxcjeff
一般會員 發表:3 回覆:3 積分:1 註冊:2012-06-08 發送簡訊給我 |
|
if8051
中階會員 發表:2 回覆:53 積分:61 註冊:2012-08-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |