基于单片机的智能窗帘控制系统设计毕业论文


    基单片机智窗帘控制系统设计

    现代社会中生活环境重视智家居生活产生极重影响文研究种基单片机智窗帘控制系统设计系统中STC89C52单片机作电路控部分语音识芯片光敏电阻作信号输入部分加键控制液晶显示实现电动窗帘智控制硬件电路语音识模块键模块系统总控制模块光控模块步进电机驱动模块液晶显示模块等相关电路组成通软件调试实现窗帘手动控制半动控制动控制等功硬件软件整体联调实现语音控制手动控制光控制窗帘开关等基功窗帘达智效果市场较应前景
    关 键 词
    智窗帘步进电机单片机STC89C52语音识

























    Design of control system for intelligent curtain based on MCU
    Abstract
    In modern society people's living environment is very important smart home for people's lives have a very important impact This paper will research a kind of intelligent curtain control system based on single chip microcomputer In this design system STC89C52 microcontroller as the master control part of the circuit speech recognition chip and photosensitive resistance as a signal input part be keyboard control and LCD display in order to achieve intelligent control electric curtain Hardware circuit is made up of the speech recognition module keys module system control module optical module stepper motor driver module and LCD module circuit Through the software to realize the curtain of the manual control semiautomatic control automatic control and other functions At last the basic functions of voice control manual control light control curtain switch and other basic functions are realized through the whole combination of hardware and software So that the curtain achieved the effect of intelligence has good application prospect in the market
    Keywords
    intelligent curtainstepping motorMCU STC89C52speech recognition
















    目录


    摘 I
    Abstract II
    前言 3
    1课题研究背景意义 3
    2课题研究容章节安排 3
    3课题难点 4
    4课题设计务求 4
    5章结 4
    第章 方案证总体设计 5
    11光电传感器方案选择证 5
    12键模块方案选择 5
    13语音识模块选择方案 5
    14显示模块选择方案证 6
    15步进电机驱动芯片选取 6
    16系统部分功实现 6
    17系统总体设计思路 7
    18章结 7
    第二章 系统硬件设计 8
    21控模块相关电路 8
    211 STC89C52单片机介绍 8
    212晶振电路 9
    213复位电路 10
    214 电源电路 10
    22键模块 11
    23光控模块 11
    24语音识模块 12
    25步进电机驱动模块 13
    26显示模块 14
    27章结 14
    第三章 系统软件设计 15
    31软件设计总体说明 15
    32键程序设计 16
    33光控模块程序 17
    34语音识模块程序 18
    35步进电机驱动软件设计 19
    36显示模块程序 20
    37章结 21
    第四章 调试仿真 22
    41 Proteus软件概述 22
    42智窗帘控制系统PROTEUS仿真 22
    43调试注意事项 23
    44系统联调 23
    结束语 27
    附录 28
    附录1:电路原理图实物图 28
    附录2:源程序 29
    附录3:元器件清单 39
    参考文献(References) 40
































    前言
    1课题研究背景意义
    科学技术断创新提高电子产品种类越越丰富发展速度非常惊原模拟产品正慢慢转化数字产品远远够更加重产品够根户层次需求进行工作体现出产品性化年物联网技术微电子技术计算机控制技术迅速发展出现智家居系统普通具优势实现方位信息交流功提高生活质量智家居仅具备传统居住功现代建筑家电设备更加智化家庭部环境外面世界信息交换变更加方便安全畅通增强居家生活舒适性节省家庭日常开支智家居控制系统具性稳定功灵活工作效率高扩展容易等特点开始普遍接受应智产品
    社会济断前发展科技正进步生活质量提高消费需求正发生巨变化家电器开始逐渐普智化程度够高说中国城镇化进程正加快推进处搞房产建设现型建筑越越窗户建筑中缺少环中落窗已成趋势落窗仅采光体现家高生活品味种趋势传统窗帘操作方便需手动拉开仅耗费时间浪费力气特现家庭落窗窗帘笨重已法满足普通众正常需冬天天气较冷早晨九点钟左右太阳出想享受阳光味道愿意起床手动开窗帘样做起床窗帘开呢智窗帘已成社会设计研究方面
    文针单片机具备稳定性功耗低体积容量价格便宜集成度高等特点设计智窗帘次系统设计中利模块接口标准协议单片机进行连接然光敏电阻等传感器采集信号输送51单片机中进行数处理处理数送步进电机执行模块时LCD显示屏中显示出单片机实际应中质颠覆传统控制系统设计思路设计方法软件技术代硬件控制技术成时代流现单片机通编译软件程序实现功运行前样定模拟电路数字电路满足部分功实现
    2课题研究容章节安排
    课题研究智窗帘控制系统进行总体设计系统设计户智窗帘控制系统功求声控光控定时控制遥控智窗帘四种控制方式光控类全动类声控遥控类半动红外线遥控直线传播需频率限定发射端定应接收端中间障碍物挡著斜着控象线遥控线电波频率遥控信号空气中传播够穿某障碍物唯缺点容易受频率线电波干扰影响正常工作基素分析次设计算遥控控制智窗帘考虑语音控制窗帘产品常见目前市场没生产出次设计中根语音识控制智窗帘关闭通发出语音识指令语音识模块接受指令然指令关键字进行匹配匹配结果发送单片机单片机控制步进电机执行相应功采语音控制光强度控制窗帘具发展前景
    次设计系统中键模块光敏电阻运放组成光控电路单片机STC89C52控制系统步进电机驱动电路语音识模块LCD显示等组成步进电机驱动模块通步进电机正反转模拟窗帘开启关闭光控模块利光敏电阻感光性实现窗帘动开关语音识模块采语言记忆功开窗关窗指令事先编写入程序中程序植入模块中发出非特定语音识指令控制窗帘开闭达智窗帘控制功求
    智窗帘控制系统章节安排:
    (1)绪:讲述智家居研究背景意义
    (2)整体设计方案选取证:智控制窗帘总体方案框架模块选择
    (3)硬件电路描述:详细叙述系统电路原理
    (4)软件程序编写:介绍软件设计流程
    (5)系统仿真调试:讲述系统仿真软件调试整程
    (6)设计总结:次设计做总结性描述
    3课题难点
    (1)光控电路设计
    (2)样通语音控制实现智窗帘开闭功
    (3)实现步进电机驱动问题
    (4)选什型号传感器
    4课题设计务求
    (1)根求完成窗帘智化控制设计思路
    (2)根求完成根阳光声音控制窗帘动作控制求
    (3)完成整控制系统硬件电路原理图设计软件设计编程工作
    (4)完成软硬件联调工作实现设计功
    5章结
    章讲述智窗帘研究背景日常生活中重意义前窗帘控制方式分遥控时控光控声控次设计中确定想方面研究智窗帘控制系统实现什样功提出设计程中会遇问题概想完成次设计务




    第章 方案证总体设计
    11光电传感器方案选择证
    白天黑夜光强度需光电传感器动开关窗帘智窗帘缺少部分选择什样光电传感器较呢?通查找资料发现光电传感器种选择方案
    方案:采光敏电阻作光控模块利光电感应效应原理工作没光线方光敏电阻阻值较电流光较强时电阻值瞬间变电流增光敏电阻器吸收更光光敏电阻制成薄片形状光敏电阻具体积灵敏度高稳定性质量轻等特点光敏电阻光电控制系统路灯相机动曝光装置光电计数器等方面[5]
    方案二:采光敏二极作光控模块通单导电性工作光特性较没光时反电阻反电流较二极截止受光时PN结导通电阻迅速变电流变二极导通电路工作耗相光电传感器言较高容易引起发热等现象次设计中适合
    方案三:采光敏三极作光控模块光敏三极电路中电流放作光敏三极光特性灵敏度没光敏二极容易受温度影响
    光敏电阻器应范围广性相较体积价格便宜等特点次设计选光敏电阻作光电传感器
    12键模块方案选择
    方案:矩阵键盘电路连接复杂节省IO口提高端口利率软件编程较难适合键量场合
    方案二:独立键盘电路相简单键占IO口编写程序简单独立键具体积装配方便价格便宜等特点适较少场合键数量时需占输入输出端口
    独立键盘价钱便宜需数量较少系统采方案二
    13语音识模块选择方案
    方案:特定语音识仅考虑专话音进行识识性寂静状态96%设计模块化独立配合控制模块工作语音识系统适灵活说话方式
    方案二:非特定语音识语音关通常量语音数库识系统进行识非特定语音识单独解决语音识问题外接辅助芯片者提前准备录音工作
    非特定语音识简单方便灵活实性强等特点选择方案二
    14显示模块选择方案证
    方案:八发光二极组成LED数码显示段分字母a b c d e f g dp表示字样电压加数码特定段显示出知发光二极压降20V左右电流20mA阳极数码发光二极阳极电源正极连接起阴极数码发光二极阴极电源负极连接起
    LED电流敏感容易受温度影响压降发散性较工作环境求较高LED 工作恒定电流值保证数码具清晰均匀亮度显示发光效率拌着长时间LED数码降
    方案二:LCD部带显示芯片物理特性改变电压显示文字数字图形LCD液晶显示器直接驱动集成度高电路具稳定性显示清晰等特点目然
    LCD液晶显示质量高接口简单便操作功耗低等特点显示模块选择LCD液晶显示
    15步进电机驱动芯片选取
    方案:SGS公司生产L298N电机驱动芯片电压43V左右工作电流正常工作相采H桥驱动够线圈正反两方通电L298N直接控制电机运行需外接辅助电路够通电源调节输出电压时驱动两台直流减速电机驱台二相四相步进电机工作工作时间长容易发热
    方案二:Uln2003芯片七PNP达林顿晶体组成非门电路输入输出电流状态相反电流500mA电压50V情况正常工作应范围较广种控制电路中常作继电器驱动芯片
    基成结构简单特点设计采Uln2003
    16系统部分功实现
    (1)语音控制:发出开窗语音指令时实现步进电机正转(电机逆时针转动)模拟窗帘开发出关窗语音指令步进电机反转(电机时针转动)模拟窗帘关闭
    (2)环境亮度控制:光敏电阻根白天晚外界环境亮度程度工作夜晚光强度较暗电机时针转动(反转)模拟窗帘关闭次光控模块设计运行初始状态白天光强度较强电机逆时针转动(正转)模拟窗帘关闭实物演示时产生误动作需强电源演示白天工作状态夏天夜晚时间变短白天时间变长般六点钟左右天亮特班族说时晚工作晚天亮想开窗帘调节电位器光敏电阻阻值变早晨八九点钟太阳光强时窗帘动开
    (3)手动控制:该功智窗帘开关闭增加功状态指示电机正转液晶LCD显示1电机反转显示2电机停止显示0
    17系统总体设计思路
    根务实际求该系统总体方案语音识模块光敏电阻运放组成光控电路STC89C52单片机控制系统键模块步进电机驱动模块LCD显示等关电路组成整设计结构图图11示控制系统单片机通软件程序实现智控制

    图11系统总体设计原理框图
    18章结
    章分析模块电路选择方案进行证较优缺点进选取佳设计方案根户功需求进行具体分析阐述实现窗帘智化设计系统整体框架













    第二章 系统硬件设计
    21控模块相关电路
    211 STC89C52单片机介绍
    STC89C52单片机深圳宏晶公司代理销售款MCU生产商美国ATMEL公司芯片8位CPU构成片含4kbytes反复擦写FlashROM128bytesRAM216位定时计数器
    脚图图31示程序状态字PSW存储器RAMROM累加器行IO接口P0~P3址指示DPTR寄存器B定时器计数器时钟电路复位电路等功部件部总线联接起组成单片机[3]

    图21 STC89C52单片机结构图
    VCC引脚:接5V电源供电
    GND引脚:接端
    XTAL1:接外部晶体引脚引脚接入外部时钟信号
    XTAL2:接外部晶体引脚外部时钟信号引脚接入
    RST引脚:复位输入端VCC失电引脚接备电源保持部RAM中数
    P0口:常作址数总线口
    P1端口:供户编程输入输出口
    P2口:作扩展系统高8位址总线口IO口
    P3口: 部带8 拉电阻双IO口具备两种功作第种时P1口相P3口第二种功见表21

    表21 P3端口特殊功

    ALEPROG引脚:锁存P0低8位址输入EPROM编程脉
    EAVPP:EA端保持低电时单片机访问外部存储器EA端保持高电时单片机拜访部程序存储器
    PSEN引脚:读写外部程序存储器信号
    212晶振电路
    图32示时钟电路图电路程序正常工作规定时间完成否法单片机进行联系单片机位操作时间时钟电路基准部振荡外部振荡时钟电路两种形式设计采种外接晶振方法种方式存时钟信号引入单片机中部时钟外部信号联系起晶振电路通常选12MHz晶振单片机正常工作离开提供稳定计时信号般情况时钟频率单片机运行速度成正电容C1C2起稳定震荡频率作电容范围2040pF间里连接30pF电容 图22晶振电路
    213复位电路
    复位操作单片机回初始化状态单片机言复位缺果没复位电路程序运行错误者者操作导致系统处锁死状态时单片机系统会瘫痪常说跑飞者死锁现象需单片机STC89C52少五毫秒高电时单片机会动完成复位操作复位操作通常分两种形式:电复位开关复位电复位接通电源动完成复位动作开关复位电源接通时单片机正工作时候突然发生死机状态手动动钮开关操作单片机复位进行初始化工作复位电路图图23示

    图23 复位电路
    214 电源电路
    干电池具价格便宜方便等特点电源电路采干电池供电节干电池15V需三节干电池串联进行供电单片机供电液晶显示屏LCD1602语音识模块耗电量较三节干电池远远够需6节电池整电路正常工作况6节电池串联75V单片机工作5V需加三端集成稳压器LM7805正常工作三端集成稳压器LM7805具流保护热保护性电路简单等特点应较广部结构图图24示

    图24 LM7805部示意图
    22键模块
    键盘单片机控制系统中实现STC89C2输入数传送指令功干扰控系统重手段6键次毕设中中K1手动开窗键K1键时电机正转模拟窗帘开K2手动关窗键K2键时电机反转模拟窗帘关闭K3停止键模式手动时键窗帘开关闭半K4K5键分限位开关键判断智窗帘否达预定位置窗帘接顶端时会触碰开窗限位开关K4键闭合智窗帘达底端时接触开窗行程开关K5键然闭合开关弹簧作恢复常开状态时表示窗帘离开限位开关K6 模式选择键切换工作模式键盘电路图25示

    图25键模块电路
    23光控模块
    智窗帘光控功根外界环境光强度动控制窗帘开闭需光传感元器件选取型号GL5516光敏电阻作光控模块光控电路图26示

    图26光敏电阻原理图
    光敏电阻运放组成光控电路两电阻输入端分压基准电压值反相输入端光敏电阻采集外部环境光利光线暗时电阻亮时电阻特点确定反输入端电压值两者值进行较信号送入单片机P1口通控系统控制电机正反转实现白天窗帘动开晚窗帘关闭智控制功
    24语音识模块
    IC Route公司设计生产LD3320种非特定语音识芯片精准度高ADDA接口装模块部外接辅助电路根编辑需识关键语句实现语音识机交流功 [4]LD3320需者提前训练录音完成语音识功真正实现单芯片语音识解决方案识准确率较高达93LD3320语音识模块图图27示

    图27 LD3320语音识模块图
    LD3320芯片工作流程图28首先输入话筒语音进行识然芯片关键词列表中语句进行终选出分高关键词作识结果进行输出

    图28 LD3320模块原理框图
    25步进电机驱动模块
    步进电动机种电脉转化机械角位移控制电机常作数字控制系统中执行器件步进电机直接接直流交流电源定专驱动器正常工作简单运动控制中单片机作控制系统脑通步进电机专驱动芯片实现速度调位置准确定位控制步进电机运行中具性稳定精准度高结构简单等特点普遍应种动化控制系统特工厂动化生产流水线智仪表机电体化等方面图39示步进电机控制系统脉控制器功率驱动电路电机等组成
    图29步进电机控制系统方框图
    次设计采型号28BYJ48型四相八拍步进电机旋转角度位移进行控制该步进电机力矩耐负载击精度高步进电机工作电流较需驱动芯片然通拉电阻三极驱动电机运行种方法产生扭力较效果没集成芯片驱动模块罢系统驱动ULN2003电机驱动接线图图示

    图210步进电机驱动电路
    26显示模块
    采LCD1602显示电路观察智窗帘工作状态液晶显示电路图211示P0口带负载力差需接拉电阻(里1K排阻)P0口作数口连接LCD16027~14口传输数指令单片机P27口接显示屏6脚端ELCD16025脚RW(读写选择端)接P26P25口接液晶显示选择数指令RS端调节LCD1602亮度电位器RV2

    图211液晶显示电路
    27章结
    章介绍硬件电路模块设计思想功分析智窗帘中STC89C52单片机引脚进行解释确定模块选器件型号原理图



















    第三章 系统软件设计
    31软件设计总体说明
    系统程序采C语言编写便修改调试系统软件采模块化设计程序编写编译WAVE6000软件中完成模块程序分输入KeiluVision4软件中运行观察工作状态进行调试C51单片机次智窗帘控制系统设计采核心控制芯片编程语言开发工具Keil C编程软件C语言汇编语言两者功集合Keil C编程软件里优点两方面:文编辑器身加载二仿真模拟够Keil C调试次设计系统采KeiluV4提供友界面图31工作界面

    图31Keil工作界面
    仿真部分采Proteus 软件软件功强操作较简单容易实现种系统仿真开Proteus件找出应器件绘制原理图wave6000已编译*hex文件放画原理图中点击运行观察显示结果工作状态课题求修改程序修改继续运行程序直满意止
    系统软件设计部分组成中包括键模块子程序光控模块程序语言识模块程序LCD显示子程序步进电机驱动程序等章介绍智窗帘控制系统功模块设计流程程序代码详见附录
    32键程序设计
    键模块子程序图32示单片机设计系统中键盘程序系统运行时起决定性作键扫描程中会产生抖动现象时键快没反应慢接连响应次果采取方法会导致单片机STC89C52错误操作键指令解决问题呢?正常采取软件延时方法解决抖动现象致操作程样扫描某键时判断否6ms延时次扫描键盘果键时处状态说明面动作效键延时12ms消键盘抖动现象然单片机进行键码分析执行相应模块显示返回

    图32键模块程序流程图
    33光控模块程序
    单片机STC89C52通程序控制步进电机正反转光强度导致继实现窗帘拉开合图33示执行该子程序入口时首先进行初始化根光敏电阻判断前光强否2000LX果条件成立电机正转动模拟窗帘开会碰限位开关步进电机转动假没接触行程开关电机继续正转直碰开关止没条件求情况返回重新初始化窗帘开前提检测前光强度1000LX时步进电机反转模拟窗帘闭合假安装智窗帘滑轨限位开关传送器碰电机工作说明窗帘合果没触碰行程开关电机持续反转直碰限位开关止返回执行模块程序

    图33光控电路程序设计图
    34语音识模块程序
    首先初始化系统开始运行程序然相应模块发出指令驱动LD3320语音识模块进入语音识模式时等声音信号输入模块接收语音信息时LD3320会信号源进行频谱分析提取特征量匹配关键字会驱动步进电机窗帘执行相应动作语音识模块程序运行流程图图34示


    图34语音识模块程序流程图
    35步进电机驱动软件设计
    执行该程序入口首先单片机初始化然调步进电机驱动程序判断电机否正转果输入正转脉序列假样情况传送反转脉步进电机否执行完设定步数话结束电机转动果没执行完返回前面状态继续运行程序

    图35步进电机驱动程序流程图
    36显示模块程序
    输入初始化程序液晶显示程图36示LCD1602寄存器RS工作状态高电时选择指令寄存器读写选择线RW0执行写操作端EN高电低电程中产生降信号显示数送P2口LCD执行数指令判断执行否完毕果执行命令完数显示出子程序退出假没返回选择指令寄存器继续重复执行前步骤

    图36 LCD1602程序流程图
    37章结
    章描述模块设计程什软件实现文字叙述加流程图目然容易理解作者设计思路




































    第四章 调试仿真
    41 Proteus软件概述
    Proteus软件英国Labcenter Electronics公司开发EDA工具软件ISISARES两软件构成中ISIS款便捷电子系统仿真台软件ARES种高级布线编辑软件集成高级原理布图混合模式SPICE电路仿真PCB设计动布线实现完整电子设计[11]画原理图电路仿真代码调试系统协仿真体现Proteus软件强功实现产品设计概念成形完整性软件调试时编写程序Keil uVision4连接起实现软硬件结合联调时整系统进行仿真
    目前开发51系列单片机流行软件Keil uVision4通Keil软件中新建工程项目编写编译程序Proteus设计出仿真电路载入程序进行整机调试
    42智窗帘控制系统PROTEUS仿真
    开PROTUES 6 professional软件根智窗帘控制系统原理图相应元件库编辑器中找出然进行绘制电路图画选择KEIL中已编译*hex文件点击运行钮仿真结果图51示

    图41智窗帘控制系统仿真图
    43调试注意事项
    首先观察元器件完性次检测芯片电源引脚接否接触良然电烙铁万板焊接器件电路板焊万表检测电源端接端状态否正常检查没发现问题插STC89C52芯片烧录段简易程序观察电路否正常工作整程序写进单片机中显示现象进行调试直成功
    44系统联调
    系统接通电源初始状态手动模式第键显示1表示电机正转模拟窗帘开图42示

    图42窗帘手动控制开
    第二键时显示2表示电机反转模拟窗帘关闭图43示

    图43窗帘手动控制关
    第二排第三键时切换语音识模式语音识模块LD3320发出开窗语音指令时电机逆时针转动表示正转模拟窗帘开显示工作状态sound 1图44示

    图44语音控制窗帘开
    语音识模块LD3320发出关窗语音指令时电机时针转动表示反转模拟窗帘关闭显示工作状态sound 2图45示

    图45语音控制窗帘关
    次第二排第三键时切换光控模式电路电机时针转动表示夜晚模拟窗帘关闭工作图46示

    图46光敏电阻控制窗帘关
    台灯灯光模拟白天光强度实现电机正转模拟窗帘开工作状态图47示

    图47光敏电阻控制窗帘开
    智窗帘控制系统整体测试完毕智窗帘控制系统基达设计求功基实现

    结束语
    时间白驹隙啊四月毕设工作已基完成通硬件电路软件设计实现智窗帘控制系统基功STC89C52作控模块电源电路时钟电路复位电路语音识模块电路步进电机驱动电路LCD显示电路键模块等电路构成整硬件电路设计详细分析电路工作原理芯片性指标方法软件部分设置模块程序时画出相应部分流程图加通俗易懂语言叙述程序驱动电路程系统软件设计思路简洁明呈现眼前更容易众接受体现设计实时性灵活性系统实现种功:
    (1)手动控制:键K1电机正转窗帘开键K2电机反转窗帘关闭
    (2)光敏电阻根外界环境光强度控制电机正反转实现窗帘开关闭功
    (3)语音识功次设计亮点语音识模块LD3320发出语音指令控制窗帘开闭
    次毕业设计智窗帘控制电路中缺少遥控定时控制窗帘开闭功力时间问题止遗憾然次系统设计值提采非特定语言识技术控制窗帘关闭实现智化目前市场做块产品较少具非常市场应前景通次毕设硬件模块概解电路应该动手实际操作会深刻理解总次毕设程中设计方面欠缺需改进研究断学前知识知道样收集整理资料写出篇合格文
    次基单片机智窗帘控制系统设计程中遇问题例元器件解知样选择元器件做毕设关键问题语音识没接触块知识知实现语音控制通月努力查找资料仔细阅读理解终语音识技术透彻解知道样通语音控制智窗帘开关次毕业设计培养运学知识解决实际问题力

    附录
    附录1:电路原理图实物图

    图1:智窗帘控制系统原理图

    图2:智窗帘控制系统实物图
    附录2:源程序
    #include 包含头文件头文件包含特殊功寄存器定义
    #include
    #include
    #define uchar unsigned char 宏换
    #define uint unsigned int
    三引脚参考资料
    sbit EP2^7 1602引脚
    sbit RWP2^6 1602读写引脚
    sbit RSP2^5 1602数命令选择引脚

    sbit K2P3^4
    sbit K1P2^4

    sbit xianwei1P2^0
    sbit xianwei2P2^1

    sbit S1P2^2
    sbit S2P2^3
    sbit GuangP3^7
    unsigned char code F_Rotation[8]{0x080x180x100x300x200x600x400x48} 时针转表格
    unsigned char code B_Rotation[8]{0x480x400x600x200x300x100x180x08} 逆时针转表格

    uchar xwflag0
    uchar FB_flag0
    uchar a10a20 键

    uchar b10b20
    uchar c10c20
    uchar d10d20
    uchar moshi0
    ********************************************************************
    * 名称 Delay_1ms()
    * 功 延时子程序延时时间 1ms * x
    * 输入 x (延时毫秒数)
    * 输出
    ***********************************************************************
    void Delay(uint i)
    {
    uchar xj
    for(j0j for(x0x<148x++)
    }
    ********************************************************************
    * 名称 delays()
    * 功 1602专延时函数
    * 输入 输入命令值
    * 输出
    ***********************************************************************
    void delays()
    {
    _nop_()
    _nop_()
    _nop_()
    _nop_()
    _nop_()
    }
    ********************************************************************
    * 名称 bit Busy(void)
    * 功 读状态函数读出函数否处忙状态
    * 输入 输入命令值
    * 输出
    ***********************************************************************
    bit Busy(void)
    {
    bit busy_flag 0
    RS 0
    RW 1
    E 1
    delays()
    busy_flag (bit)(P0 & 0x80)
    E 0
    return busy_flag
    }
    ********************************************************************
    * 名称 wcmd(uchar del)
    * 功 1602命令函数
    * 输入 输入命令值
    * 输出
    ***********************************************************************
    void wcmd(uchar del)
    {
    while(Busy())
    RS 0
    RW 0
    E 0
    delays()
    P0 del
    delays()
    E 1
    delays()
    E 0
    }

    ********************************************************************
    * 名称 wdata(uchar del)
    * 功 1602写数函数
    * 输入 需写入1602数
    * 输出
    ***********************************************************************

    void wdata(uchar del)
    {
    while(Busy())
    RS 1
    RW 0
    E 0
    delays()
    P0 del
    delays()
    E 1
    delays()
    E 0
    }

    ********************************************************************
    * 名称 L1602_init()
    * 功 1602初始化请参考1602资料
    * 输入
    * 输出
    ***********************************************************************
    void L1602_init(void)
    {
    wcmd(0x38)
    wcmd(0x0c)
    wcmd(0x06)
    wcmd(0x01)
    }

    ********************************************************************
    * 名称 L1602_char(uchar hanguchar liechar sign)
    * 功 改变液晶中某位值果第行第五字符显示b 调该函数
    L1602_char(15'b')
    * 输入 行列需输入1602数
    * 输出
    ***********************************************************************
    void L1602_char(uchar hanguchar liechar sign)
    {
    uchar a
    if(hang 1) a 0x80
    if(hang 2) a 0xc0
    a a + lie 1
    wcmd(a)
    wdata(sign)
    }

    ********************************************************************
    * 名称 L1602_string(uchar hanguchar lieuchar *p)
    * 功 改变液晶中某位值果第行第五字符开始显示ab cd ef 调该函数
    L1602_string(15ab cd ef)
    * 输入 行列需输入1602数
    * 输出
    ***********************************************************************
    void L1602_string(uchar hanguchar lieuchar *p)
    {
    uchar ab0
    if(hang 1) a 0x80
    if(hang 2) a 0xc0
    a a + lie 1
    while(1)
    {
    wcmd(a++)
    if((*p '\0')||(b16)) break
    b++
    wdata(*p)
    p++
    }
    }
    *
    函数
    *
    void main(void)
    {
    unsigned char i

    IT01 设置中断触发方式降
    EX01
    PX01 键盘中断级高

    IT11 设置中断触发方式降
    EX11
    PX11 键盘中断级高

    EA1

    L1602_init() 初始化液晶屏
    Delay(100)
    L1602_char(11'M')
    L1602_char(12'o')
    L1602_char(13'd')
    L1602_char(14'e')
    L1602_char(15'')
    while(1)
    {
    L1602_char(26FB_flag10+48)

    if(i>7) i0
    if(FB_flag 1){ P1 F_Rotation[i] } 时针转动
    else if(FB_flag 2) { P1 B_Rotation[i] } 逆时针转动
    else { P1 0xff}
    i++
    Delay(100) 改变参数调整电机转速
    *键处理程序开始*
    if(K10){a11a20}
    if(a11&&a20)
    {
    FB_flag0
    a21
    }
    if(K11){a10a20}
    *键处理程序结束*


    *模式选择处理程序开始*
    if(K20){d11d20}
    if(d11&&d20)
    {
    FB_flag1
    xwflag0

    d21
    }
    if(K21){d10d20}

    if(moshi0)
    {
    L1602_char(16'H')
    L1602_char(17'a')
    L1602_char(18'n')
    L1602_char(19'd')
    L1602_char(110' ')
    L1602_char(116FB_flag10+48)
    L1602_char(216' ')
    }
    if(moshi1)
    {
    L1602_char(16'S')
    L1602_char(17'o')
    L1602_char(18'u')
    L1602_char(19'n')
    L1602_char(110'd')
    if(S10) L1602_char(210+48) else L1602_char(211+48)
    if(S20) L1602_char(220+48) else L1602_char(221+48)
    if(S11&&S20) {xwflag0FB_flag1 L1602_char(116FB_flag10+48)}
    if(S10&&S21) {xwflag0FB_flag2 L1602_char(116FB_flag10+48)}
    if(S11&&S21) {FB_flag0 L1602_char(116FB_flag10+48)}
    L1602_char(216' ')
    }
    if(moshi2)
    {
    L1602_char(16'L')
    L1602_char(17'i')
    L1602_char(18'g')
    L1602_char(19'h')
    L1602_char(110't')

    if(Guang1) L1602_char(2160+48) else L1602_char(2161+48)
    if(Guang1) {xwflag0FB_flag1L1602_char(116FB_flag10+48) }
    else {xwflag0FB_flag2L1602_char(116FB_flag10+48) }

    }
    *模式选择处理程序结束*
    *限位开关处理程序开始*
    if(xianwei10){b11b20}
    if(b11&&b20)
    {
    FB_flag0
    xwflag1
    b21
    }
    if(xianwei11){b10b20}

    if(xianwei20){c11c20}
    if(c11&&c20)
    {
    FB_flag0
    xwflag2
    c21
    }
    if(xianwei21){c10c20}
    *限位开关处理程序结束*
    if(xwflag0) FB_flag0
    }
    }

    键中断处理程序
    void it0() interrupt 0
    {
    moshi++
    if(moshi3) moshi0
    FB_flag0
    }
    键中断处理程序
    void it1() interrupt 2
    {
    FB_flag2
    xwflag0
    }

    附录3:元器件清单
    表1:智窗帘控制系统元器件清单表
    序号
    器件名称
    型号规格
    数量
    1
    电阻
    10k
    10
    2
    电解电容
    220uF
    1
    3
    电解电容
    47uF
    1
    4
    单片机
    STC89C52RC
    1
    5
    三端稳压
    LM7805
    2
    6
    晶振
    12M
    1
    7
    电位器
    3296W 103(10K)
    2
    8
    独石电容
    103
    2
    9
    光敏电阻
    GL5516
    1
    10
    步进电机
    28BYJ48 5V DC
    1
    11
    驱动芯片
    ULN2003
    1
    12
    运算放器
    LM358
    1
    13
    显示器
    LCD1602
    1
    14
    语音识模块
    LD3320
    1
    15
    键开关
    触点式6*6*5MM
    6
    16
    电源开关
    锁式7*7MM
    1
    17
    三极
    S9018
    2
    18
    发光二极
    红色LED灯
    1
    19
    电池盒
    4节
    2
    20
    导线
    双头镀锡
















    参考文献(References)
    [1]张永瑞电子测量技术基础[M]西安电子科技学出版社1994
    [2]刘文涛 单片机应开发实例[M]清华学出版社2005
    [3]张毅刚单片机原理应(第三版)[M]高等教育出版社2010
    [4]钟晨帆基LD3320芯片语音识系统开发[D]南京学2015
    [5]徐科军传感器检测技术(第三版)[M] 电子工业出版社 2011
    [6]冯娟李燕君基步进电动机智电动窗帘设计实现[J]微特电机2014
    [7]刘天丁腾腾毛强基LD3320语音控制智车设计[J]数学技术应2015
    [8]毕俊喜薛志安王志军 基AT98C52单片机智光控窗帘系统设计[J]机械研究应2015
    [9]浦灵敏季爱民基STC89C52单片机智窗户控制系统设计[J]中国科技信息2011
    [10]刘丹ProteusKeil联合仿真单片机教学中应[J]科教导刊(中旬刊)2013
    [11]周润景刘晓霞基PROTEUS电路设计仿真制板[M]电子工业出版社2013


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于51单片机的智能窗帘控制系统

     毕业论文(设计) 学 院: 工学院 ...

    3年前   
    1112    0

    基于单片机的自动窗帘控制系统毕业论文

     题目 自动窗帘控制系统 年 月 日 摘 要 自动控制属于电子及信息科学的一个重要分支,并且在现代家居中有着较好的目前发展前景。目前,...

    5年前   
    2362    0

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

    随着社会经济的快速发展以及人们生活水平的提高 ,机动车数量也在急剧增加 ,交通问题逐渐成为人们关注的重点对象,因城市发展所带来的交通拥堵等问题,利用智能交通来解决传统交通日渐出现的问题成为大势所趋。

    3年前   
    856    0

    基于单片机的温度控制系统设计毕业论文

    职业学院毕业论文 题目:单片机温度控制系统研制 系 院:工程技术学院 学生姓名: 学 号: 专 业:机电一体化 ...

    5年前   
    5865    0

    基于单片机的自动门控制系统设计毕业论文

     职业技术学院 毕业设计(论文) 作 者: 学 号: 系 部: 电气工程系 班 级: ...

    5年前   
    1755    0

    基于ZigBee的智能窗帘控制系统

    由于我国经济水平不断突飞猛进,人们的物质生活也得到了极大的提升,并且在科技告高速发达的今天,人们也越来越依赖于科技,并且将这种科技的便捷植入到家庭窗帘

    4年前   
    1543    0

    基于plc的智能交通灯控制系统设计毕业论文

    PLC可编程序控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。

    4年前   
    3105    0

    基于单片机的智能小车设计开题报告

    电气与信息学院毕业设计(论文)开题报告 基于单片机的智能小车设计 电子 ...

    5个月前   
    309    0

    基于单片机的智能灭火小车设计

    摘要:当今社会,火灾在现实生活中普遍存在,被称为自然界三大灾害之一。当火灾发后,灭火工作坏境恶劣时,人工不能完成一些灭火任务,此时便可以使用智能灭火小车去完成相应的任务。本文设计了一个以单片机为...

    4年前   
    1495    0

    基于单片机智能小车毕业设计

    毕 业 设 计(论 文)设计(论文)题目: 基于单片机的智能小车 ...

    6个月前   
    200    0

    基于51单片机的教室智能照明控制系统

    目 录绪论1 教室灯光自动控制整体描述 1.1 灯光控制总体思想 ................................................................

    3年前   
    879    0

    基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计

    随着社会的发展,智能产品也随着变化,电子产品快速发展,我们家用电器智能化越来越多,常见的智能家居如电饭煲,电磁炉,台灯等主要系统都具有一个共同的特点,那就是利用单片机控制系统作为本次的核心系统,...

    3年前   
    968    0

    基于单片机的遥控窗帘课程设计

    《单片机应用与仿真训练》设计报告基于单片机的遥控窗帘设计姓 名: 学 号: ...

    1年前   
    293    0

    基于单片机的空调温度控制系统设计毕业设计

     毕业设计  题 目 基于单片机的空调温度控制系统设计 学生姓名 学 号 学 院 计算机与信息工程系 专业班级 指导...

    5年前   
    2548    0

    基于AT89C52智能吸尘器控制系统设计毕业论文

    摘要 本设计的智能吸尘器控制系统与智能小车的控制系统相似。是以AT89C52单片机为控制核心,加以步进电机、光电传感器、超声波传感器、压敏传感器和电源电路以及其他电路构成。

    4年前   
    1273    0

    基于51单片机的智能窗户设计毕业设计

    基于51单片机的智能窗户设计【摘 要】 随着电子技术的发展和人民生活水平的不断提高,智能窗已经越来越多地被用到了现代智能化建筑中,提供住户一个安全、方便的环境。据统计,在未来的几年内,安装智...

    5个月前   
    121    0

    基于单片机的智能鱼缸的设计与实现毕业设计

    近年来嵌入式发展迅速,智能家居也进入了人们的生活。智能鱼缸却没有快速发展。我根据市场上相关设备现状的分析和研究,从系统集成角度进行设计和开发,提出了一套多功能的智能观赏鱼缸控制系统的设计方案。

    5年前   
    4274    0

    基于单片机的智能温控风扇设计毕业设计

    XX职业技术学院毕业设计论文作者 学号 系部 电子信息学院 专业 物联网应...

    4年前   
    858    0

    基于Zigbee的智能灯光控制系统设计

    在现代社会,自动化与智能程度得到很大提高的今天,家居智能管理很有可能是人们今后的主流选择。本文在研究的过程中,立足家庭照明展开了分析。在具体的论述上,通通过实现传统和智能照明模式比对,通过分析目...

    4年前   
    983    0

    基于物联网的智能家居控制系统设计与实现

    物联网是在信息社会发达的今所衍生的产品,他是基于互联网的模块上,利用射频识别技术、无线网等技术,打造一个联系世界不同物体,不同模块的“Internet of Things”。在这个模块网络中,...

    5年前   
    6140    0

    文档贡献者

    z***u

    贡献于2019-03-31

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档