好文档 - 专业文书写作范文服务资料分享网站

微机原理课设_电子秒表

天下 分享 时间: 加入收藏 我要投稿 点赞

湖南附录

文理学院芙蓉学院课程设计报告

附 录(源程序)

C8255 EQU 203H D8255C EQU 202H

C8253 EQU 213H D82530 EQU 210H D82531 EQU 211H D82532 EQU 212H

C82590 EQU 220H C82591 EQU 221H

C8279 EQU 232H D8279 EQU 230H

time0 EQU 1000 time1 EQU 307

CODE SEGMENT ASSUME CS:CODE START: JMP Y

timer0 DB 2,0,1,3,5,9 timer1 DB 7 DUP(0) pad DB 0

tab DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0~9 Y: ;初始化各芯片 MOV AX,8100H MOV DS,AX CLI CALL i8279 CALL i8259 CALL i8253 CALL i8255 STI

big_lp: MOV DX,202H ;读8255 C口 IN AL,DX CMP AL,01H ;判断是什么模式 JE mode1 CALL display0 ;时间模式,显示时间 JMP big_lp mode1: CALL display1 ;秒表模式,显示秒表 JMP big_lp

14

湖南附录

文理学院芙蓉学院课程设计报告

i8253: ;210,211,212,213分别为:计数器0/计数器1/计数器2/控制端口 ;CPU时钟频率为307200HZ ;初始化计数器1,先送低八位,后送高八位,工作方式3,二进制计数 MOV DX,C8253 MOV AL,76H OUT DX,AL ;使OUT1产生周期为1ms的方波 MOV DX,D82531 MOV AX,time1 OUT DX,AL MOV AL,AH OUT DX,AL ;初始化计数器0,,先送低八位,后送高八位,工作方式3,二进制计数 MOV DX,C8253 MOV AL,36H OUT DX,AL ;CLK0接OUT1,OUT0产生周期为1s的方波 MOV DX,D82530 MOV AX,time0 OUT DX,AL MOV AL,AH OUT DX,AL POP BX POP CX POP DX POP AX RET

i8259: ;端口地址为220H和221H ;ICW1,上升沿触发,单片,写ICW4 PUSH AX PUSH DX PUSH CX PUSH BX MOV DX,C82590 MOV AL,13H; (00010011) OUT DX,AL ;ICW2,中断类型号为30H,31H,32H MOV DX,C82591 MOV AL,30H OUT DX,AL ;ICW4,正常EOI,8086/8088系统 MOV AL,01H

15

湖南附录

文理学院芙蓉学院课程设计报告

OUT DX,AL

PUSH DS MOV AX,0 MOV DS,AX MOV BX,30H*4 MOV AX,OFFSET int_timer0 MOV DS:[BX],AX MOV AX,CS MOV BX,30H*4+2 MOV DS:[BX],AX MOV BX,31H*4 MOV AX,OFFSET int_timer1 MOV DS:[BX],AX MOV AX,CS MOV BX,31H*4+2 MOV DS:[BX],AX MOV BX,32H*4 MOV AX,OFFSET int_pad MOV DS:[BX],AX MOV AX,CS MOV BX,32H*4+2 MOV DS:[BX],AX POP DS POP BX POP CX POP DX POP AX RET

i8279: ;数据端口230H,控制端口232H ;清除显示和显示寄存器 MOV DX,C8279 MOV AL,0D2H OUT DX,AL ;键盘显示命令,八个字符显示,左端输入方式 MOV AL,0 OUT DX,AL RET

i8255: ;200,201,202,203分别为:A口/B口/C口/控制端口

16

湖南附录

文理学院芙蓉学院课程设计报告

;只用到PC0,输入 MOV DX,C8255 MOV AL,9BH OUT DX,AL RET

int_timer0 PROC ;1秒产生一次中断,每次中断时间加1秒 PUSH AX PUSH DX PUSH CX PUSH BX PUSH DI LEA DI,timer0 MOV BL,BYTE PTR[DI+5] CMP BL,9 JE c0; 有进位 INC BL; 1s位加1 MOV BYTE PTR[DI+5],BL JMP addend0

c0: MOV BYTE PTR[DI+5],0 MOV BL,BYTE PTR[DI+4]; 处理下一位 CMP BL,5 JE c1; 有进位 INC BL; 10s位加1 MOV BYTE PTR[DI+4],BL JMP addend0

c1: MOV BYTE PTR[DI+4],0 MOV BL,BYTE PTR[DI+3]; 处理下一位 CMP BL,9 JE c2; 有进位 INC BL; 1min位加1 MOV BYTE PTR[DI+3],BL JMP addend0

c2: MOV BYTE PTR[DI+3],0 MOV BL,BYTE PTR[DI+2]; 处理下一位 CMP BL,5 JE c3; 有进位 INC BL; 10min位加1 MOV BYTE PTR[DI+2],BL JMP addend0

c3: MOV BYTE PTR[DI+2],0 MOV BL,BYTE PTR[DI+1] MOV BH,BYTE PTR[DI];

17

湖南文理学院芙蓉学院课程设计报告

附录

CMP BH,2 JNE c4 CMP BL,3 JE c5; 23h的情况 INC BL; 21h位加1 MOV BYTE PTR[DI+1],BL JMP addend0

c5: MOV BYTE PTR[DI],0; 新的一天 MOV BYTE PTR[DI+1],0 JMP addend0 c4: CMP BL,9 JE c6; 有进位 INC BL; 01h位加1 MOV BYTE PTR[DI+1],BL JMP addend0 c6: INC BH MOV BYTE PTR[DI],BH; 10h位加1 JMP addend0

addend0:MOV AL,20H MOV DX,C82590 OUT DX,AL POP DI POP BX POP CX POP DX POP AX IRET

int_timer0 ENDP

display0: ;显示时间 PUSH DI LEA BX,tab MOV AL,90H MOV DX,232H OUT DX,AL MOV DX,D8279 LEA DI,timer0 MOV AL,BYTE PTR[DI+5] XLAT OUT DX,AL MOV AL,BYTE PTR[DI+4] XLAT

18

微机原理课设_电子秒表

湖南附录文理学院芙蓉学院课程设计报告附录(源程序)C8255EQU203HD8255CEQU202HC8253EQU213HD82530EQU210HD82531EQU211HD82532EQU212HC82590EQU220HC
推荐度:
点击下载文档文档为doc格式
4wypr7v9g547le14lle3
领取福利

微信扫码领取福利

微信扫码分享