给大家分享一个设计,这是我上周做的单片机直流电机控制实验,
程序经过多次更改,终于可以仿真。
通过按键来达到对电动机调速的要求。
附件里面包含proteus电路图,hex文件以及源码c 文件。
都是自己原创的,望大神们多加指教。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
电路仿真图
工程文件截图
单片机源程序:
- #include "reg51.h"
- #include "intrins.h"
- #define uchar unsigned char
- #define uint unsigned int
- sbit Inc = P3^4;
- sbit Dec = P3^5;
- sbit Dir = P3^6;
- sbit PWM = P3^7;
- void delay(uint);
- int pwm = 900;
- void main(void)
- {
- Dir=1;
- while(1)
- {
- if(!Inc)
- pwm = pwm > 0 ? pwm - 1 : 0;
- if(!Dec)
- pwm = pwm < 1000 ? pwm + 1 : 1000;
-
- PWM=1;
- delay(pwm);
- PWM=0;
- delay(1000-pwm);
- }
- }
- void delay(uint j)
- {
- for(;j>0;j--)
- {
- _nop_();
- }
- }
复制代码
全部资料51hei下载地址:
直流电机控制.rar
(18.24 KB, 下载次数: 173)
|