汇编语言程序设计 袁全清_第1页
汇编语言程序设计 袁全清_第2页
汇编语言程序设计 袁全清_第3页
汇编语言程序设计 袁全清_第4页
汇编语言程序设计 袁全清_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.汇编语言课程设计报告课 题: 设计时钟显示程序 指导老师: 袁全 清 学 部: 信息科学与技术学部 专业班级: 10软件工程(1)班 学 号: 汇编程序设计报告一、任务及要求:任务:编程设计时实时钟(数字、模拟均可)要求:数字尽量大,颜色应鲜艳,程序尽量少。二、程序设计的分析1、时钟的获取: 用软中断INT 1AHAH功能入口参数出口参数说明0读数CX、DX=高、低字AL=0,若时钟未过24双字为(时*60+分)*60+秒)*18.21写数CX、DX=高、低字2读时CHCLDH=时分秒CF=1,时钟未操作均为压缩BCD码3写时CHCLDH=时分秒4读日CXDHDL=年月日5写日CXDHDL=

2、年月日6写铃CHCLDH=时分秒CF=1,时钟未操作或已置响铃允许7请铃请除响铃直接读取CMOS中的数据 MOV AH,2CH INT 21H;通过2ch号DOS调用,获得时间信息 MOV AL,CH;小时 LEA SI,HOUR CALL PL2、时钟的显示7段显示;.如右图,由三横线和四竖线组成。每条线需要显示时,每一方块的ASCII码为219;不需显示时,方块的ASCII码为32。 由此7段显示和不显示的组合,形成09的数字。显示横线:先定位左边位置,显示数个方块显示竖线:数次定位每行位置并显示一个方块开始三、程序流程图如下: MOV AH,1INT 16HJZ NO-KEY ZF=0C

3、ALL NEAD-TIMECALL NEAD-DAYCALL ZHUANCALL DISPLAYEXITCOMPATRE PROC NEARSTATRLEA DL,B0CALL SHOWCMP AL,30HJNZ Y1 N Y四完整程序STACK SEGMENT STACK STACK DB 1024 DUP (0)STACK ENDSDATA SEGMENTBWORD 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 D

4、W (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

5、 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,-1F2 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,-1F3 DB 0 DB 5FH,0AH,0,0

6、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,-1F4 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,-1F5 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,

7、0AH,0,-1F6 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,-1F7 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,-1F8 DB 0 DB 5FH,0AH,0,0 DB 7CH,0AH,1,-1 DB 7CH,0AH,1,0 DB 5FH,0AH,0,1 DB

8、7CH,0AH,0,1 DB 7CH,0AH,-1,0 DB 5FH,0AH,0,-1F9 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 20COL DB 10T0 DB 0T1 DB 0T2 DB 0T3 DB 0T4 DB 0T5 DB 0;-DATA ENDSDO_WAIT: MOV AH,1 INT 16H JZ NO_KEYYES_KEY: MOV AH,0 INT 16H CMP AL,1B

9、H JNZ NO_KEY CALL EXITNO_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 RETMAIN ENDPREAD_TIME PROC NEAR ;读取时间时

10、分秒 MOV AH,02H INT 1AH MOV H_REG,CH MOV M_REG,CL MOV S_REG,DH RETREAD_TIME ENDPCONVERT_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 AD

11、D 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 RETDISPLAY PROC NEAR PUSH BX PUSH CX PUSH AX MOV AL,

12、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 RETDISPLAY ENDP DISPLAY_TIME1: MOV AL,BX MOV AH,1EH CALL DISPLAY INC CX INC BX DEC R0 JNZ DISPLAY_TIME1 RETDISPLAY_TIME ENDPCLR_SCREEN PROC NEAR MOV AH,06H MOV CX,TEMP1 MOV DX,TEMP2 INT 10H MOV AH,02H MOV DH

13、,24H MOV DL,80 MOV BH,0 INT 10H RETCLR_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 RETMOV

14、E ENDPCOMPARE PROC NEAR MOV AL,BX CMP AL,30H JNZ Y1 LEA DI,F0 CALL XIANSHIY1: CMP AL,31H JNZ Y2 LEA DI,F1 CALL XIANSHIY2: CMP AL,32H JNZ Y3 LEA DI,F2 CALL XIANSHIY3: CMP AL,33H JNZ Y4 LEA DI,F3 CALL XIANSHIY4: CMP AL,34H JNZ Y5 LEA DI,F4 CALL XIANSHIY5: CMP AL,35H JNZ Y6 LEA DI,F5 CALL XIANSHIY6: CMP AL,36H JNZ Y7 LEA DI,F6 CALL XIANSHIY7: CMP AL,37H JNZ Y8 LEA DI,F7 CALL XIANSHIY8: CMP AL,38H JNZ Y9 LEA DI,F8 CALL XIANSHIY9: CMP AL,39H JNZ Y10 LEA DI,F9 C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论