作业5:案例挑战 文章目录1、密码锁设计 P1102、基于PWM的可调光台灯设计 P1313、动态密码获取系统设计 P210效果(1) 密码模式说明(2) 测试密码输入(3) 测试修改密码(4) 测试修改密码模式4、数码管时钟系统设计 P2287.5.2 数码管时钟系统设计上图需要实现的效果(1) 功能需求(2) 数码管(3) LED(LED0 ~ LED7)(4) 蜂鸣器(5) 拨码开关(6) 按键(键1、键2)最终效果5、波形发送器制作 P2446、数字电压表设计 P2597、十字路口交通厅信号系统设计 P2908、家居太阳能热水器系统设计 P296。1、密码锁设计 P110新建Proteus图命名为ProteusChallenge01新建Keil项目命名为KeilChallenge012、基于PWM的可调光台灯设计 P131新建Protues图命名为ProteusChallenge02新建Keil项目命名为KeilChallenge02添加电压表和3个电源端口放置3个电源端口完整效果图3、动态密码获取系统设计 P210新建Proteus图命名为ProteusChallenge03新建Keil项目命名为KeilChallenge03效果如果两者一致则验证通过用户获得相应的访问权限或完成相关操作如果不一致则验证失败系统可根据设定进行相应的提示或采取其他安全措施。下面以基于时间同步的动态密码获取系统为例来说明程序的编写。图7.33所示为一种简易的单片机动密码获取系统电路图。(1) 密码模式说明时 分模式月 日模式日 分模式月 时模式(2) 测试密码输入上电默认为时分模式默认密码1111此时只有数字键、撤销键和确认键可用4位密码输入完成后按下确认键。(3) 测试修改密码按下修改密码按键输入原密码输入新密码确认(4) 测试修改密码模式按下修改密码模式按键输入密码设置模式此时只有1234号键可以用确认当电路正常运行时D1闪烁。DS1302用于存储实时时间作为动态密码的参考单片机会周期性地读取DS1302的时间再通过LCD屏显示出来。报警系统通过NPN三极管控制蜂鸣器接到单片机的P1.7引脚上当引脚为高电平时开启蜂鸣器为低电平时关闭蜂鸣器。用户界面为按键矩阵用于密码输入、密码修改和密码模式的修改以数字作为密码组成部分。继电器电路控制门的开关当D2灯亮时表示开锁D2灯灭时表示关锁。在输入密码模式下默认原始密码为1111动态密码为原始密码动态显示的时和分当密码输入正确时开门修改密码需要先输入正确密码再设定新的原始密码密码模式主要分为4种时和分、时和日、日和分、月和时分别对应1、2、3、4按下修改密码模式按键后输入正确密码后按下密码模式相对应的数字即可修改单片机复位后默认密码模式为时和分。修改密码模式一按下修改随机密码的模式如输入1表示时分模式则动态密码为原密码位数加上时间的时和分数值例如当前时间为20:16原始密码为1111则在20:16这个时间内输入动态密码为3127则可以解锁输入其他密码则解锁失败。图7.33所示为动态密码获取系统原理仿真电路图。页码2114、数码管时钟系统设计 P228新建Proteus图命名为ProteusChallenge04新建Keil项目命名为KeilChallenge047.5.2 数码管时钟系统设计上图需要实现的效果利用74HC595串行数据控制数码管减少I/O口使用实现以下功能数码管显示时和分拨码开关按下可进入时间设置8个LED每秒闪烁一次整点时蜂鸣器响。(1) 功能需求数字报时时钟具有整点报时、半点提醒、对时功能。报时时钟外设2个LED数码管8个LED1个蜂鸣器2个按钮1个拨码开关。(2) 数码管2个数码管用于显示当前时或分数值用10进制表示。时的范围为00~11分的范围为00~59。时钟正常工作状态下数码管常亮。时钟设置状态下数码管闪烁显示每秒亮灭一次亮0.5 s灭0.5 s。(3) LED(LED0 ~ LED7)时钟正常工作时8个LED每秒亮灭一次亮0.5 s灭0.5 s。半点报时8个LED全灭→LED4、LED3亮→LED4、LED3灭LED5、LED2亮→LED5、LED2灭LED2、LED1亮→LED2、LED1灭LED1、LED0亮→8个LED全灭循环重复执行3次。时钟设置状态设定小时数值时8个LED全灭设定分钟数值时8个LED全亮。(4) 蜂鸣器到达整点时蜂鸣器启动报时。发声形式为“滴—滴”声响发声次数等于当前小时数00时统一响12次。(5) 拨码开关作用进入/退出时间设置状态。默认接高电平时钟处于正常工作模式。拨至低电平进入时间设置模式可修改时分数值。拨回高电平退出设置模式恢复正常走时禁止修改时间。(6) 按键(键1、键2)进入设置状态后默认闪烁显示分钟8个LED全亮。设置模式键1时分切换LED全亮调分钟LED全灭调小时键2时间数值加1每按一次数值1正常工作模式默认显示分钟按一次键1切换显示小时3秒内再次按键1切回分钟3秒无操作自动切回显示分钟最终效果5、波形发送器制作 P2446、数字电压表设计 P259新建Proteus图命名为ProteusChallenge06新建Keil项目命名为KeilChallenge067、十字路口交通厅信号系统设计 P2908、家居太阳能热水器系统设计 P296。新建Proteus图命名为ProteusChallenge08新建Keil项目命名为KeilChallenge08