1
基于单片机的饮水机温度控制系统 摘要 随着计算机在社会领域的渗透, 单片机的应用正在不断地深入同时带动传统
控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中单片机往往
是作为一个核心部件来使用仅单片机方面知识是不够的还应根据具体硬件结构
以及具体应用对象特点的软件结合以作完善。
本论文从硬件和软件两方面来讲述单片机的温度控制系统主要以AT89C51
单片机为核心温度信号AD590温度传感器采集并以数字信号的方式传送给单片
机并通过两位数码管LED显示器显示实时温度的一种数字温度。在软件方面采
用汇编语言来进行程序设计汇编语言指令的执行速度快节省存储空间。为了便
于为了便于扩展和更改软件的设计采用模块化结构使程序设计的逻辑关系更加
简洁明了使硬件在软件的控制下协调运作。
系统的过程首先,通过设置按键,设定恒温运行时的温度值并且用数码管显
示这个温度值然后温度传感器 AD590从周围环境的不同位置采集温度再通过
模数转换器最后通过单片机
AT89C51 获取采集的温度值进一步控制报警装置
和控制装置。
关键词 温度传感器 模数转换器 单片机 控制装置 报警系统
https://www.wendangku.net/doc/b59862487.html,
2
Abstract Along with the computer in the social sector penetration and MCU application is
continuously thorough, and push the traditional control test on the new beneficial update.
In real time detection and automatic control of the microcomputer application system, the
MCU is often as a core component to use, only MCU aspects knowledge is not enough,
should according to the specific hardware structure, and the specific application of the
characteristics of the object software combination to be perfect.
From two aspects of hardware and software to tell of the single chip
microcomputer temperature control system, mainly AT89C51 as the core, temperature
signal chipAD590 collection by the temperature, and the way to digital signal transfer to
the single chip microcomputer, and through the four LED display shows real-time digital
tube temperature of a digital temperature. In software, the assembly language for program
design, assembly language instruction execution speed, save storage space. In order to
facilitate the expansion and change, the software design using modular structure, make
the program design logical relationship more concise and clear, make the hardware in the
software under the control of the harmonious operation.
The system process: first, by setting up button, set the temperature constant
tempe
rature operation, and with a digital pipe display the temperature, and then, from the
surrounding environment temperature sensor AD590 different positions of the collection
temperature, again through the adc, finally, through the single-chip microcomputer
AT89SC51 obtain collection value and further control alarm device and refrigeration
equipment.
Keywords: Temperature sensor A/D converter MCU
control device alarm system
https://www.wendangku.net/doc/b59862487.html,
3
目录 第1章 绪论
....................................... 1
1.1课题的背景及其意义 .............................. 1
1.2课题研究的内容及要求 ............................ 6
1.3课题的研究方案图 ................................ 7
第2章 理论基础 ................................... 7
2.1 AD590温度传感器 ................................ 7
2.2 ADC0809模数转换器 .............................. 9
2.3运算放大器OP07 ................................ 11
2.4单片机的发展历程 ............................... 12
2.5 AT89C51系列单片机介绍 ......................... 14
2.5.1 AT89C51系列基本组成及其功能 ............. 14
2.5.2 AT89C51系列引脚及其功能 ................. 15
2.5.3 AT89C51系列单片机的单元功能 ............. 17
2.6数码显示管LED ................................. 19
第3章 硬件电路图设计 ............................ 20
3.1
键盘控制单元 ................................... 20
3.2温度采样部分 ................................... 22
3.3模数转换部分 ................................... 22
3.4显示部分 ....................................... 23 https://www.wendangku.net/doc/b59862487.html,
4
3.5报警部分
....................................... 25
3.6控制电路部分 ................................... 26 第4章 软件流程图设计
............................ 27
4.1主程序流程图 ................................... 27
4.2 A/D转换程序流程图 ............................. 28
4.3按键流程图 ..................................... 29
4.4
控制子程序流图 ................................. 30 4.5显示子程序流图
................................. 31 第5章 系统调试及结论分析 ........................ 33
5.1硬件调试 ....................................... 33
5.1.1硬件电路故障及解决方法 ................... 33
5.1.2硬件调试方法 ............................. 33
5.2软件调试 ....................................... 34
5.2.1软件电路故障及解决方法 ................... 34
5.2.2软件调试方法 ............................. 35
5.3结论分析 ..................... 错误未定义书签。35
第6章 总结 ....................................... 36
总结 .............................................. 36
参考文献 ............................
.............. 37
https://www.wendangku.net/doc/b59862487.html,
5
第一章 前言 1.1课题的背景及其意义: 二十一世纪是科技高速发展的信息时代电子技术、微型单片机技术的应用更
是空前广泛伴随着科学技术和生产的不断发展需要对各种参数进行温度测量。
因此温度一词在生产生活之中出现的频率日益增多与之相对应的温度控制和测
量也成为了生活生产中频繁使用的词语同时它们在各行各业中也发挥着重要的作
用。如在日趋发达的工业之中利用测量与控制温度来保证生产的正常运行。在农
业中用于保证蔬菜大棚的恒温保产等。
温度是表征物体冷热程度的物理量温度测量则是工农业生产过程中一个很重
要而普遍的参数。温度的测量及控制对保证产品质量、提高生产效率、节约能源、
生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性温
度传感器的数量在各种传感器中居首位。而且随着科学技术和生产的不断发展温
度传感器的种类还是在不断增加丰富来满足生产生活中的需要。
在单片机温度测量系统中的关键是测量温度、控制温度和保持温度温度测量
是工业对象中主要的被控参数之一。因此单片机温度测量则是对温度进行有效的
测量并且能够在工业生产中得到了广泛的应用尤其在电力工程、化工生产、机
械制造、冶金工业等重要工业领域中担负着重要的测量任务。在日常生活中也
可广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场
合。但温度是一个模拟量如果采用适当的技术和元件将模拟的温度量转化为数
字量虽不困难但电路较复杂成本较高。
温度控制无论是在工业生产过程中还是在日常生活中都起着非常重要的作用
而当今我国农村的锅炉取暖等大多数都没有温度监控系统部分厂矿企业还一
直沿用简单的温度设备和纸质数据记录仪。无法实现温度数据的测量与控制。随着
社会经济的高速发展越来越多的生产部门和生产环节对温度控制精度的可靠性和https://www.wendangku.net/doc/b59862487.html,
6
稳定性等有了更高的要求。传统的温度控制器控制精度普遍不高不能满足对温度
要求较为苛刻的生产环节。
此次的智能温度控制系统的设计基于此而设计针对一些大型公共场合为达
到对其温度的良好控制从实用的角度以AT89C51为核心设计一套温度智能控制系
统。其控制温度不是一个点而是一个范围。系统以AT89C51单片机为核心组成
一个集温度的采集、处理、显示、自
动控制为一身的闭环控制系统。
该智能温度控制系统功耗低本系统运行情况良好且经济可靠。能利用最少的资源
对不同温度进行高精度的测量信息性能可靠、操作便利复杂的工作通过软件编
程来完成可以方便的获取结果在实际的使用中获得了理想的效果。 1.2课题研究的内容及要求 1、课题的主要研究的内容 本文所要研究的课题是基于单片机控制的温制系统的设计主要是介绍了对温
度的显示、控制及报警实现了温度的实时显示及控制。温度传感器 DS18B20 从设
备环境采集温度单片机 AT89C51 获取采集的温度值经处理后得到当前环境中一
个比较稳定的温度值再根据当前设定的温度上下限值通过加热和降温对当前温
度进行调整。当采集的温度经处理后超过设定温度的上限时单片机通过三极管驱
动继电器开启降温设备 (压缩制冷器) 当采集的温度经处理后低于设定温度的下
时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) 。 2、设计要求 设计基于单片计算机的温度控制器用于控制温度。具体要求如下:
1. 温度连续可调范围为0℃-90℃
2. 超调量σ%≤20%
3. 温度误差≤±1℃
4. 人-机对话方便 https://www.wendangku.net/doc/b59862487.html,
7
1.3课题的研究方案图
第二章 理论基础 2.1 AD590温度传感器 AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下
1、流过器件的电流A等于器件所处环境的热力学温度开尔文度数
即 A/K 式中—流过器件AD590的电流单位为AT—热力学温
度单位为K。
2、AD590的测温范围为-55℃+150℃。
3、AD590的电源电压范围为4V30V。电源电压可在4V~6V范围变化电流
变化1A相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压因
而器件反接也不会被损坏。
4、输出电阻为710M。
键盘设定
数据显示
报警装置
制冷和加热装置
A
T 单
8
9 片
C
5 机
1
温度采集 https://www.wendangku.net/doc/b59862487.html,
8
AD590的管脚图及元件符号如下图所示
AD590的输出电流值说明如下
其输出电流是以绝对温度零度-273℃为基准每增加1℃它会增加1μA
输出电流因此在室温25℃时其输出电流Iout=273+25=298μA。
AD590基本应用电路
注意事项
1、 Vo的值为Io乘上10K以室温25℃而言输出值为10K×298μA=2.98
2、 测量Vo时不可分出任何电流否则测量值会不准
。 https://www.wendangku.net/doc/b59862487.html,
9
AD590温度传感器实际应用电路
电路分析
1、AD590的输出电流I=273+TμAT为摄氏温度因此测量的电压V为273+T
μA×10K=2.73+T/100V。为了将电压测量出来又务须使输出电流I不分流出来
我们使用电压跟随器其输出电压V2等于输入电压V。
2、由于一般电源供应教多器件之后电源是带杂波的因此我们使用齐纳二极管
作为稳压元件再利用可变电阻分压其输出电压V1需调整至2.73V
3、接下来我们使用差动放大器其输出Vo为100K/10K×V2-V1=T/10
如果现在为摄氏28℃输出电压为2.8V输出电压接AD转换器那么AD转换输出
的数字量就和摄氏温度成线形比例关系。 2.2 ADC0809模数转换器 ADC0809是位A/D转换芯片它是采用逐次逼近的方法完成A/D转换的。
ADC0809由单+5V电源供电片内带有锁存功能的8路模拟多路开关可对8路0https://www.wendangku.net/doc/b59862487.html,
10
5V的输入模拟电压分时进行转换完成一次转换约需100μS片内具有多路开关的
地址译码器和锁存器、高阻抗斩波器、稳定的比较器256电阻T型网络和树状电
子开关以及逐次逼近寄存器。
ADC0809是引脚双列直插式封装引脚及其功能
1D7D08位数字量输出引脚。
2
IN0IN78路模拟量输入引脚。
3VCC+5V工作电压。
4
GND接地。
5REF+参考电压正端。
6REF-参考电压负端。
7STARTA/D转换启动信号输入端。
8A、B、C地址输入端。
9ALE地址锁存允许信号输入端。
10EOC转换结束信号输出引脚开始转换时为低电平当转换结束时为高
电平。
11OE 输出允许控制端用以打开三态数据输出锁存器。
12CLK时钟信号输入端译码后可选通IN0IN7八个通道中的一个进行
转换。
A、B、C的输入与被选通道的通道关系
被选中的通道 C B A
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
https://www.wendangku.net/doc/b59862487.html,
11
ADC0809的管脚图 2.3运算放大器OP07 本次设计所用的运算放大器是OP07OP07的功能介绍
Op07芯片是一种低噪声非斩波稳零的双极性运算放大器集成电路。由于OP07
具有非常低的输入失调电压对于OP07A最大为25μV所以OP07在很多应用场合
不需要额外的调零措施。OP07同时具有输入偏置电流低OP07A为±2nA和开环
增
益高对于OP07A为300V/mV的特点这种低失调、高开环增益的特性使得OP07
特别适用于高增益的测量设备和放大传感器的微弱信号等方面。工作电源电压范围
是±3V~±18VOP07完全可以用单电源供电5V-5V绝对没有问题用单5V
也可以供电但是线性区间太小单电源供电模拟地在1/2 VCC. 建议电源最好>8V
否则线性区实在太小放大倍数无法做大一不小心就充顶饱和了。通常+12V
-12V双电源供电。
特点如下 1.超低偏移 150μV最大
2.低输入偏置电流 1.8nA
3.低失调电压漂移 0.5μV/℃
4.超稳定时间 2μV/month最大
5.高电源电压范围 ±3V至±22V。 https://www.wendangku.net/doc/b59862487.html,
12
OP07 管脚图
OP07芯片引脚功能说明
1和8为偏置平衡(调零端)2为反向输入端3为正向输入端4接地5空
脚 6为输出7接电源+。 输入失调电压调零电路 常用的电路图 典型的偏置电压试验电路 https://www.wendangku.net/doc/b59862487.html,
13
典型的低频噪声放大电路
精密绝对值电路 2.4单片机的发展历程 1970年微型计算机研制成功之后随之即出现了单片机即单片微型计算机
— 美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片
机8008这也算是单片机的第一次公众亮相。
1976年Intel公司首先推出能称为单片机的MCS-48系列单片微型计算机。它
以体积小、功能全、价格低等特点赢得了广泛的应用同时一些与单片机有关公
司都争相推出各自的单片机。
1978年下半年Motorola公司推出M6800系列单片机Zilog公司相继推出Z8
单片机系列。1980年Intel公司在MCS-48系列基础上又推出高性能的MCS-51系列
单片机。这类单片机均带有串行I/O口定时器/计数器为16位片内存储容量RAMhttps://www.wendangku.net/doc/b59862487.html,
14
ROM都相应增大并有优先级中断处理功能单片机的功能、寻址范围都比早期的
扩大了它们是当时单片机应用的主流产品。
1982年Mostek公司和Intel公司先后又推出了性能更高的16位单片机MK68200
和MCS-96系列NS公司和NEC公司也分别在原有8位单片机的基础上推出了16位
单片机HPC16040和
μPD783××系列。
1987年Intel公司又宣布了性能比8096高两倍的CMOS型80C1961988年推
出带EPROM的87C196单片机。由于16位单片机推出的时间较迟、价格昂贵、开发
设备有限等多种原因至今还未得到广泛应用。而8位单片机已能满足大部分应用
的需要因此
在推出16位单片机的同时高性能的新型8位单片机也不断问世。
纵观这短短的20年经历了4次更新换代单片机正朝着集成化、多功能、多
选择、高速度、低功耗、扩大存储容量和加强I/O功能及结构兼容的方向发展。新
一代的80C51系列单片机除了上述的结构特性外其最主要的技特点是向外部接口
电路扩展以实现微控制器microcontroller完善的控制功能为己任。这一系列
单片机为外部提供了相当完善的总线结构为系统的扩展和配置打下了良好的基础。
由于80C51系列单片机所具有的一系列优越的特点获得广泛使用指日可待。 2.5 AT89C51系列单片机介绍 2.5.1 AT89C51系列基本组成及其功能 单片机即单片微型计算机是把中央处理器、存储器、定时/计数器、输入输出
接口都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微
处理器相比它更强调自供应不用外接硬件和节约成本。它的最大优点是体积
小可放在仪表内部但存储量小输入输出接口简单功能较低。由于其发展非
常迅速旧的单片机的定义已不能满足所以在很多应用场合被称为范围更广的微
控制器但是目前在中国大陆仍多沿用“
单片机”的称呼。
AT89C51基本功能描述如下AT89C51是一种低损耗、高性能、CMOS八位微处
理器而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器能重复写
入/擦除1000次数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚
上完全兼容不仅可完全代替MCS-51系列单片机而且能使系统具有许多MCS-51
系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统缩小系统体积,
增加系统的可靠性降低了系统成本。只要程序长度小于4k, 四个I/O口全部提供https://www.wendangku.net/doc/b59862487.html,
15
给用户。可用5V电压编程而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时
间的百分之一与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源
的要求改写时不拔下芯片适合许多嵌入式控制领域。AT89C51 芯片提供三级程
序存储器锁定加密 提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统
不被仿制。另外,AT89C51 还具有MCS
-51系列单片机的所有优点。128×8 位内部
RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优
先级, 一个全双工异步串行口及时钟发生器等。AT89C51有间歇、掉电两种工作模
式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工
作情况适时地进入睡眠状态, 内部
RAM和所有特殊的寄存器值将保持不变。这种状
态可被任何一个中断所终止或通过硬件复位。掉电模式是VCC电压低于电源下限,
当振荡器停止振动时, CPU 停 止执行指令。该芯片内RAM和特殊功能寄存器值保
持不变, 一直到掉电模式被终止。只有VCC电压恢复到正常工作范围而且在振荡器
稳定振荡后通过硬件复位、 掉电模式可被终止。 2.5.2 AT89C51系列引脚及其功能
AT89C51有40引脚双列直插DIP形式其逻辑引脚图
VCC供电电压。 https://www.wendangku.net/doc/b59862487.html,
16
GND接地。
P0口P0口为一个8位漏级开路双向I/O口每脚可吸收8TTL门电流。当P1
口的管脚第一次写1时被定义为高阻输入。P0能够用于外部程序数据存储器它
可以被定义为数据/地址的第八位。在FIASH编程时P0 口作为原码输入口当FIASH
进行校验时P0输出原码此时P0外部必须被拉高。
P1口P1口是一个内部提供上拉电阻的8位双向I/O口P1口缓冲器能接收
输出4TTL门电流。P1口管脚写入1后被内部上拉为高可用作输入P1口被外
部下拉为低电平时将输出电流这是由于内部上拉的缘故。在FLASH编程和校验
时P1口作为第八位地址接收。
P2口P2口为一个内部上拉电阻的8位双向I/O口P2口缓冲器可接收输出4
个TTL门电流当P2口被写“1”时其管脚被内部上拉电阻拉高且作为输入。
并因此作为输入时P2口的管脚被外部拉低将输出电流。这是由于内部上拉的缘
故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时P2口输
出地址的高八位。在给出地址“1”时它利用内部上拉优势当对外部八位地址数
据存储器进行读写时P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校
验时接收高八位地址信号和控制信号。
P3口P3口管脚是8个带内部上拉电阻的双向I/O口可接收输出4个TTL门电
流。当P3口写入“1”后它们被内部上拉为高电平并用作输入。作为输入由
于外部下拉为低电平P3口将输出电流ILL这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口如下表
端口功能 第二功能 端口引脚 第二功能
RXDP3.0 串行输入口 T0P3.4 定时/计数器0外部输入
TXDP3.1 串行输出口 T1P3.5 定时/计数器1外部输入
INT0P3.2 外中断0 WRP3.6 外部数据存储器写选通
INT1P3.3 外中断1 RDP3.7 外部数据存储器读选通
RST复位输入。当振荡器复位器件时要保持RST脚两个机器周期的高电平https://www.wendangku.net/doc/b59862487.html,
17
时间。
ALE/PROG当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地
位字节。在FLASH编程期间此引脚用于输入编程脉冲。在平时ALE端以不变的
频率周期输出正脉冲信号此频率为振荡器频率的1/6。因此它可用作对外部输出
的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时将跳过一
个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时 ALE只有在执行
MOVXMOVC指令是ALE才起作用。另外该引脚被略微拉高。如果微处理器在外部
执行状态ALE禁止置位无效。
/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间每个机器
周期两次/PSEN有效。但在访问外部数据存储器时这两次有效的/PSEN信号将不出
现。
/EA/VPP当/EA保持低电平时则在此期间外部程序存储器0000H-FFFFH不
管是否有内部程序存储器。注意加密方式1时/EA将内部锁定为RESET当/EA端
保持高电平时此间内部程序存储器。在FLASH编程期间此引脚也用于施加12V
编程电源VPP。
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2来自反向振荡器的输出。 2.5.3 AT89C51系列单片机的单元功能 1并行I/O接口
单片机芯片内有一项主要功能就是并行I/O口。51系列共有4个8位的并行I/O
口分别记作P0、P1、P2、P3每个口都包含一个锁存器一个输出驱动器和输入缓
冲器。实际上它们已被归入专用寄存器之列并且具有字节寻址和位寻址功能。
在访问片外扩展存储器时低八位地址和数据由P0口分时传送高八位地址由P2
口传送。
2定时器/计数器
定时器/计数器timer/counter是单片机中的重要部件其工作方式灵活、
编程简单使用它对减轻CPU的负担和简化外围电路都大有好处。
C51系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0
和定时器/计数器T1在C51部分产品中还包含有一个用做看门狗的8位定时器。
定时器/计数器的核心是一个加1计数引脚上施加器其基本功能是加1功能。在单
片机的定时器T0或T1中有一个定时器发生由0到1的跳变时计数器增1即https://www.wendangku.net/doc/b59862487.html,
18
为计数功能在单片机内部对机器周期或其分频进行计数从而得到定时这就是
定时功能。在单片机中定时功能和计数功能的设定和控制都是通过软件来进行的。
定时器/计数器内部结构及其原理由定时器0、定时器1、定时器方式寄存器
TMOD和定时器控制寄存器TCON组成。当定时器/计数器设置为定时工作方式时计
数器对
内部机器周期计数每过一个机器周期计数器加1
直至计满溢出。定时
器的定时时间与系统的振荡频率紧密相关因为C51系列单片机的一个机器周期由
12个振荡脉冲组成所以计数频率fc=fosc/12。如果单片机系统采用12MHz晶振
则计数周期为: s
T1
12/1*10*12
16
这是最短的定时周期适当选择定时器的初值可获取各种定时时间。
当定时器/计数器设置为计数工作方式时计数器对来自输入引脚T0P3.4
和T1P3.5的外部信号计数外部脉冲的下降沿将触发计数。在每个机器周期的
S5P2期间采样引脚输入电平若前一个机器周期采样值为1
后一个机器周期采样
值为0则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后
于下一个机器周期的S3P1期间装入计数器中的可见检测一个由1到0的负跳变
需要两个机器周期所以最高检测频率为振荡频率的1/24。计数器对外部输入信号
的占空比没有特别的限制但必须保证输入信号的高电平与低电平的持续时间在一
个机器周期以上。
3振荡器
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片
内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件XTAL2应
不接。当输入至内部时钟信号时要通过一个二分频触发器而对外部时钟信号的脉
宽无任何要求但必须保证脉冲的高低电平要求的宽度。
4芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合并保持ALE
管脚处于低电平10ms 来完成。在芯片擦除操作中代码阵列全被写“1”且在任何
非空存储字节被重复编程以前该操作必须被执行。AT89C51设有稳态逻辑可以
在低到零频率的条件下静态逻辑支持两种软件可选的掉电模式。在闲置模式下
CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下
保存RAM的内容并且冻结振荡器禁止所用其他芯片功能直到下一个硬件复位为
止。
5中断系统 https://www.wendangku.net/doc/b59862487.html,
19
中断系统是单片机的重要组成部分。实时控制、故障自动处理、单片机与外围
设备间的数据传送往往采用中断系统。中断系统大大提高了系统的效率。
C51系统有关中断的寄存器有4个分别为中断源寄存器TCON和SCON、中断允
许控制寄存器IE和中断优先级控制寄存器IP中断源有5个分别为外部中断0
请求INT0
、外部中断1请求INT1、定时器0溢出中断请求TF0、定时器1溢出中断
请求TF1和串行中断请求R1
或T1。5个中断源的排列顺序由中断优先级控制寄存器
IP和顺序查询逻辑电路共同决定5个中断源分别对应5个固定的中断入口地址。
2.6数码显示管LED
数码显示管LED引脚图 LED显示器是单片机应用系统中常见的输出器件而在单片机的应用上也是被
广泛运用的。如果需要显示的内容只有数码和某些字母使用LED数码管是一种较
好的选择。LED数码管显示清晰、成本低廉、配置灵活与单片机接口简单易行。
LED数码管作为显示字段的数码型显示器件它是由若干个发光二极管组成的。
当发光二极管导通时相应的一个点或一个笔画发亮控制不同组合的二极管导通
就能显示出各种字符常用的LED数码管有7段和“米”字段之分。这种显示器有
共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连在一起通常此共
阴极接地。当某个发光二极管的阳极为高电平时发光二极管点亮相应的段被显
示。同样共阳极LED显示器的发光二极管的阳极接在一起通常此共阳极接正电
压当某个发光二极管的阴极接低电平时发光二极管被点亮相应的段被显示。
本次设计所用的LED数码管显示器为共阳极。
LED数码管的使用与发光二极管相同根据材料不同正向压降一般为1.52V
额定电流为10MA最大电流为40MA。静态显示时取10MA为宜动态扫描显示可加
大脉冲电流但一般不超过40MA。 https://www.wendangku.net/doc/b59862487.html,
20
第3章 硬件设计 本设计采用按键作为输入控制通过温度多采样单元采集温度信息经过OP07
放大器放大及ADC0809数模转换器将其转换由主机AT89C51进行处理并将实际温
度值和设定温度值分别显示在共阳极数码显示管LED上。
单片机应用系统中除了复位按键有专门的复位电路,
以及专一的复位功能外,其
它的按键或键盘都是以开关状态来设置控制功能或输入数据。 3.1键盘控制单元 键盘在单片机应用系统中能实现向单片机输入数据、传送命令功能是人工
干预单片机的主要手段。键盘实质上是一组按键开关集合。通常键盘所用开关为
机械弹性开关均利用了机械触点的合、断作用。键的闭合与否反映在输出电
压是呈现高电平或低电平如果高电平表示断开的话那么低电平则表示键闭合
所以通过对电平高低状态的检测便可确认按键按下与否。为了确保CPU对一次
按键动作只确认一次按键必须消除抖动的影响这样才能使键盘在单片机系统
中的使用得更加稳定。
常用的键盘接口分为独立式按键接口和矩阵式键盘接口。根据本系统的设计
特点及要求
键盘的功能主要是用来设置温度上下限因此本设计采用独立式键
盘来完成这一功能要求。其电路连接如图3.1所示。
图3.1 独立式键盘与AT89C51连接图 https://www.wendangku.net/doc/b59862487.html,
21
1键盘电路及其说明 独立式按键就是各个按键相互独立每个按键各接一根输入线一根输入线上
的按键工作状态不会影响其他输入线上的工作状态。因此通过检测输入线的电平
状态就可以很容易的判断出是哪一个按键按下了。独立式按键电路配置灵活软件
简单。但每一个按键需占用一根输入口线在按键数量较多时学要较多的输入口线
且电路结构复杂故此种键盘适用与按键较少或操作速度较高的场合。
本设计采用四按键键盘所以在四个I/O口上接四个按键组成一个四按键的
简易式键盘。各线通过电阻接+5V当键盘上没有键闭合时所有的线断开呈高电
平状态。当键盘上某一个键闭合时该键所对应的线与连接单片机的线短路。例如
当S1号按键闭合时它所在的线与连接线短路使P3.2口为低电平通过软件里
对P3口查寻如果只有P3.2口为低电平那么就可以确定是S1键按下了通过在
软件里的设定行使S1键的功能。如果同时有多个P3口为低电平则报警显示
然后检查是否有多个键按下直到只有一个P3口为低电平时停止报警那个低电
平的P3口上连接的按键则为按下的键在软件里执行他应该达到的功能。 2键盘功能说明 S1模式设置键按一下进入到加热系统设置状态再按一下切换到制冷系统
设置状态
S2步进加键每按一下要设置的限制值加1
S3步进减键每按一下要设置的限制值减1
S4确定键确定前面所设的温度值。
当S1键按1下进入加热或制冷模式后数码管显示为0000代表温度设置
起点温度。再按下按键S2数码管显示值将逐步从个位数往上加直到想要设置的温
度值而按键S3是步进减键按键每下一次个位数减1。S4键是确定键通过它
来确定前面所设定的数值。 3键盘的机械抖动 若Y0为低电平S1号键闭合一次图中t1和t3分别为键的闭合和断开过程中
的抖动期呈现一串负脉冲抖动时间长短和开关的机械特性有关一般为5
10mst2为稳定的闭合期其时间由按键动作所确定一般为十分之几秒到几秒
t0、t4为断开期。为了保证CPU对键盘的闭合仅作一次处理在软件中必须去除抖
动在第一次检测到有按键下时执行一段延时10ms的子程序后确认该按键电平是https://www.wendangku.net/doc/b59862487.html,
22
否仍保持闭合状态电
平如果闭合状态电平则确认有按键下从而消除抖动的影响。
键盘的机械抖动示意图如图3.2所示。 图3.2 键盘的机械抖动示意图 3.2温度采样部分
图3.3 温度采集电路 3.3模数转换部分 模数转换是将模拟输入信号转换为N位二进制数字输出信号的技术。采用数字
信号处理能够方便地实现各种先进的自适应算法完成模拟电路无法实现的功能
因此越来越多的模拟信号处理正在被数字技术所取代。与之相应的是作为模拟
系统和数字系统之间桥梁的模数转换的应用日趋广泛。为了满足市场的需求各芯
片制造公司不断推出性能更加先进的新产品、新技术令人目不暇接。A/D转换器https://www.wendangku.net/doc/b59862487.html,
23
ADC0809共有八路模拟输入端由于本设计温度采集只有两路因此只用到两路模
拟输入端其输入通道为IN0、IN1。这两个通道的数据分别是温度采集电路的输
出信号V01、V02也就是转换为电压值的饮水机两个水箱水的温度值。选择这两个
通道需要通过设置ADC0809的ADDA、B、C的值因为它对应的是八路模拟信号
而本系统只有两路模拟信号输入因此只需要将低位ADDA连到AT89C51的P2.2
口并根据P2.2口的电压是低电平或高电平来选择要检测哪个通道当ADDA值
为0时选的是IN0通道当ADDA为1时选的是IN1 通道。而ADDB、ADDC只需接
地即可。
图3.4 A/D转换电路 3.4 显示电路设计 大多数的单片机应用系统都要配置输入设备和输出设备。本系统的输出设备
是显示器根据本系统的设计特点采用七段LED数码管作为显示器。而本系统设
计要求温度检测范围0℃95℃精度±1℃。数码管只需显示两位即可达到要求
因此显示部分电路采用两个一位的LED数码管来组成显示器没有要求显示小数
点LED数码管的dp脚悬空。本设计显示电路的应用有两点一是实时显示水的温
度值另一个是显示键盘设定的温度上、下限值。其电路连接如图3.5所示。
https://www.wendangku.net/doc/b59862487.html,
24
图3.5 显示部分电路 通过一个74LS47连接7个100欧姆的电阻来
驱动数码管显示。数码管的VCC脚
分别连接到两个三极管的共射极而三极管的共基极连到一起接到+5V电源上。共
集极分别连接两个4.7K的电阻接到单片机AT89C51的P1.4、P1.5管脚。
LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中应用非
常普遍通常使用的是七段LED这种显示器有共阳极和共阴极两种本设计选用
的是共阳极。共阳极LED显示器的发光二极
管的阳极连接在一起通常此公共阳极
接正电压5V。当某个发光二极管的阴极接低电平时发光二极管被点亮相应的段
被显示。
使用LED显示器时为了显示数字或符号要为LED显示器提供代码因为这
些代码是通过各段亮与灭来为显示不同字型的。7段发光二极管再加上一个小数
点位共计8段。因此提供给LED显示器的段码正好一个字节。各字节中对应关系
如表2.3所示。
表2.3 各段与字节中各位的对应关系表
代码位 D7 D6 D5 D4 D3 D2 D1 D0
显示段 dp G f e d c b a
将单片机I/O口的8位线与显示块的发光二极管的引出端adp相连共阳https://www.wendangku.net/doc/b59862487.html,
25
极高电平有效选通有效后8位并行输出口输出不同的数据就点亮相应的发光二极
管获得不同的数字或字符。共阳极7段显示器显示数字对应的段码关系如表2.4
所示。
表2.4 7段LED数字与段码对应关系表
显示
数字
0
1
2
3
4
5
6
7
8
9
共阳
极段
码
C0H
F9H
A4H
B0H
99H
92H
82H
F8H
80H
90H
3.5 报警电路设计 报警电路主要是由发光二极管和蜂鸣器组成的具有声、光报警功能的简单电
路其电路如图3.6所示。当温度超过设置的上、下限时P2.2口输出高电平三
极管导通蜂鸣器工作发出声音。P2.3口输出高电平时发光二极管正向导通
发光报警。
图3.6报警电路 https://www.wendangku.net/doc/b59862487.html,
26
3.6 控制电路设计 该电路是由两个固态继电器作为控制开关一个继电器控制加热装置另一个
继电器控制制冷装置。固态继电器是一种无触点通断型电子开关是四端有源器件
其中两个端子为控制输入端另外两个为输出受控端。为了实现输入与输出的隔离
器件采用了高耐压的光耦合器。当输入信号有效时电路呈导通状态反之呈断
开状态可以实现类似电磁继电器的开关功能。固态继电器将MOSFET、GTR、普通
晶闸管等组合在一起与触发电路封装在一个模块中而且驱动电路与输出电路隔离。
固态继电器是可控硅过零触发器无触点不用调节对电网不会产生波形畸变。
因此非常适合本设计。
控制电路工作原理当AT89C51的RXD口输出一个高电平时三极管开始工作
驱动继电器J1工作继电器J1呈导通状态加热装置开始工作。同样当AT89C51
的TXD口输出一个高电平时三极管开始工作驱动继电器J2工作继电器J2开
关闭合制冷装置开始工作。
控制部分电路图如图3.7所示
图3.7 控制电路 https://www.wendangku.net/doc/b59862487.html,
27
第4章 软件流程图设计 系统软件设计也就是程序设计就是在完成了硬件系统的基础上再编写相应
的程序下载到芯片里通过执行程序指令控制硬件从而实现各种功能。一般来
讲软件的功能可分为两大类。一类是执行软件它能完成各种实质性的功能如
测量、计算、显示、打印、输出控制等。另一类是监控软件它专门协调执行模块
和操作者的关系在系统中充当组织协调的角色。
软件设计就是用计算机所能接受的形式把解决问题的步骤描述出来。简单的说
软件设计就是编制计算机程序。一个好的程序应该完成规定的任务而且应该层次
清晰、易于阅读并尽可能少占内存缩短执行时间但也不要一味地追求少占内
存缩短执行时间。这样做可能会使程序的可读性变差。随着大规模和超大规模集
成电路的发展芯片的内存容量也在不断的增加计算机执行指令的时间也大大的
缩短。因此程序的长短和执行时间不再显得那么重要而程序的易读性和程序
的开发周期显得越来越重要。另外在较复杂的程序设计中必须充分考虑程序
的可读性、稳定性、可扩展性、兼容性以及容错性等也是衡量与评价程序的优劣的
重要指标。
由于用汇编语言编写的程序效率高占用的内存单元和CPU资源少执行速度
快还可直接访问存储器、输入/输出接口以及扩展的各种芯片并可直接处理中断
直接管理和控制硬件设备适用于实时控制系统因此本设计选用汇编语言来编
写程序。 4.1主程序流程图 本设计的软件设计包括主程序、A/D转换子程序、键盘子程序、控制子程序及
显示子程序。结合本系统的功能程序长度不会超过AT89C51内部的程序存储器
所以硬件上不用外扩程序存储器。
主程序流程如图4.1所示。本设计主程序工作过程为首先对系统初始化由
于本系统要实现对饮水机的冷、热两个水箱的检测与控制因此先要选择控制模式
这主要是经过硬件电路的按键S1来选择的。在确定进入加热或制冷模式后调用
A/D转换子程序对采集到的模拟量进行转换转换完毕保存数据后调用键盘子程
序这个子程序主要完成对温度上、下限的设置。完成设置后调用控制子程序1
或子程序2通过对执行这个程序实现报警、加热或制冷。最后调用显示子程序
来显示温度值。整个系统是一个闭环的系统工作是循环进行的这也就实现了实https://www.wendangku.net/doc/b59862487.html,
28
时检测的设计要求。
图4.1 主程序流程图 4.2 A/D转换子程序图 在这一模块的软件设计中主要完成的是将采集电路采集到的模拟信号转换为
数字信号然后送到单片机进行处理从而完成A/D转换部分的最后功能该部分
程序流程如4.2所示。根据设计的要求程序先对端口初始化根据模式选择的结
果选择其中一路的采集来的数据然后启动A/D转换功能在转换一段时间后初始化
调用A/D转换子程序
调用键盘子程序
开始
调用显示子程序
进入加热模
式
调用A/D转换子程序
Y https://www.wendangku.net/doc/b59862487.html,
29
判断转换是否结束如果结束就自动进入下一路的转换否则继续转换。 图4.2 A/D转换子程序流程图 4.3键盘子程序 这部分设计主要完成温度上、下限的设置。其流程图如图4.3所示。本设计使
用4个单键这使得键值的识别问题也比较简单化。在执行程序的时候只需逐位判
断P3.2,P3.3,P3.4,P3.5口是高电平还是低电平若为高电平则表示没有按键按
下若为低电平则表示有按键按下。在程序的设计当中考虑了键的去抖动问题。
因为用手按下一个按键时往往会出现所按键在闭合位置和断开位置之间跳动几下取数据
A/D转换结
束
地址数小于
2
Y
N
Y
N
开始
返回 https://www.wendangku.net/doc/b59862487.html,
30
才稳定到闭合状态的情况。在释放一个键的时候也会出现类似的情况抖动的时
间是不一致的通常小于10毫秒若抖动的问题不解决就会引起闭合键的多次读
入。对于键的抖动处理一般采用软件延时10毫秒的方法。在发现有按键闭合时
不是立即读入该键值而是延时一段时间以后再进行键闭合与否的判断确认此
时是否真的有按键下有则进行该按键的处理没有则不进行处理。
图4.3 键盘子程序流程图 4.4控制子程序 本部分主要是实现声光报警和驱动加热或制冷功能。由于本设计的控制对象有
两路一路是控制饮水机的热水水箱另一路是控制凉水水箱因此有两个子程
序它们分别为控制子程序1和控制子程序2。控制程序1流程图如图4.4所示控
制子程序2流程图如图4.5所示。选择控制模式后先将采集转换后的数据与设定
的值进行比较如果是加热模式且采集转换的值低于设定值的下限置RXD为
高电平加热器开始加热如果是制冷模式且采集转换的值高于设定值的上限
则置AT89C51的P2.3、P2.4口为高
电平实现声光报警同时置TXD为高电平有按键下
按键处理 判别键号
延时10ms
开始
返回 https://www.wendangku.net/doc/b59862487.html,
31
制冷装置开始工作。
图4.4 控制子程序1流程图 4.5 显示子程序 此模块采用的是动态扫描的方法这样各位LED能够显示出与本位相应的显示
字符。显示子程序流程图见图4.6所示。在编写程序时在某一时刻只让某一位
的位选线处于选通状态而其它各位的位选线处于关闭状态同时段选线上输出
相应位要显示字符的段码。这样在同一时刻两位LED中只显示选通的一位而
另一位是熄灭的。依次循环下去就可以使各位显示出将要显示的字符虽然这些
字符是在不同时刻出现的而且同一时刻只有一位显示其它各位熄灭但由于
LED显示器的余辉和人眼的视觉暂留作用只要每位显示间隔足够短则可造成多
位同时亮的假象达到同时显示的目的。本次设计显示一位保持1ms时间共需开始加热
保存数据
低于下限
Y
高于上限
N
报警、停止加热
Y
N
开始
返回
等于下限
取数据
Y
N https://www.wendangku.net/doc/b59862487.html,
32
2ms时间。
图4.6 显示子程序流程图
图4.5 控制子程序2流程图
开始制冷
保存数据
高于上限
Y
低于下限
N
报警、停止制冷
Y
N
开始
返回
等于上限
取数据
N
Y
Y
N
开始
延时1ms
内存地址加1
输出显示
取内存数据
地址数为2
返回 https://www.wendangku.net/doc/b59862487.html,
33
第5章 系统调试及结论分析 单片机应用系统样机组装好以后便可进入系统的在线联仿真器调试其
主要任务是排除样机硬件故障并完善其硬件结构试运行所设计的程序排除程
序错误优化程序结构使系统达到期望的功能进而固化软件使其产品化。 5.1硬件调试 单片机应用系统的硬件和软件调试是交叉进行的但通常是先排除样机中明显
的硬件故障尤其是电源故障才能安全地和仿真器相连进行综合调试。 5.1.1硬件电路故障及解决方法 1错线、开路、短路由于设计错误和加工过程中的工艺性错误所造成的错线、开
路、短路等故障。
解决方法在画原理图时仔细检查、校正即可解决。
2元器件损坏由于对元器件使用要求的不熟悉及制作调试过程中操作不当致使器
件损坏
。
解决方法在设计过程中要明确各元器件的工作条件严格按照制作要求进行
操作损坏的元器件要及时更换以免损坏其他元件或影响电路功能的实现。
3电源故障设计中存在电源故障即上电后将造成元器件损坏、无法正常供电
电路不能正常工作。电源的故障包括电压值不符和设计要求电源引出线和插座
不对应各档电源之间的短路变压器功率不足内阻大负载能力差等。
解决方法电源必须单独调试好以后才能加到系统的各个部件中。本设计中就
出现电源故障经过一个稳压电路才使其正常工作。 5.1.2硬件调试方法 本设计调试过程中所用的调试方法有静态测试、联仿真器在线调试等。
1静态测试 https://www.wendangku.net/doc/b59862487.html,
34
在样机加电之前首先用万用表等工具根据硬件电器原理图和装配图仔细检
查样机线路的正确性并核对元器件的型号、规格和安装是否符合要求。应特别注
意电源的走线防止电源之间的短路和极性错误并重点检查扩展系统总线地址
总线、数据总线和控制总线是否存在相互间的短路或与其它信号线的短路。第二
步是加电后检查各个插件上引脚的电位仔细测量各点电位是否正常尤其应注意
单片机插座上的各点电位若有高压联机时将会损坏仿真器。第三步是在不加电
情况下除单片机以外插上所有的元器件最后用仿真适配器将样机的单片机插
座和仿真器的仿真接口相连为联机调试做准备。
2联仿真器在线调试
测试RAM存储器用仿真器写命令将一批数据写入样机中扩展的RAM然后
用读命令读出其内容若对任意单元读出和写入内容一致则扩展RAM和单片机
的连接没有逻辑错误。若读出写入内存不一致则可能是地址数据线短路试写入
不同的数据观察读出结果或缩小对RAM的读写范围检查对RAM中其它区域
的影响这样可初步对地址数据线短路错误定位再用万用表、示波器等进一步确
诊。 5.2软件调试 5.2.1软件电路故障及解决方法 设计软件部分出现这种错误的现象
1当以断点或连续方式运行时目标系统没有按规定的功能进行操作或什么结果也
没有这是由于程序转移到意外之处或在某处死循环所造成的。
解决方法这类错误的原因是程序中转移地址计算错误、堆栈溢出、工作寄存
器冲突等。在采用实时多任务操作系统时错误可能在操作系统中没有完成正确
的任务调度操作也可能在高优先级任务程序中该任务不释放处理器使CPU在
该任务中死循环。通过对错误
程序的修改使其实现预期的功能。
2不响应中断
CPU不响应中断或不响应某一个中断这种错误的现象是连续运行时不执行中
断任务程序的规定操作当断点设在中断入口或中断服务程序中时碰不到断点。
错误的原因有中断控制寄存器IEIP的初值设置不正确使CPU没有开
放中断或不许某个中断源请求或者对片内的定时器、串行口等特殊功能寄存器和https://www.wendangku.net/doc/b59862487.html,
35
扩展的I/O口编程有错误造成中断没有被激活或者某一中断服务程序不是以RETI
指令作为返回主程序的指令CPU虽已返回到主程序但内部中断状态寄存器没有被
清除从而不响应中断或由于外部中断源的硬件故障使外部中断请求无效。
解决方法修改中断控制寄存器IEIP的初值设置。
3
结果不正确
目标系统基本上已能正常操作但控制有误动作或者输出的结果不正确。这类
错误大多是由于计算程序中的错误引起的。错误原因没有查明没有解决。 5.2.2软件调试方法 软件调试所使用的方法有计算程序的调试方法、I/O处理程序的调试法、综合
调试法等。
1计算程序的调试方法
计算程序的错误是一种静态的固定的错误因此主要用单拍或断点运行方式来
调试。根据计算程序的功能事先准备好一组测试数据。调试时用防真器的写命
令将数据写入计算程序的参数缓冲单元然后从计算程序开始运行到结束运行
的结果和正确数据比较如果对有的测试数据进行测试都没有发生错误则该计
算程序调试成功如果发现结果不正确改用单步运行方式即可检查出错误所在。
计算程序的修改视错误性质而定。若是算法错误那是根本性错误应重新设计该
程序若是局部的指令有错修改即可。如果用于测试的数据没有全部覆盖实际计
算的原始数据的类型调试没有发现错误可能在系统运行过程中暴露出来。
2I/O处理程序的调试
对于A/D转换一类的I/O处理程序是实时处理程序因此一般用全速断点运行
方式或连续运行方式进行调试。
3综合调试
在完成了各个模块程序或各个任务程序的调试工作以后便可进行系统的
综合调试。综合调试一般采用全速断点运行方式这个阶段的主要工作社排除系统
中遗留的错误以提高系统的动态性能和精度。在综合调试的最后阶段应在目标系
统的晶振频率工作使系统全速运行目标程序实现了预定功能技术指标后便可
将软件固化然后在运行固化的目标程序成功后目标系统便可脱机运行。一般情
况下这样
一个应用系统就算研制成功了。
https://www.wendangku.net/doc/b59862487.html,
36
第6章 总结 总 结 近三个月的毕业设计即将结束这意味着我们的大学生活也要结束了但我们
的学习没有结束在本次设计中我们所学过的理论知识接受了实践的检验增强
我的综合运用所学知识的能力及动手能力为以后的学习和工作打下了良好的基础。
本文以AT89C51系列单片机为核心用AT89C51单片机作为控制器件温度信号通
过热敏电阻和放大器转换成电信号再由ADC0809转换成为数字信号测温电路采
用桥式电路温度设定采用独立按键的方式设定方法温度控制加热和制冷装置
软件算法采用设定值和测量值相比较的算法。在单片机应用的基础上实现了一种
用带有E2PROM的AT89C51单片机控制传感器的自动化温度监控系统。
通过三个月的设计我也有很深的感触当今社会在飞速发展科学技术发展
的速度更是迅猛无比尤其是单片机技术在未来社会发展中一定会起着十分重要的
作用而通过本次设计无论是从硬件实现还是到整个程序的完成无不是对我个人
专业能力的一次提高和体现。而本次设计主要是完成两方面工作软件程序设计和
硬件电路板设计。软件设计包括用单片机设计语言设计控制系统并仿真、实现。硬
件设计包括绘制电路原理图生成图后制作电路板、插件焊件、再做硬件测试。通
过这些都使我对采用单片机设计方法有了更深的理解和掌握同时也让我把所学的
知识广泛的应用到了实践中充分的做到了理论与实践相结合。无论从专业知识、
动手能力还是毅志品质都使我受益非浅。当然这与老师和同学的热心帮助也
是分不开的。大学生活虽然结束了但我们的学习还没有结束只有不断学习用
知识充实自己的头脑才能在未来社会有一席之地才能为社会的发展做出应有的
贡献一句话学无止境。
https://www.wendangku.net/doc/b59862487.html,
37
参考文献 [1] 金发庆等编. 传感器技术与应用.北京机械工业出版社,2002。
[2] 马明建数据采集与处理技术[M].西安交通大学出版社2005。
[3] 王忠飞胥芳MCS-51 单片机原理及嵌入式系统应用[M]西安西安电子科
技大学出版社2007P268-273。
[
4] 曹巧媛主编. 单片机原理及应用(第二版). 北京:电子工业出版社,2002。
[5] 张毅刚.单片机原理及应用[M].高等教育出版社.2004年1月第1版137-156。
[
6] 冯涛秦永左主编.单片机原理及应用.国防工业出版社.138-177。
[7] 胡寿松自动控制原理北京国防工业出版社2000