当前位置: 首页 > news >正文

作业5:案例挑战

文章目录

  • 1、密码锁设计 P110,
  • 2、基于PWM的可调光台灯设计 P131,
  • 3、动态密码获取系统设计 P210,
    • 效果
    • (1) 密码模式说明
    • (2) 测试密码输入
    • (3) 测试修改密码
    • (4) 测试修改密码模式
  • 4、数码管时钟系统设计 P228,
    • 7.5.2 数码管时钟系统设计(上图需要实现的效果)
    • (1) 功能需求
    • (2) 数码管
    • (3) LED(LED0 ~ LED7)
    • (4) 蜂鸣器
    • (5) 拨码开关
    • (6) 按键(键1、键2)
    • 最终效果
  • 5、波形发送器制作 P244,
  • 6、数字电压表设计 P259,
  • 7、十字路口交通厅信号系统设计 P290,
  • 8、家居太阳能热水器系统设计 P296。

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


http://www.jsqmd.com/news/863239/

相关文章:

  • js核心概念
  • vue3+vite+springboot路径配置:维护统一的baseUrl
  • ncmdump终极指南:3步快速解密网易云音乐NCM格式,重获音乐掌控权
  • VSCode 文件搜索 files.exclude 配置如何提升索引速度
  • 3分钟快速上手SketchUp STL插件:从设计到3D打印的完整指南
  • Mos:macOS 鼠标滚轮太生硬?这款免费开源工具让你的滚轮爽如触控板
  • 别再说这是 “又一个 AI Agent 框架” 了
  • 如何解锁NVIDIA显卡隐藏功能:5个简单步骤掌握Profile Inspector
  • AMD Ryzen终极调试指南:免费开源工具SMUDebugTool完全解析
  • 如何实现高效数据解析:百度网盘提取码智能获取技术指南
  • 2026三相温升交直流升流器:现场检修的“移动电源”
  • GitHub中文插件:打破语言壁垒,让代码世界更亲切
  • 索尼IMX811如何重塑工业视觉与专业影像的边界
  • 计算机组成原理笔记(2)
  • 才燊珍重,国曙幸会—复杂用工时代,国曙焕新启航
  • 3分钟实现GitHub界面汉化:浏览器插件让GitHub说中文
  • java springboot-vue的婚庆服务平台的功能设计
  • GLIGEN GUI 数据备份与灾难恢复:AI 创作的安全网
  • 通用GUI编程技术——图形渲染实战(四十五)——D3D12资源与堆管理:从上传到驻留
  • GEO优化的时间窗口期:从流量分发到语义占位的技术范式转移
  • 现代Qt开发教程(新手篇)2.4——QFont 与文本渲染基础
  • 百度网盘提取码智能获取工具:3秒破解资源下载难题的终极方案
  • 如何快速从图表图片中提取数据?WebPlotDigitizer终极使用指南
  • 还有人记得这种古老的语言吗?知道的没几个
  • 无惧极寒酷暑:宽温工控机在极端环境下的硬核坚守
  • BurpSuite实战:存储型XSS上下文识别与CNVD级漏洞验证
  • 华硕笔记本的轻量级遥控器:G-Helper让硬件控制回归简单
  • 嵌入式C++实战第23篇:7 状态消抖状态机 —— 本系列的核心
  • 【无标题】dfgndm,ng,dg,
  • 科技中介机构如何提升服务效率与转化率?