找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[新人]基于单片机的直流电机pwm控制 求指点

查看数: 2141 | 评论数: 1 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-7-12 12:58

正文摘要:

数码管显示转速实在是不太会,求大神指点一下

回复

ID:370094 发表于 2018-7-12 13:00
部分程序
#include <reg52.h>  
#define uint unsigned int  
#define uchar unsigned char  
sbit sta = P1 ^ 2;            // Æô¶ˉ
sbit bac = P1 ^ 3;          //   ·′Ïò
sbit pwma = P1 ^ 4;      //  Õ¼¿Õ±è¼õ
sbit pwms = P1 ^ 5;      //  Õ¼¿Õ±è¼ó
sbit pwm = P3 ^ 7;
uint number = 0;  
uint Zhan = 50;  
uint Flag = 0;  
void Delay_1ms(uint x)  
{  
        uint i;  
        uint j;  
       for (i = 0; i < x; i++)  
       for (j = 0; j < 148; j++);  
}  
void Timer0Init()  
{  
        TMOD = 0x01;  
        ET0 = 1;  
        EA = 1;  
        TH0 = (65536 - 100) / 256;  
        TL0 = (65536 - 100) % 256;  
        TR0 = 1;  
}  
void main()  
{  
        Timer0Init();  
        P3 = 0xFF;  
       while (1)  
        {  
               if (sta == 0)  
               {  
                      Delay_1ms(200);  
                      P3 = 0xFE;  
                      Flag = ~Flag;  
               }  
               if (bac == 0)  
               {  
                                Delay_1ms(200);  
                                   P3 = ~P3;  
                       }  
                       if (pwma == 0)  
                       {  
                                   Delay_1ms(100);  
                                   Zhan++;  
                       }  
                       if (pwms == 0)  
                       {  
                                   Delay_1ms(100);  
                                  Zhan--;  
                       }  
                       if (Flag == 0)  
                       {  
                                   P3 = 0xFF;  
                       }  
                       if(Zhan>100)  
                                              Zhan=0;  
            }  
}  

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

Powered by 单片机教程网

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