微机原理课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据采集显示系统
摘要:本系统实现了单路直流电压量的采集与显示。其主要结构由A/D转换模块、8255并行接口模块、8086控制模块、数码管显示驱动电路和三位数码管显示电路组成。由于本系统电路实验板是16位微控制器试验箱的外部拓展系统,所以整个系统的系统总线和地址总线是固定的,本次设计的重点主要是外围模块与8086的编程部分。
关键词:8086 8255 ADC0809 74LS240
目录
一、设计要求及方案选择 (1)
(一)设计要求..................................................................................................... 错误!未定义书签。
(二)方案选择..................................................................................................... 错误!未定义书签。
二、系统各模块具体设计 (1)
(一)整体框图 (1)
(二)各模块具体分析 (2)
三、系统性能测试 (5)
(一)测试仪器 (5)
(二)测试过程 (5)
四、参考文献 (5)
五、附录 (5)
一、设计要求及方案选择
设计要求:
要求具有IN1路模拟输入
输入信号为0——5V
采用数码管3位,显示十进制结果
输入量与显示误差<1%
方案选择:
ADC0809是逐次逼近型8位A/D转换芯片,具有8路模拟量输入,量程为0-5V,分辨率(相对误差)为0.38%,转换速度典型值为100us,并且片内带有三态输出缓冲器,可以与系统总线直接相连,不需要占用8255并行接口线。而且其性能价格比非常高,故本次课程设计采用ADC0809作为转换芯片。
二、系统各模块具体设计
(一)整体框图
系统组成及原理框图如图1-1所示
整体电路图:
(二)各模块具体分析
1、A/D转换模块
ADC0809的ADDA ADDB ADDC ALE START 接8255的PB7-PB3,输出通道和系统总线直接相连。Vref+和Vref-由基准电压芯片LM336Z5提供。EOC接8255的PC7,编程时应采用查询方式。
0809电路图:
0809程序设计流程图:
0809工作时序图:
2、数码管显示模块三位七段数码管:
因为考虑到8255的驱动能力不足以带动共阳极数码管,所以使用74LS240总线驱动器来驱动数码管,并且因为74LS240是反向驱动器,所以数码管的段选和共阴极数码管的段选一致。
数码管段选表:
四、系统性能测试
(一)测试仪器
PC机一台、16位微型控制器实验箱一台、数字万用表一个
(二)测试过程
先将实验板电路与试验箱电路进行连接,扭动滑动变阻器的阻值,用万用表测量实际的模拟电压并与数码管显示的电压值进行比较。
五、参考文献
[1].杨素行主编《微型计算机系统原理及应用(第3版)》清华大学出版社
[2].康华光主编《电子技术基础数字部分(第五版)》高等教育出版社
[3].李朝青主编《单片机原理与应用技术(第三版)》北京航天航空大学出版社
六、附录
完整源程序:
DA TA SEGMENT
LEDDATA DB 3 DUP(?)
DA TA ENDS
CODE SEGMENT PUBLIC
ORG 0100H
ASSUME CS:CODE,DS:DA TA
MAIN:JMP START
LEDCOM DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
LEDCOMP DB 0bfh,86h,0dbh,0cfh
START:MOV DX,04A2H;8255 B口地址
MOV AL,07H;初始化数码管位选,使数码管全灭
OUT AL,DX
AD:MOV DX,04A6H;8255控制寄存器地址,接CS0
MOV AL,81H;1 000 0 00 1B,A口方式0输出,B口方式0输出,C7-4输出,C3-0输入。
OUT DX,AL
MOV DX,04A2H;B口地址。
MOV AL,37H; 001 1 0 111,高三位选中IN1,第五位ALE=1,第四位START=0,低三位是数码管位选置1。
OUT DX,AL
MOV AL,3FH;START=1.
OUT DX,AL
MOV AL,37H
OUT DX,AL;START产生脉冲信号,启动转换。
MOV DX,04A4H;C口地址
TEST:IN AL,DX;读入EOC(PC0)状态。
AND AL,01H;屏蔽其他位。
JZ TEST;当EOC=0,ZF=1,JZ跳转到TEST重新扫描。
MOV AL,80H;OE=1,开芯片使能。
OUT DX,AL
;读取系统总线上的数据,地址只要不和CS0冲突就行。
MOV DX,04B0H;CS1
IN AL,DX
MOV BL,AL;暂存数据
MOV DX,04A4H;C口地址
MOV AL,00H;OE=0
OUT DX,AL
TOBCD:MOV AL,BL
MOV SI,OFFSET LEDDATA
MUL 0C4H;255*196=49980,取高三位。
MOV BX,10000
DIV BX
MOV [SI],AL;存万位
INC SI
MOV AX,DX
MOV DX,0
MOV BX,1000
DIV BX
MOV [SI],AL;存千位
INC SI
MOV AX,DX
MOV DX,0
MOV BX,100
DIV BX
MOV [SI],AL;存百位
DISPLAY:MOV DX,04A6H
MOV AL,80H
OUT DX,AL
LEA BX,LEDCOMP
LEA SI,LEDDATA