51单片机课综合项目

1、按键控制蜂鸣器实验

1、实验现象:下载程序后,按下K1键蜂鸣器发声一次,按下K2键,蜂鸣器连续发声,再次按下K2键,发声取消

2、使用到的外设模块:蜂鸣器模块beep 独立按键模块 key

3、编程框架(参考):

(1)编写蜂鸣器发出报警声函数

(2) 编写独立按键扫描函数,输出按下的键值

(3) 编写主函数

2、计时器实验(数码管显示)

1、实验现象: 下载程序后,数码管显示分-秒-毫秒 格式为:XX-XX-XX

按下K1键,发出短暂提示音,开始计时,再次按下K1键,发出短暂提示音,停止计 时,按下K2键,清零。

2、使用到的外设模块:独立按键模块key、蜂鸣器模块beep、数码管 模块、定时器0中断

3、编程框架(参考):

(1) 编写独立按键扫描函数

(2) 编写蜂鸣器发出提示音函数

(3) 编写数码管显示函数

(4) 编写定时器0中断,实现计时功能

(5) 编写主函数

3、计时器实验(lcd1602液晶显示屏显示)

1、实验现象:

下载程序后,lcd1602显示屏显示分-秒-毫秒 格式为:XX-XX-XX

按下K1键,发出短暂提示音,开始计时,再次按下K1键,发出短暂提示音,停止计

时,按下K2键,清零。

2、使用到的模块:独立按键模块key、蜂鸣器模块beep、lcd1602显示屏、定时器0

中断

3、编程框架(参考):

(1) 编写独立按键扫描函数

(2) 编写蜂鸣器发出提示音函数

(3) 编写lcd16092液晶显示函数

(4) 编写定时器0中断,实现计时功能

(5) 编写主函数

4、lcd1602液晶显示屏,滚动显示

1、实验现象:lcd1602液晶显示屏滚动显示字符串

2、用到的模块:lcd1602液晶显示屏

3、编程框架:

(1)编写lcd1602液晶显示屏初始化函数、清屏函数、显示字符函数

(2)编写主函数

5、串口控制led等和蜂鸣器

1、实验现象:下载程序后,由串口助手以HEX格式向单片机发送如下指令,来控制led

灯和蜂鸣器

指令1: 11 0D 0A D1指示灯亮

指令2: 10 0D 0A D1指示灯灭

指令3: 21 0D 0A 蜂鸣器发声

指令4: 20 0D 0A 蜂鸣器停止发声

2、使用到的模块:蜂鸣器模块、串口通信

3、编程框架(参考):

(1)编写蜂鸣器发声函数

(2)编写串口通信函数

(3)编写主函数

6、红外遥控控制LED和蜂鸣器

1、实验现象:下载程序后,可以在数码管上显示,红外遥控器上的所有键的键值,另外,遥控器上的第1个键控制D1的亮和灭,第2个键可以控制蜂鸣器发声和停止发声

2、所用到的模块:红外遥控器、LED1灯、蜂鸣器、数码管

3、编程框架(参考):

(1)编写数码管显示函数

(2)编写蜂鸣发声函数

(3)编写红外解码函数

(4)编写主函数

7、电子万年历

1、实验现象:

开机时,LCD1602默认显示初始化日历时间和温度值,当按下K1键第1次,进入日期和时间设定模式,此时光标会在要调整的时间位置闪烁,可通过K3键进行数据加1,如需切换所要调整的时间位置,可按K2键切换。当按下K1键第2次,进入闹钟设置模式(时-分),此时光标同样在所要调整的时间位置闪烁,可通过K3键进行数据加1,如需切换所要调整的时间位置,可按K2键切换,要让闹钟开启,除了设定对应的时间外,还需要设置闹钟开关为"ON"。当按下K1键第3次,又会回到刚才日期和时间设定模式,如此循环。当设定完成后,可按下K4键保存。时间会按照预定设定进行,如果开启闹钟,当前时间(时-分)如果与闹铃时间(时-分)相等,则蜂鸣器发出声音,一分钟以后则停止。

2、用到的模块:ds1302时钟芯片、定时器0中断、蜂鸣器、独立按键、ds18b20温度传感器、lcd1602液晶显示屏

8、智能门锁

实验要求:

1、 初始密码设置:设置门锁出厂初始密码为12345678 ,保存在eeprom 中,输入初始密码,正确,在lcd 上提示开锁成功,错误提示报警音。首次开锁成功后,在lcd上提示用户设置新密码。

2 、用户密码修改 : 用开发板矩阵键盘实现密码设置,密码由8位数字构成,设置新密码前需要验证老密码,老密码验证成功后方可修改密码。新密码需要连续两次输入,两次输入密码一致,密码修改成功,保存新密码到eeprom,并在lcd 提示修改成功,并记录当前时间到eeprom.最多纪录10条密码修改成功的时间记录,超出自动覆盖最早记录。要求对eeprom 的操作用页写和连续读的方式完成。支持一键查看密码修改成功时间记录列表,支持翻页查看。

3 、开锁:在上锁条件按下,输入密码开锁。开锁成功在lcd 上提示开锁成功,错误提示报警音提示并提示请再次输入密码。开锁状态下要有 当前门开 提示音,上锁后提示音消失。

4 、密码保护:当用户连续三次输错密码,锁键盘半小时,禁止输入,并记录当前日期时间到eeprom,再次连续三次输入密码错误,锁键盘2小时,并记录本事件发生的日期时间到eeprom. 2小时后又连续三次输入错误,永久锁键盘, 并记录本事件发生的日期时间到eeprom. 当成功开锁后,本密码保护周期取消,重新开始密码保护计算。支持一键查看锁盘事件发生的时间列表,支持翻页查看。

5 、上锁:一键上锁,上锁后门开提示音消失,进入上锁状态。

相关推荐
The Mr.Nobody2 小时前
STM32MPU开发之旅:从零开始构建嵌入式Linux镜像
linux·stm32·嵌入式硬件
阿川!3 小时前
嵌入式软件--stm32 DAY 3
stm32·单片机·嵌入式硬件
#金毛4 小时前
STM32的定时器输出PWM时,死区时间(DTR)如何计算
stm32·单片机·嵌入式硬件
无脑学c++4 小时前
STM32串口重定向:MDK与GCC重定向需重写的不同函数
stm32·单片机·物联网
Invinciblenuonuo5 小时前
STM32八股【6】-----CortexM3的双堆栈(MSP、PSP)设计
stm32·单片机·嵌入式硬件
2401_888859715 小时前
STM32 TIM编码器接口
stm32·单片机·嵌入式硬件
【0931】5 小时前
51单片机中断
单片机·嵌入式硬件
学习噢学个屁7 小时前
基于51单片机的超声波液位测量与控制系统
c语言·单片机·嵌入式硬件·51单片机
电鱼智能的电小鱼7 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
电鱼智能的电小鱼7 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算