基于TPC-USB实验系统的时钟系统设计

2026/4/24 1:25:07

基于TPC-USB实验系统的时钟系统设计

05计3 李三强20051000064 林诗峰 20051000153 黄绰彬 20051000003

POP BX POP AX IRET

INT_TIMER ENDP

;===================================================================== ;子程序,功能为获取输入的数字并转化,出口为AL

;===================================================================== GETINPUT PROC REINPUT:

LEA DX,BUFF ;DOS 10号功能,获取输入字符串,首位=[BUFF+2] MOV AH,0AH INT 21H

LEA SI,BUFF MOV AL,[SI+1]

CMP AL,02H ;限制输入字数 JG DISPERR MOV AH,[SI+2]

CMP AH,'q' ;检查是否q退出 JE RETURN

CMP AH,'0' ;检查输入数字范围是否0-9 JL DISPERR CMP AH,'9' JG DISPERR MOV AL,[SI+3] CMP AL,'0' JL DISPERR CMP AL,'9' JG DISPERR

AND AL,0FH ;屏蔽高4位 SHL AH,04H ;AH左移4位 ADD AL,AH ;AL=输入的数 CMP AL,0H JL DISPERR CMP AL,MAX ;MAX= 23 OR 59 JG DISPERR JMP RETURN

DISPERR: ;输入错误处理,警告并提示重新输入 MOV DX,OFFSET MESGERR MOV AH,09H INT 21H

JMP REINPUT RETURN:RET GETINPUT ENDP

;=====================================================================

第21页 共26页

基于TPC-USB实验系统的时钟系统设计

05计3 李三强20051000064 林诗峰 20051000153 黄绰彬 20051000003

;子程序,初始化,设置外部硬件工作方式,并判断是否需初始化时间

;===================================================================== INIT PROC

CMP SETTIME,1 ;检查是否已设置过时间;否则获取系统时间显示 JE KK

MOV AH,2CH ;DOS 2CH号功能,获取系统时间 INT 21H ;HOUR->CH,MINUTE->CL,SECOND->DH MOV AL,CH

CALL HEXTODEC ;HEXTODEC子程序,入出口皆为AL MOV HOUR,AL MOV AL,CL

CALL HEXTODEC MOV MINUTE,AL MOV AL,DH

CALL HEXTODEC MOV SECOND,AL KK:

MOV AL,36H ;设置通道0工作方式为3.

MOV DX,CONTR ;00110111H 通道0,16位读写,方式3,bcd码 OUT DX,AL

MOV AX,2710H ;计数初值为10000,BCD码 MOV DX,CHAN1 OUT DX,AL MOV AL,AH OUT DX,AL

MOV AL,74H ;设置通道1工作方式为2

MOV DX,CONTR ;01110100H 通道1,16位读写,方式2,2进制 OUT DX,AL MOV AX,64H ;初始值为100 MOV DX,CHAN2 OUT DX,AL

MOV AL,AH OUT DX,AL

MOV DX,IO8255B ;将8255设为A口输出

MOV AL,80H ;1000000 方式控制字A、B组方式0,A、B、C口都是输出 OUT DX,AL RET

INIT ENDP

;===================================================================== ;子程序,将16进制转换成10进制,入出口都为AL,AX受影响

;===================================================================== HEXTODEC PROC PUSH BX MOV AH,0

第22页 共26页

基于TPC-USB实验系统的时钟系统设计

05计3 李三强20051000064 林诗峰 20051000153 黄绰彬 20051000003

MOV BL,10D ;十进制 10 DIV BL

SHL AL,04H ADD AL,AH POP BX RET

HEXTODEC ENDP CODE ENDS END START

第四部分 系统测试与性能分析

4.1系统测试

系统测试包括硬件和软件两方面的测试,主要是对正确性和性能指标的测试。测试原则:先硬件后软件,先测试其正确性,后测试其性能指标。 1)硬件测试

? 电源连接正确性测试

? 测试8253的各个时钟是否正确(用示波器测CLK0、CLK1、 OUT1并观察波形) ? 测试8259能否正常发送中断(将IRQ3接到TPC-USB上的单脉冲,通过手动送个高电

平到IRQ3测试其是否正常工作)

? 测试7段数码管是否正常工作(通电是否点亮) 2)软件测试

? 运行自检程序,检测硬件链接。自检程序设计为自发自收程序,分别检测8253芯片和

试验系统的硬件连接、8255与7段数码管是否正确连通。 测试8253工作情况的程序如下:

;******************* ;* 8253分频 * ;******************* IO8253A EQU 280H IO8253B EQU 281H IO8253C EQU 283H CODE SEGMENT

ASSUME CS:CODE

START:MOV DX,IO8253C ;向8253写控制字 MOV AL,36H ;使0通道为工作方式3 OUT DX,AL

MOV AX,10000 ;写入循环计数初值1000 MOV DX,IO8253A

OUT DX,AL ;先写入低字节 MOV AL,AH

第23页 共26页

基于TPC-USB实验系统的时钟系统设计

05计3 李三强20051000064 林诗峰 20051000153 黄绰彬 20051000003

OUT DX,AL ;后写入高字节 MOV DX,IO8253C

MOV AL,76H ;设8253通道1工作方式2 OUT DX,AL

MOV AX,100 ;写入循环计数初值1000 MOV DX,IO8253B

OUT DX,AL ;先写低字节 MOV AL,AH

OUT DX,AL ;后写高字节 MOV AH,4CH ;程序退出 INT 21H CODE ENDS END START

? 首先,调试好示波器,使其检查频率为1HZ,幅度为5V。运行汇编语言检查程序是否

有误,如果程序没有错误,用示波器检查OUT1的输出是否为每秒送出一个周期为1/100秒的低电平。

? 如果仍未解决,可以单步执行或断点执行,判断出错语句,分析并改进。如果仍未检

测出错误则需重新检查硬件连接是否正确。 测试8255与7段数码管的程序如下:

;************************************** ;* 键盘输入数据(0-9)控制LED数码管显示 * ;************************************** DATA SEGMENT

IO8255A EQU 288H IO8255B EQU 28BH

LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

MESG1 DB 0DH,0AH,'INPUT A NUM (0--9),OTHER KEY IS EXIT:',0DH,0AH,'$'

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV DX,IO8255B ;使8255的A口为输出方式 MOV AX,80H OUT DX,AL

SSS: MOV DX,OFFSET MESG1 ;显示提示信息 MOV AH,09H INT 21H

MOV AH,01 ;从键盘接收字符 INT 21H

CMP AL,'0' ;是否小于0 JL EXIT ;若是则退出 CMP AL,'9' ;是否大于9

第24页 共26页


基于TPC-USB实验系统的时钟系统设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于TPC-USB实验系统的时钟系统设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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