版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中北大学计算机控制技术课程设计说明书第 1 页 共 29 页1 1 引言引言 1.11.1 设计任务与要求设计任务与要求 (1)使用 AT89C51 单片机为核心,使用 4 位集成式数码管显示当前温度,温度传感器使用 DS18B20。(2)用 4 位集成式数码管显示当前温度,当温度在-200 700范围之外时,直流电动机开始旋转。1.21.2 实用价值与理论意义实用价值与理论意义 电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。在现代工业中,电动机作为电能转换的传动装置被广
2、泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。数码管温控电机是多种技术知识的结合,不仅涉及到软件的设计,而且还将应用电子技术与单片机的应用技术有机结合,使其具有精度高、测量误差小、稳定性好等特点。电路板的设计技术和机械加工工艺的巧妙结合,使其具备了显示直观、体积做工精细等特点,能为它在其它领域的广泛应用打下良好的基础。因为经过我们调查发现许多应用场合原来就有测温控温仪器,只是随着对生产质量与生产需要的要求在不断地提高,以往的那些测温控温的仪器根本不能满足现在的要求。其中,有部分应用场合对精度提高的幅度要
3、求也不是特别高。因此,为了提高性价比,我所设计的系统提出在原有系统的基础上进行一些简单的改良,以此为出发点,主要阐述的是一种数码管显示的温控电动机的实现方法。现代各种家用电器以及生产机械都广泛应用电动机来驱动,电动机的作用是将电能转换为机械能,但是传统的电动机只是机械的按照其工作原理来工作,需要依靠人手动操作电动机的运行、停止、反向等操作,这样需要消耗大量的人力资源,在操作过程中也有很多不便,有时会因为外界环境和温度的因素使电动机造成不必要的损坏。所以,为了减少这种不必要的损失,在电动机上添加温控装置,可以通过温控装置来监控当前温度,当温度达到要求的温度时,电动机产生相应的操作,中北大学计算机
4、控制技术课程设计说明书第 2 页 共 29 页以达到工程机械或家用电器的功能要求,而添加数码管可以更加直观的监测当前温度。2 2 单片机简介单片机简介2.12.1 单片机的定义单片机的定义单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。2.22.2 AT89C51AT89C51 单片机简介单片机简介AT89C51 是一种带 4K 字节闪烁
5、可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C 单片机为很多嵌入式
6、控制系统提供了一种灵活性高且价廉的方案。1.主要特性 AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2AT89C51 管脚图中北大学计算机控制技术课程设计说明书第
7、 3 页 共 29 页 图 2.1 AT89C51 管脚图3 3 KeilKeil 软件和软件和 ProteusProteus 软件简介软件简介3.13.1 KeilKeil 软件简介软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种 是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发
8、MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机
9、也很可能只支持该软件) ,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。3.1.1 Keil 软件系统概述Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。 中北大学计算机控制技术课程设计说明书第 4 页 共 29 页Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编
10、代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开发系统各部分功能和使用。3.1.2 Keil C51 单片机软件开发系统的整体结构C51 工具包的整体结构中 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由
11、LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由 OH51转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。使用独立的 Keil 仿真器时,注意事项:(1)仿真器标配 11.0592MHz 的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。(2)仿真器上的复位按钮只复位仿真芯片,不复位目标系统。(3)仿真芯片的 31 脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外 ROM
12、;但仿真器外引插针中的 31 脚并不与仿真芯片的 31脚相连,故该仿真器仍可插入到扩展有外部 ROM(其 CPU 的/EA 引脚接至低电平)的目标系统中使用。 3.23.2 ProteusProteus 软件简介软件简介Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,Proteus 软件有近 20 年的历史,在全球广泛使用。它除了具有和其它 EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时
13、调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以中北大学计算机控制技术课程设计说明书第 5 页 共 29 页测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下,Proteus 软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本。 3.2.1 Proteus 软件的构成Proteus 组合了高级原理布图、混合模式 SPICE 仿真,PCB 设计以及自动布线来实现一个完整的电子设计系统。此系统受益于多年来的持续开发,被电子世界在其对 PCB 设计系统的比较文章中评为最好产品“The Route to PCB CAD”
14、。Proteus 产品系列也包含了我们革命性的 VSM 技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如 LED/LCD、键盘、RS232 终端等动态外设模型来对设计进行交互仿真。 其功能模块:个易用而又功能强大的 ISIS 原理布图工具;PROSPICE 混合模型 SPICE 仿真;ARESPCB 设计。 PROSPICE 仿真器的一个扩展 PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED 甚至 LCD 显示 CPU 模型。 3.2.2 Proteus 的主要特
15、征(1)支持许多通用的微控制器,如 ARM、PIC、AVR、以及 8051。(2)交互的装置模型包括:LED 和 LCD 显示、RS232 终端、通用键盘。(3)强大的调试工具,包括寄存器和存储器、断点和单步模式。(4)IAR C-SPY 和 Keil uVision2 等开发工具的源层调试。(5)应用特殊模型的 DLL 界面-提供有关元件库的全部文件。4 4 DS18B20DS18B20 的软件设计的软件设计4 41 1 DS18B20DS18B20 的简介的简介4.1.1 DS18B20 的主要特性 1.适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电 。2.独特
16、的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯 。3. DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组中北大学计算机控制技术课程设计说明书第 6 页 共 29 页网多点测温。 4.DS18B20 在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。5.温范围55+125,在-10+85时精度为0.5。6.可编程 的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温 。7.在 9 位分辨率时最多在 93
17、.75ms 内把温度转换为数字,12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快 。8.测量结果直接输出数字温度信号,以一 线总线串行传送给 CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力。 9.负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 4.1.2 DS18B20 的外形和内部结构 1. DS18B20 内部结构主要由四部分组成:64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 2.DS18B20 的外形及管脚排列如下图 4.1: 图 4.1 DS18B20 外形及引脚排列图3.DS18B20 引脚定
18、义 (1)DQ 为数字信号输入/输出端; (2)GND 为电源地; (3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 。DS18B20 寄生电源供电方式电路图如下面图 4 所示,在寄生电源供电方式下,中北大学计算机控制技术课程设计说明书第 7 页 共 29 页DS18B20 从单线信号线上汲取能量:在信号线 DQ 处于高电平期间把能量储存在内部 电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。独特的寄生电源方式有三个好处: 1)进行远距离测温时,无需本地电源。2)可以在没有常规电源的条件下读取 ROM 。3)电路更加简洁,仅用一根 I/
19、O 口实现测温。 要想使 DS18B20 进行精确的温度转换,I/O 线必须保证在温度转换期间提供足够的能量,由 于每个 DS18B20 在温度转换期间工作电流达到 1mA,当几个温度传感器挂在同一根 I/O 线上进行多点测温时,只靠 4.7K 上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图 4 电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源 VCC 必须保证在 5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 图 4.2 DS18B20 寄生电源工作方式(电源从 IO 口上获得)图 4.3 DS18B20 外
20、接电源工作方式中北大学计算机控制技术课程设计说明书第 8 页 共 29 页4 42 2 单片机实现温度转换流程图单片机实现温度转换流程图单片机实现温度转换读取温度数值程序的流程如图 4.4 所示 开始初始化 DS18B20应答脉冲发起 skip rom 的命令发起 Convert T 的命令延时 1s 等待温度转换完成初始化 DS18B20应答脉冲发起 read scratchpad 命令读取第一二字节即为温度数据是否是否中北大学计算机控制技术课程设计说明书第 9 页 共 29 页图 4.4 单片机实现温度转换读取温度数值程序的流程图5 数码管显示的温控电动机数码管显示的温控电动机5.1 设计
21、要求设计要求(1)使用 AT89C51 单片机为核心,使用 4 位集成式数码管显示当前温度,温度传感器使用 DS18B20。(2)用 4 位集成式数码管显示当前温度,当温度在CC007020范围之外时,直流电动机开始旋转。5.2 设计过程设计过程5.2.1 设计程序及编写先建立一个新的工程,保存到一个位置,如图 5.1 所示:图 5.1 新建工程接下来会弹出如下对话框,选择处理器,这里选择 AT89S51 或 AT89S52。中北大学计算机控制技术课程设计说明书第 10 页 共 29 页图 5.2 选择处理器接下来对话框提示是否把 Startup Code 加入到工程,选否即可。工程就建立完了
22、。图 5.3 对话框提示接下来可以新建一个文档用来编辑程序。图 5.4 新建文档将数码管显示的温控电动机的程序输入到新建文档中,编辑完存为.asm(汇编源文件)或 .h(C 语言头文件)或.c(C 语言实现文件)即可。中北大学计算机控制技术课程设计说明书第 11 页 共 29 页图 5.5 编辑程序接下来把保存的.asm, .c 或.h 文件加入到工程里即可。如图 5.6 所示:图 5.6 将文件加入工程下面进行工程配置。点击 Project 菜单下的 Options for Target Target 1。 在弹出对话框的 Target 项里输入晶振为 12M,然后勾上 Use On-chi
23、p ROM。中北大学计算机控制技术课程设计说明书第 12 页 共 29 页图 5.7 工程配置(1)在 Output 项里勾上 Create HEX File。这就是产生要烧写的.hex 文件。图 5.8 工程配置(2)然后点击 Project 菜单里的 build target 或 Rebuild all target files 以编译要烧写的.hex 文件。编译完会在下面 Output Window 里显示编译成功与否的信息和错误提示。中北大学计算机控制技术课程设计说明书第 13 页 共 29 页图 5.9 程序编译5.2.2 电路绘制及调试添加元件,单击“P”按钮,在对话框的 KEYW
24、ORDS 中输入AT89C51,得到以下结果:图 5.10 查找元件单击 OK,关闭对话框,这时元件列表中列出 AT89C51,用同样的方法找出其他元件。如图 5.11 所示: 中北大学计算机控制技术课程设计说明书第 14 页 共 29 页图 5.11 所需元件放置元件,在元件列表中左键选取 AT89C51,在原理图编辑窗口中单击左键,这样 AT89C51 就被放到原理图编辑窗口中了,用同样的方法放置其他元件,如图 5.12 所示:图 5.12 放置元件按照数码管显示的温控电动机的原理连接电路,如图 5.13 所示:中北大学计算机控制技术课程设计说明书第 15 页 共 29 页图 5.13 电
25、路原理图完成控制电路的绘制,将 Proteus 与 Keil 开发工具结合,搭建单片机开发平台,实现二者的联调,然后仿真出控制电路,如图 5.14 所示:中北大学计算机控制技术课程设计说明书第 16 页 共 29 页图 5.14 电路原理图6 结论结论本课程设计阐述了以 AT89C51 单片机为核心,使用 DS18B20 温度传感器以及 4 位集成式数码管显示温度的数码管显示的温控电动机。实现了通过数码管监测温度,当温度在CC007020范围之外时,直流电动机开始旋转的要求。本设计着重运用单片机原理设计数码管显示的温控电动机的程序,并用 Keil 软件编写程序,用 Proteus 软件进行控制
26、电路的仿真操作。在课程设计过程中,遇到一些问题,例如:从网上查找到相关程序和本设计题目一样,但是用到这个程序是出现错误,自己查找不出错误所在,最后经过问老师得到了解决。设计过程中由于对单片机理论知识的欠缺,使得对一些指令不是很了解,导致程序编写错误,期间花费了大量时间找资料和同学探讨调试,最终编中北大学计算机控制技术课程设计说明书第 17 页 共 29 页写出正确的程序;此外,由于初次接触 Proteus 软件,对其使用不是很熟悉,又查阅了大量该软件的资料和使用教程来完成控制电路的绘制;在进行控制电路仿真过程中最重要的就是 Keil 软件和 Proteus 软件的联调,对此我也查阅了很多相关资
27、料,以保证该课程设计的正确性和可行性。附录附录 A: 设计所用的设计所用的 C 语言程序清单语言程序清单#include #include #define uchar unsigned char#define uint unsigned intsbit DS=P16;sbit IN1=P10; /P1.0 与电机驱动 IN1 相连 sbit IN2=P11; /P1.1 与电机驱动 IN2 相连 sbit ENA=P14; uint temp,t; uchar flag,count; uchar data dis_buf8;uchar data dis_digit,dis_index;ucha
28、r code table= 0 x3f,0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0 x07,0 x7f,0 x6f ;uchar code table1= 0 xbf,0 x86,0 xdb,0 xcf,0 xe6, 0 xed,0 xfd,0 x87,0 xff,0 xef ;void delay(uint ms) uint i,j; for(i=ms;i0;i-)for(j=110;j0;j-);void init()TMOD=0 x11;TH0=(65536-1000)/256;TL0=(65536-1000)%256;TH1=(65536-5000)/
29、256;TL1=(65536-5000)%256;EA=1;ET0=1;中北大学计算机控制技术课程设计说明书第 18 页 共 29 页TR0=1;ET1=1;TR1=1;flag=0;ENA=0;count=0;void dsreset(void) uint i; DS=1; i+; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-; DS=1;bit tmpreadbit(void) uint i; bit dat; DS=1; DS=0;i+;i+; DS=1;i+; dat=DS; i=8;while(i0)i-; return (dat)
30、;uchar tmpread(void) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); dat=(j1); return(dat);void tmpwritebyte(uchar dat) 中北大学计算机控制技术课程设计说明书第 19 页 共 29 页 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; i=8;while(i0)i-;/write 0 DS=1; i+;i+; void tmpchange(void) dsreset(); delay(1); tmpwritebyte(0 xcc); tmpwritebyte(0 x44); uint tmp() float tt; uchar a,b,b1; dsreset();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年税务局信息技术服务外包合同版B版
- 个人商铺租赁协议范本2024年版A版
- 2、3、4的乘法口诀说课稿(说课稿)-2024-2025学年二年级上册数学人教版
- 2025年度三人房地产合作开发协议书范本3篇
- 职业学院学生转专业申请表
- 2024年矿石勘探技术服务合同版B版
- 福建省南平市五夫中学2020-2021学年高三地理上学期期末试题含解析
- 福建省南平市渭田中学2021-2022学年高三数学理联考试卷含解析
- 2024年行政报告模板制作与市场反馈服务合同3篇
- 2024年长途汽车运输协议
- 新能源发电技术学习通课后章节答案期末考试题库2023年
- 初中物理-初三物理模拟试卷讲评课教学课件设计
- 道路危险货物运输企业安全生产清单
- 钢铁生产企业温室气体核算与报告案例
- 农业合作社全套报表(已设公式)-资产负债表-盈余及盈余分配表-成员权益变动表-现金流量表
- 深入浅出Oracle EBS之OAF学习笔记-Oracle EBS技术文档
- 贝利婴幼儿发展量表BSID
- 四年级计算题大全(列竖式计算,可打印)
- 人教部编版八年级历史下册第7课 伟大的历史转折课件(共25张PPT)
- 年会主持词:企业年会主持词
- SB/T 10863-2012家用电冰箱维修服务技术规范
评论
0/150
提交评论