摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本设计论述了一种以STC89C52单片机为主控制单元。
该控制系统可以实时存储相关的温度数据。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C51单片机最小系统,测温电路、实时时钟电路、LED显示以及通讯模块电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD显示程序以及数据存储程序等。
关键词: STC89C52单片机;DS18B20;显示电路AbstractAlong 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 kind 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 include 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 procedures and data storage procedures, etc.Keywords :STC89C52 microcontroller;DS18B20;display circuit第1章 51单片机结构和原理单片微型计算机简称单片机,也称为微控制器(Micro Controller Unit),英文缩写为MCU.单片机的结构及功能均是按照工业控制要求而设计的,它把微型计算机的宫格功能部件(中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入输出I/O接口、定时器/计数器以及串行通信接口等)集成在一块芯片上,构成一个完整的微型计算机,故又称为单片微型计算机。
除工业领域外,单片机还广泛应用于各种民用电子、电器之中。
MCS-51是由美国INTEL公司20世纪80年代生产的一系列8位单片机的总称,此系列单片机包括很多型号,如:8031、8051、8751、8032、8052等,其中8051是最早最典型的产品。
该系列其他单片机都是在8051的基础上进行功能的增、减改变而来的,所以人们习惯用8051来称呼MCS-8051系列单片机,而其中的8031在20世纪80年代末90年代初是我国最流行的单片机之一。
INTEL公司后来将MCS-51的核心技术授权给了其他公司,现在生产8051内核单片机的公司,主要有ATMEL、WINBOND、NXP、NCDRAGON等。
随着技术的发展,各种高性能的16位、32位MCU不断出现,但以8051、PIC、AVG以及MC68HC等系列为典型代表的8位MCU,由于成本低、开发工具完善、易学易用等特点,仍具有强大的生命力和极高的实使用价值。
1.151单片机的结构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章相关编程与仿真软件的介绍常用的单片机语言有很多,如:汇编、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),并为该项目选定合适的单片机型号。
利用uVision 3的文件编译器编写C语言(或者汇编语言)源程序文件,并将文件添加到项目中去。
通过uVision 3的各种选项,配置Cx51编译器、Ax51宏编译器、BL51/Lx51连接定位器以Debug 调试器的功能。
利用uVision 3的构造功能对项目中的源程序文件进行编译链接,生成绝对目标代码和可选的HEX格式的可执行文件,如果出现编译链接错误则返回上一步,修改源程序中的错误后重新构造整个项目。
将没有错误的绝对目标代码装入uVision 3调试器进行仿真调试,调试成功后用编程器将可执行文件写入到单片机应用系统的程序存储器或者单片机内部的Flash ROM中。
2.2.2 uVision 上机注意事项C51源程序汗汉字注释内容时,删除、插入汉字会出现乱码。
解决方法为:选择Edit|Configuration 菜单项,弹出界面,将C源程序文本字体选择为DotumChe , 此字体可避免出现汉字乱码现象。
原版的Keil C编译器会忽略编码为0xFD的字符,当编写中文显示程序时会出现问题,应安装针对这一问题的专用补丁,许多Keil C安装包都含有该补丁程序,安装时间可根据帮助文件安装该补丁。
2.3 Proteus简介Proteus是英国Labcenter公司开发的嵌入式系统仿真软件,组合了高级原理图设计工具ISIS、混合模式SPICE仿真、PCB设计以及自动布线而形成了一个完整的电子设计系统。
它运行于Windows操作系统上,可以仿真、分析各种模拟和数字电路,并且对PC机的硬件配置要求不高。
2.3.1 Proteus与Keil C 的联合仿真目前,单片机仿真软件很多,Proteus ISIS 与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能够仿真单片机外围电路或没有单片机参与的其他电路的工作情况。
一次在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程师的角度直接看程序运行和电路工作的过程和结果。
同事,当原理图调试成功后,利用Proteus ARES 软件,很容易获得PCB图,为今后的制造提供了方便。
Keil是美国Keil Software公司开发的,是目前世界上最好的51单片机的汇编和C语言的开发工具。
它支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试;虽然Keil也提供了硬件仿真(用Monitor51协议,需要硬件支持)功能,但我们在利用它的硬件仿真功能的时候,它会受到一定的限制。
如果我们将Proteus ISIS与Keil整合起来使用,充分利用各自的仿真功能,单片机软硬件的调试将变的十分有效。
打开LED.dsn,删除LED设计页中的ULA2003A驱动部分,在LED设计页新建一个子电路LED_DRIVER,为该子电路见撒谎那个输入/输出端子。
移动鼠标指针带子电路上。
按Ctrl+C计入子电路所在的设计页,原ULA2003驱动部分加上相应的端子。
由于LED的驱动部分有多中方案,将来采用别的方案时不需要做任何的修改。
用BUTTON元件绘出键盘的部分,并为行扫描线和列扫描线上的端子命名,此处不采用Proteus中现成的键盘模型是为了是读者更透彻的理解键盘的设计和按键识别的原理,但在商业产品的开发中可购买现成的键盘模块。
第3章基于单片机的PID温度控制系统3.1 PID温控器简介220V电源图3-1 PID温控器原理图电炉内的热电阻温度传感器测出的温度信号经运算放大器放大和模/数转换后,由8051读出电阻炉炉温,控制程序根据当前炉温和目标温度的偏差,按照一定的控制方法控制开关K的开与断,提供适当的加热功率,以使炉温尽快趋近目标温度。
本设计是接口技术、应用系统设计、Proteus仿真的结合,介绍存储系统、数据采集、串口通信等知识及其在PID温控器设计中的应用于仿真,从个子系统开始,设计并逐步完善,直至整个应用系统的实现。
3.2 8051存储系统扩展和PID温控器的存储系统设计3.2.1 PID温控器存储系统设计PID温控器的存储系统设计中使用了一片3-8译码器74LS138来产生各芯片所需的片选信号。
要是为低电平选中6264,则C、B、A的输出应为011,由此可以计算出6264的二进制地址范围为0110 0000 0000 0000 ~0111 1111 1111 1111,写成十六进制为0x6000~0x7fff,2764的地址范围为0x0000~0x1fff。
图3-2 温控系统扩展图3.3 人机接口和PID温控器的输入/输出设计及仿真键盘和显示器是最常用的人机交互设备,在单片机系统中显示器常用笔段式LED或者多段式液晶LCD做显示设备,如微波炉、洗衣机、DVD等家用电器采用此类显示方式。