自动报时系统设计设计题目实验:自动报时系统设计设计任务:1、时间显示功能。用6位数码管显示时、秒、分。2、用数字键和2个以上功能键来设定用户的作息时间表和当前时间(时、分、秒)3、2个LED指示灯L1、L2来表示输出状态。系统工作原理:作息时间表:第一次报时:08:00开始工作 L1亮2s后灭,L2灭第二次报时:11:30午休 L1亮2s后灭,L2亮1小时后灭第三次报时:12:30下午工作开始L1亮2s后灭,L2灭第四次报时:17:00下班 L1亮2s后灭,L2亮10分钟后灭程序(系统)使用说明,键盘功能定义本系统完成四项功能:即正常走表、修改时间、四个报时、修改四个报时时间。本系统使用了A、B、C、D、SHIFT五个键以及0到9号数字键来修改时间和报时时间,具体按键功能如下:按键名称按键功能SHIFT功能键,进入和退出修改报时时间A修改时间的小时位,修改第一次报时时间(预先按SHIFT键)B修改时间的分钟位,修改第二次报时时间(预先按SHIFT键)C修改时间的秒位,修改第三次报时时间(预先按SHIFT键)D修改第四次报时时间(预先按SHIFT键)0到9号数字键修改时间和修改报时时间时输入数字量系统上电后,可通过A、B、C三个键来选择修改时间。若按下A键则表示要修改时间的小时位,再按数字键来修改;若按下B键则表示要修改时间的分钟位,再按数字键进行修改;若按下C键则表示要修改时间的秒位,再按数字键来修改。以上为调表功能,在按完数字键后,不需要按任何键系统自动根据修改时间正常走表。在修改报时时间时,先按下SHIFT键,表示要修改报时时间。按下SHIFT键后,再按下A键,则第一次报时时间显示出来,按数字键进行修改,按下B键,则第二次报时时间显示出来,按数字键进行修改,按下C键,第三次报时时间显示出来,按数字键进行修改,按下D键,第四次报时时间显示出来,按数字键进行修改,修该完时间后再次按下SHIFT键,则退出修改报时。关于修改报时部分,附加以下说明:按下SHIFT键后,再按A、B、C、D中的键则四次报时时间可以相互切换,再按下SHIFT键则退出(即使不修改报时时间),这方便了解每次报时时间是多少。而对于修改报时时间时,可以只修改小时位(修改完小时位后,可以切换到其他几次报时时间进行修改,也可以按SHIFT键退出),也可以小时和分钟一起修改(修改完后,可以切换到其他几次报时时间进行修改,也可以按SHIFT键退出),若一次修改不满意,可以直接按数字键重新修改,而不需要重新按SHIFT键。程序变量、各子程序名称的地址分配及功能。考虑到所用内存单元的初值都是在程序的开始赋值,在程序中没有用符号来代替,修改时也较容易修改。变量名称地址分配功能30H秒的工作区31H分钟的工作区32H小时的工作区33H是否进入报时的标志(报时时间短)34H是否进入报时的标志(报时时间长)35H第一次报时时间的小时工作区36H第一次报时时间的分钟工作区37H第二次报时时间的小时工作区38H第二次报时时间的分钟工作区39H第三次报时时间的小时工作区3AH第三次报时时间的分钟工作区3BH第四次报时时间的小时工作区3CH第四次报时时间的分钟工作区3DH切换报时时间的标志3EH报时拆分子程序中的计数单元3FH在修改报时时间时,屏蔽正常走表显示Z82790FF82H8279状态命令口地址D82790FF80H8279数据口地址LEDMOD值为10h,右端输入8位字符显示LEDFEQ值为38h,扫描速率分频系数位LEDCLS清除LEDWRO值为90h,设定的将要写入的RAM地址,地址从0000开始,且自动增量为1以下为各子程序名称及功能介绍:子程序名称功能init8279显示20h到27h单元的内容chaifen对30h到32h单元中的内容进行拆分chaifen1对报时时间工作单元的内容进行拆分zixing将拆分后的内容转换成字型码,并放在显示缓冲单元中t0int中断子程序,实现正常的时间累加baoshi判断是否到报时时间hour修改时间的小时位mors修改分钟和秒位xiugai修改报时时间程序流程图说明:在中断服务子程序流程图中,用s代替30H单元,用m代替31H单元,用h代替32H单元键盘处理流程图在xiugai子程序中,若按下SHIFT键,则3DH单元赋值为00H,若按下A键,则3DH单元赋值为01H,若按下B键,则3DH单元赋值为02H,若按下C键,则3DH单元赋值为03H,若按下D键,则3DH单元赋值为04H主程序流程图中断服务程序流程图3、0040hstart:movsp,#60hmov30h,#50h;设置秒的工作区mov31h,#59h;设置分钟的工作区mov32h,#23h;设置小时的工作区mov33h,#00hmov34h,#00hmov35h,#08hm
中共北京林业大学委员会 来自淘豆网m.daumloan.com转载请标明出处.