微机原理课设.docx
《微机原理课设.docx》由会员分享,可在线阅读,更多相关《微机原理课设.docx(33页珍藏版)》请在冰点文库上搜索。
![微机原理课设.docx](https://file1.bingdoc.com/fileroot1/2023-6/8/5c7b7462-4304-4ca3-ae10-3e7e359fb7be/5c7b7462-4304-4ca3-ae10-3e7e359fb7be1.gif)
微机原理课设
沈阳工程学院
微机原理及应用
课程设计
课程设计题目:
模拟热水器控制设计
系别电气工程系班级发电本091
学生姓名郝书一学号2009205104
指导教师曲乐声、踪念品 职称讲师、讲师
起止日期:
2012年05月28日起——至2012年06月01日止
沈阳工程学院
课程设计任务书
课程设计题目:
模拟热水器控制设计
系别电气工程系班级发电本091
学生姓名郝书一学号2009205104
指导教师曲乐声、踪念品 职称讲师、讲师
课程设计进行地点:
微机原理实验室(F106)
任务下达时间:
2012年5月25日
起止日期:
2012年5月28日起——至2012年6月1日止
教研室主任王健2012年5月24日批准
一、设计目的
通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
二、设计的原始资料及依据
查阅可编程并行芯片8255、A/D转换器等其他相关资料。
用开关设定温度,输入的模拟量表示水温,结合彩灯的亮灭表示水温状况。
三、设计的主要内容及要求
内容:
利用微机原理实验箱,采用一组发光二极管模拟热水器面板。
要求:
1、打开电源后,用开关设定水温,水温分为八档(30oC~100oC,每10oC为一档)。
2、按下启动键后,开始测量水温并显示,水温超过额定值报警。
3、提倡创新。
四、对设计说明书撰写内容、格式、字数的要求
1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:
目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4.课程设计说明书(论文)装订顺序为:
封面、任务书、成绩评定表、目录、正文、参考文献。
五、设计完成后应提交成果的种类、数量、质量等方面的要求;
提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
六、时间进度安排;
顺序
阶段日期
计划完成内容
备注
1
1.5天
讨论设计题目、查阅资料及完成对硬件电路的基本设计
2
2.5天
程序设计、上机调试程序
3
0.5天
书写报告
4
0.5天
答辩、成绩评定
七、主要参考资料(文献)。
[1]王惠中.微机原理及应用.武汉:
武汉大学出版社,2011
[2]邹逢兴.微型计算机原理与接口技术实验指导.北京:
清华大学出版社,2009
[3]赵全利,吕建平,邹雪艳.微型计算机原理及接口技术.北京:
机械工业出版社,2009
[4]何宏.微型计算机原理与接口技术.陕西:
西安电子科技大学出版社,2009
沈阳工程学院
微机原理及应用课程设计成绩评定表
系(部):
电气工程系班级:
发电本091学生姓名:
郝书一
指导教师评审意见
评价
内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
答辩小组意见
评价
内容
具体要求
权重
评分
加权分
报告内容
思路清晰,语言表达准确,概念清楚,论点正确;分析归纳合理;结论严谨;设计具有应用价值。
0.2
5
4
3
2
答辩
回答问题有理论根据,基本概念清楚。
主要问题回答准确、深入。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
摘要
在短短的20多年间,微型计算机以令人目不暇接的态势飞速发展。
微型计算机的速度越来越快、性能越来越高、应用范围越来越广、对社会和人类文明的发展影响越来越大。
因此,可以说学习微型计算机的基础知识,掌握微型计算机的基本使用技术,已成为现代社会人才应具备的基本素质之一。
本次课程设计主要应用了微机原理的一些基础知识来对温度显示的系统问题进行设计,根据提供的系统8086单元、并行接口8255单元、ADC0809数模转换单元以及数码管显示单元进行原理图绘制并连接好电路图,按图纸进行查线并处理简单故障。
电阻值的改变引起电压的改变,用此电压的改变来模拟温度的变化。
通过启动A/D采样单元进行模/数转换,将采样的结果送入变量中。
显示部分采用3个数码管,首先通过编程,利用8255的A端口将采集的温度值按十进制数中的百位,十位和个位依次送入数码管中进行显示。
利用8255的B端口将数码管的选择信号送入。
对采样温度值与我们事先设定的报警温度值进行比较,当大于此温度时通过对8255C口的输出控制来使报警灯会闪烁。
微型计算机是以微处理器为核心,配以大规模集成电路存储器、输入输出接口电路及系统总线所组成的计算机。
微型计算机的产生与发展是与组成微型计算机的核心部件—微处理器的产生与发展紧密相关的。
每当一种新型的微处理器出现时,就会带动微型计算机中其他部分的相应发展。
例如,微型计算机体系结构的进一步优化,存储器存储容量不断增大,存取速度不断提高,外转设备性能不断改进及新的设备的出现等都是与微处理器的发展相适应的。
关键词8255,ACD0809,8086微处理器
计于:
领导第五fff_____________________________________________________________________________________________________________________
第1章设计思路
1.1设计思路
模拟热水器控制设计主要有三个部分:
一是通过ADC0809芯片把模拟量的温度转换为数字量。
这一部分主要是用模/数转化器AD0809,把由电阻模拟的温度从IN0输入然后经过AD0809转换成为数字量送给CPU。
二是把转换后的数字量进行制式后显示。
这一部分是先把AD采样的结果除以100把商存在AL并转存在[SI]中,余数存在AH中。
在把AH中的数除以10把商存在[SI+1]中,把剩余的余数存在[SI+2]中。
然后取字型的偏移地址再加上段地址由8255的A口和B口输出[SI]、[SI+1]、[SI+2]中的数。
三是温度监控报警。
这一部分是将AD采样的结果与设定的个温度八个温度值进行比较,温度达到30度、40度、50度、60度、70度、80度、90度都会有不同指示灯相应显示。
如果温度超过100度则使8255C口输出信号0AAH显示报警,成红绿灯效果。
1.2设计环境及设备
1、设计环境
PC机一台、微机原理实验箱一台、导线若干。
2、设计所用设备
ADC0809:
用来模数转换。
可编程并行接口8255:
用做接口芯片与LED数码显示管相连。
LED数码显示管:
三个LED用于显示温度的百位、十位、个位。
LED数码显示灯:
用来直观监测温度的变化。
1.3设计系统框图
温度显示系统总框图,如图2.1所示。
图1.1系统框图
1.4温度显示硬件接线图
系统的接线图主要由五个部分构成:
8088系统总线单元、8255并行控制器、ADC0809模/数转换器、数码管显示单元、LED数码显示灯。
在实验箱上按照温度显示硬件接线图将传输线对应连接起来,芯片82555中PB0至PB7口与LED数码显示管的A至Dp相连,是为了实现七段数码管的段选;PA0至PA2与LED数码显示管的X1至X3相连,是为了实现位选。
具体接线如图1.2所示:
图1.2温度显示接线图
1.5设计流程图
总体设计流程图是对整个程序的逻辑图象表示。
首先,设置8255的各个端口地址。
然后,初始化8255、AD0809芯片。
最后,进行AD采样、结果转存、数制转换、温度显示、温度指示灯。
具体如图1.3所示。
图1.3总体设计流程图
第2章主要芯片介绍
2.1可编程并行接口8255芯片
2.1.18255外部引脚
可编程并行接口8255外部引脚图如图2.1所示。
图2.18255外部引脚图
各引脚功能如下:
◆PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
◆PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
◆PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
◆RESET:
复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
◆CS:
片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
◆RD:
读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
◆WR:
写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。
◆D0~D7:
8255的数据线。
8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
2.1.28255内部结构
可编程并行接口8255芯片的内部结构图如图2.2所示。
图2.28255内部结构图
◆输入/输出端口A、B、C。
这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。
A口和B口是一个独立的8位I/O口。
C口:
可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。
◆A组和B组控制电路。
这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。
A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。
◆读/写控制逻辑,它负责管理8255A的数据传输过程。
它接收CS*及RD*、WR*、RESET,还有来自系统地址总线的口地址选择信号A0和A1。
将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。
◆数据总缓冲器,它是8位的双向的三态缓冲器。
作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。
2.1.38255工作方式
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:
⑴方式0——基本输入/输出
在此工作方式下,每个口都作为基本的输入输出口,C口的高4位和低4位以及A口和B口都可独立地设置为输入口和输出口。
在此工作方式下,定义为输出的口均可锁存数据,而定义为输入的口则无锁存功能。
而且,在方式0之下,C口还有按位置位和复位功能。
在方式0下,8255的16种输入输出组合,如表2.1所示。
表2.1工作方式表
A组
B组
A口(PA0---PA7)
C口(PC4---PC7)
B口(PB0---PB7)
C口(PC0---PC3)
入
入
入
入
入
入
入
出
入
入
出
入
入
入
出
出
入
出
入
入
入
出
入
出
入
出
出
入
入
出
出
出
出
入
入
入
出
入
入
出
出
入
出
入
出
入
出
出
出
出
入
入
出
出
入
出
出
出
出
入
出
出
出
出
⑵工作方式1,既选通输入输出方式。
在这种方式下,A口和B口仍作为数据的输出口和输入口,同时还要利用C口的某些位作为控制和状态信号。
此工作方式下,三个端口分为A、B两组,A、B两个口仍用作数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。
在8255A中,联络信号是3位,两个数据口,共用去C口的6位,剩余的两位仍可作为数据位使用。
方式1下A口B口均为输出,C口提供的信号功能如下:
OBF:
为输出缓冲器作用,低电平有效;ACK:
为外设响应信号,低电平有效;
INTR:
为中断请求信号,高电平有效;INTE:
为中断允许状态。
方式1下A口B口均为输入,C口提供的信号功能如下:
STB:
为低电平有效的输入选通信号;IBF:
为高电平有效的输入缓冲满信号;
⑶工作方式2,又称双向输入输出方式。
这种方式只有8255的口A才有。
在A口工作于双向输入输出方式时,要利用C口的5条线才能实现。
因此,B口只能工作在工作方式0或工作方式1,而C口剩下的3条线可以作为输入输出线使用或B口方式1下的控制线。
2.1.48255控制字
1.工作方式选择控制字
它可以使8255的三个端口工作于不同的工作方式,如图3.3所示。
图2.38255的控制字格式图
当控制字bit=7时,控制字的bit6—bit3这4位用来控制A组,A口的8位和C口的高4位,而控制字的低3位bit2—bit0用来控制B组,包括B口的8位和C口的低四位。
2.C口按位置位/复位控制字
8255的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。
其格式注意8255的C口按位置位/复位控制字的最高位D7(特征位)应为低电平。
如图2.4所示。
图2.4C口按位置位/复位控制字格式
2.2ADC0809芯片
2.2.1ADC0809外部引脚
ADC0809转换器由一个8路单端模拟信号多路开关电路、地址锁存与译码电路、A/D转换器和三态输出锁存缓冲器组成,其引脚图如图2.5所示。
图2.5ADC0809外部引脚图
各引脚功能如下:
D0~D7——输出数据线;
IN0~IN7——8路模拟电压输入端;
ADDA,ADDB,ADDC——路地址输入;
ADDA——最低位,ADDC—最高位;
STALT——启动信号输入端,下降沿有效;
ALE——路地址锁存信号,用来锁存ADDA`ADDC的地址输入,上升沿有效;
EOC——变换结束状态信号,高电平表示一次变换已结束;
OE——读允许信号,高电平有效;
CLK——时钟输入端;
REF(+),REF(-)——参考电压输入端;
VCC——5V电源输入;
GND——地。
2.2.2ADC0809内部结构
ADC0809由两部分组成:
模拟多路开关和A/D转换器。
其核心是8位A/D转换器,它采用逐次逼近法,对8路模拟开关的一路进行转换。
模拟多路包括8路模拟开关和3位锁存器与译码器,根据3位输入地址(ADDA.ADDB.ADDC)选择8路模拟输入当中的一路送到A/D转换器.其中具有8个通道的模拟输入线(IN0~IN7),可在程序控制下对任意通道进行A/D转换,获得8位二进制数字量(D7~D0)。
模拟输入部分有8路多路开关,可由3位地址输入ADDA、ADDB、ADDC的不同组合来选择,ALE为地址锁存信号,高电平有效,锁存这三条地址输入信号。
主体部分是采用逐次逼近式的A/D转换电路,由CLK控制的内部电路的工作,START为启动命令,高电平有效,启动ADC0809内部的A/D转换,当转换完成,输出信号EOC有效,OE为输出允许信号,高电平有效,打开输出三态缓冲器,把转换后的结果送DB,如图2.6所示。
图2.6ADC0809内部结构图
2.2.3ADC0809工作方式
ADC0809的工作过程是:
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址译码选通8路模拟输入之一到比较器。
STALT上升沿将逐次逼近储存器复位,下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变成高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用做申请中断。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,如表2.2所示。
表2.2ADC0809工作方式表
ADDC、ADDB、ADDA
000
001
010
011
100
101
110
111
选中通道
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
2.3LED数码显示管芯片
2.3.1LED数码显示管外部引脚
七段LED显示器:
由七个发光段构成,每段均为1个LED二极管。
通过控制不同段的点亮和熄灭,显示出16进制数字或字符。
LED数码显示管是一种由LED发光二极管组成显示字符的显示器件,使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称为7段发光二极管数码显示器,外部引脚如图2.7(a)所示。
LED数码显示器有两种连接方法,一种是共阳极接法,把发光二极管的阳极连在一起,构成公共阳极,使用时公共阳极接+5V;另一种是共阴极接法,把发光二极管的阴极连在一起,构成公共阴极,使用时公共阴极地。
这两种解法如图2.7(b)和2.7(c)所示。
(a)(b)(c)
图2.77段LED数码显示器
2.3.2LED数码显示管内部结构
1.LED数码显示器的显示段码
为了显示字符,就要为LED显示器提供显示段码,组成一个“8”字形字符的7段,再加上一个小数点位,共计8段。
因此,提供给LED显示器的显示段码为1个字节。
各段码位的对应关系如表2.3所示,而表2.4为十六进制数、空白字符和P的显示段码。
表2.3LED显示器的显示段码
段码
D7
D6
D5
D4
D3
D2
D1
D0
显示
Dp
g
f
e
d
c
b
a
表2.4十六进制数、空白字符和P的显示段码
字型
共阳极段码
共阴极段码
字型
共阳极段码
共阴极段码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BM
b
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
d
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
84H
71H
7
F8H
07H
空白
FFH
00H
8
80H
7FH
P
8CH
73H
2.LED数码显示器的接口电路
实际使用的LED数码显示器位数较多,为了简化电路、降低成本,大多采用以软件为主的接口方法。
而对于多位的LED数码显示器,通常采用动态扫描显示方法,即逐个循环点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但由于人言具有视觉残留效应,因此看起来与全部显示器持续点亮的效果基本一样。
如图2.8所示,8086/8088CPU通过8255A与LED数码显示器接口。
图2.88255A与LED数码显示器连接图
图中,8255端口A的PA0~PA7引脚通过8路反向驱动与数码显示器相连,用来输出显示字段的7段LED代码,即端口A为LED数码显示器的段控端口。
把要现实的字符的代码组成一个七段代码表,存放在存储器中。
8255端口B的PB0~PB5引脚通过6路反向驱动与LED的位线相连,B端口的PB0~PB5引脚中某一位输出为1(高电平)时,经过反向驱动,便在相应数码管的阴极上加上了低电平,此数码管就可以显示数据了。
第3章设计源代码及具体模块
3.1设计源代码
MY8255_AEQU0600H
MY8255_BEQU0602H
MY8255_CEQU0604H
MY8255_CONEQU0606H
PUBLICVALUE
SSTACKSEGMENTSTACK
DW16DUP(?
)
SSTACKENDS
DATASEGMENT
DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
VALUEDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
SSTACK
START:
MOVAX,DATA
MOVDS,AX
MOVAL,80H
MOVDX,MY8255_CON;8255初始化
OUTDX,AL
LP:
MOVAL,00
MOVDX,640H;启动AD采样
OUTDX,AL
CALLADDLY;调用延时程序
INAL,DX
MOVVALUE,AL
MOVSI,1000
MOVAH,00H
MOVBL,100
DIVBL
MOV[SI],AL;取出百位存入[SI]中
MOVAL,AH
MOVAH,00H
MOVBL,10
DIVBL
MOV[SI+1],AL;取出十位存入[SI+1]
MOV[SI+2],AH;将个位存入[SI+2]
CALLDISP
NOP
CALLDISP
MOVAL,VALUE;指示灯部分
CMPAL,1EH
JAB1
MOVAL