单片机温度控制器设计毕业论文(24页).doc
《单片机温度控制器设计毕业论文(24页).doc》由会员分享,可在线阅读,更多相关《单片机温度控制器设计毕业论文(24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-单片机温度控制器设计毕业论文-第 22 页摘 要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了一种以STC89C52单片机为主控制单元。该控制系统可以实时存储相关的温度数据。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C51单片机最小系统,测温电路、实时时钟电路、LED显示以及通讯模块电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD显示程序以及数据存储程序等。关键词: STC89C52单片机;DS18B20;显示电路AbstractA
2、long with the computer measurement and control technology of the rapid development and wide application, based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC89C52 describes a k
3、ind of mainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and record related to the current time. System design related hardware circuit and related applications. STC89C52 microcontroller hardware circuit i
4、nclude temperature detection circuit smallest system, and real-time clock circuit, LCD display circuit, communication module circuit, etc. System programming mainly include main program, read temperature subroutine, the calculation of temperature subroutines, key processing procedures, LCD display p
5、rocedures and data storage procedures, etc. Keywords :STC89C52 microcontroller;DS18B20;display circuit第1章 51单片机结构和原理单片微型计算机简称单片机,也称为微控制器(Micro Controller Unit),英文缩写为MCU.单片机的结构及功能均是按照工业控制要求而设计的,它把微型计算机的宫格功能部件(中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入输出I/O接口、定时器/计数器以及串行通信接口等)集成在一块芯片上,构成一个完整的微型计算机,故又称为单片微型计算机。除工
6、业领域外,单片机还广泛应用于各种民用电子、电器之中。MCS-51是由美国INTEL公司20世纪80年代生产的一系列8位单片机的总称,此系列单片机包括很多型号,如:8031、8051、8751、8032、8052等,其中8051是最早最典型的产品。该系列其他单片机都是在8051的基础上进行功能的增、减改变而来的,所以人们习惯用8051来称呼系列单片机,而其中的在世纪年代末年代初是我国最流行的单片机之一。公司后来将MCS-51的核心技术授权给了其他公司,现在生产8051内核单片机的公司,主要有ATMEL、WINBOND、NXP、等。随着技术的发展,各种高性能的位、位不断出现,但以、以及等系列为典型
7、代表的位,由于成本低、开发工具完善、易学易用等特点,仍具有强大的生命力和极高的实使用价值。. 单片机的结构1.1.1 基本结构8位CPU,片内振荡器。4KB程序存储器ROM(4096个8位淹没ROM)。128字节的数据存储器RAM(128个8位淹没RAM)。21个特殊功能寄存器。32条I/O口线。外部数据存储器寻址空间为64KB。外部程序存储器寻址空间为64KB。2个16位的可编程定时/计数器。中断结构:具有5个中断源,2个优先级。一个全双工串行通信口。有位寻址功能,适于布尔处理的位处理机制。1.2.1 8051单片机引脚图图1-1 at89c51单片机第2章 相关编程与仿真软件的介绍常用的单
8、片机语言有很多,如:汇编、C语言、BASIC、C+等,对51单片机而言,使用最为广泛的还是汇编语言和C语言。有经验的程序员用汇编语言可以写出高效率的程序,但每种语言都有自己个子的特点。2.1 从标准C转向Keil CC51是专门为51系列单片机设计的,根据51单片机自身的特点进行了若干扩展,与ANSIC在语法和库函数方面存在稍许差别,但绝大部分是兼容的。但在学习中,使用最多的还是Keil C8.08 u Vision3。2.2 Keil C上机的基本方法2.2.1 uVision 3中编程的基本步骤 在uVision 3集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机
9、型号。利用uVision 3的文件编译器编写C语言(或者汇编语言)源程序文件,并将文件添加到项目中去。通过uVision 3的各种选项,配置Cx51编译器、Ax51宏编译器、BL51/Lx51连接定位器以Debug 调试器的功能。利用uVision 3的构造功能对项目中的源程序文件进行编译链接,生成绝对目标代码和可选的HEX格式的可执行文件,如果出现编译链接错误则返回上一步,修改源程序中的错误后重新构造整个项目。将没有错误的绝对目标代码装入uVision 3调试器进行仿真调试,调试成功后用编程器将可执行文件写入到单片机应用系统的程序存储器或者单片机内部的Flash ROM中。2.2.2 uVi
10、sion 上机注意事项C51源程序汗汉字注释内容时,删除、插入汉字会出现乱码。解决方法为:选择Edit|Configuration 菜单项,弹出界面,将C源程序文本字体选择为DotumChe , 此字体可避免出现汉字乱码现象。原版的Keil C编译器会忽略编码为0xFD的字符,当编写中文显示程序时会出现问题,应安装针对这一问题的专用补丁,许多Keil C安装包都含有该补丁程序,安装时间可根据帮助文件安装该补丁。2.3 Proteus简介Proteus是英国Labcenter公司开发的嵌入式系统仿真软件,组合了高级原理图设计工具ISIS、混合模式SPICE仿真、PCB设计以及自动布线而形成了一个
11、完整的电子设计系统。它运行于Windows操作系统上,可以仿真、分析各种模拟和数字电路,并且对机的硬件配置要求不高。2.3.1 Proteus与Keil C 的联合仿真 目前,单片机仿真软件很多,Proteus ISIS 与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能够仿真单片机外围电路或没有单片机参与的其他电路的工作情况。一次在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程师的角度直接看程序运行和电路工作的过程和结果。同事,当原理图调试成功后,利用Proteus ARES软件,很容易获得PCB图,为今后的制造提供了方便。Keil
12、是美国Keil Software公司开发的,是目前世界上最好的51单片机的汇编和C语言的开发工具。它支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试;虽然Keil也提供了硬件仿真(用Monitor51协议,需要硬件支持)功能,但我们在利用它的硬件仿真功能的时候,它会受到一定的限制。如果我们将Proteus ISIS与Keil整合起来使用,充分利用各自的仿真功能,单片机软硬件的调试将变的十分有效。打开LED.dsn,删除LED设计页中的ULA2003A驱动部分,在LED设计页新建一个子电路LED_DRIVER,为该子电路见
13、撒谎那个输入/输出端子。移动鼠标指针带子电路上。按Ctrl+C计入子电路所在的设计页,原ULA2003驱动部分加上相应的端子。由于LED的驱动部分有多中方案,将来采用别的方案时不需要做任何的修改。用BUTTON元件绘出键盘的部分,并为行扫描线和列扫描线上的端子命名,此处不采用Proteus中现成的键盘模型是为了是读者更透彻的理解键盘的设计和按键识别的原理,但在商业产品的开发中可购买现成的键盘模块。第3章 基于单片机的PID温度控制系统3.1 PID温控器简介图3-1 PID温控器原理图电炉内的热电阻温度传感器测出的温度信号经运算放大器放大和模/数转换后,由8051读出电阻炉炉温,控制程序根据当
14、前炉温和目标温度的偏差,按照一定的控制方法控制开关K的开与断,提供适当的加热功率,以使炉温尽快趋近目标温度。 本设计是接口技术、应用系统设计、Proteus仿真的结合,介绍存储系统、数据采集、串口通信等知识及其在PID温控器设计中的应用于仿真,从个子系统开始,设计并逐步完善,直至整个应用系统的实现。3.2 8051存储系统扩展和PID温控器的存储系统设计3.2.1 PID温控器存储系统设计PID温控器的存储系统设计中使用了一片3-8译码器74LS138来产生各芯片所需的片选信号。要是为低电平选中6264,则C、B、A的输出应为011,由此可以计算出6264的二进制地址范围为0110 0000
15、0000 0000 0111 1111 1111 1111,写成十六进制为0x60000x7fff,2764的地址范围为0x00000x1fff。图3-2 温控系统扩展图3.3 人机接口和PID温控器的输入/输出设计及仿真键盘和显示器是最常用的人机交互设备,在单片机系统中显示器常用笔段式LED或者多段式液晶LCD做显示设备,如微波炉、洗衣机、DVD等家用电器采用此类显示方式。输出内容较复杂的系统也有才有字符型点阵式LED、字符型LCD等,这里只介绍八段LED显示器,可用于数字和部分字符显示。3.3.1 八段LED显示器下图为笔段式八段LED数码管原理图。LED显示器有共阴极和共阳极之分,其中的
16、每段为一个发光二极管,常用的有红绿两种。共阴极LED的com公共端应接低电平,割断引脚接高电平则该段点亮,接低电平则该段熄灭。共阳极LED与其相反。图3-3 笔段式八段LED数码管原理图不考虑com端,可知共阳极显示字符0时的各段二进制编码为1100 0000 ,写成十六进制为0xC0。C语言形式给出的共阳极LED能显示的部分数字和字符编码,可直接用在C51程序中。图3-4 段位置及编号图3-5 共阳极LED图3-6 共阴极LED3.3.2 LED显示器的显示方式实际使用LED时,一般将几个八段显示器排列成一组使用,其中的一个LED显示器被称为一位。多位LED显示器的显示方式分为静态方式和动态
17、扫描方式。静态方式中各LED的段引脚和com端都独立接线,这种方式的好处是程序相对简单,显示无闪烁;缺点是功耗大。采用动态扫描时,各LED的段引脚链接在一起,而com段独立,程序是通过控制各LED的com端的电平来决定点亮某一位LED。其优点是功耗小,缺点为编程相对复杂,当CPU负担较重时可能达不到理想的刷新速度,导致效果变差。设置选通信号选中最左边LED取输入数据查表取字型码显示一个数字最右边的显示没?结束NOYES开始图3-7 试验硬件图图3-8 LED静态显示仿真图试验程序#includeabsacc.h unsigned char code LED_CODES= 0xc0,0xf9,0
18、xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86, 0x8e,0xff,0x0c,0x89,0x7f,0xbfvoid main() XBYTE0x0000= LED_CODES1; XBYTE0x0200= LED_CODES2; XBYTE0x0400= LED_CODES8; while(1);图3-9 试验仿真图3.3.3 PID温控器LED显示及仿真YES关闭全部LED1ms延时取输入数据查表送取字型码送字选通信号显示一个数据是否是最后一位显示结束设置显示位数i初始化8255A开始图3-10 LED程序
19、流程图下图为PID温控器LED显示部分的Proteus仿真原理图。8255A是一个教复杂的并行接口芯片,在PID温控器主要用作I/O口扩展,用于LED的显示。在编程时应注意,由于8255A的复位时间较长,字应用程序访问8255A之前,应有足够的延时保证8255A已正确复位。图3-11 PID温控器LED显示仿真原理图图3-11中有6位动态扫描共阴极LED,它们的段引脚AG、DP是并联在一起的;引脚16位是各位LED的com端,相互独立。8255A端口C经74LS244的相同输出S0S7作为LED的段驱动信号,当某位LED各段全部点亮时,com端电流会达到120150mA,所以,选用驱动能力较强
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 控制器 设计 毕业论文 24
限制150内