第一范文网 - 专业文章范例文档资料分享平台

微机原理课设_电子秒表

来源:用户分享 时间:2025/6/6 12:42:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

湖南附录

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

附 录(源程序)

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

搜索更多关于: 微机原理课设_电子秒表 的文档
微机原理课设_电子秒表.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4wypr7v9g547le14lle3_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top