收藏 分销(赏)

汇编语言程序设计-袁全清讲课稿.doc

上传人:a199****6536 文档编号:3816843 上传时间:2024-07-21 格式:DOC 页数:14 大小:65.50KB 下载积分:8 金币
下载 相关 举报
汇编语言程序设计-袁全清讲课稿.doc_第1页
第1页 / 共14页
汇编语言程序设计-袁全清讲课稿.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
汇编语言程序设计 袁全清 精品资料 汇编语言课程设计报告 课 题: 设计时钟显示程序 指导老师: 袁全 清 学 部: 信息科学与技术学部 专业班级: 10软件工程(1)班 学 号: 汇编程序设计报告 一、任务及要求: 任务:编程设计时实时钟(数字、模拟均可) 要求:数字尽量大,颜色应鲜艳,程序尽量少。 二、程序设计的分析 1、时钟的获取: ① 用软中断INT 1AH AH 功能 入口参数 出口参数 说明 0 读数 CX、DX=高、低字AL=0,若时钟未过24 双字为((时*60+ 分)*60+秒)*18.2 1 写数 CX、DX=高、低字 2 读时 CH\CL\DH=时分秒CF=1,时钟未操作 均为压缩BCD码 3 写时 CH\CL\DH=时分秒 4 读日 CX\DH\DL=年月日 5 写日 CX\DH\DL=年月日 6 写铃 CH\CL\DH=时分秒 CF=1,时钟未操作或已置响铃允许 7 请铃 请除响铃 ②直接读取CMOS中的数据 MOV AH,2CH INT 21H;通过2ch号DOS调用,获得时间信息 MOV AL,CH;小时 LEA SI,HOUR CALL PL 2、时钟的显示 7段显示 仅供学习与交流,如有侵权请联系网站删除 谢谢14 如右图,由三横线和四竖线组成。每条线需要显示时,每一方块的ASCII码为219;不需显示时,方块的ASCII码为32。 由此7段显示和不显示的组合,形成0—9的数字。 显示横线:先定位左边位置,显示数个方块 显示竖线:数次定位每行位置并显示一个方块 开始 三、程序流程图如下: MOV AH,1 INT 16H JZ NO-KEY ZF=0 CALL NEAD-TIME CALL NEAD-DAY CALL ZHUAN CALL DISPLAY EXIT COMPATRE PROC NEAR STATR LEA DL,B0 CALL SHOW CMP AL,30H JNZ Y1 N Y 四.完整程序 STACK SEGMENT STACK 'STACK' DB 1024 DUP (0) STACK ENDS DATA SEGMENT BWORD EQU THIS BYTE R0 DW (0) R1 DW (0) R2 DW (0) R3 DW (0) R4 DW (0) R5 DW (0) R6 DW (0) R7 DW (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 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0,0,-1 ;中间段 F1 DB 0 DB 5FH,0,0,0 ;0灭 DB 7CH,0,1,-1 ;0AH亮 DB 7CH,0,1,0 DB 5FH,0,0,1 DB 7CH,0AH,0,1 ;中上 DB 7CH,0AH,-1,0 ;中下 DB 5FH,0,0,-1 F2 DB 0 DB 5FH,0AH,0,0 DB 7CH,0,1,-1 ;左上 DB 7CH,0AH,1,0 DB 5FH,0AH,0,1 DB 7CH,0,0,1 ;左下 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1 F3 DB 0 DB 5FH,0AH,0,0 DB 7CH,0,1,-1 DB 7CH,0,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1 F4 DB 0 DB 5FH,0,0,0 DB 7CH,0AH,1,-1 DB 7CH,0,1,0 DB 5FH,0,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1 F5 DB 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0,-1,0 DB 5FH,0AH,0,-1 F6 DB 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0,-1,0 DB 5FH,0AH,0,-1 F7 DB 0 DB 5FH,0AH,0,0 DB 7CH,0,1,-1 DB 7CH,0,1,0 DB 5FH,0,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0,0,-1 F8 DB 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1 F9 DB 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0,1,0 DB 5FH,0AH,0,1 DB 7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1 ;------------------------------------ ROW DB 20 COL DB 10 T0 DB 0 T1 DB 0 T2 DB 0 T3 DB 0 T4 DB 0 T5 DB 0 ;------------------------------------ DATA ENDS DO_WAIT: MOV AH,1 INT 16H JZ NO_KEY YES_KEY: MOV AH,0 INT 16H CMP AL,1BH JNZ NO_KEY CALL EXIT NO_KEY: CALL READ_TIME CALL CONVERT_ASCII MOV AX,0A2eH MOV CX,092BH CALL DISPLAY MOV CH,0AH CALL DISPLAY MOV CL,21H CALL DISPLAY MOV CH,09H CALL DISPLAY CALL MOVE JMP DO_WAIT EXIT: MOV TEMP1,0000H MOV TEMP2,184FH MOV BH,0FH CALL CLR_SCREEN RET MAIN ENDP READ_TIME PROC NEAR ;读取时间时分秒 MOV AH,02H INT 1AH MOV H_REG,CH MOV M_REG,CL MOV S_REG,DH RET READ_TIME ENDP CONVERT_ASCII PROC NEAR ;-----以下为时分秒值转化为LED信号---- MOV AL,H_REG AND AL,0F0H MOV CL,4 ROR AL,CL ADD AL,30H MOV LED1,AL ;给时针十位数赋值 MOV AL,H_REG AND AL,0FH ADD AL,30H MOV LED2,AL ;给时针个位数赋值 MOV AL,M_REG AND AL,0F0H MOV CL,4 ROR AL,CL ADD AL,30H MOV LED4,AL ;给分针十位数赋值 MOV AL,M_REG AND AL,0FH ADD AL,30H MOV LED5,AL ;给分针个位数赋值 MOV AL,S_REG AND AL,0F0H MOV CL,4 ROR AL,CL ADD AL,30H MOV LED7,AL ;给秒针十位数赋值 MOV AL,S_REG AND AL,0FH ADD AL,30H MOV LED8,AL ;给秒针个位数赋值 MOV LED3,3AH MOV LED6,3AH RET DISPLAY PROC NEAR PUSH BX PUSH CX PUSH AX MOV AL,160 MUL CH MOV BL,CL ROL BL,1 MOV BH,0 ADD BX,AX POP AX MOV ES:[WD_BUFFER+BX],AX POP CX POP BX RET DISPLAY ENDP DISPLAY_TIME1: MOV AL,[BX] MOV AH,1EH CALL DISPLAY INC CX INC BX DEC R0 JNZ DISPLAY_TIME1 RET DISPLAY_TIME ENDP CLR_SCREEN PROC NEAR MOV AH,06H MOV CX,TEMP1 MOV DX,TEMP2 INT 10H MOV AH,02H MOV DH,24H MOV DL,80 MOV BH,0 INT 10H RET CLR_SCREEN ENDP MOVE PROC NEAR LEA BX,LED8 MOV CX,0832H CALL COMPARE LEA BX,LED7 MOV CX,082EH CALL COMPARE LEA BX,LED5 MOV CX,0828H CALL COMPARE LEA BX,LED4 MOV CX,0824H CALL COMPARE LEA BX,LED2 MOV CX,081EH CALL COMPARE LEA BX,LED1 MOV CX,081AH CALL COMPARE RET MOVE ENDP COMPARE PROC NEAR MOV AL,[BX] CMP AL,30H JNZ Y1 LEA DI,F0 CALL XIANSHI Y1: CMP AL,31H JNZ Y2 LEA DI,F1 CALL XIANSHI Y2: CMP AL,32H JNZ Y3 LEA DI,F2 CALL XIANSHI Y3: CMP AL,33H JNZ Y4 LEA DI,F3 CALL XIANSHI Y4: CMP AL,34H JNZ Y5 LEA DI,F4 CALL XIANSHI Y5: CMP AL,35H JNZ Y6 LEA DI,F5 CALL XIANSHI Y6: CMP AL,36H JNZ Y7 LEA DI,F6 CALL XIANSHI Y7: CMP AL,37H JNZ Y8 LEA DI,F7 CALL XIANSHI Y8: CMP AL,38H JNZ Y9 LEA DI,F8 CALL XIANSHI Y9: CMP AL,39H JNZ Y10 LEA DI,F9 CALL XIANSHI Y10: RET COMPARE ENDP XIANSHI PROC NEAR MOV DX,7 ADD DI,4 S: MOV AL,[DI] ADD CL,AL DEC DI MOV AL,[DI] ADD CH,AL DEC DI MOV AH,[DI] DEC DI MOV AL,[DI] CALL DISPLAY ADD DI,7 DEC DX JNZ S RET XIANSHI ENDP PROGRAM ENDS END START 五、运行结果
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服