资讯详情

蓝桥杯单片机第九届省赛“彩灯控制器”源码及注释

【题目要求】

1-基本功能描述

8个由单片机控制LED指示灯按特定顺序(工作模式)点亮;指示灯的流动间隔可通过按钮调整,亮度可通过电位器RB2.控制;各工作模式的流通间隔应在E2PROM中保存,硬件重新上电后可自动载入。

2-设计说明

<1> 关闭与本试题程序设计无关的外设资源,如蜂鸣器继电器

<2>设备上电后默认数码管,LED指示灯处于熄灭状态。

<3> 流通间隔的可调范围为400ms-1200ms。

<4> 设备固定安照模式1、模式2、模式3、模式4的顺序循环。

3-LED指示灯工作模式

<1> 模式1:按照L1、L2...L8的顺序,从左到右单循环点亮。

<2> 模式2:按照L8、L7...L1的顺序,从右到左单循环点亮。

<3> 模式3:

26f4126ef9d48f1b77db2a91886f36d4.gif

574055c943b2cc8f3f.png (38.26 KB, 下载次数: 2)

2019-3-22 09:32 上传

<4>模式4:

26f4126ef9d48f1b77db2a91886f36d4.gif

460265c943b4747555.png (37.6 KB, 下载次数: 2)

2019-3-22 09:32 上传

4-亮度等级控制

检测电位器RB2.控制8个输出电压LED指示灯亮度为0V~5V在可调范围内,4个均匀分布LED指示灯亮度等级。

5-按键功能

<1>按键S7定义为"启动/停止"按下按钮后启动或停止LED的流转。

<2> 按键S6定义为"设置"按键,按键后,数字管进入"流转间隔"如下图所示,设置界面:

26f4126ef9d48f1b77db2a91886f36d4.gif

579805c943b78c6517.png (24.58 KB, 下载次数: 2)

2019-3-22 09:33 上传

通过按键S可切换选择运行模式和运行模式"流转间隔"目前选定的两个显示单元为0.8秒间隔亮灭。

26f4126ef9d48f1b77db2a91886f36d4.gif

657815c943b9054ca7.png (33.18 KB, 下载次数: 2)

2019-3-22 09:34 上传

<3> 按键S5定义为"加"按钮,按下设置界面下的按钮,如果当前选择运行模式,则运行模式编号加1,如果当前选择流动间隔,则流动间隔增加100ms。

<4>按键S4定义为"减"按钮,按下设置界面下的按钮,如果当前选择运行模式,则运行模式编号减少1,如果当前选择流动间隔,则流动间隔减少100ms。

<5> 按键S4、S5的"加"、"减"功能只在"设置状态"数值调整应注意边界属性。

<6> 在非"设置状态"下,按键S4.按钮可显示指示灯当前亮度等级,4个亮度等级从暗到亮,依次用数字1、2、3、4表示;松开按钮S4.数字管显示关闭,亮度等级显示格式如下图所示:

26f4126ef9d48f1b77db2a91886f36d4.gif

605065c943bbb1da36.png (16.31 KB, 下载次数: 2)

2019-3-22 09:34 上传

首先引入必要的头文件,定义变量。

26f4126ef9d48f1b77db2a91886f36d4.gif

286335c943bda78fc9.png (310.08 KB, 下载次数: 13)

2019-3-22 09:35 上传

2数字管动态显示的基本函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

871875c943bf46a214.png (34.34 KB, 下载次数: 4)

2019-3-22 09:35 上传

3显示彩灯亮度等级函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

675015c943c0e5813e.png (27.86 KB, 下载次数: 3)

2019-3-22 09:36 上传

4设置显示彩灯运行模式。

26f4126ef9d48f1b77db2a91886f36d4.gif

85945c943c29cdc36.png (42.93 KB, 下载次数: 3)

2019-3-22 09:36 上传

5设置显示彩灯流通间隔。

26f4126ef9d48f1b77db2a91886f36d4.gif

142985c943c44b4bc4.png (45.04 KB, 下载次数: 4)

2019-3-22 09:37 上传

6初始化定时器0的函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

454065c943c5a755bc.png (18.67 KB, 下载次数: 4)

2019-3-22 09:37 上传

7定时器0中断服务函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

712985c943c74e1c0d.png (46.74 KB, 下载次数: 4)

2019-3-22 09:37 上传

【8】24C02字节读和字节写函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

964335c943c8b77558.png (38.82 KB, 下载次数: 3)

2019-3-22 09:38 上传

【9】读取PCF8591中电位器电压数据。

26f4126ef9d48f1b77db2a91886f36d4.gif

p>273825c943c9f3b754.png (24.54 KB, 下载次数: 3)

2019-3-22 09:38 上传

【10】根据电位器的电压进行彩灯亮度控制。

26f4126ef9d48f1b77db2a91886f36d4.gif

138445c943cb40b83f.png (26.5 KB, 下载次数: 5)

2019-3-22 09:39 上传

【11】彩灯工作状态与模式切换函数。

A-模式1的工作状态

26f4126ef9d48f1b77db2a91886f36d4.gif

111405c943cc72f253.png (38.44 KB, 下载次数: 3)

2019-3-22 09:39 上传

B-模式2的工作状态

26f4126ef9d48f1b77db2a91886f36d4.gif

558425c943cda8996a.png (30.01 KB, 下载次数: 2)

2019-3-22 09:39 上传

C-模式3与模式4的工作状态

26f4126ef9d48f1b77db2a91886f36d4.gif

974235c943cec1879b.png (29.08 KB, 下载次数: 2)

2019-3-22 09:39 上传

D-4种工作模式的循环切换

26f4126ef9d48f1b77db2a91886f36d4.gif

562625c943cfd9c926.png (21.44 KB, 下载次数: 2)

2019-3-22 09:40 上传

【12】独立按键扫描与处理函数。

A-按键S7的处理逻辑

26f4126ef9d48f1b77db2a91886f36d4.gif

372915c943d0e902ab.png (29.19 KB, 下载次数: 2)

2019-3-22 09:40 上传

按键S6的处理逻辑

26f4126ef9d48f1b77db2a91886f36d4.gif

599515c943d1fb3d04.png (23.65 KB, 下载次数: 3)

2019-3-22 09:40 上传

按键S5的处理逻辑

26f4126ef9d48f1b77db2a91886f36d4.gif

295255c943d3098b33.png (39.52 KB, 下载次数: 4)

2019-3-22 09:41 上传

按键S4的处理逻辑

26f4126ef9d48f1b77db2a91886f36d4.gif

538645c943d41aab9d.png (44.85 KB, 下载次数: 3)

2019-3-22 09:41 上传

【13】参数配置保存。

26f4126ef9d48f1b77db2a91886f36d4.gif

779185c943d516c955.png (33.97 KB, 下载次数: 2)

2019-3-22 09:41 上传

【14】系统初始化函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

519165c943d619ed09.png (39.7 KB, 下载次数: 2)

2019-3-22 09:41 上传

【15】最后就是主函数。

26f4126ef9d48f1b77db2a91886f36d4.gif

714665c943d7c1aa32.png (34.25 KB, 下载次数: 4)

2019-3-22 09:42 上传

【特别提示】:上述程序的HEX可执行文件,可在群文件下载。

【特别注意】:在调用竞赛举办方提供的IIC总线接口底层驱动代码的时候,务必认真阅读代码文件,确保无误。另外,在读取PCF8591的模拟输入数据时,在代码正确的情况下,仍然无法获得准确数据,可以增大IIC驱动程序中的时序延时长度,即“iic.h”文件中的somenop。

标签: 单片机应如何正确驱动继电器l2两种用的继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台