视频网站开发流程图,郑州关键词优化费用,濮阳做网站的电话,福田区住房和建设局地址官方网站实验内容:
计时器基本功能: 1)CPU必须用8086 2)计时器最小计时单位为秒。 3)以00:00格式显示计时,前2位表示分钟,后2位表示秒。
4)计时器是正计时方式 5)有暂停、继续计时功能
6#xff09;有复位计时功能 7#xff09;每次按下暂停键#xff0c;能显示计时间隔时间
参考…实验内容:
计时器基本功能: 1)CPU必须用8086 2)计时器最小计时单位为秒。 3)以00:00格式显示计时,前2位表示分钟,后2位表示秒。
4)计时器是正计时方式 5)有暂停、继续计时功能
6有复位计时功能 7每次按下暂停键能显示计时间隔时间
参考书籍
微机原理与接口技术——基于8086和Proteus仿真第3版作者顾晖等p27313.1电子秒表。若有补充内容放在评论区。
具体实现的功能描述
1)CPU 使用 8086
2)计时器最小计时单位为秒。
3)按下 START 键以正计时方式开始计时。以 00:00 格式在数 码管 L1 上显示计时,前 2 位表示分钟,后 2 位表示秒。
4) 数码管 L1 显示正常计时时间数码管 L2 显示两次按下暂停 的时间间隔。在正常计时情况下按下 PAUSE/RESUME 键计时 器暂停计时数码管 L1 显示暂停时刻数码管 L2 显示从暂停 时刻从 0 开始计时的时间直到再次按下暂停计时器从暂停 时刻开始继续计时 L1 显示对应的计时时间数码管 L2 开始 显示从继续计时时刻从 0 开始计时的时间直到再次按下暂 停回到前述的暂停情况。
5) 按下 RESET 键计时器复位数码管 L1 显示 0000,然后按 下 START 键可以重新从 0000 开始计时。
电路图 电路图的绘制和项目创建可以参看专栏的其他文章。如【Proteus】绘制简单的电路图-CSDN博客
1.I/O 地址译码电路 2. 8253 计时电路
注意 这里clk0设为了1khz数码管显示比较接近1s 3.8255A 显示及中断电路 4.总览和器件列表图的左边 汇编代码部分
A8255 EQU 0000H ;用于显示正常计时时间8255A各端口地址
B8255 EQU 0002H
C8255 EQU 0004H
CTR8255 EQU 0006H
AA8255 EQU 0300H ;用于显示暂停时间间隔8255A各端口地址
BB8255 EQU 0302H
CC8255 EQU 0304H
CCTR8255 EQU 0306HCH0 EQU 0200H ;8253计数器0的端口地址
CTR8253 EQU 0206H ;8253 控制端口地址
AD245 EQU 0100H ;74LS245地址 CODE SEGMENT CODEASSUME DS:DATA,CS:CODE,SS:SSEG
START: MOV AX,SSEG MOV SP,AXCLI ;关中断MOV AX,0 ;设中段向量 MOV ES,AXMOV BX,2*4 ;NMI为2号中断MOV AX,OFFSET INTR_KEYMOV WORD PTR ES:[BX],AXMOV AX,SEG INTR_KEYMOV WORD PTR ES:[BX2],AXSTI ;开中断MOV AX,DATA ;初始化数据段MOV DS,AXMOV AX,DATAMOV ES,AXMOV AL,10001001B ;8255A初始化MOV DX,CTR8255OUT DX,ALMOV AL,10001001B ;8255A初始化MOV DX,CCTR8255OUT DX,AL
RUN:CALL RUNNING ;循环等待中断JMP RUN INTR_KEY PROC ;中断服务程序PUSH AX ;现场保护PUSH BXPUSHFCALL KEY ;读取按钮状态TEST AL,01H ;检测启动按钮JZ K1TEST AL,02H ;检测暂停按钮JZ K2TEST AL,04H ;检测复位按钮JZ K3
K1:MOV KEYST,1 ;按钮标志位置为1JMP FIN
K2:MOV KEYST,2 ;按钮标志位置为 2INC PAUSEKEY ;记录暂停按钮按下次数JMP FIN
K3:MOV KEYST,3 ;按钮标志位置为3
FIN:POPF ;恢复现场POP BXPOP AXIRET
INTR_KEY ENDP RUNNING PROC ;根据当前的中断触发类型转入不同的显示
AGAIN: CMP KEYST,1JZ T1CMP KEYST,2JZ T2CMP KEYST,3JZ T3JMP E0
T1:MOV AL,0 ;正常计时和继续计时暂停时间清零LEA DI,PAUSEBUFMOV CX,4CLDREP STOSBCALL TIME ;转入计时JMP E0
T2:TEST PAUSEKEY,1 ;检测暂停按钮按下次数转入暂停或继续计时JZ T1 CALL PAUSETIME ;调用暂停时间计时子程序MOV AL,0 ;奇数次把继续计时时间暂存区清零LEA DI,RESUMEBUFMOV CX,4CLDREP STOSBJMP E0
T3:CALL RESET ;系统复位
E0:CALL DISP ;调用显示子程序CMP KEYST,3JZ OUT2CMP KEYST,1JZ OUT2TEST PAUSEKEY,1 JZ OUT1CALL PAUSEDISP ;调用暂停计时时间显示子程序JMP OUT2
OUT1:CALL RESUMEDISP ;调用继续计时时间显示子程序
OUT2:RET
RUNNING ENDPTIME PROC ;计时子程序按时间进位规则PUSH AXPUSH BXPUSH SIPUSH DILEA SI,TIMEBUF ;10毫秒MOV AH, [SI]INC AHCMP AH,100JZ S1MOV [SI],AHJMP S5
S1:MOV AH,0 ;秒MOV [SI],AHMOV AH,[SI1]INC AHCMP AH,60JZ S2MOV [SI1],AHJMP S5
S2:MOV AH,0 ;分MOV [SI1],AHMOV AH,[SI2]INC AHCMP AH,60JZ S3MOV [SI2],AHJMP S5
S3:MOV AH,0 ;时MOV [SI2],AHMOV AH,[SI3]INC AHCMP AH,24JZ S4MOV [SI3],AH JMP S5
S4:MOV AL,0LEA DI,TIMEBUFMOV CX,4CLDREP STOSB
S5:CALL DIGIT ;将正常计时时间转换为数位值CALL RESUMETIME ;从继续计时时刻开始的计时CALL RESUMEDIGIT ;将继续计时时间转换为数位值CALL DELAY8253 ;8253计时POP DIPOP SIPOP BXPOP AXRET
TIME ENDP DIGIT PROC ;将时间转换为数位值PUSH AXPUSH BXPUSH CXPUSH SIPUSH DIMOV BL,4 ;4个时间单位依次转换LEA DI,LEDBUFLEA SI,TIMEBUF
NEXT: LODSB ;从TIMEBUF中依次取出时间值MOV AH,0MOV CL,10 ;除以10分离出时间的个位和十位存入 LEDBUFDIV CLXCHG AH,ALSTOSBMOV AL,AHSTOSBDEC BLJNZ NEXTPOP DIPOP SIPOP CXPOP BXPOP AXRET
DIGIT ENDP DISP PROC ;显示 LEDBUF 中的值PUSH AXPUSH BXPUSH CXPUSH DXPUSH SILEA BX,LEDTABLEA SI,LEDBUFMOV CX,8MOV AH,7FH
LOOP1: MOV AL,[SI]XLAT ;换码数位值转换成LED显示段码MOV DX,A8255 ;段码值送8255A端口AOUT DX,ALCMP AH,7FHJZ DIS1CMP AH,0BFHJZ DIS1 MOV AL,AH ;LED位选送 8255A端口 BMOV DX,B8255OUT DX,AL
DIS1: CALL DELAYROR AH,1INC SICALL CLRLED ;LED清屏LOOP LOOP1POP SIPOP DXPOP CXPOP BXPOP AXRET
DISP ENDP CLRLED PROC ;清屏子程序PUSH AXPUSH DXMOV AL,0FFHMOV DX,B8255OUT DX,ALPOP DXPOP AXRET
CLRLED ENDP DELAY8253 PROC ;8253延时子程序PUSH AXPUSH DXMOV DX,CTR8253 ;设置8253控制字计数器0方式0MOV AL,00010000BOUT DX,ALMOV DX,CH0MOV AL,06HOUT DX,ALMOV DX,AD245
W1:IN AL,DXTEST AL,01H ;检测8253计时是否结束计数器0输出高电平JZ W1POP DXPOP AXRET
DELAY8253 ENDP DELAY PROC ;软延时PUSH CXMOV CX,50
WAIT1: LOOP WAIT1POP CXRET
DELAY ENDP RESET PROC ;计数复位子程序数据缓冲区全部清0PUSH AXPUSH CXPUSH DIMOV AL,0LEA DI,TIMEBUFMOV CX,13CLDREP STOSBMOV AL,0LEA DI,PAUSEBUFMOV CX,4CLDREP STOSBMOV AL,0LEA DI,RESUMEBUFMOV CX,4CLDREP STOSBPOP DIPOP CXPOP AX
RESET ENDP KEY PROC ;读开关子程序MOV DX,C8255IN AL,DXRET
KEY ENDP 更多源文件、报告请见 西南交大swjtu微机与接口技术实验计时器源文件与报告资源-CSDN文库