




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于c51单片机的直流电机pwm调速控制 -sq这是最近一阶段自己学习所获,现分享与大家。这里采用at89c52单片机做主控制芯片,实现两路直流电机的pwm调速控制,另外还可以实现转向、显示运行时间、显示档位等注:考虑小直流电机自身因素,调速范围仅设有四级电路原理图:c语言程序源代码:/* 硬件资源分配*/ 数码管: 显示电机状态(启停、正反、速度)、运行时间、是否转弯按键: k4 启动/暂停 k3 正反转/转弯允许 k2 加速/左转/运行时间清零 k1 减速/右转/停止定时器:t0 数码管动态显示,输出pwmt1 运行时间记录*/ /*主程序文件pwm.c*/#include <reg
2、52.h>#include "afx.h"#include "config.c"#define circle 5 /脉冲周期/按键定义uchar key,key_tmp=0, _key_tmp=0;/显示定义uchar ledstate=0xf0; /led显示标志,0xf0不显示,ox00显示uchar code led_code_d4=0xe0,0xd0,0xb0,0x70; /分别选通1、2、3、4位uchar dispbuf4=0,0,0,0; /待显示数组uchar dispbitcnt=0; /选通、显示的位uchar mstcnt=0
3、;uchar centi_s=0,sec=0,min=0; /分、秒、1%秒 /程序运行状态标志bit motstate=0; /电机启停标志bit dirstate=0;/方向标志 0前,1后uchar state1=-1;uchar state2=-1;uchar state3=0;uchar state4=-1;uchar lspeed=0;uchar rspeed=0;/其他uint runtime=0;uint rtime_cnt=0;uint lwidth;uint rwidth; /脉宽uint widcnt=1;uint dispcnt; /函数声明void key_scan(
4、void);void disbuf(void);void k4(void);void k3(void);void k2(void);void k1(void);void disp( uchar h, uchar n );void main(void) p1|=0xf0;ea=1;et0=1;et1=1;tmod=0x11;th0=0xfc;tl0=0x66; /t0,1ms定时初值th1=0xdb;tl1=0xff; /t1,10ms定时初值tr0=1;widcnt=1;while(1)key_scan();switch(key)case 0x80: k1(); break;case 0x40
5、: k2(); break;case 0x20: k3(); break;case 0x10: k4(); break;default:break;key=0;disbuf();lwidth=lspeed; rwidth=rspeed;/按键扫描*模拟触发器防抖void key_scan(void)key_tmp=(p3)&0xf0;if(key_tmp&&!_key_tmp) /有键按下key=(p3)&0xf0;_key_tmp=key_tmp ; /按键功能处理/逻辑控制void k4(void) if(state4=-1)state4=1;tr1=1;d
6、ispbuf3=1;ledstate=0x00; /打开ledmotstate=1; /打开电机lspeed=1;rspeed=1;/初速设为1else if(state4=1)state4=0;tr1=0;motstate=0; /关闭电机else if(state4=0) motstate=1;if(state3=0)state4=1;tr1=1;else if(state3=1)lspeed=2; rspeed=2; void k3(void)if(state4=1)dirstate=!dirstate;if(state4=0)if(state3=0)state3=1; /可以转向标志
7、1可以,0不可以tr1=1;dispbuf3=9;motstate=1;lspeed=2;rspeed=2;else if(state3=1)state3=0;tr1=0;dispbuf3=0;motstate=0; void k2(void)if(state4=1&&lspeed<4&&rspeed<4)lspeed+;rspeed+;else if(state4=0)if(state3=0)/state4=-1;/ledstate=0xf0; motstate=0;sec=0;min=0;else if(state3=1&&lsp
8、eed<4&&rspeed<4) /turnstate=0;lspeed=2;rspeed+;void k1(void)if(state4=1&&lspeed>1&&rspeed>1)lspeed-;rspeed-;else if(state4=0)if(state3=0)state4=-1;ledstate=0xf0; motstate=0;else if(state3=1&&lspeed<4&&rspeed<4)/turnstate=1;lspeed+;rspeed=2;/显
9、示预处理void disbuf(void) if(rtime_cnt=100)sec+;rtime_cnt=0;if(sec=60)min+;sec=0;if(state4=1)dispbuf0=sec%10; dispbuf1=sec/10; dispbuf2=min;if(!dirstate) /正转 dispbuf3=lspeed;if(dirstate)/反转dispbuf3=lspeed+4; if(state4=0)if(state3=0) dispbuf0=sec%10; dispbuf1=sec/10; dispbuf2=min; dispbuf3=0;if(state3=1)
10、 dispbuf0=rspeed; dispbuf1=lspeed; dispbuf2=min; dispbuf3=9;/led驱动void disp( uchar h, uchar n ) p1=n;p1|=ledstate ;p1|=led_code_dh;/t0中断*显示/方波输出void time_0() interrupt 1 th0=0xfc;tl0=0x66;widcnt+;dispcnt+; /电机驱动/方波输出if(widcnt>circle) widcnt=1; if(widcnt<=lwidth)lmot_p=!dirstate&&motsta
11、te;else lmot_p=dirstate&&motstate; lmot_m=dirstate&&motstate;if(widcnt<=rwidth)rmot_p=!dirstate&&motstate;else rmot_p=dirstate&&motstate;rmot_m=dirstate&&motstate; /显示if(dispcnt=5)disp(dispbitcnt,dispbufdispbitcnt);dispbitcnt+;if(dispbitcnt=4) dispbitcnt=0;dispcnt=0;/t1中断*运行时间void time_1() interrupt 3th1=0xdb;tl1=0xff;rtime_cnt+;/*配置文件afx.h*/#ifndef _afx_#define _afx_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/*io配置文件config.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4420-2022劳务派遣单位信用等级评价规范
- DB32/T 4252-2021民用建筑燃气安全规范
- DB32/T 4122-2021开发区地质灾害危险性区域评估规范
- DB32/T 4040.6-2021政务大数据数据元规范第6部分:电子证照数据元
- DB32/T 4027-2021石墨烯粉体电导率测定动态四探针法
- DB32/T 3985-2021河湖岸坡植物防护技术规范
- DB32/T 3134-2016沥青路面就地热再生施工技术规范
- DB32/T 1261-2020寿眉茶加工技术规程
- DB31/T 948-2015地下空间安全使用管理基本要求
- 【正版授权】 ISO/IEC 18584-1:2025 EN Information technology - Test methods for on-card biometric comparison applications - Part 1: General principles and specifications
- 七年级下册英语语法填空专项训练100题含答案5篇
- 配电室火灾应急处置预案
- 2024年高考英语考前押题密卷(全国卷1)(含答案与解析)
- 辽宁省盘锦市辽河油田实验中学2023-2024学年九年级下学期开学考试数学试题(原卷版)
- 中小学-预防性骚扰与性侵害-1-课件
- xx市体育中心设计说明
- 2024年江苏省南通市如皋市中考一模语文试题
- 2024-2030年中国纳米抗体药物行业运行现状及发展行情监测研究报告
- 2023年高考物理分题型多维刷题练专题19热学中的变质量气体问题(原卷版+解析)
- 如何唤醒孩子学习的内驱力
- 跨境电商合伙投资协议书
评论
0/150
提交评论