找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1400|回复: 3
收起左侧

关于单片机输出pwm的问题

[复制链接]
ID:978416 发表于 2022-12-7 23:00 | 显示全部楼层 |阅读模式
这是我用延时写的pwm输出控制舵机的程序,但是写好了没有任何反应,各位帮忙看一下是怎么回事啊,keil编译还一直警告说我的四个延时没有被调用,明明调用了啊。

单片机源程序如下:
#include<reg52.h>         
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int

void delay(uint i) //i=1时,大约延时10us
{
        while(i--);        
}

sbit pwm=P1^7;

void Delay600us()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        i = 2;
        j = 15;
        do
        {
                while (--j);
        } while (--i);
}
void Delay19400us()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        i = 35;
        j = 197;
        do
        {
                while (--j);
        } while (--i);
}

void Delay17500us()                //@11.0592MHz
{
        unsigned char i, j;

        i = 32;
        j = 93;
        do
        {
                while (--j);
        } while (--i);
}
void Delay2500us()                //@11.0592MHz
{
        unsigned char i, j;

        i = 5;
        j = 120;
        do
        {
                while (--j);
        } while (--i);
}



void main()
{
        while(1);
        {
        pwm=1;                                                                                                                                                        
        Delay2500us();
        pwm=0;
        Delay17500us();

        delay(1000);

        pwm=1;
        Delay600us();
        pwm=0;
        Delay19400us();        
        }
}

回复

使用道具 举报

ID:213173 发表于 2022-12-8 04:45 | 显示全部楼层
while(1); 多了分号
回复

使用道具 举报

ID:978416 发表于 2022-12-8 08:46 | 显示全部楼层
wulin 发表于 2022-12-8 04:45
while(1); 多了分号

好的,谢谢
回复

使用道具 举报

ID:890642 发表于 2022-12-10 03:20 来自触屏版 | 显示全部楼层
wulin 发表于 2022-12-8 04:45
while(1); 多了分号

还是师傅厉害
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表