![]() |
發(fā)布時間: 2019-2-11 21:02
正文摘要:我把無線非鎖接收板接到單片機,,來控制PWM的發(fā)射和終止。但是按一下有時候可以發(fā)出,有時候按好幾下都發(fā)不出,請高手解決, #include "pwm_register.h" #include "stdbool.h" sbit ADDR0 = P1^0; sb ... |
個人建議您將4+1個接收輸出通過限流電阻接一個發(fā)光二極管到GND,然后看一下遙控接收的狀態(tài)是不是正確?如果這一部分沒有問題的話,再去看單片機軟件和硬件及連接?s小問題范圍。 另外看一下單片機輸入端口是不是需要上拉電阻或下拉電阻。 |
參與人數(shù) 1 | 黑幣 +35 | 收起 理由 |
---|---|---|
![]() | + 35 | 回帖助人的獎勵! |
消抖程序寫了還是不行, |
devcang 發(fā)表于 2019-2-12 10:42 #include "pwm_register.h" sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; int n; sbit D0 = P0^0; sbit D1 = P0^1; sbit D2 = P0^2; sbit D3 = P0^3; void LED_init() { ENLED=0; ADDR3=1; ADDR2=1; ADDR1=1; ADDR0=0; } void delay10ms(void) { unsigned char a,b,c; for(c=1;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); } void main() { LED_init(); while(1) { if(D0==1) { delay10ms(); if(D0==1) { n++; if(n==1) { enable_xsfr(); pwm_clock_speed(0); set_pwm_period(0x1000); set_pwm0_T1_T2_point(0x200,0x700); enable_pwm0(); disable_xsfr(); enable_pwm(); } if(n==2) { disable_pwm0(); disable_pwm(); n=0; } while(!D0); delay10ms(); while(!D0); } } } } 寫了消抖的程序還是不行,能幫我看下主函數(shù)有問題沒有謝謝 |
devcang 發(fā)表于 2019-2-12 10:42 是按鍵去消抖嗎? |
按鍵的處理。。。。 |
Powered by 單片機教程網(wǎng)