数字温度计的设计.docx
《数字温度计的设计.docx》由会员分享,可在线阅读,更多相关《数字温度计的设计.docx(21页珍藏版)》请在冰豆网上搜索。
数字温度计的设计
微机原理课程设计
数字温度计的设计
姓名:
学号:
09325208
专业:
电子信息工程
班级:
093252
指导教师:
涂绪坚
2012年1月3日
目录
目录1
一.设计目的2
二.设计要求2
三.设计的总体硬件框图2
3.1温度传感器3
3.2控模块4
3.2.1.8088CPU4
3.2.2.62256存储器6
3.3A/D转换模块7
3.48279驱动LED显示模块8
四.电路原理图10
4.18088控制系统11
4.2温度检测装置11
4.3A\D转换器12
4.4.键盘显示模块12
五.程序设计13
六.总结14
参考文献15
附录一总电路原理图…………………………………………………16
附录二源程序…………………………………………………………17
一.设计目的
《微机原理及接口技术》是一门对实践性和实用性要求都特别高的课程,学习的目的在于运用。
本课程设计是为了配合下学期的“单片机原理与应用”课堂教学的重要实践教学环节,它能够起到巩固课堂和书本所学知识的作用,加强综合能力,提高系统设计水平,启发创新思想的效果。
同时可以让学生掌握现代电子系统设计的方法和原则以及使用电子CAD进行原理图绘制方法。
进一步加深对电子系统设计和应用的理解。
二.设计要求
1.数字温度计的测量范围-55~125℃
2.误差范围±0.5℃以内
3.全部采用LED显示
三.设计的总体硬件框图
数字温度计的总体硬件设计框图如图1所以,主控模块采用8088CPU和6225存储器以及一些译码、编码器组成,温度传感器采用AD590集成芯片,A/D转换器采用0809传输,显示模块采用8279驱动LED实现温度的显示。
图1 总体设计方框图
3.1温度传感器
温度通过AD590温度传感集成芯片,将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。
设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;温度为76.5摄氏度时变换放大电路送出4.9805V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。
报警温度设定为76.5摄氏度,此时,输出电压约为5.0V左右。
实验平台利用IC温度传感器AD590作为测温器,AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1(A最大电流的变化或1摄氏度等效误差。
温度传感部分
上图给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有10℃的变化时输出电压变化为20mV,即该电路M点电压随温度变化为2mV/℃。
将温度传感器输出的小信号跟随放大32倍左右后,送至8位A/D转换器转换成数字量,编制程序,微控制器采集、显示和控制温度。
输入A/D的模拟信号有过压保护,不会损坏A/D转换器。
3.2主控模块
本主控模块主要由8088CPU和62256存储器,以及一些编码和译码器构成。
3.2.1.8088CPU
1.8086/8088CPU的内部结构
8086/8088CPU的内部是由两个独立的工作部件构成,分别是总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。
图中虚线右半部分是BIU,左半部分是EU。
两者并行操作,提高了CPU的运行效率。
1)指令执行部件
指令执行部件EU主要由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU控制器等四个部件组成。
其主要功能是执行命令。
一般情况下指令顺序执行,EU可不断地从BIU指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令所需的时间。
如果指令执行过程中需要访问存储器存取数据时,只需将要访问的地址送给BIU,等待操作数到来后再继续执行。
遇到转移类指令时则将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码进入指令队列缓冲器后,EU才能继续执行指令。
这种情况下,EU和BIU的并行操作回受到一定的影响,但只要转移类指令出现的频率不是很高,两者的并行操作仍然能取得较好的效果。
EU中的算术逻辑运算部件ALU可完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另一方面影响状态标志寄存器FR的状态标志位。
16位暂存器用于暂时存放参加运算的操作数。
EU控制器则负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。
2)总线接口部件BIU
总线接口部件BIU主要有地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路等四个部件组成。
其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。
BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:
偏移地址”称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。
具体讲:
当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。
指令队列一共6个字节(8088的指令队列为4个字节),一旦指令队列中空出2个(8086中)或一个(8088中)字节,BIU将自动进入读指令操作以填满指令队列;遇到转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址中取指令送到指令队列中;当EU需要读写数据时,BIU将根据EU送来的操作数地址形成操作数的物理地址,从中读取操作数或者将指令的执行结果传送到该物理地址所指定的内存单元或外设端口中。
BIU的总线控制电路将CPU的内部总线与外部总线相连,是CPU与外部交换数据的通路。
对于8086而言,BIU的总线控制电路包括16条数据总线、20条地址总线和若干条控制总线;而8088的总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与通用寄存器组之间的数据总线宽度也是8位,而EU内部总线仍是16位,这也是将8088称为准16位的微处理器的原因。
3.2.2.62256存储器
62256分别是32K×8的高集成度的随机存取存储器,有28个引脚,采用双列直插式结构,62256的引脚分布如图2所示。
它们的内部结构与6264类似,也是由存储器阵列、行/列地址译码器以及数据输入输出控制逻辑组成。
引脚功能和外部特性与6264基本相同,区别仅在于由于容量大,第26引脚为A13第1引脚为A14
62256引脚功能
A0–A14 地址总线(Address)
D0/D7 输入/输出口(nput/output)
CS 端口选择(Chipselect)
WE 输入始能(Writeenable)
OE 输出始能(Outputenable)
VCC 电源始能(Powersupply)
VSS 接地(Ground)
3.3A/D转换模块
A/D转换部分采用ADC0809,A/D转换器0809的任务是将模拟量转换成数字量,它是模拟信号和数字仪器的接口。
其内部原理图如下所示
主要部件的功能:
①256R电阻梯形网络。
即R-2R电阻网络。
②比较器。
将输入模拟量与逐次逼近值进行比较。
③多路开关。
选择不同通道的模拟量。
图3A/D转换器0809内部逻辑图
内部逻辑结构图
引脚意义:
ALE:
地址锁存信号。
选择8个模拟通道之一。
OE:
输出允许信号,高电平有效。
EOC:
转换结束信号。
IN0~IN7:
8路模拟电压输入端。
D0~D7:
8位数据输出端。
AD0、AD1、AD2:
3位地址线,选择8路模拟输入量之一
引脚图如下:
图3.4.20809引脚图
图0809引脚图
3.48279驱动LED显示模块
8279采用单±5V电源供电,40脚封装。
DB0~DB7:
双向数据总线,用来传送8279与CPU之间的数据和命令。
CLK:
时钟输入线,用以产生内部定时的时钟脉冲。
RESET:
复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序
时钟前置分频器被置为31,RESET信号为高电平有效。
CS:
片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0:
缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,
RD:
读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。
WR:
写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。
RL2--140--VCC
RL3--239--RL1
CLK--338--RL0
IRQ--437--CNTL/STB
RL4--536--SHIFT
RL5--635--SL3
RL6--734--SL2
RL7--833--SL1
RESRT--932--SL0
RD--1031--OUTB0
WR--1130--OUTB1
DB0--1229--OUTB2
DB1--1328--OUTB3
DB2--1427--OUTA0
DB3--1526--OUTA1
DB4--1625--OUTA2
DB5--1724--OUTA3
DB6--1823--BD
DB7--1922--CS
VSS--2021--A0
IRQ:
中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAM中有数据时,
此中断线变为高电平,在FIFO/传感器RAM每次读出时,中断线就下降为低电平,若在RAM
中还有信息,则此线重又变为高电平。
在传感器工作方式中,每当探测到传感器信号变
化时,中断线就变为高电平。
SL0~SL3:
扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。
RL0~RL7:
回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电
路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,
均保持高电平。
SHIFT:
换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保
持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。
CNTL/STB:
当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入
方式,此线用作控制输入端,当键被按下时,按键位置就和控制输入状态一起被存贮起来,
在选通输入方式中,作选通用,把数据存入FIFORAM中。
OUTA3~OUTA0及OUTB3~OUTB0:
显示输出A口及B口,这两个口是16×4切换的数字显示。
这
两个端口可被独立控制,也可看成一个8位端口。
BD:
空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示
空格字符。
VCC:
+5V电源输入线。
VSS:
地线输入线。
四.电路原理图
本次数字温度计的设计我们分四个模块,分别是8088控制系统,温度传感器,A/D转换器,以及8279键盘显示模块。
温度传感器模块采用AD590传感器芯片,它可以把温度的变化量转变为电压的变化量,然后经过放大电路送入A/D转换器,经过A/D转换器把模拟信号转换为数字信号,通过主控模块存储信息,然后再通过8279主控的显示模块显示出温度的变化值。
(总体电路原理图见附录一)
4.18088控制系统
包含8088CPU,3片74LS373地址锁存器,一片74LS245双向数据总线收发器,一片62256存储器,一片译码器74LS138。
8088控制系统原理图如下:
4.2温度检测装置
通过温度检测装置的内部温度传感器检测温度,转换成电压量(0——76.5℃转化为0——5V)。
将得到的模拟量送入A\D转换器。
温度检测装置的原理图如下:
4.3A\D转换器
使用采样频率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换的ADC0809,将模拟量转换成数字量。
A/D转换模块原理图如下:
4.4.键盘显示模块
使用8279键盘控制和LED显示。
8279芯片是一种通用的可编程序的键盘、显示接口器件,单个芯片就能完成键盘输入和LED显示控制。
8279键盘显示模块的电路原理图如下:
五.程序设计
5.1程序流程图
初始化
启动A/D转换
延时等待
从电位器读数据到AD转换
屏蔽低八位
除10取商存到8279的83H
除1取商,各个显码再加80H,再存到82H
屏蔽高八位
除10取商存到81H
由8279输出并显示到数码管
5.2源程序(见附录二)
六.总结
为期一周的微机原理的课程设计在紧张与踏实中度过,由于要一边做课程设计,一边复习考试,所以可谓是时间紧、任务重。
尤其是最后的程序调试过程中,我们甚至通宵调试,但是由于基础知识掌握不够扎实和程序调试的技巧还未成熟,导致我们的设计未达到预期的效果。
但从心底里说,还是高兴的,因为课程设计给了我很多的启发,让我深深认识到自己的不足,明白了理论结合实践在我们专业的学习中的重要性,我想这个课程设计将会成为我学习道路上新的里程碑!
在指导老师和同学的帮助下,我确实学到了不少平时在课堂上所学不到的知识。
这样的课程设计不论是对我们的理论知识还是实践能力都有很大的帮助,可以使我们能更快更准确的掌握专业方面的理论知识。
我感觉这次设计我们得到更多的是,对办任何事情我们都要先经过认真细致的观察和分析,才能确定我们到底该如何去做它,要不然,只会是事倍功半,耽误我们的办事效率。
我觉得这个方面的经验是最宝贵的,也是我们在毕业后,进入社会所必须的能力。
我们也只有具备了这个基本的能力后,才不至于在以后的生活,学习和工作中误入歧途,对自己和对他人造成不必要的损失。
总之,通过这次电子系统设计,我真正学到了很多东西,真正体会到了理论联系实际的重要性。
我想如果在平时多搞几次这样的设计,那我们的知识会掌握的更多,更牢固。
最后,衷心感谢辅导老师的指导和同学的帮助!
参考文献
[1]阎石.数字电子技术基础(第五版).北京:
高等教育出版社,2005.
[2]AD590温度传感器资料及应用手册
[3]8279键盘/显示接口芯片资料及应用手册
[4]邱关源.《电路》.第五版.北京:
高等教育出版社,2006.
[5]《电子CAD电路设计教程》北京:
北京航空航天大学出版社2006
附录二源程序
Z8279EQU239H
D8279EQU238H
D0809EQU208H
LEDMODEQU00;左边输入,八位显示外部译码八位显示
LEDFEQEQU38H;扫描频率
CODESEGMENT
ASSUMECS:
CODE,DS:
code
START:
pushcs
popds
calldelay
MOVDX,Z8279
MOVAL,LEDMOD
OUTDX,AL
MOVAL,LEDFEQ
OUTDX,AL
MOVCX,06H
XZ:
MOVDX,D8279
MOVAL,00H
OUTDX,AL
LOOPXZ
MOVDX,D8279
MOVAL,5eH
OUTDX,AL
MOVDX,D8279
MOVAL,77H
OUTDX,AL;以上为写(AD)
NOP
bg:
movdx,D0809
moval,0
outdx,al
calldelay
INal,dx
movcl,04h
roral,cl
andal,f0h
MOVBL,10
DIVBL
pushAx
movdx,z8279
moval,81h
outdx,al
POPAX
LEAAX,LED
XLAT
MOVDX,D8279;将AL中内容写到数码管上
OUTDX,AL
calldelay
movdx,D0809
movaL,0
outdx,aL
calldelay
INaL,dx
movcL,04h
roraL,cl
andaL,0fh
MOVBL,100
DIVBL
PUSHAX
movdx,z8279
movaL,82h
outdx,aL
POPAX
LEABX,LED
XLAT
MOVDX,D8279;将AL中内容写到数码管上
OUTDX,AL
calldelay
movdx,D0809
moval,0
outdx,al
calldelay
INal,dx
movcl,04h
roral,cl
andal,0fh
MOVBL,10
DIVBL
PUSHAX
movdx,z8279
moval,83h
outdx,al
popax
LEABX,LED
XLAT
MOVDX,D8279;将AL中内容写到数码管上
OUTDX,AL
calldelay
JMPBG
delayprocnear
pushcx
movcx,0f00h
loop$
popcx
ret
delayendp
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H
DB5EH,79H,71H
CODEENDS
ENDSTART
东华理工大学长江学院
课程设计评分表
学生姓名:
黄奕林班级:
093252学号:
09325208
课程设计题目:
数字温度计的设计
项目内容
满分
实评
选
题
能结合所学课程知识、有一定的能力训练。
符合选题要求
(5人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文献及运用文献资料能力
10
理论依据充分,数据准确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
10
能体现创造性思维,或有独特见解
10
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
10
说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰
10
设计说明书栏目齐全、合理,符号统一、编号齐全。
格式、绘图、表格、插图等规范准确,符合国家标准
10
有一定篇幅,字符数不少于5000
10
总分
100
指导教师评语:
指导教师签名:
年月日