作业帮 > 综合 > 作业

循环彩灯控制电路设计(求程序)用单片机的

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/22 20:32:40
循环彩灯控制电路设计(求程序)用单片机的
任务;
设计一个可以循环移动的彩灯控制电路,灯总数为 8 盏,技术指标如下:
• 1,5 亮,其余灭,右移三次后全灭
• 4 ,8 亮,其余灭,左移三次后全灭
• 4 ,5 亮,其余灭,各向两边移三次后全灭
• 1,8 亮,其余灭,各向中间移三次后全灭
• 灯移动间隔为 1S
循环彩灯控制电路设计(求程序)用单片机的
我这里有程序,我的程序功能如下:
一、采用ATMEGA162单片机
二、可以红外线摇控,里面有摇控程序
三、里面灯的颗数是自己设定,至多50颗,我总共用了30颗灯(led灯)
四、每一颗灯都采用的是PWM控制,细分为200,意思就是一颗灯可以有200个亮度
五、由于我是安装在床上的,所以对灯的亮度有要求就是不能太刺眼啦,灯的亮度从最暗到最亮所用的时间可以设定(0.4s~15s)最亮到最暗也是一样防止伤眼,所以对于你上面的要求完全可以办到啦
六、由于程序太长,这里不方便发,
以下是内部几个控制方式的函数:
void load_data(uchar number,uchar start,uchar end,uchar speed)
               //灯号        起始亮度     结束亮度    变化速度
void select_operation(uchar start_number,uchar end_number,uchar base_aim,uchar base_speed,uchar move_speed)
                     //起始编号            结束编号        基本目标           设定速度        变化速度
void select_number(uchar number_1,uchar number_2,uchar number_3,uchar number_4,uchar base_aim,uchar base_speed)
void all_operation(uchar start,uchar end,uchar speed)
                 //起始亮度     结束亮度    变化速度
图就是我灯的分部