微机原理课设简易电压表设计.docx

上传人:b****6 文档编号:12590767 上传时间:2023-06-06 格式:DOCX 页数:18 大小:743.85KB
下载 相关 举报
微机原理课设简易电压表设计.docx_第1页
第1页 / 共18页
微机原理课设简易电压表设计.docx_第2页
第2页 / 共18页
微机原理课设简易电压表设计.docx_第3页
第3页 / 共18页
微机原理课设简易电压表设计.docx_第4页
第4页 / 共18页
微机原理课设简易电压表设计.docx_第5页
第5页 / 共18页
微机原理课设简易电压表设计.docx_第6页
第6页 / 共18页
微机原理课设简易电压表设计.docx_第7页
第7页 / 共18页
微机原理课设简易电压表设计.docx_第8页
第8页 / 共18页
微机原理课设简易电压表设计.docx_第9页
第9页 / 共18页
微机原理课设简易电压表设计.docx_第10页
第10页 / 共18页
微机原理课设简易电压表设计.docx_第11页
第11页 / 共18页
微机原理课设简易电压表设计.docx_第12页
第12页 / 共18页
微机原理课设简易电压表设计.docx_第13页
第13页 / 共18页
微机原理课设简易电压表设计.docx_第14页
第14页 / 共18页
微机原理课设简易电压表设计.docx_第15页
第15页 / 共18页
微机原理课设简易电压表设计.docx_第16页
第16页 / 共18页
微机原理课设简易电压表设计.docx_第17页
第17页 / 共18页
微机原理课设简易电压表设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课设简易电压表设计.docx

《微机原理课设简易电压表设计.docx》由会员分享,可在线阅读,更多相关《微机原理课设简易电压表设计.docx(18页珍藏版)》请在冰点文库上搜索。

微机原理课设简易电压表设计.docx

微机原理课设简易电压表设计

成绩

南京工程学院

通信工程学院

课程设计说明书

 

题目简易电压表设计

课程名称微机原理及接口技术课程设计

专业

班级

学生姓名

学号

设计地点

指导教师

 

设计起止时间:

2013年12月23日至2013年12月26日

 

1.设计目的……………………………………………………………….3

2.设计内容及要求……………………………………………………….3

3.设计原理……………………………………………………………….3

3.1实验模块………………………………………………………...…3

3.2实验主要器材…………………………………………………..….3

3.3设计流程图…………………………………………………….…..4

4.实验元件解释……………………………………………………………4

4.1ADC0809(A/D转换)…………………………………….…….4

4.28255A原理…………………………………………………..........6

4.38259A芯片………………………………………………………....6

4.4数码管……………………………………………………...……....7

5.实验原理图与电路元件图……………………………………………....7

6.测试结果及问题分析…………………………………………….…...…8

7.实验代码…………………………………………………………...…….9

8.实验体会…………………………..…………………………………….13

 

 

1.设计目的

通过课程设计达到理论和实际应用相结合,提高对硬件微机结构和软件设计方法的理解。

能够根据实际应用初步实现硬件和软件的基本设计,并且对硬件开发有更深层次的认识,为今后的软件开发打下坚实的基础。

 

2.设计内容及要求

基本内容:

利用STARES598PCI实验仪的硬件资源8259中断控制器、8255可编程并行接口芯片和数码管、电位器和ADC0809设计一个简易电压表,编写响应的程序,使电压表能够正常运行,3位数码管显示电位器的电压,精确度要求小数点四位。

基本任务:

软件查询的方式获取AD转换结束信息

附加任务:

中断方式获取AD转换结束信息

 

3.设计原理

3.1实验模块

 

3.2实验主要器材

实验器材

数量

备注

PC机

1

装有实验所需软件

ES598PCI实验仪

1

8255A芯片

1

8259A芯片

1

ADC0809芯片

1

数码管

1

事先检验完好可用

3.3设计流程图

 

4.实验元件解释

 

4.1ADC0809(A/D转换)

ADC0809是逐次逼近型A/D转换器,其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

具有较好的精度和速度,其采集结果为8位二进制数,以逐次逼近原理进行模—数转换。

每采集一次一般需要100μs。

设计程序时可采用中断方式读取A/D转换结果数据。

在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8259的中断输入端相接即可。

 

主要特性:

1)8路输入通道,8位A/D转换器,即分辨率为8位。

2)具有转换起停控制端。

3)转换时间为100μs

4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度

7)低功耗,约15mW。

引脚功能:

ADC0809芯片有28条引脚,采用双列直插式封装。

引脚图见右图1-1

  IN0~IN7:

8路模拟量输入端。

  2-1~2-8:

8位数字量输出端。

  ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

  ALE:

地址锁存允许信号,输入,高电平有效。

  START:

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

  EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

  OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

  CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

  REF(+)、REF(-):

基准电压。

  Vcc:

电源,单一+5V。

GND:

地。

工作过程:

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

4.28255A原理

Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。

它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。

8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

工作方式:

●方式0:

基本输入输出方式

适用于无条件传送和查询方式的接口电路

●方式1:

选通输入输出方式

适用于查询和中断方式的接口电路

●方式2:

双向选通传送方式

适用于与双向传送数据的外设

适用于查询和中断方式的接口电路

8255A控制字格式:

(a)工作方式控制字(b)c口按位置位/复位控制字

4.38259A芯片

概述:

8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。

单个的8259A能管理8级向量优先级中断。

在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。

8259A有多种工作方式,能用于各种系统。

各种工作方式的设定是在初始化时通过软件进行的。

在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态

 

主要功能:

在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。

 

4.4数码管

七段式LED显示部件

(a)典型的七段式LED器件(b)共阳极LED(c)共阴极LED

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

 

5.实验原理图与硬件电路图

 

6.测试结果及问题分析

测试结果:

当调节电位器左端旋转至右端时,数码管显示电压0.0000~4.9939,可通过改变电

阻来改变电压值,再通过A/D转换为数字量通过数码管发出二极管显示数字。

 

问题分析:

(1)、一开始无法进入调试状态,经检查没有将出现警告无法继续下一步前面的钩去掉

(2)、线路接好之后没有电压显示,经检查将B4区的PA和PC插口插在了PB和PC上

(3)、LED段程序后发现数码管发光不稳定,闪烁比较严重,通过更改延时主程序参数问题得到解决。

(4)、小数点后只显示两位小数,在实验代码中加入第三位第四位的定义之后有显示

 

7.实验代码

MODEEQU082H;10000010H,方式0,A和C输出

PORTAEQU09000H;A口地址

PORTBEQU09001H;B口地址

PORTCEQU09002H;C口地址

CONTROLEQU09003H;命令口地址

CS0809EQU08000H;0809地址

ICW1EQU00010011B;上升沿触发,单片8259A,需要ICW4

ICW2EQU08H;中断类型号为40H

ICW4EQU00001001B;正常全嵌套,非自动EOI,工作在8086/8088方式

OCW1EQU11111110B;IR1-IR7上的中断请求被屏蔽,只响应INT0中断

CS8259AEQU0A000H

CS8259BEQU0A001H

DATASEGMENT

NUMDB5DUP(?

);开辟五个空间的缓存

LEDMAP:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;数码管显示0到9的字型代码

DB7FH,6FH

LEDDMAP:

DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H

DB0FFH,0EFH;包括小数点的显示

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

DELAYPROCNEAR;延时子程序

PUSHBX

PUSHCX

MOVBX,0

MOVCX,100

A1:

INCBX

LOOPA1

POPCX

POPBX

RET

DELAYENDP

 

IENTERPROCNEAR;中断服务程序

PUSHAX

PUSHDX

MOVDX,CS0809;0809端口地址

INAL,DX;读入结果

LED:

;转换为原始电压值显示程序

MOVBL,0C4H;乘以5/256*10000=196

MULBL;AX=AL*BL,得16位结果

PUSHAX;压栈,存入结果

MOVBX,0001H

POPAX

MULBX;将AX扩展为32位,结果在DX:

AX中

MOVBX,64H;100

DIVBX;DX:

AX/BX,得32位,商在AX中,余数在DX中

DIVBL;AX/BL,得16位,商在AL中,余数在AH中

MOV[SI],AL;整数部分,结果放进NUM

MOVSI,OFFSETNUM;段码地址,指向七段码表

MOVAL,AH

MOVAH,00H

MOVBL,0AH

DIVBL;再除10

MOV[SI+1],AL;AL中为小数点后第一位

MOV[SI+2],AH;AH中为小数点后第二位

DIVBL

MOV[SI+3],AH

DIVBL

MOV[SI+4],AH

MOVAL,[SI]

MOVDI,OFFSETLEDDMAP;段码地址,查表,显示第一位包括小数点

MOVAH,0

ADDDI,AX

MOVAL,[DI]

MOVDX,PORTA

OUTDX,AL

MOVDX,PORTC

MOVAL,11101111B

OUTDX,AL;选通第一位数码管,整数位

CALLDELAY

MOVAL,[SI+1]

MOVDI,OFFSETLEDMAP

MOVAH,0

ADDDI,AX

MOVAL,[DI]

MOVDX,PORTA

OUTDX,AL

MOVDX,PORTC

MOVAL,11110111B

OUTDX,AL;选通第二位数码管,小数点后第一位

CALLDELAY

MOVAL,[SI+2]

MOVDI,OFFSETLEDMAP

MOVAH,0

ADDDI,AX

MOVAL,[DI]

MOVDX,PORTA

OUTDX,AL

MOVDX,PORTC

MOVAL,11111011B

OUTDX,AL;选通第三位数码管,小数点后第二位

CALLDELAY

MOVAL,[SI+3]

MOVDI,OFFSETLEDMAP

MOVAH,0

ADDDI,AX

MOVAL,[DI]

MOVDX,PORTA

OUTDX,AL

MOVDX,PORTC

MOVAL,11111101B

OUTDX,AL;选通第四位数码管,小数点后第三位

CALLDELAY

MOVAL,[SI+4]

MOVDI,OFFSETLEDMAP

MOVAH,0

ADDDI,AX

MOVAL,[DI]

MOVDX,PORTA

OUTDX,AL

MOVDX,PORTC

MOVAL,11111110B

OUTDX,AL;选通第五位数码管,小数点后第四位

CALLDELAY

MOVDX,CS0809

MOVAL,0

OUTDX,AL

MOVDX,CS8259A

XORAX,AX;AX置零

MOVAL,20H;中断服务程序结束指令

OUTDX,AL

POPDX

POPAX

IRET

IENTERENDP

 

IINITPROCNEAR;初始化8259A

MOVDX,CS8259A;偶地址

MOVAL,ICW1;00010011B,上升沿触发,单片8259A,需要ICW4

OUTDX,AL;写ICW1用偶地址

MOVDX,CS8259B;奇地址

MOVAL,ICW2;中断源IR0-IR7,中断类型号为40H-47H

OUTDX,AL;写ICW2用奇地址

MOVAL,ICW4;正常全嵌套,非自动EOI,工作在8086/8088方式

OUTDX,AL;写ICW4用奇地址

MOVAL,OCW1;11111110B,IR1-IR7上的中断请求被屏蔽,只响应INT0中断

OUTDX,AL;写OCW1用奇地址

RET

IINITENDP

 

STARTPROCNEAR

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETNUM

MOVDX,CONTROL;8255A控制端命令口

MOVAL,MODE

OUTDX,AL;输出8255控制字到命令口

CLI;屏蔽外部中断

CALLIINIT;调用初始化8259A

MOVAX,0;初始化中断向量表

MOVES,AX

MOVDI,4*ICW2;中断号

LEAAX,IENTER;设置中断入口地址(灯的显示)

STOSW

MOV[BX],AX

MOVAX,SEGIENTER

STOSW

MOVSI,OFFSETNUM;代码段地址为0

MOVAL,0;初始值为0

MOVDX,CS0809

OUTDX,AL;启动模/数转换芯片

STI;将处理器标志寄存器中断标志置1,允许中断

LP:

NOP;短暂延时程序,等待中断

JMPLP

CODEENDS

ENDSTART

 

八、实验体会

短短一周的微机原理与接口技术的课程设计就结束了,但是我在这段时间学习到了很多。

也明白了实践与理论的区别。

在设计前一天我就去图书馆找了很多关于这方面的资料。

我仔细阅读了有关ADC0809、8259A和8255A方面的知识,了解了它们的芯片功能、工作原理及初始化等等。

以前我们的实验只是单独的芯片,这一次需要将所有芯片组合在一起,不但需要较高的理论水平,而其还要求有较高的实际的动手能力。

这次的课程设计目的是提高实践能力,还包括汇编语言的编程能力以及对接口等硬件的分析和设计接口电路的能力,从而学以致用。

总而言之,通过这次的课程设计,我不仅仅巩固了课堂上学习到的微机原理与接口技术方面的知识,也大大地补充了我对相关硬件功能的全面认识和理解,并且能够基本掌握它们的使用方法和操作环境。

只有通过实际编程和微机及接口的硬件实践,才能真正掌握软硬件设计的方法,从中得到收益和提高。

同时,在同学和老师的帮助下,自己独立完成这项课程设计,在这个过程中,不仅仅让我尝到了成功的喜悦以及付出的辛苦,更让我认识到了学习的正确方法,我们绝不能孤立自己,与同一组的同学一起讨论将电压表做出来的感觉真好。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2