基于8086的数字电压表、与秒表的设计(2)

2021-09-24 15:06

图4-1 七段式LED显示部件引脚图

(3) 根据电原理图,编写简单的硬件检测程序

;------------------------------------------------------------- ; 课程设计三硬件检测: 数据采集控制与数字电压表 ;

HLXKSJC3.ASM

;------------------------------------------------------------- A8255

EQU 0602H ;PB0~PB7-->A~G.DP 段码口 EQU 0604H ;PC0~PC3-->X1~X4,PC4.PC5-->EOC EQU 0606H ;PC6-->K6电压表,PC7-->K7开机 EQU 0640H EQU 0642H EQU 0644H EQU 0646H

;ADC0809端口地址

;8254端口地址

B8255 C8255 CON8255 A8254 B8254 C8254 CON8254

ADC0809 EQU 0680H

;------------------------------------------------------------- ;------------------------------------------------------------- CODE

SEGMENT ASSUME CS:CODE

EQU 0600H ;8255端口地址:PA0~PA7-->LED.D0-D7

;------------------------------------------------------------- START: MOV DX,CON8255 ;8255控制字:PA7~PA0显示AD转换值

MOV AL,10001000B ;A口.B口,PC0~PC3输出,PC4~PC7输入 OUT DX,AL

;L0~L7灯显示01010101

;------------------------------------------------------------- BEGIN: MOV DX,A8255

MOV AL,55H OUT DX,AL MOV DX,B8255 MOV AL,5BH OUT DX,AL MOV DX,C8255

;LED数码管显示2

;-------------------------------------------------------------

MOV AL,11110101B OUT DX,AL MOV DX,CON8254 MOV AL,00100111B OUT DX,AL MOV DX,A8254 MOV AL,10H OUT DX,AL MOV DX,CON8254 MOV AL,01100111B OUT DX,AL MOV DX,B8254 MOV AL,10H OUT DX,AL

;启动秒计数

;-------------------------------------------------------------

;------------------------------------------------------------- ;------------------------------------------------------------- ALEST: MOV DX,ADC0809

OUT DX,AL

MOV DX,C8255

;检测EOC状态,判断转换是否结束

IN AL,DX

TEST AL,00110000B JZ EOC

MOV DX,ADADC0809 IN AL,DX MOV DX,A8255 OUT DX,AL JMP ALEST

ENDS

;继续

;显示AD转换结果

;转换结束,取AD转换结果

EOC:

;选择通道,启动转换

;-------------------------------------------------------------

;------------------------------------------------------------- CODE

END START

;-------------------------------------------------------------

五、软件系统设计

(1)根据课设内容的要求,画出软件系统框图;

(2)

根据软件系统框图,

分出各功能模块,

并设计各功能模块的控制流程;

1、8254和8259模块

2、中断程序

3、A/D转换部分

(3)根据程序框图设置存贮变量,编写汇编语言的控制程序; (见附录)

六、在调试过程的问题及解决办法

(1)问题:在连接好线路进行调试时,发现只有电压表的数值能够正常在8位数码管上显示,而当K6=1时,数码管上上显示的是三位乱码。

办法:在确认电路没有连错的情况下,对程序进行了修改,再进行测试的时候,秒表能够正常跳动。

(2)问题:当对秒表进行分显示的时候,通过修改线路不能完成这个任务。

办法:在程序AA3的位置增加一段显示分的程序,通过测试后,能成功运行。

七、收获与建议

刚开始接触这个课程设计,觉得自己什么都不懂,之前上的理论课里面讲的一些理论知识也没有好好掌握,觉得自己肯定做不好这个课设。但是,课设来了,还是要硬着头皮去做,开始自己按照电路图搭线,翻书看程序的功能,看各个器件的工作原理。并试着去写一小段汇编程序。

通过本次课程设计,我能更加深刻地掌握8086的编程、0809A/D转换器、8255的功能、中断控制器、模数转换及LED/LCD显示原理,用实践验证了所学理论的正确性,清楚学习过程中的不足,对于平时学的理论知识要及时复习。在课程设计的过程中遇到了不少问题,在自己的努力下和同学的帮助下,都能够得到解决,这个让我体会到了团队的重要性。

附录:

MY8254_A EQU 06C0H MY8254_B EQU 06C2H MY8254_C EQU 06C4H MY8254_MODE EQU 06C6H ;8254控制字寄存器 MY8255_A EQU 0600H MY8255_B EQU 0602H MY8255_C EQU 0604H MY8255_MODE EQU 0606H ;8255控制字寄存器

A8255 EQU 0600H ;8255端口A地址,I|O接口为IOY0 B8255 EQU 0602H ;8255端口B地址,I|O接口为IOY0 C8255 EQU 0604H ;8255端口C地址,I|O接口为IOY0 CON8255 EQU 0606H ;8255控制字寄存器地址,I|O接口为IOY0 ADC0809 EQU 0640H ;0809控制字寄存器,I|O接口为IOY1

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS

DATA SEGMENT

DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;字形码表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H NUM DB ? NUM1 DB ? NUM2 DB ? DATA ENDS

CODE SEGMENT ASSUME CS:CODE,SS:SSTACK,DS:DATA

START: MOV AX,DATA MOV DS,AX

;------------------------------------------------------------------------------- ;数字时钟的初始化 ;初始化8255 MOV DX,MY8255_MODE MOV AL,88H ;控制字10001000B:方式0,C口高四位输入 OUT DX,AL MOV DX,0646H ;新加的 OUT DX,AL ;新加的 MOV SI,3000H ;源变址寄存器:用来存放源数据区的偏移地址 MOV AL,00H MOV [SI],AL MOV [SI+1],AL MOV [SI+2],AL MOV [SI+3],AL MOV DI,3000H PUSH DS ;将DS中字数据入栈 MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ;取中断入口地址 MOV SI,003CH ;中断矢量地址 MOV [SI],AX ;填IRQ7的偏移矢量 MOV AX,CS ;段地址 MOV SI,003EH MOV [SI],AX ;填IRQ7的段地址矢量 ;CLI ;清中断允许标志位,CPU将禁止中断 POP DS ;将堆栈中字数据弹出到DS中 ;----------------------------------------------------------------------------- ;初始化主片8259 MOV AL,11H OUT 20H,AL ;ICW1 MOV AL,08H OUT 21H,AL ;ICW2 MOV AL,04H OUT 21H,AL ;ICW3 MOV AL,01H

基于8086的数字电压表、与秒表的设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无线传输距离测算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: