基于51单片机的骑行帽设计

电子说

1.3w人已加入

描述

内容:

现在生活中,人们越来越注意身体锻炼,越来越多的人采用骑行的方式既能环保出行,又能锻炼身体,放松身心。但在骑行的过程中,也有一些不便。如自行车没有车灯或现有的自行车车灯都不太亮。在马上上,经常看见骑自行车的人,在要转方向时,伸出手示意后面的车辆或行人,存在安全隐患等等

因此,本系统要求使用单片机或其他控制器件实现一个智能骑行帽的设计和实现。 可自动控制LED灯,在光线昏暗的地方提供照明。在帽体上通过灯带进行转向提醒,后侧人员提醒,可实现多种供电方式,可USB供电,也可太阳能板供电,或动力储存电。要求设计尽可能的方便使用,合理。要求熟悉单片机或其他控制器的原理和设计,熟练掌握C语言或其他编程语言的设计编程,完成时间管理器的软件、硬件设计与实现。整个毕业设计还要求完成相应的英文翻译和毕业设计论文。

1、通过学习掌握程序设计、调试技术。

2、掌握仿真软件的使用方法,并能编辑、编译和下载设计文件。

3、掌握系统搭建实用硬件系统的方法。

要求与数据

要求:

1、 系统能自动检测光线强度,并控制骑行帽前LED灯的开关,在光线昏暗的地方提供照明。

2、 在帽体后方,通过灯带进行转向提醒,给后侧人员提醒。

3、 可实现多种供电方式,可USB供电,也可太阳能板供电,或动力储存电。

4、 可播放音乐。

C语言

部分程序: /**********************************


 

**********************************/


 

/**********************************

包含头文件

**********************************/

#include "main.h"

#include "lcd1602.h"

#include "key.h"

#include "adc.h"

#include "Time.h"


 

/**********************************

变量定义

**********************************/

uchar key_num = 0; //按键标志位

uint time_num = 0; //计时变量

uchar state=0; //音乐变量

uint light_value; //检测光照

bit mort=0; //模式变量

bit state_1=0; //手动自动模式变量

bit state_2=0; //1闪烁标志位

bit state_3=0; //2闪烁标志位

/**********************************

函数声明

**********************************/

void Delay_function(uint x); //延时函数

void Key_function(void); //按键函数

void Monitor_function(void); //监测函数

void Manage_function(void); //处理函数


 


 

/****

******* 主函数

*****/

void main()

{


 

Timer0Init(); //定时器0初使化函数

while(1)

{

Key_function(); //按键函数

Monitor_function(); //监测函数

Manage_function(); //处理函数


 

Delay_function(10); //延时10ms

time_num++; //计时变量+1

if(time_num > 5000)

{

time_num = 0;

}

}

}


 

/****

******* 延时 x ms函数

*****/

void Delay_function(uint x)

{

uint m,n;

for(m=x;m>0;m--)

for(n=110;n>0;n--);

}


 

/****

*******按键函数

*****/

void Key_function(void)

{

key_num = Chiclet_Keyboard_Scan(); //按键扫描

if(key_num != 0) //有按键按下

{

switch(key_num)

{

case 1: //按键1

state++; //切换歌曲

if(state>=7)

state=0;

switch(state)

{

case 1:

I001=0;

I002=1;

I003=1;

I004=1;

I005=1;

break;

C语言

C语言

​  审核编辑:汤梓红

 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分