




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中北大学单片机课程设计说明书1 引言本设计是一种基于单片机原理的简易实用的温度控制系统。采用AT89C51作为CPU主控装置,电路主要由温度采集和电机控制电路组成。温度采集由智能温度传 感器 DS18B20集成芯片完成,该系统主要用于实现温度采集、显示和控制功能。1.1 设计任务与要求使用 AT89C51单片机为核心,使用 4 位集成式数码管显示当前温度,温度传感 使用 DS18B20。用 4位集成式数码管显示当前温度, 当温度在 200C 700C范围之 外时,直流电动机开始旋转。控制程序在 Keil 软件中编写,编译,整个控制电路 在 Proteus 仿真软件中连接调试。1.2 实用价值与
2、理论意义温度的测量和控制在工业生产中获得了广泛的应用,在工农业生产、日常的生 活等领域都占有重要的地位。随着对温度控制精度的不断提高,温度控制系统的控 制技术得到了迅速发展。目前温度控制系统广泛应用于社会生活、生产,成为发展 国民经济的重要设备之一。所以温度控制智能化有着极其重要的意义。通过对温度控制通信系统的设计,了解信息采集测试、控制及通信的过程,提 高在电子工程设计和操作方面的综合能力, 初步培养在完成工程项目中所应具备的 基本素质和要求。以 AT89C51单片机为核心,使用 4位集成式数码管显示当前温度, 使用 DS18B20温度传感器来设计一个用 4 位集成式数码管显示当前温度, 当
3、温度在 200C 700 C范围之外时,使直流电动机开始旋转的程序并仿真调试,验证该设 计可行性。2 方案设计采用 AT89C51作为 CPU主控制器,电路由温度采集、电机控制、显示电路组成, 系统的总体电路原理图如图 2.1 所示第 1 页 共 18 页中北大学单片机课程设计说明书复位和振荡电路电机控制电路图 2.1 电路原理图3 硬件电路的设计3.1 温度采集电路3.1.1 DS18B20 数字温度传感器基本特性独特的一线接口, 只需要一条口线通信 多点能力, 简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为 3.0 V 至 5.5 V 无需备用电源 测量 温度范围为
4、-55 C 至+125 。可编程的分辨率为 912位 温度转换为 12位数 字格式最大值为 750 毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温 控制,工业系统,消费电子产品温度计,或任何热敏感系统 .表 3.1 中所示为 DS18B20内部寄存器阵列。 其中的 2 、3 字节是可设置的文都超 限报警值,同一总线上的器件可以设置不同的高、低限报警数值,当某一点的文都 超限是,改点就会发出报警信号。表 3.1 DS18B20 内部寄存器寄存器位置说明寄存器位置说明0温度测量低字节5保留1温度测量高字节6保留2高限报警温度值7保留3低限报警温度值8CRC4状态设置字主控制器件对 DS1
5、8B20的各种控制都是通过传输操作指令进行的。对ROM操作第 2 页 共 18 页中北大学单片机课程设计说明书的命令制记过能表如表 3.2 所示表 3.2 DS18B20 ROM 操作指令命令功能命令功能33H读取器件的编码制F0H搜索器件编码55H根据编码制查找器 件ECH报警器件搜索CCH跳过读取编码制操 作表 3.3 DS18B20 RAM 操作指令命令功能命令功能4EH写内部数据存储器44H温度转换命令BEH读内部数据存储器B8H调用 EEROM 内数值48H复制内部数据存储 器B4H读器件供电方式3.1.2 DS18B20 数字温度传感器芯片引脚表 3.4 DS18B20 的引脚引脚
6、符号说明1GND地线引脚2DQ单线运用的数据输入 / 输出 引脚3VDD可选 VDD 引脚3.1.3 电路如 3.1 图所示为温度采集电路,由于 DS18B20是单线数据传输的智能温度传感 器,在使用中不需要如何外围的元件,在连接时仅需要一条口线即可实现单片机与 DS18B20的双向通信。所以此温度采集电路只需将 DS18B20外接一个上拉电阻,然 后接在单片机的 I/O 接口。第 3 页 共 18 页中北大学单片机课程设计说明书VCC图 3.1 温度采集电路3.2 CPU 电路CPU电路主要包括复位和晶振电路。复位电路主要是在系统上电时提供复位信 号,直至系统电源稳定后,撤销复位信号。为可靠
7、起见,电源稳定后还要经一定延 时才撤销复位信号,以防止电源开关过程中引起的抖动而影响复位。本电路,主要 是由一个按键和电容电阻组成的 RC复位电路。晶振电路是由片内振荡电路输入线外接石英晶体和微调电容组成,此处使用 12MHZ的晶体振荡器。3.3 电机控制电路 本系统的电机控制电路:电动机回路是一个简单的开关电路,主要由单片机的I/O 接口接电路的输入端,通过单片机的 I/O 口的电平控制三极管的通断,来控制 继电器,从而达到控制电机的目的。3.4 显示电路 硬件显示电路部分由四位数码管构成。采用的是动态扫描方式。通常将所有位 的段选线相应的并联在一起,有一个 8 位的 I/O 口控制,形成段
8、选线的多路复用。 而各位共阳极分别有相应的 I/O 口控制,实现各位的分时复用。段选和位选位同相 驱动,不需要对每个 LED数码管单独配置锁存和驱动电路,简化电路。显示部分的四位一体的数码管用 74LS04 驱动, P3.3 作为温度采集信号线, P0 口为显示数据线, P2 口作为位选线,动态扫描实现显示温度。4 软件设计电路软件设计主要分为两部分:主程序和服务子程序,子程序包括显示和温度传感 器读/ 写程序。第 4 页 共 18 页中北大学单片机课程设计说明书4.1 温度转换的程序设计 单片机实现温度转换读取温度数值程序的流程如图 4.1 所示第 5 页 共 18 页图 4.1 温度转换
9、N-S 图中北大学单片机课程设计说明书4.2 数码管显示电路显示数据刷新子程序主要是对显示缓冲器中的显示数据惊喜刷新操作,当最高 显示位为 0 时将符号位移入下一位。显示数据刷新流程图如图 4.2 所示图 4.2 显示 N-S 图第 6 页 共 18 页中北大学单片机课程设计说明书5 Keil 及 Protues 仿真在 Keil 中完成编辑、编译、连接、调试、仿真等整个流程。然后分别由C51 及A51编译器编译生成目标文件 (.OBJ) 。目标文件可由 LIB51 创建生成库文件,也可 以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS).ABS 文件由 OH51转换成 标准的
10、Hex文件。在 Proteus 中连接电路 , 实现它的电路仿真是交互的, 可视化, 实现软件源码级 的实时调试。图 5.1 Keil 软件中的调试图以下各图分别为仿真的结果图,图 5.2 是 proteus 软件中的电路图。四位数码管 显示采集到的温度,当温度为负值时显示符号“ - ”,当十位和百位为零时不显示该位。 从图中可以看出:在 -20 -70 范围内电机停转,数码管显示温度传感器的温度值; 当温度大于 70或者小于 -20 时电机开始转动。第 7 页 共 18 页中北大学单片机课程设计说明书图 5.2 电路仿真图第 8 页 共 18 页中北大学单片机课程设计说明书图 5.3 温度采
11、集及显示电路第 9 页 共 18 页VCCVCCC1C2R20kRL1BD911JWD-171-17X1CRYSTAL1n1nVCC中北大学单片机课程设计说明书RL1U1D11N4002XTAL1XTAL2RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/
12、T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD3221C5135343736392328JWD-171-17D11N4图 5.4 规定正范围内电机停转R14k7U2VCC 66.0DQ 66.0GNDDS18B20第 10 页 共 18 页VCCVCC中北大学单片机课程设计说明书U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7
13、/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD1829303198765432 12345678 0123456733333333 22222222 11111111AT89C511VCC 110.0DQ 110.0GNDDS18B20JWD-171-17D11N4002RL1JWD-171-17R14k7321U2VCC 110.0DQ 110.0GNDDS18B20图 5.5 超出 70电机转动第 11 页 共 18 页VCCC1X1CRYS
14、TALC2R2RL1BD9111n1nC31uFVCCJWD-171-17中北大学单片机课程设计说明书U1XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD19189
15、AT89C51293031393635343332212223252627281011121314151617D11N4002R14k7U2VCC -17.0DQ -17.0GNDDS18B20U3:AU3:B1 U3:C 27404R14k7U23VCC2DQ -17.01GNDDS18B20VCCRL1图 5.6 规定负范围内电机停转Q1BD911JWD-171-17第 12 页 共 18 页C11nC2X1CRYSTALJWD-171-17中北大学单片机课程设计说明书U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD
16、5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RDAT89C51918141516173928101112133735293031 123456-702D11N4002VCCR14k7U232VCC -26.01DQGNDDS18B20U3:A3:B24612211U223U23
17、5241374252674R14k7U2VCC -26.0DQ -26.0GNDDS18B20RL1JWD-171-17图 5.7 小于 -20 电机转动第 13 页 共 18 页中北大学单片机课程设计说明书6 结论本课程设计阐述了以 AT89C51单片机为核心, 使用 DS18B20温度传感器以及 4 位集 成式数码管显示温度的数码管显示的温控电动机。实现了通过数码管监测温度,当温度 在 200C 700C范围之外时,直流电动机开始旋转的要求。附录: 温控电动机源程序/DS18B20的读写程序 ,数据脚 P3.3/温度传感器 18B20汇编程序 ,采用器件默认的 12 位转化 / /最大转化
18、时间 750微秒,显示温度 -55到+125度,显示精度 / /为 0.1度,显示采用 4位 LED 共阳显示测温值 / /P0 口为段码输入 ,P2.0P2.3为位选/_nop_();延时函数用 /段码输出口 /扫描口#include reg51.h#include intrins.h#define Disdata P0#define discan P2#define uchar unsigned char/温度输入口/LED 小数点控制#define uint unsigned intsbit DQ=P33;sbit DIN=P07;uint h;uint temp;/* 温度小数部分用查
19、表法uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09; / uchar code dis_712=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf; /共阳 LED 段码表 0 1 2 3 4 5 6 7 8 9 不亮uchar code scan_con4=0xfe,0xfd,0xfb,0xf7;/列扫描控制字uchar data temp_data2=0x00,0x00;/读
20、出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00;/显示单元数据,共 4 个数据和一个运算暂用/11us延时函数第 14 页 共 18 页中北大学单片机课程设计说明书void delay(uint t) for (;t0;t-);/显示扫描函数scan()char k; for(k=0;k0;i-)DQ=1;_nop_();_nop_();/从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 usDQ=val&0x01;/最低位移出delay(6);val=val/2;DQ=1;delay(1);/66
21、us/右移 1 位/* DS18B2 /从总线上取 1 个字节 uchar read_byte(void) uchar i;读 1 字节函数uchar value=0;for(i=8;i0;i-)DQ=1;_nop_();_nop_(); value=1;DQ=0;_nop_();_nop_();_nop_();_nop_();DQ=1;_nop_();_nop_();_nop_();_nop_();if(DQ)value|=0x80;delay(6);DQ=1;/4 us/4 us/66 usreturn(value);/读出温度函数*/read_temp()ow_reset();delay
22、(200); write_byte(0xcc);/总线复位/发命令第 16 页 共 18 页中北大学单片机课程设计说明书write_byte(0x44);ow_reset();delay(1);write_byte(0xcc);write_byte(0xbe);temp_data0=read_byte();temp_data1=read_byte();temp=temp_data1;temp6348)tem=65536-tem;n=1;display4=tem&0x0f;display0=ditabdisplay4;display4=tem4; display3=display4/100; t=display3; display1=display4%100; display2=display1/10; r=display2; display1=display1%10;/ 温度值正负判断/ 负温度求补码 ,标志位置 1/ 取小数部分的值/ 存入小数部分显示值/ 取中间八位 ,即整数部分的值/ 取百位数据暂存/ 取后两位数据暂存/ 取十位数据暂存P1=0x00;符号位显示判断if(!display3)display3=0x0a;if(!display2)display2=0x0a;/最高位为 0 时不显示/次高位为 0 时不显示第 17 页 共 18
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省汕头市潮阳区2022-2023学年高一上学期期末教学质量监测-物理答案及评分标准
- 幼儿园活动投票活动方案
- 幼儿居家绘画活动方案
- 幼儿园足球中心活动方案
- 幼儿中秋活动方案
- 幸福年活动方案
- 广宁县创文创卫活动方案
- 年关活动社工活动方案
- 幼儿园元旦福袋活动方案
- 建设观摩活动方案
- 2025-2030中国动物狂犬病疫苗行业发展现状及趋势前景分析报告
- 2025年云南省中考语文试卷真题
- 文具店创业计划书文具店创业准备计划书范文
- 2025年山西烟草专卖局考试题库带答案分析试卷及答案
- 银川永宁县社区工作者招聘笔试真题2024
- 浙江省强基联盟2024-2025学年高二下学期5月联考试题 物理 PDF版含解析
- 企业政策宣讲活动方案
- 自来水考试试题大题及答案
- (2025)发展对象考试题库与答案
- 红外热像仪性能提升行业深度调研及发展项目商业计划书
- 北京师范大学《微积分(2)》2023-2024学年第二学期期末试卷
评论
0/150
提交评论