基于单片机的温度控制直流电动机转速系统设计 - 图文(9)
!!!学院毕业设计
if (Current_Temp_Display_Buffer[7] == ' ') Current_Temp_Display_Buffer[7] == '-';) else
(Current_Temp_Display_Buffer[6] == '-'; }
//在第一行显示标题 Set_LCD_POS(0x00);
for(i = 0; i<16; i++) Write_LCD_Data( Temp_Disp_Title[i] ); //在第二行显示当前温度 Set_LCD_POS(0x40);
for(i = 0; i<16; i++) Write_LCD_Data (Current_Temp_Display_Buffer[i] ); //显示温度符号℃
Set_LCD_POS (0x4D); Write_LCD_Data (0x00); Set_LCD_POS (0x4E); Write_LCD_Data ('C'); }
5结论
本方案实现了单片机通过对温度的采集和比较对直流电机进行转速控制,以及利用软件模拟实现直流电机PWM调速的方法。以AT89C51单片机为控制核心,通过DS18B20进行温度采集,送入单片机,经过软件编程进行温度的比较和范围划定,然后通过程序控制由单片机产生不同的PWM(脉冲宽度调制)控制信号,送给电机驱动芯片L298的使能端口,通过L298驱动芯片来控制直流电机的启动、速度、方向的变化实现了对普通直流电机的转速调节,为进一步研究和优化直流电机控制方法提供了基础。达到了系统的设计要求:单片机对某个位置进行温度监控,当外部温度≥45℃时,电动机加速正转,当温度≥75℃时,电动机全速正转;当外部温度≤10℃时,电动机加速反转,当温度≤0℃时,电动机全速反转;当温度回到10℃~45℃之间时电动机逐渐停止转动。
第XLI页 51页
基于单片机的温度控制直流电动机转速系统设计
从这次的设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次设计中的最大收获。
参考文献
[1] 王之道,周靖,刘旭,一种基于AT89C2051单片机的直流电机调速装置, [J]机械工程与自动化2009(5)
[2] 茹占军,谢家兴,基于AT89S52单片机直流电机调速系统的设计, [J].软件导刊2010, 9(8)
[3] 赵鸿图,基于单片机AT89C51的直流电机PWM调速系统[J].电子技术 ,2008, 45(10)
[4] 周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.
[5] 宁成军,张江霞.基于Proteus和Keil接口的单片机外围硬件电路仿真[J].现代电子技术,2006,29(18):142-143,146.
[6] 陈良光,管聪慧.由数字式传感器 DS18B20 构成的多点测温系统[J].传感器世界, 1999, 9.
[7] 杜洋,DS18B20温度传感器应用解析,2007.3.16
[8] 马忠梅,张凯,等.单片机的C语言应用程序设计(第四版).北京航空航天大学出版社
第XLII页 共51页
!!!学院毕业设计
附录A系统总程序
//-------------------------------------------------------- // 名称:温度控制直流电动机转速
//--------------------------------------------------------------------- // 说明: ≥45℃度时加速正传/≤10℃时加速反转, // ≥75℃时全速正传/≤0℃时达到全速反转, // 温度回到10~45℃之间时电动机逐渐停止转动。
//--------------------------------------------------------------------- #include
#difine uchar ;unsigned char #difine uint ;unsigned int
#define delayNOP() {_nop_();_nop_();_nop_();_nop_();} sbit DQ =p3^3; sbit LCD_RS=p2^0; sbit LCD_RW=p2^1; sbit LCD_EN=p2^2; sbit MA =P1^0; sbit MB =p1^1; sbit PWM1 =p1^2;
uchar code temp_DISP_Title[] ={%uchar current_temp_Display_Buffer[]={\//温度字符
uchar code_temperature_char[8]
={0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,};
// 温度小数位对照表
uchuar code df_Table[] ={0,1,1,2,2,3,3,4,4,5,6,6,7,8,8,9,9 }; uchar CurrenT = 0; //当前读取的温度整数部分
第XLIII页 51页
基于单片机的温度控制直流电动机转速系统设计
char Signed_Temp = 0; //有符号温度值 uchar Temp_Value[] = {0x00,0x00}; //从DS18B20读取温度值 uchar Back_Temp_Value[] = {0xFF,0xFF}; //温度数据备份 uchar Display_Digit = {0,0,0,0}; //待显示的各温度数位 bit DS18B20_IS_OK = 1; //传感器正常标志 uint tCount = 0;
//--------------------------------------------------------------------- //延时 1
//--------------------------------------------------------------------- void DelayXus(int x) {
uchar i;
while(x--) for (i=0;i<200;i++); }
//--------------------------------------------------------------------- //液晶控制函数
------------------------------------------------------------------
//uchar LCD_Busy_Check() reentrant //void Write_LCD_Command (uchar cmd) //void Write_LCD_Data (uchar data) //void LCD_Initialise () //void Set_LCD_POS (uchar pos) //void Write_NEW_LCD_Char ()
//--------------------------------------------------------------------- //--------------------------------------------------------------------- //延时2
//--------------------------------------------------------------------- void Delay(unit x) {
while (--x);
第XLIV页 共51页
!!!学院毕业设计
}
//--------------------------------------------------------------------- //初始化DS18B20
//--------------------------------------------------------------------- uchar Init_DS18B20() { uchar
DQ=1; Delay(8);DQ = 0;Delay(90);
DQ=1; Delay(8);status = DQ;Delay(100);DQ=1; return status; //初始化成功返回0 }
//--------------------------------------------------------------------- //读一字节
//--------------------------------------------------------------------- uchar ReadOneByte() {
uchar i,dat = 0; DQ = 1; _nop_(); for (i=0;i<8;i++) {
DQ=0; data>>=1;DQ=1; _nop_();_nop_(); if(DQ) dat1=0x80;Delay(30);DQ=1; }
return dat; }
//--------------------------------------------------------------------- //写一字节
//--------------------------------------------------------------------- void WriteOnebyte (uchar dat) {
第XLV页 51页
…… 此处隐藏:2087字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介