熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2019-2-11 21:02
正文摘要:我把無(wú)線非鎖接收板接到單片機(jī),,來(lái)控制PWM的發(fā)射和終止。但是按一下有時(shí)候可以發(fā)出,有時(shí)候按好幾下都發(fā)不出,請(qǐng)高手解決, #include "pwm_register.h" #include "stdbool.h" sbit ADDR0 = P1^0; sb ... |
|
個(gè)人建議您將4+1個(gè)接收輸出通過(guò)限流電阻接一個(gè)發(fā)光二極管到GND,然后看一下遙控接收的狀態(tài)是不是正確?如果這一部分沒(méi)有問(wèn)題的話,再去看單片機(jī)軟件和硬件及連接。縮小問(wèn)題范圍。 另外看一下單片機(jī)輸入端口是不是需要上拉電阻或下拉電阻。 |
| 參與人數(shù) 1 | 黑幣 +35 | 收起 理由 |
|---|---|---|
|
| + 35 | 回帖助人的獎(jiǎng)勵(lì)! |
| 消抖程序?qū)懥诉是不行, |
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ù)有問(wèn)題沒(méi)有謝謝 |
devcang 發(fā)表于 2019-2-12 10:42 是按鍵去消抖嗎? |
| 按鍵的處理。。。。 |
Powered by 單片機(jī)教程網(wǎng)