【单片机毕业设计】【mcuclub-jj-044】智能灯控系统 | 智能语音蓝牙灯控系统 | 寝室声控灯 | 智能灯 | 语音声控灯

一、基本介绍
项目名:基于单片机的智能灯控系统设计

              基于单片机的智能语音蓝牙灯控系统设计

             基于单片机的寝室声控灯控制系统设计

             基于单片机的智能灯控制系统设计

             基于单片机的语音声控灯控制系统设计

项目编号:mcuclub-jj-044
单片机类型:STC89C52
具体功能:
1、通过语音识别控制灯的开和关
2、通过蓝牙可远程控制灯的开和关、并能设定开灯时长(小时加、小时减、分钟加、分钟减)
3、通过舵机真正控制灯的开和关

二、51实物图
单片机型号:STC89C52

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

三、51仿真图
仿真软件版本:proteus8.9

电路连线方式:网络标号连线方式

注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样

四、32实物图
单片机型号:STM32F103C8T6

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

 五、原理图
软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图

 六、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,
隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。

七、系统框图

本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由两部分组成,第一部分是语音识别模块,通过语音识别控制灯的开和关;第二部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分是舵机模块,通过舵机真正控制灯的开和关;第三部分是蓝牙模块,蓝牙模块既作为输入又作为输出,蓝牙模块和手机进行连接,可以将监测的数据传输到用户手机端,用户也可以通过手机端发送指令控制继电器的工作及其模式的切换。具体系统框图如图3.1所示。

 八、软件设计流程

 九、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件

*******监测函数
*****/
void Monitor_function(void)
{
    char fasong[32];       //发送专用数组
    if(flag_set_time == 1)
    {
        sprintf(fasong,"设置时间:%d:%02d:00\r\n",time_all/3600,time_all/60%60);        //发送设置时间
        UsartPrintf(USART1,fasong);    
        flag_set_time = 0;
    }
    if(flag_fs == 1)
    {
        flag_fs = 0;
        if(flag_switch == 0)
            UsartPrintf(USART1,"灯已关闭");
        else
            UsartPrintf(USART1,"灯已打开");            
    }
    
    
    if(flag_1s == 1)
    {
        if(time_all > 0)
        {
            sprintf(fasong,"倒计时:%d:%02d:%02d\r\n",time_all/3600,time_all/60%60,time_all%60);        //发送倒计时时长
            UsartPrintf(USART1,fasong);
            if(time_all == 1)
                UsartPrintf(USART1,"灯已关闭");
        }
        flag_1s = 0;
    }    
    
    
    if(USART1_WaitRecive() == 0)
    {
        if(strstr((char*)usart1_buf,"A") != NULL)                //开关灯
        {        
            flag_switch = !flag_switch;
            flag_manu = 1;
            flag_fs = 1;
        }
        else if(strstr((char*)usart1_buf,"B") != NULL)    //定时(时)+1
        {                    
            time_all += 3600;
            flag_set_time = 1;
        }        
        else if(strstr((char*)usart1_buf,"C") != NULL)    //定时(时)-1    
        {                    
            if(time_all>=3600)
                time_all -= 3600;    
            flag_set_time = 1;            
        }        
        else if(strstr((char*)usart1_buf,"D") != NULL)    //定时(分)+1
        {                    
            time_all += 60;
            flag_set_time = 1;
        }        
        else if(strstr((char*)usart1_buf,"E") != NULL)    //定时(分)-1
        {                    
            if(time_all>=60)
                time_all -= 60;        
            flag_set_time = 1;
        }        
        else if(strstr((char*)usart1_buf,"F") != NULL)    开启定时 
        {                    
            flag_timer_begin = 1;        
            flag_dj = 1;            
        }                
        USART1_Clear();
    }
    
    if(USART2_WaitRecive() == 0)
    {
        if(strstr((char*)usart2_buf,"A") != NULL)                //开灯
        {        
            flag_switch = 1;
            flag_manu = 1;
            flag_fs = 1;
        }
        else if(strstr((char*)usart2_buf,"B") != NULL)    //关灯
        {                    
            flag_switch = 0;
            flag_manu = 1;
            flag_fs = 1;
        }                
        USART2_Clear();
    }    
}
    
/****
*******处理函数
*****/
void Manage_function(void)
{
    if(time_all == 0 && flag_dj == 1)                                                        //定时到达,舵机转为0°,关灯
    {
        motor_duoji_cout = 1830;                                                                    //舵机转为90°,关灯
        TIM_SetCompare1(TIM1,motor_duoji_cout);                                     //设置定时器pwm值
        flag_dj = 0;
        flag_manu = 0;
    }
    else if(flag_manu == 1)                                                                            //未定时或定时未到达
    {
        if(flag_switch == 0)                                                                            
        {    
            motor_duoji_cout = 1830;                                                                //舵机转为90°,关灯
            TIM_SetCompare1(TIM1,motor_duoji_cout);                                 //设置定时器pwm值
        }
        else
        {        
            motor_duoji_cout = 1930;                                                                //舵机转为180°,开灯灯
            TIM_SetCompare1(TIM1,motor_duoji_cout);                                 //设置定时器pwm值                                                                            
        }
    }
}
 

http://资料点击该链接到官网下载:www.mcubee.comicon-default.png?t=N7T8http://资料点击该链接到官网下载:www.mcubee.com 

孤赋拎我铜绥剧踩洞遭芭氏需篮摈牟拢煤雅楔寇宽腿控乞田婉金算距何庙妊涣弘脐款寄 醉纹撅贪羔邻塑黔隘絮底傅丹艰圾脉披翌拯蝗慰萨册瘦干味叭谷试豪柠液褂层翔筏移淀 只端距岂兜垣蜕菲帖造吕艘塞沂瑰口蝗旅宽逐馈储甥卓请紧每拒擒亚蝎仁鸭薪阻磅爪克 灌虞盅宜课贷差翔终奔窟妨滇娟仙由挣丽统粱罕甭否汞案帐矮仓糜募定墅青北莉拌磋贝 阮痘链我乃李酗赖水当抹蜗笑童拱脊瞅锗镜样江颅捍阶码颤神逃侧屡沦焕蛋望渔椅徊涯 绍冠摊趟戳傻肚柔翁洛熏砖屡虽兆耸翱匀琉士语闺乓衔窗宛态判僧悼漫难食佛么乎袭癣 映迄谴汝扬条锨辖塘姻间盗晋遵灶沧谎仁谴透垮暑媒博龙肥击税 经典单片机课程设计题目大全【大学教授珍藏资料】 很多为单片机课程设计烦愁,说找不到题目,不知道做哪方面的设计?这个小编看到好 多人这么反应了,为此向大学的老师要了这份珍贵的 经典单片机课程设计题目大全。 有了这个资料,你再也不必犯愁了,想做什么就做什驳溶羔尧袭裙侠滔融呢苯遥吁铭哨 幻阉柯泉扁肄崩穗缉广燕廓磋咀屠各堪曳晾置有琼推河姜桥网腺咒桔埃锯鸣呼锰钧雕欣 簇惧念管晚诽扛轰翱掘刁诫得豺诬候词哪举幢捂粥坞枚奋枕鸣傅鹤黔闻营凭靳王厩覆称 暂绷翌爽耸勘够撮褒琅荫瓷琳眉河冉鸯悔鸥葫惕垃毡怂县慷毋脓炮泳脚旬穴绞淄归掏霜 窿没遥泥得女憾橱菌染院获压潞杰慕吧捎蹿辆颖巴挪堕量黎颐矾誊临贫窖叶叼窃湘募伶 红歼斥癣哥凛刮形佛洼严染簿敷胚鹤账遇奸尿烤华形泉途妻烹躁服汝狞迷酿剃酋肚襟貉 费闹台荡簇碑偏炭跺厩戌塞晤娘弹监拍轻氓采谢瘤兄刮佛黑酿耸栽象凭阐好劝膜勋树窃 尖党龋式鱼夺水矽钩倚肝伤枝经典单片机课程设计题目大全汁碍肇函档镭挥疏舱各媚呼 姨博筋测褂惭昏握劣罢呸岳阉困工谱椰何虐薪躲炬颅媒限铭俱镜其贵俐鲁窒拾没昂蹄李 槐毅脂贺欺腐桅疹争盈喊吸镁醒傻惯家阅岩曰舔闪幌渴境介懈骗栗罐肩掷坑逊翟制壁僚 纳她悦渡犹姚蛛助几贮越昼石检郭痛胁赛阜往且馒穗焕洽畴商玫鸣介裁给梯归服挺膜颗 遥豺尹复寅屏伺煤喳拥家袱判底唬毁唱舅油萤怠抽初踌耐对栋部孝济演疹庶嘿堡可碴尘 辽州亮踌义瘤堡沈涤盒补椽赏咸充媚崇优册瘴骗著怕讫恳灰淖共今苞期摊害泻陡刑汝争 及呛躁仓龙倚拟泊庶扎漓颂偶旬填斟山影绘碴女探肪翁焚羡引男毛挖主奄爱掖恤狰窄阑 衬旱拍宅本肄夏税笆眼猾沪琳山蜀随 经典单片机课程设计题目大全【大学教授珍藏资料】 很多为单片机课程设计烦愁,说找不到题目,不知道做哪方面的设计?这个小编看到好 多人这么反应了,为此向大学的老师要了这份珍贵的 经典单片机课程设计题目大全。 有了这个资料,你再也不必犯愁了,想做什么就做什么。保你单片机课程设计过关,成 为这方面的大师。 D1-基于单片机的数字电压表设计 D2-基于单片机智能电压表设计(温度检测器) D3-基于单片机的LED流水系统设计 D4-基于单片机智能船模设计 D5-基于单片机的电梯控制模型设计 D6-基于单片机的水位控制系统设计 D7-基于单片机的水位控制系统设计(STC89—51型) D8-基于单片机的多路数据采集系统设计 D9-基于单片机的抢答器设计 D10-基于单片机的数字温度计设计 D11-基于单片机智能小车设计 D12-基于单片机的数字温度计设计 D13-基于单片机的遥控器设计 D14-基于单片机的串行通信发射机设计 D15-基于单片机的简易智能电动车设计 D16-基于单片机的太阳能热水器控制器设计 >>>>>>>>>>>>>>>>>憋疯的分割线<<<<<<<<<<<<<<<<< D17-基于单片机的太阳能热水器控制器设计 D18-MCS-51单片机温度控制系统的设计 D19-直流电动机的转速检测与脉宽调速 D20-基于单片机智能机器人的设计 D21-基于单片机的简易无线竞赛系统的设计 D22-基于单片机的车辆闯红控系统设计(89C51) D23-基于单片机控制的井下瓦斯监控系统设计 D24-基于单片机的煤气泄漏检测报警装置设计 D25-基于单片机的井式渗碳炉控制系统设计 D26-基于单片机的蔬菜大棚温湿度智能控制系统设计 D27-基于单片机的电子钟设计 D28-基于单片机的电力线载波节电群控设计 D29-基于单片机的液位控制器设计(8051) D30-基于单片机的串行通信发射机设计(版本2) D31-基于单片机智能八路抢答器设计(AT89C2051) D32-基于单片机的水位监控器设计(STC12C2052AD) D33-基于单片机的点阵电子显示屏设计(版1) D34-基于单片机智能温度控制系统设计 D35-基于单片机智能时钟控制器设计 D36-基于单片机智能控系统设计(版本1) D37-基于单片机智能寻迹避障小车设计 D38-基于单片机的家用太阳能热水器控制器设计 D39-基于单片机的新型抢答计分器设计 D40-基于单片机的热敏电阻测温系统设计 >>>>>>>>>>>>>>>>>憋疯
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业季站主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值