单片机驱动直流电机问题

[复制链接]
查看11 | 回复1 | 2021-1-27 06:25:48 | 显示全部楼层 |阅读模式
求高手帮我看下下面的程序,我的原理是通过单片机产生PWM信号,然后通过调节按键来改变PWM信号的占空比从而实现对电机的调速作用,我现在程序烧到单片机里面了,可是按下按键单片机的PWM输出口的没反应,电机也转不起来,求高手指教!!!


#include
#defineucharunsignedchar
#defineuintunsignedint
sbitopen=P2^0;
sbitclose=P2^1;
sbitswap=P2^2;
sbitsub_speed=P2^3;
sbitadd_speed=P2^4;
sbitPWM1=P3^4;
sbitPWM2=P3^1;
/************************液晶显示*************/
sbitE=P3^7;
sbitRW=P3^6;
sbitRS=P3^5;
sbittest=P3^0;
inttime=0;
inthigh=20;
intperiod=30;
intchange=0;
intflag=0;
intnum_medium=0;
intnum_display=0;
intcount_speed=0;
ucharwword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

/*******************延时t毫秒****************/
voiddelay(uchart)
{
uinti;
while(t)
{
/*对于11.0592MHz时钟,延时1ms*/
for(i=0;i -->
回复

使用道具 举报

千问 | 2021-1-27 06:25:48 | 显示全部楼层
指定一下中断服务程序使用的寄存器组试一下,例如使用寄存器组1:using1。
调试程序最快的方法是,先调试最简单的功能,例如,不用中断直接向端口送脉冲,成功一步再加一点新功能。这样看似慢,其实却最快。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行