- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
.
.
西南科技大学微机原理课程设计
题目 电子实时时钟软件设计
任务
Date YYYY:MM:DDTimeHH:MM:SSBeep On/Off
Date YYYY:MM:DD
Time
HH:MM:SS
Beep On/Off
HH:MM:SS
Meter
00:00:00:00
M
M
M
M
基本要求
可通过M键切换显示模式:日期(年、月、日)、时间(小时、分、秒)、秒表(小时、分、秒、1/100秒)、闹钟(小时、分)。
在秒表显示模式,可通过I键切换(启动/暂停)计时,当暂停计时时可通过A键复位。
在闹钟显示模式,有两种输入方式
方式一:直接按格式输入时间
方式二:可通过A键依次使On/Off标志、小时、分、秒闪烁或变色,这时可通过I键切换On/Off标志或加1调整。
可通过esc键结束程序。
扩展要求
在日期显示模式,可通过A键依次使年、月、日闪烁或变色,这时可通过I键加1调整。
在时间显示模式,可通过A键依次使小时、分、秒闪烁或变色,这时可通过I键加1调整。
调整和秒表操作不影响日期和时间的准确性。
自定义的其它扩展功能
说明:本程序为西科微机原理课程设计题目,下面的代码只实现了基本要求部分,并且秒表还存在部分问题(秒表模式修改了定时器0,结束后对时间略有影响,测试闹钟时可以直接在秒表模式下,按q键跳过秒表模式),代码仅供参考,欢迎对其繁琐处进行修改,调试。
各部分程序流程图:
该过程与代码略有不同,处理on/off 位是后来添加的代码,流程图没有加入
DATA SEGMENT
UIS DB 0DH,0AH,10 dup(0),50 DUP(*),$
UIE DB 0DH,0AH,10 dup(0),50 DUP(*),$;界面字符
MSG1 DB THE DATA IS $
MSG2 DB THE TIME IS $
MSGIN DB PLEASE CHOOSE INPUT METHODS:,0DH,0AH
DB 21 DUP( ),PRESS A FOR A/I METHOD,OR FOR DIRECT METHOD$
MSGDIR DB PLEASE INPUT LIKE THIS: OO:00,0DH,0AH
DB 21 DUP( ),PRESS ENTER TO CONFIRM $
MSGWARN DB ERROR!PLEASE ENTER AGAIN$
MSGAI DB PRESS a TO CHANGE POSITION ,0DH,0AH
DB 21 DUP( ),i TO CHANGE VALUE,ENTER TO CONFIRM $
MSGSEC DB PRESS i TO START AND STOP ,0DH,0AH
DB 21 DUP( ),q TO QUIT,a TO CLEAR IF IT HAS STOPED $
NULINE DB 25 DUP(?),$ ;清空行
KSBUF DB 6,0,6 DUP(?)
KEYNUM DB ?
MODE DB ?
DAY DB ?
MON DB ?
YEAR DW ?
SEC DB ?
MSEC DB ?
MIN DB ?
HOUR DB ?
BEEPHOUR DB 0 ,0
BEEPMIN DB 0,0
SWIOFF DB FF$
SWION DB N $
SETSTR DB 00:00 OFF/ON,$
WSTR DB 00:00:00 ,$
BFLAG DB 0
SFLAG DB 0
INISEG DW 0
INIOFF DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
CALL CLEAR
CALL CREATUI
MOV MODE,0
CALL SOUND
AGAIN: CALL REFRESH ;刷新时间日期
;******BFALG 为闹钟与秒表标志位。下面为处理闹钟
CMP BFLAG,0
JE SETMOU
CMP BFLAG,1
JNE CRING
CALL CHESTART
JMP SETMOU
CRING: CALL CHESTOP
JMP SETMOU
JMAGAN: JMP AGAIN ;二级跳转
SETMOU: MOV DX,0815H
MOV AH,02
MOV BH,0
INT 10H ;设置光标
;模式判断***********
CMP MODE,0
JE MODE0
CMP MODE,1
JE MODE1
文档评论(0)