汇编语言程序设计袁全清.docx
- 文档编号:12677912
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:16
- 大小:33.48KB
汇编语言程序设计袁全清.docx
《汇编语言程序设计袁全清.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计袁全清.docx(16页珍藏版)》请在冰豆网上搜索。
汇编语言程序设计袁全清
汇编语言课程设计报告
课题:
设计时钟显示程序
指导老师:
袁全清
学部:
信息科学与技术学部专业班级:
10软件工程
(1)班
学号:
汇编程序设计报告
一、任务及要求:
任务:
编程设计时实时钟(数字、模拟均可)
要求:
数字尽量大,颜色应鲜艳,程序尽量少。
二、程序设计的分析
1、时钟的获取:
1用软中断INT1AH
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中的数据
MOVAH,2CH
INT21H;通过2ch号DOS调用,获得时间信息
MOVAL,CH;小时
LEASI,HOUR
CALLPL
2、时钟的显示
7段显示
如右图,由三横线和四竖线组成。
每条线需要显示时,每一方块的ASCII码为219;不需显示时,方块的ASCII码为32。
由此7段显示和不显示的组合,形成0—9的数字。
显示横线:
先定位左边位置,显示数个方块
显示竖线:
数次定位每行位置并显示一个方块
三、程序流程图如下:
ZF=0
COMPATREPROCNEAR
STATR
LEADL,B0
CALLSHOW
CMPAL,30H
JNZY1
NY
四.完整程序
STACKSEGMENTSTACK'STACK'
DB1024DUP(0)
STACKENDS
DATASEGMENT
BWORDEQUTHISBYTE
R0DW(0)
R1DW(0)
R2DW(0)
R3DW(0)
R4DW(0)
R5DW(0)
R6DW(0)
R7DW(0)
;
TEMP1DW(0)
TEMP2DW(0)
TEMP3DW(0)
TEMP4DW(0)
;
LED1DB(0);时针十位显示
LED2DB(0);时针个位显示
LED3DB(0)
LED4DB(0);分针十位显示
LED5DB(0);分针个位显示
LED6DB(0)
LED7DB(0);秒针十位显示
LED8DB(0);秒针个位显示
S_REGDB(0)
M_REGDB(0)
H_REGDB(0)
;---1-9个数字的显示方式-------------
F0DB0
DB5FH,0AH,0,0
DB7CH,0AH,1,-1
DB7CH,0AH,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0,0,-1;中间段
F1DB0
DB5FH,0,0,0;0灭
DB7CH,0,1,-1;0AH亮
DB7CH,0,1,0
DB5FH,0,0,1
DB7CH,0AH,0,1;中上
DB7CH,0AH,-1,0;中下
DB5FH,0,0,-1
F2DB0
DB5FH,0AH,0,0
DB7CH,0,1,-1;左上
DB7CH,0AH,1,0
DB5FH,0AH,0,1
DB7CH,0,0,1;左下
DB7CH,0AH,-1,0
DB5FH,0AH,0,-1
F3DB0
DB5FH,0AH,0,0
DB7CH,0,1,-1
DB7CH,0,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0AH,0,-1
F4DB0
DB5FH,0,0,0
DB7CH,0AH,1,-1
DB7CH,0,1,0
DB5FH,0,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0AH,0,-1
F5DB0
DB5FH,0AH,0,0
DB7CH,0AH,1,-1
DB7CH,0,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0,-1,0
DB5FH,0AH,0,-1
F6DB0
DB5FH,0AH,0,0
DB7CH,0AH,1,-1
DB7CH,0AH,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0,-1,0
DB5FH,0AH,0,-1
F7DB0
DB5FH,0AH,0,0
DB7CH,0,1,-1
DB7CH,0,1,0
DB5FH,0,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0,0,-1
F8DB0
DB5FH,0AH,0,0
DB7CH,0AH,1,-1
DB7CH,0AH,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0AH,0,-1
F9DB0
DB5FH,0AH,0,0
DB7CH,0AH,1,-1
DB7CH,0,1,0
DB5FH,0AH,0,1
DB7CH,0AH,0,1
DB7CH,0AH,-1,0
DB5FH,0AH,0,-1
;------------------------------------
ROWDB20
COLDB10
T0DB0
T1DB0
T2DB0
T3DB0
T4DB0
T5DB0
;------------------------------------
DATAENDS
DO_WAIT:
MOVAH,1
INT16H
JZNO_KEY
YES_KEY:
MOVAH,0
INT16H
CMPAL,1BH
JNZNO_KEY
CALLEXIT
NO_KEY:
CALLREAD_TIME
CALLCONVERT_ASCII
MOVAX,0A2eH
MOVCX,092BH
CALLDISPLAY
MOVCH,0AH
CALLDISPLAY
MOVCL,21H
CALLDISPLAY
MOVCH,09H
CALLDISPLAY
CALLMOVE
JMPDO_WAIT
EXIT:
MOVTEMP1,0000H
MOVTEMP2,184FH
MOVBH,0FH
CALLCLR_SCREEN
RET
MAINENDP
READ_TIMEPROCNEAR;读取时间时分秒
MOVAH,02H
INT1AH
MOVH_REG,CH
MOVM_REG,CL
MOVS_REG,DH
RET
READ_TIMEENDP
CONVERT_ASCIIPROCNEAR
;-----以下为时分秒值转化为LED信号----
MOVAL,H_REG
ANDAL,0F0H
MOVCL,4
RORAL,CL
ADDAL,30H
MOVLED1,AL;给时针十位数赋值
MOVAL,H_REG
ANDAL,0FH
ADDAL,30H
MOVLED2,AL;给时针个位数赋值
MOVAL,M_REG
ANDAL,0F0H
MOVCL,4
RORAL,CL
ADDAL,30H
MOVLED4,AL;给分针十位数赋值
MOVAL,M_REG
ANDAL,0FH
ADDAL,30H
MOVLED5,AL;给分针个位数赋值
MOVAL,S_REG
ANDAL,0F0H
MOVCL,4
RORAL,CL
ADDAL,30H
MOVLED7,AL;给秒针十位数赋值
MOVAL,S_REG
ANDAL,0FH
ADDAL,30H
MOVLED8,AL;给秒针个位数赋值
MOVLED3,3AH
MOVLED6,3AH
RET
DISPLAYPROCNEAR
PUSHBX
PUSHCX
PUSHAX
MOVAL,160
MULCH
MOVBL,CL
ROLBL,1
MOVBH,0
ADDBX,AX
POPAX
MOVES:
[WD_BUFFER+BX],AX
POPCX
POPBX
RET
DISPLAYENDP
DISPLAY_TIME1:
MOVAL,[BX]
MOVAH,1EH
CALLDISPLAY
INCCX
INCBX
DECR0
JNZDISPLAY_TIME1
RET
DISPLAY_TIMEENDP
CLR_SCREENPROCNEAR
MOVAH,06H
MOVCX,TEMP1
MOVDX,TEMP2
INT10H
MOVAH,02H
MOVDH,24H
MOVDL,80
MOVBH,0
INT10H
RET
CLR_SCREENENDP
MOVEPROCNEAR
LEABX,LED8
MOVCX,0832H
CALLCOMPARE
LEABX,LED7
MOVCX,082EH
CALLCOMPARE
LEABX,LED5
MOVCX,0828H
CALLCOMPARE
LEABX,LED4
MOVCX,0824H
CALLCOMPARE
LEABX,LED2
MOVCX,081EH
CALLCOMPARE
LEABX,LED1
MOVCX,081AH
CALLCOMPARE
RET
MOVEENDP
COMPAREPROCNEAR
MOVAL,[BX]
CMPAL,30H
JNZY1
LEADI,F0
CALLXIANSHI
Y1:
CMPAL,31H
JNZY2
LEADI,F1
CALLXIANSHI
Y2:
CMPAL,32H
JNZY3
LEADI,F2
CALLXIANSHI
Y3:
CMPAL,33H
JNZY4
LEADI,F3
CALLXIANSHI
Y4:
CMPAL,34H
JNZY5
LEADI,F4
CALLXIANSHI
Y5:
CMPAL,35H
JNZY6
LEADI,F5
CALLXIANSHI
Y6:
CMPAL,36H
JNZY7
LEADI,F6
CALLXIANSHI
Y7:
CMPAL,37H
JNZY8
LEADI,F7
CALLXIANSHI
Y8:
CMPAL,38H
JNZY9
LEADI,F8
CALLXIANSHI
Y9:
CMPAL,39H
JNZY10
LEADI,F9
CALLXIANSHI
Y10:
RET
COMPAREENDP
XIANSHIPROCNEAR
MOVDX,7
ADDDI,4
S:
MOVAL,[DI]
ADDCL,AL
DECDI
MOVAL,[DI]
ADDCH,AL
DECDI
MOVAH,[DI]
DECDI
MOVAL,[DI]
CALLDISPLAY
ADDDI,7
DECDX
JNZS
RET
XIANSHIENDP
PROGRAMENDS
ENDSTART
五、运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 袁全清