收藏 分享(赏)

汇编语言程序设计 袁全清.doc

上传人:HR专家 文档编号:5936790 上传时间:2019-03-21 格式:DOC 页数:13 大小:81.50KB
下载 相关 举报
汇编语言程序设计 袁全清.doc_第1页
第1页 / 共13页
汇编语言程序设计 袁全清.doc_第2页
第2页 / 共13页
汇编语言程序设计 袁全清.doc_第3页
第3页 / 共13页
汇编语言程序设计 袁全清.doc_第4页
第4页 / 共13页
汇编语言程序设计 袁全清.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、汇编语言课程设计报告课 题: 设计时钟显示程序 指导老师: 袁全 清 学 部: 信息科学与技术学部 专业班级: 10 软件工程(1)班 学 号: 汇编程序设计报告一、任务及要求:任务:编程设计时实时钟(数字、模拟均可)要求:数字尽量大,颜色应鲜艳,程序尽量少。二、程序设计的分析1、时钟的获取: 用软中断 INT 1AH直接读取 CMOS 中的数据MOV AH,2CHINT 21H;通过 2ch 号 DOS 调用,获得时间信息 MOV AL,CH;小时LEA SI,HOURCALL PL2、时钟的显示7 段显示AH 功能入口参数 出口参数 说明0 读数CX、DX=高、低字 AL=0,若时钟未过

2、241 写数CX、DX=高、低字双字为(时*60+分)*60+秒)*18.22 读时CHCLDH=时分秒 CF=1,时钟未操作3 写时CHCLDH=时分秒4 读日CXDHDL=年月日5 写日CXDHDL=年月日6 写铃CHCLDH=时分秒CF=1,时钟未操作或已置响铃允许均为压缩 BCD 码7 请铃请除响铃如右图,由三横线和四竖线组成。每条线需要显示时,每一方块的ASCII 码为 219;不需显示时,方块的 ASCII 码为 32。由此 7 段显示和不显示的组合,形成 09 的数字。显示横线:先定位左边位置,显示数个方块显示竖线:数次定位每行位置并显示一个方块三 、 程 序 流 程 图 如 下

3、 : ZF=0N YCALL NEAD-TIMECALL NEAD-DAYCALL ZHUAN开始MOV AH,1INT 16HJZ NO-KEYCALL DISPLAYEXITCOMPATRE PROC NEARSTATRLEA DL,B0CALL SHOWCMP AL,30HJNZ Y1四完整程序STACK SEGMENT STACK STACKDB 1024 DUP (0)STACK ENDSDATA SEGMENTBWORD EQU THIS BYTER0 DW (0)R1 DW (0)R2 DW (0)R3 DW (0)R4 DW (0)R5 DW (0)R6 DW (0)R7 DW

4、 (0);TEMP1 DW (0)TEMP2 DW (0)TEMP3 DW (0)TEMP4 DW (0);LED1 DB (0) ;时针十位显示LED2 DB (0) ;时针个位显示LED3 DB (0) LED4 DB (0) ;分针十位显示LED5 DB (0) ;分针个位显示LED6 DB (0)LED7 DB (0) ;秒针十位显示LED8 DB (0) ;秒针个位显示S_REG DB (0)M_REG DB (0)H_REG DB (0);-1-9 个数字的显示方式-F0 DB 0DB 5FH,0AH,0,0DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0 DB 5FH

5、,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5FH,0,0,-1 ;中间段F1 DB 0DB 5FH,0,0,0 ;0 灭DB 7CH,0,1,-1 ;0AH 亮DB 7CH,0,1,0DB 5FH,0,0,1DB 7CH,0AH,0,1 ;中上DB 7CH,0AH,-1,0 ;中下DB 5FH,0,0,-1F2 DB 0DB 5FH,0AH,0,0DB 7CH,0,1,-1 ;左上DB 7CH,0AH,1,0DB 5FH,0AH,0,1DB 7CH,0,0,1 ;左下DB 7CH,0AH,-1,0DB 5FH,0AH,0,-1F3 DB 0DB 5FH,0

6、AH,0,0DB 7CH,0,1,-1DB 7CH,0,1,0DB 5FH,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5FH,0AH,0,-1F4 DB 0DB 5FH,0,0,0DB 7CH,0AH,1,-1DB 7CH,0,1,0DB 5FH,0,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5FH,0AH,0,-1F5 DB 0DB 5FH,0AH,0,0DB 7CH,0AH,1,-1DB 7CH,0,1,0DB 5FH,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0,-1,0DB 5FH,0AH,0,-1F6 DB

7、 0DB 5FH,0AH,0,0DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0DB 5FH,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0,-1,0DB 5FH,0AH,0,-1F7 DB 0DB 5FH,0AH,0,0DB 7CH,0,1,-1DB 7CH,0,1,0DB 5FH,0,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5FH,0,0,-1F8 DB 0DB 5FH,0AH,0,0DB 7CH,0AH,1,-1DB 7CH,0AH,1,0DB 5FH,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5F

8、H,0AH,0,-1F9 DB 0DB 5FH,0AH,0,0DB 7CH,0AH,1,-1DB 7CH,0,1,0DB 5FH,0AH,0,1DB 7CH,0AH,0,1DB 7CH,0AH,-1,0DB 5FH,0AH,0,-1 ;-ROW DB 20COL DB 10T0 DB 0T1 DB 0T2 DB 0T3 DB 0T4 DB 0T5 DB 0;-DATA ENDSDO_WAIT: MOV AH,1INT 16HJZ NO_KEYYES_KEY: MOV AH,0INT 16HCMP AL,1BHJNZ NO_KEYCALL EXITNO_KEY: CALL READ_TIMECA

9、LL CONVERT_ASCIIMOV AX,0A2eHMOV CX,092BHCALL DISPLAYMOV CH,0AHCALL DISPLAYMOV CL,21HCALL DISPLAYMOV CH,09HCALL DISPLAY CALL MOVEJMP DO_WAITEXIT: MOV TEMP1,0000HMOV TEMP2,184FHMOV BH,0FHCALL CLR_SCREENRETMAIN ENDPREAD_TIME PROC NEAR ;读取时间时分秒MOV AH,02HINT 1AHMOV H_REG,CHMOV M_REG,CLMOV S_REG,DHRETREAD

10、_TIME ENDPCONVERT_ASCII PROC NEAR;-以下为时分秒值转化为 LED 信号-MOV AL,H_REGAND AL,0F0HMOV CL,4ROR AL,CLADD AL,30HMOV LED1,AL ;给时针十位数赋值MOV AL,H_REGAND AL,0FHADD AL,30HMOV LED2,AL ;给时针个位数赋值MOV AL,M_REGAND AL,0F0HMOV CL,4ROR AL,CLADD AL,30HMOV LED4,AL ;给分针十位数赋值MOV AL,M_REGAND AL,0FHADD AL,30HMOV LED5,AL ;给分针个位数赋

11、值MOV AL,S_REGAND AL,0F0HMOV CL,4ROR AL,CLADD AL,30HMOV LED7,AL ;给秒针十位数赋值MOV AL,S_REGAND AL,0FHADD AL,30HMOV LED8,AL ;给秒针个位数赋值MOV LED3,3AHMOV LED6,3AHRETDISPLAY PROC NEARPUSH BXPUSH CXPUSH AXMOV AL,160MUL CHMOV BL,CLROL BL,1MOV BH,0ADD BX,AXPOP AXMOV ES:WD_BUFFER+BX,AXPOP CXPOP BXRETDISPLAY ENDPDISPL

12、AY_TIME1: MOV AL,BXMOV AH,1EHCALL DISPLAYINC CXINC BXDEC R0JNZ DISPLAY_TIME1RETDISPLAY_TIME ENDPCLR_SCREEN PROC NEARMOV AH,06HMOV CX,TEMP1MOV DX,TEMP2INT 10HMOV AH,02HMOV DH,24HMOV DL,80MOV BH,0INT 10HRETCLR_SCREEN ENDPMOVE PROC NEARLEA BX,LED8MOV CX,0832HCALL COMPARELEA BX,LED7MOV CX,082EHCALL COMP

13、ARELEA BX,LED5MOV CX,0828HCALL COMPARELEA BX,LED4MOV CX,0824HCALL COMPARELEA BX,LED2MOV CX,081EHCALL COMPARELEA BX,LED1MOV CX,081AHCALL COMPARERETMOVE ENDPCOMPARE PROC NEARMOV AL,BXCMP AL,30HJNZ Y1LEA DI,F0CALL XIANSHIY1: CMP AL,31HJNZ Y2LEA DI,F1CALL XIANSHIY2: CMP AL,32HJNZ Y3LEA DI,F2CALL XIANSHI

14、Y3: CMP AL,33HJNZ Y4LEA DI,F3CALL XIANSHIY4: CMP AL,34HJNZ Y5LEA DI,F4CALL XIANSHIY5: CMP AL,35HJNZ Y6LEA DI,F5CALL XIANSHIY6: CMP AL,36HJNZ Y7LEA DI,F6CALL XIANSHIY7: CMP AL,37HJNZ Y8LEA DI,F7CALL XIANSHIY8: CMP AL,38HJNZ Y9LEA DI,F8CALL XIANSHIY9: CMP AL,39HJNZ Y10LEA DI,F9CALL XIANSHIY10: RETCOMPARE ENDPXIANSHI PROC NEARMOV DX,7ADD DI,4S: MOV AL,DIADD CL,ALDEC DIMOV AL,DIADD CH,ALDEC DIMOV AH,DIDEC DIMOV AL,DICALL DISPLAYADD DI,7DEC DXJNZ SRETXIANSHI ENDPPROGRAM ENDSEND START 五、运行结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报