单片机课程设计-基于单片机直流电机控制器设计
本科单片机课程设计,附Proteus仿真效果图
要求:
思路很简单,使用定时器0控制单片机IO口输出不同占空比的触发脉冲即可控制转速
代码参考:
#include <reg52.h>#define uchar unsigned charsbit key1=P1^0; //¿ª¹Ø
sbit out1=P1^1; //Êä³öÕýת
sbit out2=P1^2; //Êä³ö·´×ª
sbit key2=P1^3; //Õýת
sbit key3=P1^4; //·´×ªsbit key4=P1^5; //Õ¼¿Õ±È+1
sbit key5=P1^6; //Õ¼¿Õ±È-1sbit led1=P2^2; //ָʾÕýת
sbit led2=P2^1; //ָʾ·´×ª+
sbit led3=P2^0; //ָʾ¿ªÊ¼/ÔÝÍ£void Key_Scan();
void Delayms(int ms);
void Timer0Init(void) ;uchar start=0;
uchar intr;
uchar zheng=1;
uchar fan=0;
uchar m=3;
unsigned int tt,time;void main()
{Timer0Init();while(1){if(m==3)time=100;else if(m==7)time=200;else if(m==11)time=400;else if(m==15)time=800;else if(m==19)time=1200;Key_Scan();}
}
/************************°´¼üɨÃè***************************/
void Key_Scan() //°´¼üɨÃè
{if(key1==0){Delayms(5);if(key1==0){start=!start;}while(!key1);}if(key2==0){Delayms(5);if(key2==0){zheng=1;fan=0;}while(!key2);}if(key3==0){Delayms(5);if(key3==0){zheng=0;fan=1;}while(!key3);}if(key4==0){Delayms(5);if(key4==0){if(m<=15){m=m+4;}}while(!key4);}if(key5==0){Delayms(5);if(key5==0){if(m>=7){m=m-4;}}while(!key5);}
}
/******************Èí¼þÑÓʱ 5ms*****************/
void Delayms(int ms) //ÑÓʱº¯Êý
{int x,y;for(x=0;x<ms;x++)for(y=0;y<110;y++);
}
/******************¶¨Ê±Æ÷0²úÉú1msÑÓʱ*******************/
void Timer0Init()
{TMOD|=0X01;TH0=0XFC; TL0=0X18; ET0=1;EA=1;TR0=1;
}
/*******************¶¨Ê±Æ÷0ÖÐ¶Ï ²úÉúPWM¡¢¿ØÖÆLED*****************************************/
void Timer0() interrupt 1
{TH0=0XFC; TL0=0X18; if(start==1){intr++;if(zheng==1){if(intr==1) {out1=1;out2=0;}else if(intr==m){out1=0;out2=0;}else if(intr==20){intr=0;}}else if(fan==1){if(intr==1) {out1=0;out2=1;}else if(intr==m){out1=0;out2=0;}else if(intr==20){intr=0;}}}if(start==1){if(zheng==1){led1=0;led2=1;}if(fan==1){led1=1;led2=0;}tt++;if(tt<=time){led3=0;}else if(tt==time*2){tt=0;led3=1;}}else if(start==0){led1=1;led2=1;led3=1;}
}
单片机课程设计-基于单片机直流电机控制器设计相关推荐
- 单片机课程设计数字心率计_课程设计-基于单片机的数字人体心率计设计.doc
课程设计-基于单片机的数字人体心率计设计 中北大学 基于单片机的心率计设计 课 程 设 计 说 明 书 2017年 6月30日 课 程 设 计 任 务 书 1.设计目的:通过本课程设计的学习,学生将复 ...
- c语言编写闹钟主程序流程图,课程设计基于单片机的定时闹钟.docx
课程设计基于单片机的定时闹钟.docx 课程设计 设计题目:基于单片机的定时闹钟 院 系:电气工程 专 业:电子信息工程 年 级: 姓 名: 指导教师: 课程设计任务书 专业电子信息工程姓名学号 开题 ...
- 【单片机毕业设计】基于单片机的智能灌溉系统的设计
一.功能简介 题目拓展:基于单片机的土壤湿度控制的设计 基于单片机的农田灌溉系统的设计 基于单片机的智慧农业灌溉的设计 项目编号:mcuclub-hj-011 单片机类型:STC89C52.STM32 ...
- 【单片机毕业设计】基于单片机的农田环境监测系统的设计
一.功能简介 题目拓展:基于单片机的土壤环境监测的设计 基于单片机的智能灌溉系统的设计 基于单片机的智慧农业监测的设计 项目编号:mcuclub-hj-012 单片机类型:STC89C52.STM32 ...
- 【毕设狗】【单片机毕业设计】基于单片机的智能垃圾桶设计-仿真设计
软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 程序烧录:点击下载 实物设计 基于单片机的智能垃圾桶设计-实物设计 设计简介: 本设计是基于单片机的智能 ...
- 【单片机毕业设计】基于单片机的三路温湿度检测的设计
一.功能简介 题目拓展:基于单片机的多路温湿度控制的设计 基于单片机的恒温恒湿箱的设计 基于单片机的保温保湿箱的设计 项目编号:mcuclub-hj-004 单片机类型:STC89C52.STM32F ...
- 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计
1628基于单片机双路温度检测报警系统设计(串口上位机控制) 基于pcf8591 tlc2543的双路温度检测报警系统 带串口上位机控制带仿真 源程序 温度传感器是 LM35 两路测温通道所用的ad芯 ...
- 小白围观,超级牛的STM32 BLDC直流电机控制器设计
2019-02-28 16:39:06 本设计是基于STM32 BLDC直流无刷电机控制器设计,并附上原理图和源码等,供网友参考学习.源代码是基于免费开源CoOS(UCOS类似)操作系统上写的,在学习 ...
- 频谱仪设计基于FPGA的频谱仪设计,可以测试分析多种频率的频谱,分辨率100HZ
频谱仪设计基于FPGA的频谱仪设计,可以测试分析多种频率的频谱,分辨率100HZ,配套资料多达100M,东西复杂 ID:982500594354361311卡哇伊2号小宝贝
最新文章
- Windows Azure Storage (25) Azure Append Blob
- 数据竞赛Tricks集锦
- 人人可用的AI大模型来了,“玩”TA还有奖金拿
- JQuery-FullCalendar 多数据源实现日程展示
- 如何在CentOS 5/6上安装EPEL源
- 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
- post and get
- Adobe 字体显示不清楚----解决方案
- Skyline软件二次开发初级——2如何在WEB页面中控制三维地图的观察点坐标和角度...
- matlab学习---矩阵求最大值,赋值
- Docker设置端口映射
- pyqtgraph的plotItem的轴刻度设置/轴刻度值风格设置
- Python pandas.DataFrame.tz_localize函数方法的使用
- 【安装】nodesj的addon模块配置使用报错处理
- 先验概率和后验概率那点事儿
- 基于maven自动发布-Maven Wagon
- 密码学系列之:生日攻击
- IOS 应用内支付(IAP)接口使用说明
- nginx 502错误原因和解决办法总结
- 系统启动其实就2个步骤BIOS和MBR(和之后的init/systemd的关系)