|
電路原理圖如下:
/* 關(guān)閉開(kāi)發(fā)板電源
開(kāi)發(fā)板上不要接插任何模塊,如液晶點(diǎn)陣這些都不能接上,
把P10用杜邦線鏈接到電機(jī)驅(qū)動(dòng)模塊 J4的4IN上,然后把小電機(jī)
端子插到 J2的 + 和D 上,不分線序接上即可。
選擇好程序,打開(kāi)電源點(diǎn)下載,接著打開(kāi)單片機(jī)電源。
按S2減速,按S3加速。
*/
#include <reg52.h>
unsigned char pwm_motor_val = 130;//左右電機(jī)占空比值 取值范圍0-170,0最快
unsigned char pwm_t;//周期
sbit _4IN = P1^0;//
sbit key_s2 = P3^0;
sbit key_s3 = P3^1;
void delay(unsigned int z)//毫秒級(jí)延時(shí)
{
unsigned int x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
//定時(shí)器0中斷
void timer0() interrupt 1
{
pwm_t++;
if(pwm_t == 255)
_4IN = 0;
if(pwm_motor_val == pwm_t)
_4IN = 1;
}
void main()
{
TMOD |= 0x02;//8位自動(dòng)重裝模塊
TH0 = 220;
TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
TR0 = 1;//啟動(dòng)定時(shí)器0
ET0 = 1;//允許定時(shí)器0中斷
EA = 1;//總中斷允許
while(1)
{
if(key_s2 == 0) //S2按下LED變暗
{
delay(5);
if(key_s2 == 0)
{
if(pwm_motor_val < 170)
{
pwm_motor_val++;
}
}
}
if(key_s3 == 0) //S3按鍵LED變亮
{
delay(5);
if(key_s3 == 0)
{
if(pwm_motor_val > 0)
{
pwm_motor_val--;
}
}
}
}
}
|
|