1、密码锁设计 P110,

新建Proteus图,命名为ProteusChallenge01
新建Keil项目,命名为KeilChallenge01

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、基于PWM的可调光台灯设计 P131,

新建Protues图,命名为ProteusChallenge02
新建Keil项目,命名为KeilChallenge02

在这里插入图片描述

添加电压表和3个电源端口

在这里插入图片描述

在这里插入图片描述
放置3个电源端口
在这里插入图片描述
在这里插入图片描述

完整效果图

在这里插入图片描述

3、动态密码获取系统设计 P210,

新建Proteus图,命名为ProteusChallenge03
新建Keil项目,命名为KeilChallenge03

在这里插入图片描述

效果

在这里插入图片描述

如果两者一致,则验证通过,用户获得相应的访问权限或完成相关操作;
如果不一致,则验证失败,系统可根据设定进行相应的提示或采取其他安全措施。

下面以基于时间同步的动态密码获取系统为例来说明程序的编写。图7.33所示为一种简易的单片机动密码获取系统电路图。


(1) 密码模式说明

  1. 时 分模式
  2. 月 日模式
  3. 日 分模式
  4. 月 时模式

(2) 测试密码输入

上电默认为时分模式,默认密码 1111,此时只有数字键、撤销键和确认键可用,4位密码输入完成后,按下确认键。

(3) 测试修改密码

  1. 按下修改密码按键
  2. 输入原密码
  3. 输入新密码
  4. 确认

(4) 测试修改密码模式

  1. 按下修改密码模式按键
  2. 输入密码
  3. 设置模式(此时只有1234号键可以用)
  4. 确认

当电路正常运行时,D1闪烁。DS1302用于存储实时时间,作为动态密码的参考,单片机会周期性地读取DS1302的时间,再通过LCD屏显示出来。报警系统通过NPN三极管控制蜂鸣器接到单片机的P1.7引脚上,当引脚为高电平时开启蜂鸣器,为低电平时关闭蜂鸣器。用户界面为按键矩阵,用于密码输入、密码修改和密码模式的修改,以数字作为密码组成部分。继电器电路控制门的开关,当D2灯亮时表示开锁,D2灯灭时表示关锁。

在输入密码模式下,默认原始密码为 1111,动态密码为原始密码+动态显示的时和分,当密码输入正确时开门;修改密码需要先输入正确密码,再设定新的原始密码;密码模式主要分为4种:时和分、时和日、日和分、月和时,分别对应1、2、3、4,按下修改密码模式按键后,输入正确密码后按下密码模式相对应的数字即可修改,单片机复位后默认密码模式为时和分。修改密码模式一:按下修改随机密码的模式,如输入1,表示时分模式,则动态密码为原密码位数加上时间的时和分数值,例如,当前时间为 20:16,原始密码为 1111,则在 20:16 这个时间内输入动态密码为 3127,则可以解锁,输入其他密码则解锁失败。图7.33所示为动态密码获取系统原理仿真电路图。

页码:211

4、数码管时钟系统设计 P228,

新建Proteus图,命名为ProteusChallenge04
新建Keil项目,命名为KeilChallenge04

在这里插入图片描述

7.5.2 数码管时钟系统设计(上图需要实现的效果)

利用74HC595串行数据控制数码管,减少I/O口使用,实现以下功能:数码管显示时和分,拨码开关按下可进入时间设置,8个LED每秒闪烁一次,整点时蜂鸣器响。

(1) 功能需求

  1. 数字报时时钟具有整点报时、半点提醒、对时功能。
  2. 报时时钟外设:2个LED数码管,8个LED,1个蜂鸣器,2个按钮,1个拨码开关。

(2) 数码管

  1. 2个数码管用于显示当前时或分,数值用10进制表示。
  2. 时的范围为00~11,分的范围为00~59
  3. 时钟正常工作状态下,数码管常亮。
  4. 时钟设置状态下,数码管闪烁显示,每秒亮灭一次(亮0.5 s,灭0.5 s)。

(3) LED(LED0 ~ LED7)

  1. 时钟正常工作时,8个LED每秒亮灭一次(亮0.5 s,灭0.5 s)。
  2. 半点报时:8个LED全灭→LED4、LED3亮→LED4、LED3灭,LED5、LED2亮→LED5、LED2灭,LED2、LED1亮→LED2、LED1灭,LED1、LED0亮→8个LED全灭,循环重复执行3次。
  3. 时钟设置状态:设定小时数值时8个LED全灭;设定分钟数值时8个LED全亮。

(4) 蜂鸣器

  1. 到达整点时蜂鸣器启动报时。
  2. 发声形式为“滴—滴”声响,发声次数等于当前小时数,00时统一响12次。

(5) 拨码开关

  1. 作用:进入/退出时间设置状态。
  2. 默认接高电平,时钟处于正常工作模式。
  3. 拨至低电平,进入时间设置模式,可修改时分数值。
  4. 拨回高电平,退出设置模式,恢复正常走时,禁止修改时间。

(6) 按键(键1、键2)

  1. 进入设置状态后,默认闪烁显示分钟,8个LED全亮。
  2. 设置模式:
    • 键1:时分切换(LED全亮=调分钟;LED全灭=调小时)
    • 键2:时间数值加1,每按一次数值+1
  3. 正常工作模式:
    • 默认显示分钟
    • 按一次键1切换显示小时
    • 3秒内再次按键1切回分钟
    • 3秒无操作自动切回显示分钟

最终效果

在这里插入图片描述

5、波形发送器制作 P244,

在这里插入图片描述

6、数字电压表设计 P259,

新建Proteus图,命名为ProteusChallenge06
新建Keil项目,命名为KeilChallenge06

在这里插入图片描述

7、十字路口交通厅信号系统设计 P290,

8、家居太阳能热水器系统设计 P296。

新建Proteus图,命名为ProteusChallenge08
新建Keil项目,命名为KeilChallenge08

在这里插入图片描述
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐