单片机原理与应用课程设计设计题目:温度测控系统设计设计时间:2011-2012第一学期专业班级:电自化2008级3班姓名学号:王勇20082390指导老师:赵丽清2011 年12 月25 日目录目录 0第一章设计要求及目的 (2)第二章系统总体方案选择与说明 (3)第三章系统方框图与工作原理 (4)第四章器件说明 (6)4.1 单片机89C51说明 (6)4.2 ADC0809说明 (6)4.3 ADC0809 应用说明 (7)4.4 LED显示器 (8)4.5 8255可编程器件扩展并行接口 (9)第五章软件设计与说明.................. 错误!未定义书签。
5.1 程序设计 (17)总结.................................. 错误!未定义书签。
参考文献 (25)第一章设计要求及目的数据采集系统用于将模拟信号转换为计算机可以识别的数字信号.该系统目的是便于对某些物理量进行监视.数据采集系统的好坏取决于他的精度和速度.设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求.在科学研究中应用该系统可以获得大量动态;是研究瞬间物理过程的重要手段;亦是获取科学奥秘的重要手段之一.这次设计用到的集成芯片主要有8051单片机、ADC0808等.ADC0800主要作用是对八路模拟信号进行选择采集,并将其转化为八位数字信号,再送至主控制器(8051单片机);软件部分即为控制单片机的工作进程,程序由汇编语言完成并在PROTEUCE开发软件中进行的调试与仿真.设计要求:●温度检测范围0 ℃ ~ 64℃;●选择合适的方式对采集的值应进行数字滤波;●数码管显示,同时显示通道号;●具有超限报警功能;●可通过键盘设置上、下限值。
第二章系统总体方案选择与说明为了充分利用学校的有效资源,我们仅仅对本课题做一个简单的设计,八路模拟信号数值测量显示电路由A/D转换、数据处理及显示控制等组成。
A/D转换由集成电路0808完成,0808具有8路模拟输入端口,地址线(23-25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。
6脚为测试控制,当输入一个2μS宽高电平脉冲时,就开始A/D转换。
7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。
9脚为A/D 转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。
单片机的P0、P3端口作四位LED数码管显示控制,P1端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制第三章系统方框图与工作原理根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能,而且由于测量的路数为8路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。
根据本课题的设计目标以及硬件的特点,本系统的结构原理图如下图1所示:图1 系统方框图硬件图第四章器件说明4.1 单片机89C51说明80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS 产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。
80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
8051是典型的单片机,由CPU系统,外围功能单元和一体化的I/O端口3部分组成。
CPU系统:包括CPU,时钟系统和总线控制逻辑3部分。
CPU包含运算器和控制器,专门为面向控制对象,嵌入式特点而设计,有突出控制功能的指令系统。
时钟系统:包含振荡器,外接谐振元件,可关闭振荡器或CPU时钟。
总线控制逻辑:主要用于管理外部并行总线时序及系统的复位控制,外部引脚有RET、ALE、EA和PSEN。
外围功能单元包括ROM程序存储器,RAM数据存储器,I/O 端口和SFR特殊功能寄存器4部分。
80C51基本功能单元包括定时/计数器、中断系统和串行接口3个基本功能单元。
4.2 ADC0809说明ADC0808 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。
多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。
三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0808 各脚功能如下:D7-D0:8 位数字量输出引脚。
IN0-IN7:8 位模拟量输入引脚。
VCC:+5V 工作电压。
GND:地。
REF(+):参考电压正端。
REF(-):参考电压负端。
START:A/D 转换启动信号输入端。
ALE:地址锁存允许信号输入端。
(以上两种信号用于启动A/D 转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
OE:输出允许控制端,用以打开三态数据输出锁存器。
CLK:时钟信号输入端(一般为500KHz)。
ADC0808的内部逻辑结构:图10 ADC0808的内部逻辑结构4.3 ADC0809 应用说明(1). ADC0809 内部带有输出锁存器,可以与AT89S51 单片机直接相连。
(2).初始化时,使ST 和OE 信号全为低电平。
(3).送要转换的哪一通道的地址到A,B,C 端口上。
(4).在ST 端给出一个至少有100ns 宽的正脉冲信号。
(5).是否转换完毕,我们根据EOC 信号来判断。
(6).当EOC 变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。
软件设计完成后,可根据PRTEL99SE中的电路原理图进行引脚锁定,然后启动编译程序来编译项目。
编译器将进行错误检查、网表提取、逻辑综合和器件适配,然后进行行为仿真、功能仿真和时序仿真。
4.4 LED显示器本LED显示器可自动轮流显示8路输入模拟电压的数字值,最小分辨精度为0.02V,最大显示数值为255(输入为5V时),模拟输入最大值为5V。
表2 LED数码显示器的字形(段)码4.5 8255可编程器件扩展并行接口系统软8255: 有三个八位的并行口:PA、PB、PC。
有三种工作方式:方式0,方式1,方式2。
可以与8031直接接口1.逻辑结构图:包含四个部分:●三个并行数据输入输出端口●两个工作方式控制电路●一个读写逻辑控制电路●八位总线缓冲器⑴.三个并行数据输入输出端口:A口;B口;C口一般,A口,B口作为数据输入输出端口,C口作为控制/状态信息口,可以分为两个部分,分别与A口和B口配合使用,作为控制信息输出或状态信息输入。
工作方式控制电路工作方式控制电路有两个:A组控制和B组控制电路,A组控制用来控制A口和C口的上半部分PC7——PC4;B组控制用来控制B口和C口的下半部分PC3——PC0;两组控制电路具有一个控制命令寄存器,用来接收来自CPU的数据(控制字),以决定芯片的工作方式,或对C口按位进行清“0”或者置“1”。
总线缓冲器三态双向八位缓冲器,作为微处理器数据总线与8255之间的接口,用来传送命令、数据及状态信息。
⑵.读写逻辑控制电路读写逻辑控制电路接受CPU来的控制信号:读、写、地址及复位信息,根据控制信号的要求,将数据读出,送往CPU,或者将CPU来的信息写入端口。
2. 引脚说明:CS:片选信号,低电平有效,表示芯片被选中;RD:读操作,低电平有效,控制数据读出;WE:写操作,低电平有效,控制数据写入;RESET:复位信号,高电平有效,各端口被置成输入;D7—D0:双向三态数据线;PA7——PA0:A口输入输出线;PB7—PB0:B口输入输出线;PC7——PC0:C口输入输出线;3.工作方式选择——工作方式控制字8255有三种工作方式:方式0,方式1,方式2。
其中方式2只对A口。
8255的工作方式是由工作方式控制字决定,工作方式控制字是由01:方式11×:方式2D7=1:命令控制字有效。
当D7=0,通过控制口对C口进行位操作。
C口具有位操作功能,通过工作方式控制字可以将PC7——PC0中任意一位置1或清0D7 D6 D5 D4 D3 D2 D1 D0D7=0 对C口操作,D6 D5 D4 无效,D3 D2 D1:位选择0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7D0=0:清0 ;0=1:置1⑴.工作方式0:基本输入输出方式三个端口都可以设置成输入或输出方式:●具有两个八位端口:A口和B口●具有两个四位端口:PC0——PC3,PC4——PC7●任一端口都可设置为输入或输出●数据输出带锁存,输入时不锁存此时,8255可以工作在无条件传送;也可以查询式传送,C口作为联络信号⑵.工作方式1:选通式输入/输出方式有固定的选通信号,选通信号与数据一齐传送,由选通信号表示数据传送的状态:●三个端口分为两组:A组和B组●每组包括一个八位数据端口和一个四位的控制状态端口●每个八位数据端口均可设置为输入或输出,输入输出均带锁存●四位端口作为八位端口的控制/状态联络信号方式1输入:STB:设备的选通信号输入线,低电平有效,STB的下降沿将端口数据线上信息打入端口锁存器;IBF:端口锁存器满标志输出线,IBF和设备相连。
IBF为高电平表示设备已将数据打入端口锁存器、但CPU尚未读取。
当CPU读取端口数据后IBF变成低电平,表示端口锁存器空。
INTE:8255A端口内部的中断允许触发器。
只有当INTE为高电平时才允许端口中断请求。
INTEA,INTEB分别由PC口的第四、第二位置位/复位控制:INTE A 由PC4复位/置位控制INTE B 由PC2复位/置位控制INTR:中断请求信号线,高电平有效。
方式1输入方式下时序如图:STBIBFINTRRDINPUT方式1输出:当任何一个端口按方式1输出时,各控制信号如下:OBF:输出缓冲器满信号,低电平有效,是8255输出给外设的联络信号,表示CPU已经将数据送入了指定的端口中,外设可以将数据取走。
由WR信号的上升沿置0,由ACK的下降沿置1;ACK:外设响应信号,低电平有效,表示CPU输出给8255的数据已被外设取走。