基于51单片机温度自保护的直流电机控制系统_new_new教案讲解.docx

基于51单片机温度自保护的直流电机控制系统_new_new教案讲解.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
 PAGE \* MERGEFORMAT 18 基于51单片机温度自保护的直流电机控制系统 一、实验目的 1.了解直流电机控制的基本方法。 2.通过本实验课程,进一步掌握单片机的基本原理、以及扩展微机系统多种接口的基本方法,具有基于微机和单片机系统进行软硬件综合设计和实现的能力。 3.了解微机系统的基本软硬件结构,熟悉和掌握单片机系统串行口、并行口、定时器/计数器、中断和LCD液晶显示接口等一些基本芯片的使用方法,掌握基于89C51系列单片机指令系统的汇编语言程序设计或C语言程序设计和调试方法。 二、实验原理和内容 本系统使用到的硬件模块有:LCD12864M液晶、简单I/O、DS18B20温度测控、蜂鸣器、直流电机、PWM电压功放器、LED指示灯等。 8051单片机是标准的40引脚双列直插式集成电路芯片,P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。P3.0~P3.7 P3口8位双向口线(在引脚的10~17号端子)。    本实验通过利用定时器T0,控制IO口输出高电平和低电平的时间,产生PWM方波来控制直流电机转速。通过DS18B20温度测控读取当前温度,如果在电机运转过程中,温度超过警报温度,则电机停止旋转。下面简要的介绍下本系统的各个模块: DS18B20是DALLAS生产的一线制串行接口数字式温度计。它的温度测量范围是-55C~125C,-10C~85C内误差为正负0.5C;9-12位转换精度,转换时间100ms-750ms,通常为500ms。本系统利用DS18B20对电机温度进行实时的模拟检测采集。 LCD12864M是将液晶显示器件、连接件、集成电路、背光源结构装配在一起的组件。它的分辨率为128×64,可显示图形或4行共32个16×16点阵的汉字,并且内置8192个16×16点阵的汉字库、128个字符、64×256点阵的显示RAM。12864M与单片机之间使用串行接口方式(PSB=0),RS(CS)为串行的片选信号,R/W(SID)为串行数据口,E(CLK)为串行同步时钟。串行数据传送一帧分三个字节:串行控制指令、数据的高4位和数据的低4位。 PWM是通过定时器T0,控制IO口输出高电平的时间TH和低电平的时间TL,其占空比为TH/(TH+TL)。 LED指示灯链接P2口,当P2位口输出低电平时,指示灯电亮,用以指示速度档。当温度超过警报温度时,P2反复输出高电平和低电平,指示灯闪烁报警。 蜂鸣器接P1^7口,当温度超过警报温度时,P1^7输出低电平,蜂鸣器警报。 三、实验设备和软件平台 硬件:实验箱(一台)、示波器(一台)、单片机仿真器(一台)、连接线(若干) 软件:星研集成环境软件 四、实验各模块连接结构 1、系统的总体框架图: 2、实验连线: LCD液晶: CS—P1^0 SID—P1^1 SCLK—P1^2 PSB—P1^3 拨码开关:P0 LED灯: P2 蜂鸣器: P1^7 PWM: P1^6 温度DS18B20: P3^5 五、实验注意事项及总结 在本系统的调试完善过程中,发现了不少的问题,主要有: 1、在调试时,要把P2调为I/O模式。 2、晶振要设置为12MHZ。 3、不要带电操作实验箱。 4、不能存太多全局变量,会使51单片机内部RAM不够,导致地址溢出,程序出错。 5、各种芯片初始化要十分注意,特别是温度DS18B20的初始化过程中不能有中断出现,而步进电机是需要定时中断来定时驱动的,很难让它们不互相影响,这也是在实验中为什么有时会出现温度很大或为零的原因。最好的解决方法就是不使用中断。 六、附录——实验程序 // 头文件 #includereg51.h #includeintrins.h #includeabsacc.h #include stdio.h //*******************接线说明****************************************** /* 液 晶: CS—P1^0 SID—P1^1 SCLK—P1^2 PSB—P1^3 调速档拨码开关: —P0 指示灯: —P2 蜂鸣器: —P1^7 */ // 宏定义 #define uchar unsigned char #define uint unsigned int // 函数声明 void LCDString(unsigned char *pStr); void W_1byte(unsigned char RW,

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档