资源描述
南京工程学院
通信工程学院
课程设计说明书(论文)
题 目 简易电压表的设计
课 程 名 称 微机原理及接口实验
专 业
班 级
学 生 姓 名
学 号
设 计 地 点
指 导 教 师
设计起止时间:2013年12月23日至2013年12月26日
目录
1.设计目的 1
2.设计内容及要求 1
3.设计原理 1
1、主体思想 1
2、实验主要器材 2
3、设计流程图 2
4、相关电子元器件及其功能介绍 3
(1)8255A芯片 3
(2)8259A芯片 4
(3)ADC0809芯片 7
(4)数码管 9
4.实验原理图与硬件电路图 9
5.测试结果及问题分析 10
1、测试结果 10
2、问题分析 11
6.心得体会 11
7.程序代码 12
8.主要参考文献 16
2
1.设计目的
通过课程设计达到理论和实际应用相结合,提高对硬件微机结构和软件设计方法的理解。能够根据实际应用初步实现硬件和软件的基本设计,并且对硬件开发有更深层次的认识,为今后的软件开发打下坚实的基础。
2.设计内容及要求
基本内容:利用STAR ES598PCI实验仪的硬件资源8259中断控制器、8255可编程并行接口芯片和数码管、电位器和ADC0809设计一个简易电压表,编写响应的程序,使电压表能够正常运行,3位数码管显示电位器的电压,精确度要求小数点四位。
基本任务:软件查询的方式获取AD转换结束信息
附加任务:中断方式获取AD转换结束信息
3.设计原理
1、主体思想
ADC0809是逐次逼近型A / D转换器,具有较好的精度和速度,其采集结果
为8位二进制数,每采集一次一般需要100μs。设计程序时可采用中断方式读取A / D转换结果数据。在中断方式下,A / D转换结束后会自动产生EOC信号,将其与8259的中断输入端相接即可。电压模拟量可由实验箱上的电位器提供,电压范围0 ~ 5V,其经ADC0809转换得到的数字量范围为0 ~ 255,再将转换的结果通过软件编码得到相应的原始电压值并在LED数码管上显示。
8255A输入输出模块
8259A中断处理模块
总体模块设计
ADC0809数模转换模块
数码管显示模块
2、实验主要器材
实验器材
数量
备注
PC机
1
装有实验所需软件
ES598PCI实验仪
1
8255A芯片
1
8259A芯片
1
ADC0809芯片
1
数码管
1
事先检验完好可用
3、设计流程图
4、相关电子元器件及其功能介绍
(1)8255A芯片
a.概述:
Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
b.8255A 工作方式:
l 方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路
l 方式1:选通输入输出方式
适用于查询和中断方式的接口电路
l 方式2:双向选通传送方式
适用于与双向传送数据的外设
适用于查询和中断方式的接口电路
c.8255A控制字格式:
(a)工作方式控制字 (b)c口按位置位/复位控制字
(2)8259A芯片
a.概述:
8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。 在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态
b.初始化命令字:
1)ICW1写入双数地址。
2) ICW2写入单数地址。
3) ICW3写入单数地址。
4) ICW4写入单数地址
5) 初始化命令字的设置过程
c.操作命令字:
1) OCW1写入单数地址。
2) OCW2写入双数地址。
2) OCW2写入双数地址。
3) OCW3写入双数地址。
(五)
d.主要功能:
在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。
(3)ADC0809芯片
a.概述:
ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A / D转换。
b.主要特性:
1) 8路输入通道,8位A/D转换器,即分辨率为8位。
2) 具有转换起停控制端。
3) 转换时间为100μs
4) 单个+5V电源供电
5) 模拟输入电压范围0~+5V,不需零点和满刻度校准。
6) 工作温度范围为-40~+85摄氏度
7) 低功耗,约15mW。
c.引脚功能:
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转换)。
图1-1
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。
REF(+)、REF(-):基准电压。
Vcc:电源,单一+5V。
GND:地。
d.工作过程:
图1-2
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
(4)数码管
七段式LED显示部件
(a) 典型的七段式LED器件 (b) 共阳极LED (c) 共阴极LED
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
4.实验原理图与硬件电路图
实验原理图:
硬件电路图:
5.测试结果及问题分析
1、测试结果
当调节电位器左端旋转至右端时,数码管显示电压0.0000~4.9939,可通过改变电阻来改变电压值,再通过A/D转换为数字量通过数码管发出二极管显示数字。
2、问题分析
(1)要求将显示两位小数变更为显示四位小数,通过改写LED显示程序来改变,测试后达到要求。
(2)数码管发光不稳定,闪烁比较严重,通过更改延时主程序参数问题得到解决。
6.心得体会
短短一周的微机原理与接口技术的课程设计就结束了,但是我在这段时间
受益匪浅。
设计之初,我仔细阅读了有关ADC0809、8259A和8255A方面的知识,了解了它们的芯片功能、工作原理及初始化等等。以前我们只在课堂上做过一些关于软件设计方面的题目,这次与硬件相结合不仅难度上有所提升,并且对自身能力的要求又提高了不少,不但需要较高的理论水平,而其还要求有实际的动手能力。这次的课程设计目的是提高实践能力,还包括汇编语言的编程能力以及对接口等硬件的分析和设计接口电路的能力,从而学以致用。
总而言之,通过这次的课程设计,我不仅仅巩固了课堂上学习到的微机原理与接口技术方面的知识,也大大地补充了我对相关硬件功能的全面认识和理解,并且能够基本掌握它们的使用方法和操作环境。只有通过实际编程和微机及接口的硬件实践,才能真正掌握软硬件设计的方法,从中得到收益和提高。同时,在同学和老师的帮助下,自己独立完成这项课程设计,在这个过程中,不仅仅让我尝到了成功的喜悦以及付出的辛苦,更让我认识到了学习的正确方法,我们绝不能孤立自己,往往在困难肚子解决不了的时候,可以向周围的人寻求帮助,这样可以事半功倍,更加能及时发现自己的设计不足和错误之处。
通过课程设计达到理论和实际应用相结合,提高对硬件微机结构和软件设计方法的理解。能够根据实际应用初步实现硬件和软件的基本设计,并且对硬件开发有更深层次的认识,为今后的软件开发打下坚实的基础。
7.程序代码
MODE EQU 082H ;10000010H,方式0,A和C输出
PORTA EQU 09000H ;A口地址
PORTB EQU 09001H ;B口地址
PORTC EQU 09002H ;C口地址
CONTROL EQU 09003H ;命令口地址
CS0809 EQU 08000H ;0809地址
ICW1 EQU 00010011B ;上升沿触发,单片8259A,需要ICW4
ICW2 EQU 08H ;中断类型号为40H
ICW4 EQU 00001001B ;正常全嵌套,非自动EOI,工作在8086/8088方式
OCW1 EQU 11111110B ;IR1-IR7上的中断请求被屏蔽,只响应INT0中断
CS8259A EQU 0A000H
CS8259B EQU 0A001H
DATA SEGMENT
NUM DB 5 DUP(?) ;开辟三个空间的缓存
LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码管显示0到9的字型代码
DB 7FH,6FH
LEDDMAP: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H
DB 0FFH,0EFH ;包括小数点的显示
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
DELAY PROC NEAR ;延时子程序
PUSH BX
PUSH CX
MOV BX,0
MOV CX,100
A1: INC BX
LOOP A1
POP CX
POP BX
RET
DELAY ENDP
IENTER PROC NEAR ;中断服务程序
PUSH AX
PUSH DX
MOV DX,CS0809 ;0809端口地址
IN AL,DX ;读入结果
LED: ;转换为原始电压值显示程序
MOV BL,0C4H ;乘以5/256*10000=196
MUL BL ;AX=AL*BL,得16位结果
PUSH AX ;压栈,存入结果
MOV BX,0001H
POP AX
MUL BX ;将AX扩展为32位,结果在DX:AX中
MOV BX,64H ;100
DIV BX ;DX:AX/BX,得32位,商在AX中,余数在DX中
DIV BL ;AX/BL,得16位,商在AL中,余数在AH中
MOV [SI],AL ;整数部分,结果放进NUM
MOV SI,OFFSET NUM ;段码地址,指向七段码表
MOV AL,AH
MOV AH,00H
MOV BL,0AH
DIV BL ;再除10
MOV [SI+1],AL ;AL中为小数点后第一位
MOV [SI+2],AH ;AH中为小数点后第二位
DIV BL ;再除10
MOV [SI+3],AH ;AL中为小数点后第三位
DIV BL
MOV [SI+4],AH ;AH中为小数点后第四位
MOV AL,[SI]
MOV DI,OFFSET LEDDMAP ;段码地址,查表,显示第一位包括小数点
MOV AH,0
ADD DI,AX
MOV AL,[DI]
MOV DX,PORTA
OUT DX,AL
MOV DX,PORTC
MOV AL,11101111B
OUT DX,AL ;选通第一位数码管,整数位
CALL DELAY
MOV AL,[SI+1]
MOV DI,OFFSET LEDMAP
MOV AH, 0
ADD DI,AX
MOV AL,[DI]
MOV DX,PORTA
OUT DX,AL
MOV DX,PORTC
MOV AL,11110111B
OUT DX,AL ;选通第二位数码管,小数点后第一位
CALL DELAY
MOV AL,[SI+2]
MOV DI,OFFSET LEDMAP
MOV AH, 0
ADD DI,AX
MOV AL,[DI]
MOV DX,PORTA
OUT DX,AL
MOV DX,PORTC
MOV AL,11111011B
OUT DX,AL ;选通第三位数码管,小数点后第二位
CALL DELAY
MOV AL,[SI+3]
MOV DI,OFFSET LEDMAP
MOV AH, 0
ADD DI,AX
MOV AL,[DI]
MOV DX,PORTA
OUT DX,AL
MOV DX,PORTC
MOV AL,11111101B
OUT DX,AL ;选通第四位数码管,小数点后第三位
CALL DELAY
MOV AL,[SI+4]
MOV DI,OFFSET LEDMAP
MOV AH, 0
ADD DI,AX
MOV AL,[DI]
MOV DX,PORTA
OUT DX,AL
MOV DX,PORTC
MOV AL,11111110B
OUT DX,AL ;选通第五位数码管,小数点后第四位
CALL DELAY
MOV DX,CS0809
MOV AL,0
OUT DX,AL
MOV DX,CS8259A
XOR AX,AX ;AX置零
MOV AL,20H ;中断服务程序结束指令
OUT DX,AL
POP DX
POP AX
IRET
IENTER ENDP
IINIT PROC NEAR ;初始化8259A
MOV DX,CS8259A ;偶地址
MOV AL,ICW1 ;00010011B,上升沿触发,单片8259A,需要ICW4
OUT DX,AL ;写ICW1用偶地址
MOV DX,CS8259B ;奇地址
MOV AL,ICW2 ;中断源IR0-IR7,中断类型号为40H-47H
OUT DX,AL ;写ICW2用奇地址
MOV AL,ICW4 ;正常全嵌套,非自动EOI,工作在8086/8088方式
OUT DX,AL ;写ICW4用奇地址
MOV AL,OCW1 ;11111110B,IR1-IR7上的中断请求被屏蔽,只响应INT0中断
OUT DX,AL ;写OCW1用奇地址
RET
IINIT ENDP
START PROC NEAR
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET NUM
MOV DX,CONTROL ;8255A控制端命令口
MOV AL,MODE
OUT DX,AL ;输出8255控制字到命令口
CLI ;屏蔽外部中断
CALL IINIT ;调用初始化8259A
MOV AX,0 ;初始化中断向量表
MOV ES,AX
MOV DI,4*ICW2 ;中断号
LEA AX,IENTER ;设置中断入口地址 (灯的显示)
STOSW
MOV [BX],AX
MOV AX,SEG IENTER
STOSW
MOV SI,OFFSET NUM ;代码段地址为0
MOV AL,0 ;初始值为0
MOV DX,CS0809
OUT DX,AL ;启动模/数转换芯片
STI ;将处理器标志寄存器中断标志置1,允许中断
LP: NOP ;短暂延时程序,等待中断
JMP LP
CODE ENDS
END START
8. 主要参考文献
1. 李干林.微机原理及接口技术实验指导书.北京大学出版社,2010年10月
周荷琴.微型计算机原理及接口技术(第四版).中国科学技术大学出版社,2008年1月目 录
第一章 总论 1
一、项目概况 1
二、项目提出的理由与过程 6
三、项目建设的必要性 8
四、项目的可行性 12
第二章 市场预测 15
一、市场分析 15
二、市场预测 16
三、产品市场竞争力分析 19
第三章 建设规模与产品方案 22
一、建设规模 22
二、产品方案 22
三、质量标准 22
第四章 项目建设地点 25
一、项目建设地点选择 25
二、项目建设地条件 25
第五章 技术方案、设备方案和工程方案 28
一、技术方案 28
二、产品特点 30
三、主要设备方案 32
四、工程方案 32
第六章 原材料与原料供应 35
一、原料来源及运输方式 35
二、燃料供应与运输方式 35
第七章 总图布置、运输、总体布局与公用辅助工程 37
一、总图布置 37
二、 运输 38
三、总体布局 38
四、公用辅助工程 39
第八章 节能、节水与安全措施 44
一、主要依据及标准 44
二、节能 44
三、节水 45
四、消防与安全 45
第九章 环境影响与评价 47
一、法规依据 47
二、项目建设对环境影响 48
三、环境保护措施 48
四、环境影响评价 49
第十章 项目组织管理与运行 50
一、项目建设期管理 50
二、项目运行期组织管理 52
第十一章 项目实施进度 55
第十二章 投资估算和资金筹措 56
一、投资估算 56
二、资金筹措 58
第十三章 财务评价与效益分析 61
一、项目财务评价 61
二、财务评价结论 65
三、社会效益 68
四、生态效益 68
第十四章 风险分析 70
一、主要风险分析识别 70
二、风险程度分析及防范风险的措施 70
第十五章 招标方案 72
一、招标范围 72
二、招标组织形式 72
三、招标方式 72
第十六章 结论与建议 74
一、可行性研究结论 74
二、建议 75
附 件 77
一、附表 77
二、附件 77
三、附图 77
2.
18
展开阅读全文