![]() |
發(fā)布時間: 2022-12-11 02:51
正文摘要:單片機源程序如下: #include<reg51.h> #include<intrins.h> #include<absacc.h> #define uc unsigned char #define ... |
基礎(chǔ)太差了! 因為,GM和RT 永遠不會 變成 1,所以,亮燈條件永遠無法達成, 因此, 你的燈永遠也不會亮! |
招搖的狗子 發(fā)表于 2022-12-11 21:45 無所謂嚴謹不嚴謹,要想有相應(yīng)的動作,需要滿足的要求就都得滿足 |
hhdsdy 發(fā)表于 2022-12-11 20:42 如果就一個發(fā)光二極管燈常亮不滅 |
人中狼 發(fā)表于 2022-12-11 16:02 這樣說我邏輯不嚴謹 要修改語句嗎? |
lkc8210 發(fā)表于 2022-12-11 20:54 修改之后并無變化 |
定時中斷內(nèi)的m是局部變量 每次離開函數(shù)后都會清零 請改為static uc m=0; |
招搖的狗子 發(fā)表于 2022-12-11 20:02 就一個發(fā)光二極管,不需要繼電器 |
還是說控制燈亮僅僅三極管不行嗎 一定要加繼電器? |
xuyaqi 發(fā)表于 2022-12-11 17:17 置1后通電就亮 不受控制 |
R5限流電阻太大了吧 1K就夠用了 |
51單片機檢測端口電平前,端口要先置1,你程序沒有做到。 |
sec大于還是小于5,只是邏輯判斷的其中一個條件而已,并不是唯一的 |
ytchfp163 發(fā)表于 2022-12-11 03:43 中斷程序自己就會運行的哈 |
人中狼 發(fā)表于 2022-12-11 08:32 如果這里邏輯錯誤的話那我的等應(yīng)該是常亮不滅,但程序運行后燈不亮 |
ytchfp163 發(fā)表于 2022-12-11 03:43 中斷程序不需要主程序調(diào)用的,滿足條件自己進入 |
定時器中斷的判斷邏輯有問題,sec永遠不會大于5 |
主程序main()空運行了一下,什么都沒有執(zhí)行啊,沒有調(diào)用T0_time() interrupt 1。將主程序改為下面的試試: void main() { init(); while(1) { T0_time() interrupt 1; } } |
void main() { init(); while(1); } 主程序什么都沒有執(zhí)行啊,只是空運行了一下,沒有調(diào)用T0_time() interrupt 1函數(shù)。 改為: void main() { init(); while(1) T0_time() interrupt 1; } 試試。 |
Powered by 單片機教程網(wǎng)