




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动打铃系统设计 姓名 学号 班级 一 设计任务用单片机器件为主体 设计一台自动打铃系统 1 按照设计标准 画出系统框图和系统硬件电路图 2 完成该课题的程序设计 提交程序设计框图及程序设计清单 3 提交课程设计报告 二 设计要求 一 基本要求 1 基本计时和显示功能 用12小时制显示 包括上下午标志 时 分的数字显示 秒信号指示 2 能设置当前时间 含上 下午 时 分 3 能实现基本打铃功能 规定 上午6 00起床铃 打铃5秒 停2秒 再打铃5秒 下午10 30熄灯铃 打铃5秒 停2秒 再打铃5秒 铃声可用小喇叭播放 凡是用到铃声功能的均按此处理 拓展方案 1 增加整点报时功能 整点时响铃5秒 要求有控制启动和关闭功能 2 增加调整起床铃 熄灯铃时间的功能 3 增设上午4节课的上下课打铃功能 规定如下 7 30上课 8 20下课 8 30上课 9 20下课 9 40上课 10 30下课 10 40上课 11 30下课 每次铃声5秒 4 特色和创新自选 三 设计步骤 1 设计能正常工作的一个单片机最小硬件系统 外围电路包括设置键盘 LCD或LED的显示屏 2 进行软件设计 利用单片机系统时钟先设计一个高精度的内部时钟系统 最小精确时间为期1秒 3 在秒计数器的基础上设计一个24小时时钟 并设计若干定时功能 4 设计打铃执行机构 完成自动打铃功能 四 课程设计说明书要求 系统硬件电路图 点击放大 主程序流程图 汇编程序清单 程序名称 51单片机自动打铃系统简要说明 实现24小时制电子钟 8位数码管显示 显示时分秒显示格式 23 59 59 小时十位如果为0则不显示 到预定时间启动蜂鸣器模拟打铃 蜂鸣器BEEP P3 7打铃方式分起床 熄灯铃和上 下课铃两种 系统使用4只按键 3只按键用来调整时间 另一只为强制打铃按钮调整选择键SET KEY P1 0 通过选择键选择调整位 选中位闪烁增加键ADD KEY P1 1 按一次使选中位加1减少键DEC KEY P1 2 按一次使选中位减1如果长按ADD KEY或DEC KEY 识别后则进行调时快进 此时停止闪烁 如果选中位是秒 则按增加键或减少键都是将秒清零强制打铃键DALING KEY P1 3 用来强制打铃或强制关闭铃声P0口输出数码管段选信号 P2口输出数码管位选信号 晶振12M编写程序 如下 BEEPEQUP3 7 定义蜂鸣器 电铃 控制信号输出口ORG0000H 程序入口地址LJMPSTARTORG000BH 定时器0中断入口地址LJMPTIMER 0ORG0300H 程序开始 初始化 START SETBBEEP 关闭蜂鸣器 电铃 SETB48H 使用一个bit位用于调时闪烁标志 SETB47H 使用一个bit位用于产生脉冲用于调时快进时基CLR45H 关闭响铃方式1标志CLR44H 关闭响铃方式2标志MOVR1 0 调整选择键功能标志 0正常走时 1调时 2调分 3调秒MOV20H 00H 用于控制秒基准时钟源的产生MOV21H 00H 清零秒寄存器MOV22H 00H 清零分寄存器MOV23H 00H 清零时寄存器 MOV24H 00H 用于控制调时闪烁的基准时钟的产生MOVIP 02H IP IE初始化MOVIE 82HMOVTMOD 01H 设定定时器0工作方式1MOVTH0 3CHMOVTL0 0B0H 赋定时初值 定时50msSETBTR0 启动定时器0MOVSP 40H 重设堆栈指针 主程序 MAIN CJNER1 00H MAIN1 是否为正常走时状态LCALLBIJIAO1 调用起床 熄灯打铃比较子程序LCALLBIJIAO2 调用上 下课打铃比较子程序LCALLDALING1 调用响铃方式1执行子程序LCALLDALING2 调用响铃方式2执行子程序MAIN1 LCALLDISPLAY 调用显示子程序 LCALLKEY SCAN 调用按键检测子程序JZMAIN 无键按下则返回重新循环LCALLSET KEY 调用选择键处理子程序JB46H MAIN 如果已进行长按调整 调时快进 则不再执行下面的单步调整LCALLADD KEY 调用增加键处理子程序LCALLDEC KEY 调用减少键处理子程序LCALLDALING KEY 处理强制打铃 强制关闭铃声键 LJMPMAIN 重新循环 定时中断服务程序 TIMER 0 PUSHACCPUSHPSW 保护现场MOVTH0 3CHMOVTL0 0B0H 重新赋定时初值CPL47H 产生脉冲用于调时快进时基INC24HMOVA 24H CJNEA 10 ADD TIME 产生0 5秒基准时钟 用于调时闪烁CPL48H 取反调时闪烁标志位MOV24H 00HADD TIME INC20HMOVA 20HCJNEA 20 RETI1 产生1秒基准时钟MOV20H 00H 一秒钟时间到 清零20HMOVA 21HADDA 01H DAA 作十进制调整MOV21H ACJNEA 60H RETI1MOV21H 00H 一分钟到MOVA 22HADDA 01HDAAMOV22H ACJNEA 60H RETI1MOV22H 00H 一小时到MOVA 23H ADDA 01HDAAMOV23H ACJNEA 24H RETI1MOV23H 00H 到24点 清零小时RETI1 POPPSWPOPACC 恢复现场RETI 中断返回 显示处理 DISPLAY MOVA 21H 秒 ANLA 0FHMOV2FH A 转换出秒个位 存入2FHMOVA 21HANLA 0F0HSWAPAMOV2EH A 转换出秒十位 存入2EHJB46H MIN 如果长按按键 调时快进 则跳过闪烁处理CJNER1 3 MIN 如果R1为3 闪烁秒位待调整JB48H MINMOV2FH 0AH 使该位为10 查表得到使该位不显示的输出 MOV2EH 0AHMIN MOVA 22H 分ANLA 0FHMOV2DH A 转换出分个位 存入2DHMOVA 22HANLA 0F0HSWAPAMOV2CH A 转换出分十位 存入2CHJB46H HOUR 如果长按按键 调时快进 则跳过闪烁处理 CJNER1 2 HOUR 如果R1为2 闪烁分位待调整JB48H HOURMOV2DH 0AH 使该位为10 查表得到使该位不显示的输出MOV2CH 0AHHOUR MOVA 23H 时ANLA 0FHMOV2BH A 转换出时个位 存入2BHMOVA 23H ANLA 0F0HSWAPAMOV2AH A 转换出时十位 存入2AHJB46H DISP 如果长按按键 调时快进 则跳过闪烁处理CJNER1 1 DISP 如果R1为1 闪烁时位待调整JB48H DISPMOV2BH 0AH 使该位为10 查表得到使该位不显示的输出MOV2AH 0AH 数码管动态扫描显示 DISP MOVDPTR TABLEMOVA 2FHMOVCA A DPTRMOVP0 ACLRP2 7LCALLDELAYSETBP2 7 显示秒个位MOVA 2EHMOVCA A DPTRMOVP0 ACLRP2 6 LCALLDELAYSETBP2 6 显示秒十位MOVA 0BFHMOVP0 ACLRP2 5LCALLDELAYSETBP2 5 显示 MOVA 2DHMOVCA A DPTRMOVP0 ACLRP2 4 LCALLDELAYSETBP2 4 显示分个位MOVA 2CHMOVCA A DPTRMOVP0 ACLRP2 3LCALLDELAYSETBP2 3 显示分十位MOVA 0BFHMOVP0 ACLRP2 2 LCALLDELAYSETBP2 2 显示 MOVA 2BHMOVCA A DPTRMOVP0 ACLRP2 1LCALLDELAYSETBP2 1 显示时个位MOVDPTR TABLE1 该位使用TABLE1以消除前置0MOVA 2AH MOVCA A DPTRMOVP0 ACLRP2 0LCALLDELAYSETBP2 0 显示时十位RET 按键检测子程序 KEY SCAN CLR46H 关闭长按调整 调时快进 标志MOVP1 0FFH 将P1口设置成输入状态 MOVA P1CPLAANLA 0FH P1口低4位连接4个按键 只判断该4位JZEXIT KEY 无键按下则返回LCALLDELAY 延时去抖动MOVA P1 重新判断CPLAANLA 0FHJZEXIT KEY 键盘去抖动MOVR5 A 临时将键值存入R5 MOVR4 00H 用于控制调时快进速度 设置为00H是为了在进入长按处理前加长延时区分用户的长按与短按 防止误快进LOOP 进入长按处理LCALLDISPLAY 使长按时显示正常MOVA P1CPLAANLA 0FHJB47H LOOP1INCR4 调时快进间隔时间基准加1 LOOP1 CJNER1 03H LOOP2 如果调秒时长按 则不处理LJMPLOOP3LOOP2 CJNER4 99H LOOP3MOVR4 70H 确认用户长按后 重新设定起始值 加快调时快进速度SETB46H 长按调整 调时快进 标志LCALLADD KEYLCALLDEC KEYLOOP3 JNZLOOP 等待键释放MOVA R5 输出键值RETEXIT KEY RET 延时子程序 DELAY MOVR7 150DJNZR7 RET 选择键处理子程序 SET KEY CJNER5 01H EXIT 选择键键值 INCR1 调整选择功能标志加一SETBBEEPCJNER1 4 EXITMOVR1 0MOV24H 00H 调时闪烁基准清零RET 增加键处理子程序 ADD KEY CJNER5 02H EXIT 增加键键值CJNER1 01H NEXT1 选择键功能标志为1 调时 否则跳出 MOVA 23HADDA 01HDAAMOV23H ACJNEA 24H EXITMOV23H 00HNEXT1 CJNER1 02H NEXT2 选择键功能标志为2 调分 否则跳出MOVA 22HADDA 01HDAAMOV22H A CJNEA 60H EXITMOV22H 00HNEXT2 CJNER1 03H EXIT 选择键功能标志为3 调秒 否则跳出MOV21H 00H 如增加键按下直接清零秒RET 减少键处理子程序 DEC KEY CJNER5 04H EXIT 减少键键值CJNER1 01H NEXT3 选择键功能标志为1 调时 否则跳出 MOVA 23HADDA 99HDAAMOV23H ACJNEA 99H EXITMOV23H 23HNEXT3 CJNER1 02H NEXT4 选择键功能标志为2 调分 否则跳出MOVA 22H ADDA 99HDAAMOV22H ACJNEA 99H EXITMOV22H 59HNEXT4 CJNER1 03H EXIT 选择键功能标志为3 调秒 否则跳出MOV21H 00H 如较少键按下直接清零秒RET 强制响铃键处理子程序 DALING KEY CJNER5 08H EXIT 选择键键值CPLBEEPRET 万用返回程序 EXIT RET 数码管字形编码表 TABLE DB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 0FFH 字形显示编码 TABLE1 DB0FFH 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 0FFH 小时位的十位数编码 该位如果为0则不显示 打铃时间对比程序 起床 熄灯 BIJIAO1 MOVA 23HCJNEA 06H B0MOVA 22HCJNEA 00H B0 6 00到 SETB45H 开启响铃方式1RETB0 MOVA 23HCJNEA 22H EXIT 1MOVA 22HCJNEA 30H EXIT 1 22 30到SETB45H 开启响铃方式1RETEXIT 1 CLR45HRET 打铃时间对比程序 上 下课 BIJIAO2 MOVA 23HCJNEA 07H B1MOVA 22HCJNEA 30H B1 7 30SETB44H 开启响铃方式2RETB1 MOVA 23HCJNEA 08H B2MOVA 22HCJNEA 20H B2 8 20 SETB44HRETB2 MOVA 23HCJNEA 08H B3MOVA 22HCJNEA 30H B3 8 30SETB44HRETB3 MOVA 23HCJNEA 09H B4MOVA 22HCJNEA 20H B4 9 20 SETB44HRETB4 MOVA 23HCJNEA 09H B5MOVA 22HCJNEA 40H B5 9 40SETB44HRETB5 MOVA 23HCJNEA 10H B6MOVA 22HCJNEA 30H B6 10 30SETB44H RETB6 MOVA 23HCJNEA 10H B7MOVA 22HCJNEA 40H B7 10 40SETB44HRETB7 MOVA 23HCJNEA 11H EXIT 2MOVA 22HCJNEA 30H EXIT 2 11 30SETB44H RETEXIT 2 CLR44HRET 响铃方式1程序 响5秒停2秒再响5秒 DALING1 JNB45H EXI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宜昌市消防救援支队政府专职消防员招聘48人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025辽渔集团有限公司拟聘人员笔试历年参考题库附带答案详解
- 2025春季厦门银行校园招聘模拟试卷及参考答案详解
- 2025福建长乐区建设发展集团有限公司相关岗位招聘1人(第三批)笔试历年参考题库附带答案详解
- 2025福建福州捕电科技有限公司招聘12人笔试历年参考题库附带答案详解
- 2025湖南中烟工业有限责任公司博士研究生招聘拟录用人员笔试历年参考题库附带答案详解
- 2025冕宁县人民医院考核招聘编制外康复技师6人模拟试卷及答案详解(典优)
- 2025年湖北襄阳东津创业投资有限公司社会招聘拟聘用人员笔试历年参考题库附带答案详解
- 2025四川长虹杰创锂电科技有限公司招聘设备工程师岗位1人笔试历年参考题库附带答案详解
- 2025河北保定市雄安新区雄县事业单位招聘89人模拟试卷及答案详解(有一套)
- 物资编码基础知识
- 管桩试桩方案
- 血液科医师晋升副(主)任医师难治性伯基特淋巴瘤病例分析专题报告
- 癌性疼痛中西医结合诊疗指南
- 冷库建设工程施工进度计划及保证措施
- 建筑设计行业2024年财务挑战解析
- 慢性病防治健康教育知识讲座
- 中国石化加油站视觉形象(VI)标准手册-课件
- 小学数学新旧知识关联
- 退费账户确认书
- 国家开放大学《政治学原理》章节自检自测题参考答案
评论
0/150
提交评论