| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

蓝牙遥控密码锁毕业设计

文***享

贡献于2019-05-31

字数:31327

毕业设计[文]





题目:蓝牙遥控密码锁



学 院: 电子电气工程学院
专 业: 光电信息工程
姓 名:
指导教师:






着社会发展进步家居智化越越成未发展趋势目前市场电锁门禁采键机械密码锁定程度安全度够高够性化文设计种基单片机微控制器控制蓝牙遥控密码锁系统
户通手机控制密码锁开关脱机情况够通键解锁项目系统设计分硬件软件两部分硬件部分分电锁控制器板设计电锁受控模块设计软件部分包括数收发模块蓝牙通信模块等系统实现功蓝牙远程控制功键密码输入功干接点弱电控制功等实验表明该系统够手机蓝牙发送控制信号密码方式控制密码锁开合状态蓝牙控制受限情况够通机携带键密码输入控制密码锁开合具设计成低性高特点达设计求
关键词:密码锁蓝牙收发模块STM32F4uCOSII系统智手机
ABSTRACT

With the development and progress of society intelligent household more and more to become the future development trend At present mechanical cipher lock is mainly to be used on the market to a certain extent security is not high enough and the use of lack of humanization This thesis present an bluetooth remote control cipher lock system based on microcontroller which can allow users to control the password lock switch by mobile phone bluetooth and through the keys to unlock in the offline condition The system contains hardware module and software module The former contains the controller of electric lock and the controlled of clectric module and the latter contains data transmission and buletooth communication module The mainly functions contain bluetooth remote controller key password input electric controller etc Experiments show that the system can not only be controlled by bluetooth of smart phone but also can be controlled by key password The system has the characteristics of low cost high reliability and satisfies the design requirements
Keywords Coded Lock Bluetooth Transceiver STM32F4 uCOSII Syestem
Smart Phone
目 录

1 绪1
11 课题意义1
12 国外研究现状1
13 研究容 2
2 蓝牙遥控密码锁系统方案设计2
21 系统总体功分析 2
22 系统设计流程3
23 系统功模块设计3
24 系统工作流程5
3 系统硬件设计6
31 系统模块芯片特性6
311 STM32F4微控制器芯片6
312 MP2359电源芯片.9
313 HC05蓝牙接收芯片10
314 TLP5211光耦隔离芯片11
315 GT9147触摸屏驱动芯片12
32 板硬件电路设计12
321 STM32系统设计12
322 电源电路设计16
323 蓝牙接收模块17
324 TFT触摸屏模块18
325 LED驱动电路20
326 蜂鸣器驱动电路20
327 干接点输出电路21
328 干接点检测电路21
4 系统软件设计22
41 HC05通USART接口实现数接收22
42 触摸屏驱动27
43 脱机键盘C语言实现31
44 系统运行状态指示模块46
45 密码掉电存储47
5 总结49
参考文献52
致谢53

1 绪
11 课题意义
日常生活中锁广泛常锁具保证贵重物品家庭安全目提高安全性常见锁普通机械锁机械密码锁电磁卡锁指纹(虹膜)锁等普通机械锁极容易强行破坏安全系数高需携带钥匙生活带便机械密码锁然安全系数高造价相较高电磁卡锁磁卡信息极易受外界干扰失磁导致法开锁指纹(虹膜)锁然安全性会手指划伤虹膜充血等收限制生活提高时代进步类文明迈进研究种新型密码锁具高现实需求性
21世纪科技蓬勃发展年代种高科技产品层出穷着通信技术计算机技术网络技术控制技术迅猛发展提高促家庭实现生活现代化居住环境舒适化安全化高科技已影响生活方方面面改变生活惯提高生活质量正居住环境智化舒适程度等求提高家居智化种形势应运生会智家居发展提供市场空间家居智化已成必然趋势智家居通物联网技术家中种设备(音频设备明系统窗帘控制空调控制安防系统数字影院系统网络家电)智家居系统细分致二十类:控制机智明系统电气控制系统家庭背景音乐家庭影院系统讲系统视屏监控防盗报警电锁门禁智窗帘暖通空调系统太阳节设备动抄表智家居软件家居布线系统家庭网络厨卫电视系统运动健康监测花草动浇灌宠物动物制
文研究范围仅仅智家居系统中子系统电锁门禁目前言数越越赖手机特年轻甚手机离身基文设计款蓝牙遥控密码锁时具触摸键手机APP两种种开锁方式
12 国外研究现状
电子锁研究世纪30年代开始某特殊场合早应研究种锁初衷提高锁具安全性密码锁密码量机械锁配合避免钥匙仿制出现问题安全性提高前提需钥匙越越欣赏现代生活
钥匙求钥匙形变成形安全求数量机械钥匙逐渐数量数字密码锁升值数字量更生物资料识系统取代特进入20世纪80年代着电子锁专集成电路出现电子锁体积缩性提高廉价产品开始出现电子锁进入众生活提供目前西方发达国家电子密码锁已广泛应智门禁系统中通种更加安全更加技术实现门窗理国电子密码锁成高应广泛希通努力电子密码锁国广泛应
13 研究容
文研究蓝牙遥控密码锁想融入智家居系统必具四点非常重功:
①稳定通信功
②设备足性功(脱机功)
③设备性化
④交互系统
根文研究容文结构安排:
第1章简介绍课题研究意义密码锁研究现状发展趋势简介绍文工作
第2章确定系统设计方案分析系统设计总体功流程设计系统功模块
第3章详细介绍系统硬件设计包括控制器板电控锁模块等
第4章详细介绍系统软件设计包括ucosII单片机实时操作系统智手机指令发送app等
第5章详细介绍实验情况基础蓝牙遥控密码锁系统进行总结未工作进行展

2 蓝牙遥控密码锁系统方案设计
21 系统总体功分析
课题设计蓝牙遥控密码锁基单片机智电锁系统[1]作智家居系统子系统需具功:
①稳定通信功:指蓝牙密码锁够智家居控制终端系统进行稳定通信蓝牙密码锁够接受控制终端命令执行控制终端命令实现密码传输开关控制蓝牙协议采标准蓝牙通信协议确保系统扩充性扩展性保证厂商间系统兼容互联
②足性(脱机功)功:指控制终端系统种原(包括控制终端系统死机)法机系统正常通信情况蓝牙密码锁够通键盘密码方式进行开关需控制终端控制干预
③性化功:蓝牙密码锁终者广消费者专门电子工程师必须易功涉易接线必须傻瓜式操作必须键式
④交互系统:蓝牙遥控密码锁者需解密码锁状态密码锁开关状态密码输入位数密码回删重置密码系统需视化交互界面
22 系统设计流程
蓝牙遥控密码锁系统结构清晰方便系统进行调试改进系统采模块化设计思想分硬件设计软件设计两部分课题基研究步骤:
①翻阅量文献资料确定蓝牙遥控密码锁系统设计思路基实现方案
②选取系统设计中需元器件型号详细解产品规格
③解选控制器部资源结构掌握方法编程技巧
④查阅功模块器件相关资料解具体控制架构
⑤学ucosII单片机实时操作系统编写视化交互界面
⑥编译通程序载检测硬件电路进行模块调试
⑦模块调试通进行系统联调
⑧完成系统设计进行系统功测试
23 系统功模块设计
蓝牙遥控密码锁系统硬件设计分板设计干接点弱点控制模块两部分
中两部分模块包含部分:
①微控制器模块:模块课题设计蓝牙遥控密码锁系统核心部分目前单片机种类较系统设计微控制器功复杂需高端ARM处理器时保证系统运行速度采51核单片机[1]选较先进ARM CortexM4核STM32F407单片机[2]拥丰富外设完全够满足次设计求利日产品升级需求成较低易产业化
②电源模块[2]:蓝牙遥控密码锁板需电源高效稳定5 V课题选DCDC芯片(MP2359)采DCDC芯片板系统供电范围十分宽(DC616 V供电)适应较范围供电电源耗电较情况课题触摸屏实时监测种供电方式够系统提供足够供电电流
③触摸屏模块:模块课题设计蓝牙遥控密码锁系统脱机核心部分系统ALIENTEK47寸TFTLCD模块带触摸屏[3]该电容触摸屏具手感需校准支持点触控透光性等优点密码锁系统家仅满足电容触摸屏环境求会提供较户体验
④蓝牙发送模块:课题设计蓝牙遥控密码锁系统实现通手机蓝牙控器发送数指令调试程中安卓手机蓝牙系统通安装Bluetooth Serial control APP完成蓝牙信号发送
⑤蓝牙接收模块:次设计需够蓝牙遥控控制窗帘开合利微控制器驱动蓝牙模块接收位机发送指令系统蓝牙接收模块选HC05嵌入式蓝牙串口通信模块采SPI通信非常易连接单片机
⑥蜂鸣器反馈模块:板接收遥控传信息会通声音形式接收状态反馈户显示出正常接收结果蜂鸣器特求系统设计板电源模块采5 V供电需选择5 V蜂鸣器
⑦干接点弱电控制模块:避免外接干接点影响系统功干接点模块采弱电控制采取隔离方式利光耦隔离继电器获电接点信号
中光耦驱动器采TLP521芯片
⑧LED反馈模块[4]:户想较远方解密码锁开关状态时候通判断密码锁板面LED反馈灯颜色快速解密码锁状态LED特殊求系统设计板电源模块采5 V供电需选择5 VLED
⑨电控锁模块:系统设计程考虑功实现性电控锁选较济赛瑞XG03 DC12 V24 V电锁该电控锁模块通干接点弱点控制实现户根身实际求选电锁模块
24 系统工作流程
传统控制窗帘方式课题设计蓝牙遥控密码锁系统具两种控制方式:①蓝牙遥控控制电锁开关②脱机触摸键盘控制电锁开关两种方式均访问系统
蓝牙遥控密码锁系统蓝牙遥控脱机键盘控制功通板部分设计实现实现参数设置远程通信功图21示蓝牙遥控密码锁板系统工作框架


图21 蓝牙遥控密码锁系统板工作框架

系统通高频率扫描系统获取蓝牙指令触摸屏指令控制信息根获信息利板部分微控制器STM32F4判断密码正确性正确产生干接点信号
控制光耦继电器开闭选择连通驱动电源电控锁时户选择密码见见户修改密码

3 系统硬件设计
课题设计蓝牙遥控密码锁设计少硬件模块具体:①微控制器STM32F407芯片②MP2359电源芯片③蓝牙接收模块ATKHC05④光耦隔离芯片TLP5211⑤TFTLCD电容触摸屏驱动芯片
面功模块芯片特性进行详细介绍分析
31 系统模块芯片特性
311 STM32F407微控制器芯片
蓝牙遥控密码锁核心部分机部分微控制器目前单片机种类较系统设计微控制器功复杂需高端ARM处理器时保证系统运行速度采51核单片机选较先进ARM CortexM4[5]核STM32F407ZGT6单片机拥丰富外设完全够满足次设计求利日产品升级需求成较低易产业化系列芯片工作频率168 MHz嵌ARM CortexM4核置高速存储器种中高端32位微控制器STM32F407增强型系列芯片具省电模式保证低功耗应求包含512 K FLASH192K SRAM硬件FPU1216位定时器232位定时器包含许标准先进通信接口适合种应场合
STM32F407系统包含CortexM4核系统32位层AHB总线矩阵构成实现部分互连:
八条 控总线:CortexM4F核I总线D总线S总线DMA1存储总线DMA2存储总线DMA外设总线太网DMA总线USB OTG HS DMA总线
七条控总线:部Flash ICode总线部Flash DCode总线部SRAM1(112 KB)辅助部SRAM(16 KB)辅助部SRAM3(64 KB)(仅适STM32F42xxxSTM32F43xxx器件)AHB1外设(外设AHBAPB总线桥APB外设)AHB2外设FSMC
助总线矩阵实现控总线控总线访问样高速外设时运行期间系统实现发访问高效运行系统架构图31示


图31 STM32F407系统结构

STM32F407三种时钟源驱动系统时钟(SYSCLK):HSI振荡器时钟高速外部时钟信号(HSE)振荡器时钟PLL时钟图32示STM32F407时钟树HSI时钟信号部8 MHzRC振荡器产生HSEHSE外部晶体陶瓷谐振器两种时钟源产生部PLL倍频HSI RC输出时钟HSE晶体输出时钟

图32 STM32F103时钟树

STM32F4中五重时钟源HSIHSELSILSEPLL中PLL实际分两时钟源分PLL专PLL时钟频率分分高速时钟源低速时钟源五中HSIHSEPLL高速时钟LSI
LSE低速时钟源分外部时钟源部时钟源外部时钟源外部通接晶振方式获取时钟源中HSELSE外部时钟源部时钟源
该器件具两次级时钟源:①2 kHz低速部RC(LSI RC)该RC驱动独立门狗选择提供RTC停机机模式动唤醒②32768 kHz低速外部晶振(LSE晶振)驱动RTC时钟(RTCCLK)
312 MP2359电源芯片
蓝牙遥控密码锁板需电源5 V选MP2359开关电源芯片引脚图图33示


图33 MP2359引脚图

MC2359芯片输入电压范围6~16 V输出电压范围33 V输出电流达12 A工作频率高达14 MHz价格便宜实现电源降压满足板系统工作求降压电路图34示


图34 MP2359降压电路

降压电路工作程:
①较器反相输入端(脚5)通外接分压电阻R1R2监视输出电压Uo根公式Uo125(1+ R2R1)知道UoR1R2数值关果R1R2阻值变Uo保持稳定
②利部较器脚5部基准电压125 V进行较脚5电压值低125 V时较器输出跳变电压RS触发器S脚控制门开启Q端高电驱动T2导通T1导通电容Co充电Uo增加脚5电压值高125 V时RS触发器S脚控制门封锁Q端低电状态T2截止T1截止
③振荡器Ipk输入(脚7)监视开关T1峰值电流控制振荡器脉输出RS触发器Q端
④脚3外接振荡器需定时电容Co决定振荡器频率高低决定开关T1通断时间
313 HC05蓝牙接收芯片
ATKHC05模块ALIENTEK生成款高新体蓝牙串口模块种带蓝牙功电脑蓝牙机手机PDAPSP等智终端配该模块支持非常宽波特率范围:4800~1382400模块兼容5 V33 V单片机系统方便您产品进行连接非常灵活方便ATKHC05模块非常巧模块通6254 mm间距排针外部连接模块外观图35示


图35 ATKHC05模块外观图

314 TLP5211光耦隔离芯片
蓝牙遥控密码锁采干接点弱点控制模块实现单片机低电压控制12 V外部驱动电源通断采光耦隔离芯片TLP5211实现电路隔离保护TLP5211引脚图图36示


图36 TLP5211引脚图

TLP5211控制光电耦合器件光电耦合器件广泛电脑终端系统控硅系统设备测量仪器家电等电路间信号传输前端负载完全隔离目增强安全性减电路干扰简化电路设计
315 TFTLCD电容触摸屏驱动芯片
GT9147采新电容检测技术置高性微信号检测电路解决LCD干扰模干扰问题软件算法方面专门基单层互容电气环境设计支持五点触控芯片原理图图37示


图37 GT9147芯片原理图

该芯片具众突出优点:置电容检测电路高性MPU电容屏传感器环境适应性(初始化动校准动温度补偿)先进通讯接口(标准IIC通讯接口)响应时间短单电源供电电源纹波支持种应开发工具(支持触摸屏模组参数侦测配置参数动生成触摸屏模组性综合测试工具模组量产测试工具控软件开发参考驱动)
32 板硬件电路设计
课题设计蓝牙遥控密码锁硬件部分功模块电路设计
321 STM32系统设计
STM32单片机系统包括:电源电路复位电路时钟电路BOOT电路SWD调试电路
①STM32电源电路
系统中采单电源设计模拟电源数字电源相电源会相互干扰设计中必须采模拟电源数字电源隔离做法STM32电源电路分数字电源部分模拟电源部分中数字电源部分提供电源
STM32部数字外设IO口SPI等外设模拟电源提供电源STM32部模拟外设ADC系统中利电感隔离数字电源模拟电源图38示


图38 数字电源模拟电源隔离电路

②STM32复位电路
确保微机系统中电路稳定工作需设计复位电路利电路恢复起始状态复位电路具三求:电路通电时马进行复位操作必时手动操作根程序者电路运行需动进行常见复位方式:手动钮复位电复位系统复位电路电复位工作供电电源475~525 VSTM32电复位电路图39示板电时电容充电NRST引脚保持低电定时间低电持续时间通电阻值1 k电容值01 μF控制进实现STM32复位


图39 STM32电复位电路

③STM32时钟电路
系统利单片机晶振提供基时钟信号般系统晶振保持部分步通信系统基频射频晶振通电子调整频率方法保持步STM32时钟高速时钟低速时钟构成中STM32部带高速RC低速RC振荡器部RC时钟稳定会影响STM32部外设条件允许情况量外部时钟设计中高速时钟外部晶振震荡电路图310示STM32时钟电路


图310 STM32时钟电路

④STM32 BOOT电路
STM32芯片置三种启动模式:户闪存(芯片置Flash)SRAM(芯片置RAM区存)系统存储器(芯片ROM区)STM32芯片两脚BOOT0BOOT1两脚芯片复位时电状态决定芯片复位区域开始执行程序图311示STM32BOOT电路户闪存启动正常工作模式:BOOT1xBOOT00厂家设置系统存储器启动模式:BOOT10BOOT01置SRAM启动调试模式:BOOT11BOOT01般置SRAM启动SRAM掉电数丢失数情况SRAM调试时障局部诊断写段程序加载SRAM中诊断板电路方法读写板FlashEEPRO等


图311 STM32 BOOT电路

⑤STM32 JTAG调试接口
JTAG(Joint Test Action Group联合测试行动组)种国际标准测试协议芯片部测试系统进行仿真调试目前数较复杂器件ARMDSPFPGA等含支持JTAG协议模块处理器标准JTAG接口4线:TMSTCKTDITDO分测试模式选择测试时钟测试数输入测试数输出目前JTAG接口连接两种标准14针接口20针接口里采标准JTAG接法开发板处理器般采标准4线JTAG接口包含TMSTCKTDITDO接口(引脚)包含nTRST(测试系统复位信号)接口STM32开发板板载标准20针JTAGSWD接口图312示


图312 STM32 JTAG调试接口

Jlink工具实现开发板处理器中程序调试(线)仿真开发板需建立20针排针JLink工具JTAG接口通排线连接排针然开发板处理器中关JTAG接口引出排针JTAG接口应引脚相连里采标准JTAG接法STM32SWD接口SWD需少两根线(SWCLKSWDIO)载调试代码串口载代码差
⑥STM32F407系统
图313示STM32单片机系统电路模块

图313 STM32系统

322 电源电路设计
线性电源优势结构相简单性相较高电流纹波率容易做较低维修较方便传统线性电源相开关电源效率高损耗较发热较低需体积重量非常散热器工作频率较高会电网周围设备造成干扰必须妥善处理问题实际电路中般开关电源电路线性电源电路组合图314示系统电源电路[7]


图314 电源电路

323 蓝牙接收模块
ATKHC05模块ALIENTEK生产款高性体蓝牙串口模块种带蓝牙功电脑蓝牙机手机等智终端配模块兼容5 V33 V单片机系统应方便灵活模块原理图图315示


图315 蓝牙接收模块原理图

模块单片机连接少需4根线:VCCGNDTXDRXDVCCGND模块供电模块TXDRXD连接单片机RXDTXD模块兼容5 V 33 V单片机系统方便连接系统里面ATKHC05模块单片机系统典型连接方式图316示


图316 ATKHC05 模块单片机系统连接图

324 TFT触摸屏模块
现智手机包括板电脑采电容屏作触屏电容屏利体感应进行触点检测控制需直接接触需轻微接触通检测感应电流定位触摸坐标
ALIENTEK 43寸TFTLCD模块带触摸屏采电容式触摸屏面简介绍电容式触摸屏原理
电容式触摸屏分两种:
①表面电容式触摸屏
表面电容式触摸屏技术利ITO(铟锡氧化物种透明导电材料)导电膜通电场感应方式感测屏幕表面触摸行进行表面电容式触摸屏局限性识手指者次触摸
②投射电容式触摸屏
种触摸屏传感器利触摸屏电极发射出静电场线般投射电容传感技术电容类型两种:电容交互电容
电容称绝电容广采种方法电容通常指扫描电极构成电容玻璃表面ITO制成横扫描电极电极间构成电容两极手触摸笔触摸时候会联电容电路中该条扫描线总体电容量改变扫描时候控制IC次扫描横电极根扫描前电容变化确定触摸点坐标位置笔记电脑触摸输入板采种方式笔记电脑输入板采X*Y传感电极阵列形成传感格子手指触摸输入板时手指传感电极间产生量电荷采特定运算法处理行列传感器信号确定手指位置
交互电容做跨越电容玻璃表面横ITO电极交叉处形成电容交互电容扫描方式扫描交叉处电容变化判定触摸点位置触摸时候会影响相邻电极耦合改变交叉处电容量交互电容扫面方法侦测交叉点电容值触摸电容变化需扫描时间电容扫描方式相长需扫描检测X*Y根电极目前智手机板电脑等触摸屏采交互电容技术ALIENTEK选择电容触摸屏采投射式电容屏(交互电容类型)面仅投射式电容屏作介绍透射式电容触摸屏采横两列电极组成感应矩阵感应触摸两交叉电极矩阵:X轴电极Y轴电极检测格感应单元电容变化图317示


图317 投射式电容屏电极矩阵示意图

示意图中电极实际透明里方便家理解图中XY轴透明电极电容屏精度分辨率XY轴通道数关通道数越精度越高电容触摸屏具手感需校准支持点触摸透光性等优点成高精度高抗干扰力差
TFTLCD模块触摸屏总五根线STM32F4连接连接电路图图318示

图318 TFTLCD模块连接图

325 LED驱动电路
户想较远方解密码锁开关状态时候通判断密码锁板面LED反馈灯颜色快速解密码锁状态LED特殊求系统设计板电源模块采33 V供电需选择33 VLED般采串接电阻方式限流控制LED亮度电路图319示


图319 LED连接电路图

326 蜂鸣器驱动电路
板接收遥控传信息会通声音形式接收状态反馈户显示出正常接收结果蜂鸣器特求系统设计板电源模块采33 V供电需选择33 V蜂鸣器STM32单片机IO口驱动力限果IO口直接连接IO口法正常驱动蜂鸣器需增加功率放驱动蜂鸣器驱动蜂鸣器常见方式利三极驱动图320示利NPN三极驱动蜂鸣器

图320蜂鸣器驱动电路

327 干接点输出电路
避免外接干接点影响系统功干接点模块采弱电控制采取隔离方式干接点信号种源开关信号常见实现方式利继电器开合继电器机械性碰触寿命限制继电器反应速度远半导体光耦继电器仅够实现干接点信号够实现良隔离保证电路稳定利光耦驱动器获电接点信号中光耦驱动器采TLP521芯片图321示干接点输出电路


图321 干接点输出电路

328 干接点检测电路
单片机检测干接点信号干接点信号引入电信号利三极饱截止功实现干接点信号转化高低电利光耦驱动器够隔离外部电路保护部电路作系统中采光耦驱动器实现检测干接点信号

图322 干接点检测电路

图322示干接点信号检测电路2公端端子座13段断开时光耦3号引脚输出低电端子座132短接时应光耦3号引脚输出高电实现检测干接点信号

4 系统软件设计
软件部分包含:HC05通USART接口实现数接收触摸屏驱动脱机键盘C语言实现系统运行状态指示模块密码掉电存储
41 HC05通USART接口实现数接收
HC05蓝牙模块接收手机蓝牙发送指令发送单片机进行信息处理整程中采串行通信
串行通信[6]指数位位串行序传送通信方式构成二进制代码序列1条信道位(码元)单位时间序位输入方式典型串行传输通常2根信号线构成包括数信号线时钟信号线数流方分分单工半双工全双工等3种方式数信号时钟信号步
串行通信指数位位串行序传送通信方式构成二进制代码序列1条信道位(码元)单位时间序位输入方式典型串行传输通常2根信号线构成包括数信号线时钟信号线数流方分分单工半双工全双工等3种方式数信号时钟信号步否分步通信方式异步通信方式2种生活中通常称呼串行通信实UART接口通信种异步通信次设计中采种方式面介绍种通信方式重参数特率数位停止位奇偶校验
①特率:衡量通信速度参数②数位:衡量通信中实际数位参数③停止位:表示单包位④奇偶校验位:串口通信中种简单检错方式
异步通信中传输1帧字符字符前面必须加起始位0面加停止位1种起止式通信方式字符间没固定间隔长度占传输时间求传送数量较场合速度慢异步数发送器先送出1起始位送出具定格式串行数位奇偶检验位停止位传送字符时应插入空闲位空闲位保持1接收端断检测线路状态数发送器发送1字符数时首先发送1起始位信号0数接收器检测0开始准备接收起始位表示字符传送开始时做步接收端时钟保证接收正确起始位面数位数位5678位数数位低位开始传送数位发送奇偶检验位占1位通信双方通信时须约定致奇偶校验位数位(没奇偶检验时)发送停止位停止位1位1位半2位定1停止位表示1字符数结束数接收器收停止位知道前符传送结束时接收字符做准备果收0信号表示新字符传送否表示目前通信结束
异步通信数格式:①1位起始低电②58位数位接着起始位表示传送效数③1位奇偶检验位(加加)④1位1位半2位停止位高电
字符起始位数位检验位停止位构成称1帧典型格式图41示


图41 异步传送帧数格式

STM32单片机台编写串口驱动程序较简单意法半导体公司提供STM32官方固件库编写STM32底层驱动需调固件库API函数[7]需操作复杂寄存器非常利项目开发利官方固件库十分流畅操作串口发送数次设计中需利串口发送字符串发送字符串较常方法利特殊字符特殊字符字符串结尾检测特殊字符时表明接收字符串完成利特殊字符发送字符串够完成字符串发送接收优点软件编写简单缺点特殊字符增加字符串额外长度数传输程中更加容易出现错误者特殊字符串引入必然导致特殊字符够作信息字符基缺点发送字符串应该方法次设计中字符串发送接收方法时间间隔处理具体做法发送字符串字符间时间间隔10 ms通检测两字符接收间时间间隔否10 ms判断前接收字符否前字符串具体单片机操作方法利串口中断定时器发送字符串较简单字符串中字符次发送出接收字符串时利串口接收中断次串口接收中断接收字符添加字符串缓器中开启时间间隔10 ms定时中断果定时中断开清零定时器果10 ms定时中断发生表明次字符串接收完成USART数收发模块串口中段程序清单:
void uart_init(u32 bound){
GPIO端口设置
GPIO_InitTypeDef GPIO_InitStructure
USART_InitTypeDef USART_InitStructure
NVIC_InitTypeDef NVIC_InitStructure
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOAENABLE)
GPIOA时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1ENABLE)
USART1时钟
串口1应引脚复映射
GPIO_PinAFConfig(GPIOAGPIO_PinSource9GPIO_AF_USART1)
GPIOA9复USART1
GPIO_PinAFConfig(GPIOAGPIO_PinSource10GPIO_AF_USART1)
GPIOA10复USART1
USART1端口配置
GPIO_InitStructureGPIO_Pin GPIO_Pin_9 | GPIO_Pin_10

GPIOA9GPIOA10
GPIO_InitStructureGPIO_Mode GPIO_Mode_AF复功
GPIO_InitStructureGPIO_Speed GPIO_Speed_50MHz 速度50MHz
GPIO_InitStructureGPIO_OType GPIO_OType_PP 推挽复输出
GPIO_InitStructureGPIO_PuPd GPIO_PuPd_UP 拉
GPIO_Init(GPIOA&GPIO_InitStructure) 初始化PA9PA10

USART1 初始化设置
USART_InitStructureUSART_BaudRate bound波特率设置
USART_InitStructureUSART_WordLength USART_WordLength_8b字长 8位数格式
USART_InitStructureUSART_StopBits USART_StopBits_1停止位
USART_InitStructureUSART_Parity USART_Parity_No奇偶校验位
USART_InitStructureUSART_HardwareFlowControl USART_HardwareFlowControl_None硬件数流控制
USART_InitStructureUSART_Mode USART_Mode_Rx | USART_Mode_Tx
收发模式
USART_Init(USART1 &USART_InitStructure) 初始化串口1
USART_Cmd(USART1 ENABLE) 串口1
USART_ClearFlag(USART1 USART_FLAG_TC)
#if EN_USART1_RX
USART_ITConfig(USART1 USART_IT_RXNE ENABLE)开启相关中断
Usart1 NVIC 配置
NVIC_InitStructureNVIC_IRQChannel USART1_IRQn串口1中断通道
NVIC_InitStructureNVIC_IRQChannelPreemptionPriority3抢占优先级3
NVIC_InitStructureNVIC_IRQChannelSubPriority 3 子优先级3
NVIC_InitStructureNVIC_IRQChannelCmd ENABLE IRQ通道

NVIC_Init(&NVIC_InitStructure) 根指定参数初始化VIC寄存器
#endif
}
void USART1_IRQHandler(void) 串口1中断服务程序
{
#ifdef OS_TICKS_PER_SEC 果时钟节拍数定义说明ucosII
OSIntEnter()
#endif
if(USART_GetITStatus(USART1 USART_IT_RXNE) RESET) 接收中断
{
Res USART_ReceiveData(USART1)(USART1>DR)
读取接收数
if((USART_RX_STA&0x8000)0)接收未完成
{
if(USART_RX_STA&0x4000)接收0x0d
{
if(Res0x0a)USART_RX_STA0接收错误重新开始
else USART_RX_STA|0x8000 接收完成
}
else 没收0X0D
{
if(Res0x0d)USART_RX_STA|0x4000
else
{
USART_RX_BUF[USART_RX_STA&0X3FFF]Res
USART_RX_STA++
if(USART_RX_STA>(USART_REC_LEN1))USART_RX_STA0接收数错误重新开始接收
}
}
}
}
42 触摸屏驱动
系统脱机情况采触摸屏方式进行交互里先驱动触摸屏HARDWARE文件夹新建TOUCH文件夹然新建touchctouchhctiiccctiichott2001acott2001ahgt9147cgt9147h等八文件存放触摸屏相关代码时引入源文件工程HARDWARE分组TOUCH文件夹加入头文件包含路径中touchctouchh电阻触摸屏部分代码带兼电容触摸屏理控制电容触摸屏部分代码
开touchc文件里面触摸屏相关代码(电阻触摸屏代码)里全部贴出仅介绍重函数
触摸屏驱动程序清单:
电容触摸芯片IIC接口初始化
void CT_IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_G PIOF ENABLE)GPIOBF时钟

GPIO_InitStructureGPIO_Pin GPIO_Pin_0PB0设置推挽输出
GPIO_InitStructureGPIO_Mode GPIO_Mode_OUT输出模式
GPIO_InitStructureGPIO_OType GPIO_OType_PP推挽输出
GPIO_InitStructureGPIO_PuPd GPIO_PuPd_UP拉
GPIO_Init(GPIOB &GPIO_InitStructure)初始化
GPIO_InitStructureGPIO_Pin GPIO_Pin_11PF11设置推挽输出
GPIO_InitStructureGPIO_Mode GPIO_Mode_OUT输出模式
GPIO_Init(GPIOF &GPIO_InitStructure)初始化
}
产生IIC起始信号
void CT_IIC_Start(void)
{
CT_SDA_OUT() sda线输出
CT_IIC_SDA1
CT_IIC_SCL1
delay_us(30)
CT_IIC_SDA0STARTwhen CLK is highDATA change form high to low
CT_Delay()
CT_IIC_SCL0钳住I2C总线准备发送接收数
}
产生IIC停止信号
void CT_IIC_Stop(void)
{
CT_SDA_OUT()sda线输出
CT_IIC_SCL1
delay_us(30)
CT_IIC_SDA0STOPwhen CLK is high DATA change form low to high
CT_Delay()
CT_IIC_SDA1发送I2C总线结束信号
}
等应答信号
返回值:1接收应答失败
0接收应答成功
u8 CT_IIC_Wait_Ack(void)
{
u8 ucErrTime0
CT_SDA_IN() SDA设置输入
CT_IIC_SDA1
CT_IIC_SCL1
CT_Delay()
while(CT_READ_SDA)
{
ucErrTime++
if(ucErrTime>250)
{
CT_IIC_Stop()
return 1
}
CT_Delay()
}
CT_IIC_SCL0时钟输出0
return 0
}
产生ACK应答
void CT_IIC_Ack(void)
{
CT_IIC_SCL0
CT_SDA_OUT()
CT_Delay()
CT_IIC_SDA0
CT_Delay()
CT_IIC_SCL1
CT_Delay()
CT_IIC_SCL0
}
产生ACK应答
void CT_IIC_NAck(void)
{
CT_IIC_SCL0
CT_SDA_OUT()
CT_Delay()
CT_IIC_SDA1
CT_Delay()
CT_IIC_SCL1
CT_Delay()
CT_IIC_SCL0
}
IIC发送字节
返回机应答
1应答
0应答
void CT_IIC_Send_Byte(u8 txd)
{
u8 t
CT_SDA_OUT()
CT_IIC_SCL0拉低时钟开始数传输
CT_Delay()
for(t0t<8t++)
{
CT_IIC_SDA(txd&0x80)>>7
txd<<1
CT_IIC_SCL1
CT_Delay()
CT_IIC_SCL0
CT_Delay()
}
}
读1字节ack1时发送ACKack0发送nACK
u8 CT_IIC_Read_Byte(unsigned char ack)
{
u8 ireceive0
CT_SDA_IN()SDA设置输入
delay_us(30)
for(i0i<8i++ )
{
CT_IIC_SCL0
CT_Delay()
CT_IIC_SCL1
receive<<1
if(CT_READ_SDA)receive++
}
if (ack)CT_IIC_NAck()发送nACK
else CT_IIC_Ack() 发送ACK
return receive
}
43 脱机键盘C语言实现
密码锁手机蓝牙连接出现问题时采机带触摸键盘解锁面软件实现触摸键盘界面键检测软件抖应功代码执行
开机进入介绍页面触摸屏幕意位置进入密码输入界面循环检测触摸屏满足应区域触摸执行相应代码[8]脱机键盘程序清单:
void menu(void) 创建键界面
{
int ij
LCD_Clear(LGRAY)
POINT_COLORRED
BACK_COLORLGRAY
LCD_ShowString(55104001616School of Electronic and Electrical Engineering)
Show_Str_Mid(15650蓝牙遥控密码锁2424)
LCD_ShowString(280902001616 MrL)
POINT_COLORGREEN
LCD_Fill(140150340200WHITE) 输入框
POINT_COLORRED
Show_Str_Mid(204163请输入2424)
for(i0i<4i++) 键盘创建
{
for(j0j<3j++)
{
LCD_Fill(10+j*155300+i*125160+j*155420+i*125LIGHTBLUE)
}
}
BACK_COLORLIGHTBLUE
POINT_COLORWHITE
LCD_ShowNum(2347230124)
for(i0i<3i++)
{
for(j0j<3j++)
{
LCD_ShowNum(79+j*155348+i*125i*3+j+1124)
}
}
Show_Str_Mid(61723回删2424)
Show_Str_Mid(371723确认2424)
POINT_COLORGRAYBLUE
BACK_COLORLGRAY
LCD_ShowString(68240303024Res)
LCD_ShowString(2002401003024Visible)
POINT_COLORRED
LCD_ShowString(371240503024Lock)
}

void main_task(void *pdata)
{ u8 t0
u8 i0j0
u16 lastpos[5][2] 次数
Bit0
Res100
Firstmenu()
while(firstmenu1) 显示初始界面 点击意位置进入
{
tp_devscan(0)
lastpos[t][0] tp_devx[t]
lastpos[t][1] tp_devy[t]
if(lastpos[t][0]<500||Res<50)
{
firstmenu0
key0
Res100
}
delay_ms(50)
}
delay_ms(300)
menu()
while(1)
{
BACK_COLORWHITE
POINT_COLORRED
tp_devscan(0)
lastpos[t][0] tp_devx[t]
lastpos[t][1] tp_devy[t]
LCD_ShowxNum(30240lastpos[t][0]10160)
LCD_ShowxNum(30270lastpos[t][1]10160)
LCD_ShowxNum(30200Bit10160)
LCD_ShowxNum(300200Bit010160)
LCD_ShowxNum(30150Res10160)
LCD_ShowxNum(3050ResSet10160)
if(lastpos[t][0]>500)
{
key1
}
if(key1) 数字判
{
if((lastpos[t][0]>10&&lastpos[t][0]<160&&lastpos[t][1]>300&&lastpos[t][1]<420||Res1)&&Bit<8&&Bit0<8) 1
{
key0
Res100
if(ResSet1)
{
Password[Bit]1
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]1
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>165&&lastpos[t][0]<315&&lastpos[t][1]>300&&lastpos[t][1]<420||Res2)&&Bit<8&&Bit0<8)2
{
key0
Res100
if(ResSet1)
{
Password[Bit]2
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]2
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>320&&lastpos[t][0]<470&&lastpos[t][1]>300&&lastpos[t][1]<420||Re
s3)&&Bit<8&&Bit0<8)3
{
key0
Res100
if(ResSet1)
{
Password[Bit]3
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]3
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>10&&lastpos[t][0]<160&&lastpos[t][1]>425&&lastpos[t][1]<545||Res4)&&Bit<8&&Bit0<8)4
{
key0
Res100
if(ResSet1)
{
Password[Bit]4
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]4
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>165&&lastpos[t][0]<315&&lastpos[t][1]>425&&lastpos[t][1]<545||Res5)&&Bit<8&&Bit0<8)5
{
key0
Res100
if(ResSet1)
{
Password[Bit]5
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]5
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>320&&lastpos[t][0]<470&&lastpos[t][1]>425&&lastpos[t][1]<545||Res6)&&Bit<8&&Bit0<8)6
{
key0
Res100
if(ResSet1)
{
Password[Bit]6
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]6
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>10&&lastpos[t][0]<160&&lastpos[t][1]>550&&lastpos[t][1]<670||Res7)&&Bit<8&&Bit0<8)7
{
key0
Res100
if(ResSet1)
{
Password[Bit]7
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]7
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>165&&lastpos[t][0]<315&&lastpos[t][1]>550&&lastpos[t][1]<670||Res8)&&Bit<8&&Bit0<8)8
{
key0
Res100
if(ResSet1)
{
Password[Bit]8
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]8
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>320&&lastpos[t][0]<470&&lastpos[t][1]>550&&lastpos[t][1]<670||Res9)&&Bit<8&&Bit0<8)9
{
key0
Res100
if(ResSet1)
{
Password[Bit]9
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]9
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>165&&lastpos[t][0]<315&&lastpos[t][1]>675&&lastpos[t][1]<795||Res23)&&Bit<8&&Bit0<8)0
{
key0
Res100
if(ResSet1)
{
Password[Bit]0
ShowPassword()
Bit++
}
else
{
TEXT_Buffer[Bit0]0
ShowPasswordRes()
Bit0++
}
}
else if((lastpos[t][0]>10&&lastpos[t][0]<160&&lastpos[t][1]>675&&lastpos[t][1]<795||Res16)&&(Bit>0||Bit0>0))回删
{
key0
Res100
if(ResSet1)
{
Bit
ShowPassword1()

}
else
{
Bit0
ShowPasswordRes1()
}
}
else if(lastpos[t][0]>320&&lastpos[t][0]<470&&lastpos[t][1]>675&&lastpos[t][1]<795||Res18)确认
{
key0
Res100
if(ResSet1)
{
result1
if(BitBitRirht)
{
result0
}
for(i0i {
if(datatemp[i]Password[i])
{
result0
break
}
}
LCD_ShowxNum(30400result10160)
if(result1)
{
if(ResSetnow1)
{
BEEP1
delay_ms(60)
BEEP0
delay_ms(60)
BEEP1
delay_ms(60)
BEEP0
Bit0
LCD_Fill(140150340200WHITE)
Show_Str_Mid(192163密码正确2424)
delay_ms(600)
LCD_Fill(140150340200WHITE)
Show_Str_Mid(168163输入重置密码2424)
ResSet1
}
else
{
BEEP1
delay_ms(60)
BEEP0
delay_ms(60)
BEEP1
delay_ms(60)
BEEP0
Bit0
Lock1
POINT_COLORGRAYBLUE
BACK_COLORLGRAY
LCD_ShowString(371240503024Lock)
POINT_COLORRED
BACK_COLORWHITE
LCD_Fill(140150340200WHITE)
Show_Str_Mid(192163密码正确2424)
}
}
if(result0)
{
POINT_COLORRED
BACK_COLORWHITE
LCD_Fill(140150340200WHITE)
BEEP1
Show_Str_Mid(192163密码错误2424)
delay_ms(60)
BEEP0
LCD_Fill(140150340200WHITE)
delay_ms(60)
BEEP1
Show_Str_Mid(192163密码错误2424)
delay_ms(60)
BEEP0
LCD_Fill(140150340200WHITE)
delay_ms(60)
BEEP1
Show_Str_Mid(192163密码错误2424)
delay_ms(60)
LCD_Fill(140150340200WHITE)
BEEP0
Bit0
LCD_Fill(140150340200WHITE)
Show_Str_Mid(192163密码错误2424)
delay_ms(500)
LCD_Fill(140150340200WHITE)
Show_Str_Mid(204163请输入2424)
}
}
else
{
POINT_COLORRED
BACK_COLORWHITE
TEXT_Buffer[8]Bit0
LCD_Fill(140150340200WHITE)
Show_Str_Mid(192163正重置2424)

STMFLASH_Write(FLASH_SAVE_ADDR(u32*)TEXT_BufferSIZE)
ReadPassword()
LCD_Fill(140150340200WHITE)
Show_Str_Mid(192163重置完成2424)
提示传送完成
BEEP1
delay_ms(60)
BEEP0
delay_ms(60)
BEEP1
delay_ms(60)
BEEP0
delay_ms(60)
BEEP1
delay_ms(60)
BEEP0
delay_ms(60)
BEEP1
delay_ms(60)
BEEP0
POINT_COLORGRAYBLUE
BACK_COLORLGRAY
LCD_ShowString(68240303024Res)
ResSet0
Bit0
Bit00
ResSetnow0
delay_ms(500)
LCD_Fill(140150340200WHITE)
POINT_COLORRED
BACK_COLORWHITE
Show_Str_Mid(204163请输入2424)
}

}
else if(lastpos[t][0]>50&&lastpos[t][0]<100&&lastpos[t][1]>230&&lastpos[t][1]<274||Res22)重置
{
ResSetnow1
key0
Res100
Bit0
Bit00
LCD_Fill(140150340200WHITE)
POINT_COLORGREEN
BACK_COLORLGRAY
LCD_ShowString(68240303024Res)
POINT_COLORRED
BACK_COLORWHITE
Show_Str_Mid(168163输入前密码2424)
}
else if((lastpos[t][0]>350&&lastpos[t][0]<410&&lastpos[t][1]>230&&lastpos[t][1]<274||Res24)&&Lock1)锁
{
key0
Res100
Lock0
LCD_Fill(140150340200WHITE)
BEEP1
delay_ms(60)
BEEP0
POINT_COLORRED
BACK_COLORLGRAY
LCD_ShowString(371240503024Lock)
Show_Str_Mid(204163请输入2424)
}
else if(lastpos[t][0]>150&&lastpos[t][0]<300&&lastpos[t][1]>230&&lastpos[t][1]<274||Res25)Visible
{
key0
Res100
VisibleVisible
if(Visible1)
{
POINT_COLORGRAYBLUE
BACK_COLORLGRAY
LCD_ShowString(2002401003024Visible)
}
else
{
POINT_COLORRED
BACK_COLORLGRAY
LCD_ShowString(2002401003024Visible)
}
if(ResSet1)
{
POINT_COLORRED
BACK_COLORWHITE
ShowPassword1()
}
else
{
POINT_COLORRED
BACK_COLORWHITE
ShowPasswordRes1()
}
}
delay_ms(10)
}
}
}
44 系统运行状态指示模块
机系统开机直工作设定系统运行程中绿色指示灯持续闪烁LED持续闪烁表示系统运行停止闪烁表示系统运行卡顿程序跑飞系统运行状态指示程序清单:
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF ENABLE)GPIOF时钟

GPIOF9F10初始化设置
GPIO_InitStructureGPIO_Pin GPIO_Pin_9 | GPIO_Pin_10LED0LED1应IO口
GPIO_InitStructureGPIO_Mode GPIO_Mode_OUT普通输出模式
GPIO_InitStructureGPIO_OType GPIO_OType_PP推挽输出
GPIO_InitStructureGPIO_Speed GPIO_Speed_100MHz100MHz
GPIO_InitStructureGPIO_PuPd GPIO_PuPd_UP拉
GPIO_Init(GPIOF &GPIO_InitStructure)初始化GPIO
GPIO_SetBits(GPIOFGPIO_Pin_9 | GPIO_Pin_10)GPIOF9F10设置高灯灭
}

void led_task(void *pdata)
{
while(1)
{
LED0Lock
delay_ms(300)
}
}
45 密码掉电存储
设备家居设备避免长期出门问题设备长时间需时候工作整天出差断开设备电源省电安全里设计密码锁原始密码户设定新密码存储部FLASH已保证断电重启密码保持变
说STM32FLASH第反应装程序实际STM32片FLASH仅装程序装芯片配置芯片ID举程序等等然FLASH装数根途STM32片FLASH分成两部分:存储块信息块
存储块存储程序般程序存储里信息块分成两部分:系统存储器选项字节
系统存储器存储存放系统存储器举模式启动程(BootLoader)ISP方式加载程序[9]时程序执行区域芯片厂写入BootLoader然锁死户法改变区域选项字节存储芯片配置信息存储块保护信息掉电存储程序清单:
u32 STMFLASH_ReadWord(u32 faddr)
{
return *(vu32*)faddr
}
获取某址flash扇区
addrflash址
返回值0~11addr扇区
uint16_t STMFLASH_GetFlashSector(u32 addr)
{
if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrelse if(addrreturn FLASH_Sector_11
}
void STMFLASH_Write(u32 WriteAddru32 *pBufferu32 NumToWrite)
{
FLASH_Status status FLASH_COMPLETE
u32 addrx0
u32 endaddr0
if(WriteAddrFLASH_Unlock() 解锁
FLASH_DataCacheCmd(DISABLE)FLASH擦期间必须禁止数缓存
addrxWriteAddr
endaddrWriteAddr+NumToWrite*4
if(addrx<0X1FFF0000)
{
while(addrx {
if(STMFLASH_ReadWord(addrx)0XFFFFFFFF)
{
statusFLASH_EraseSector(STMFLASH_GetFlashSector(addrx)VoltageRange_3)
if(statusFLASH_COMPLETE)break
}else addrx+4
}
}
if(statusFLASH_COMPLETE)
{
while(WriteAddr {
if(FLASH_ProgramWord(WriteAddr*pBuffer)FLASH_COMPLETE)
{
break 写入异常
}
WriteAddr+4
pBuffer++
}
}
FLASH_DataCacheCmd(ENABLE) FLASH擦结束开启数缓存
FLASH_Lock()锁
}

5 总结
智锁系统必成智家居中子系统智锁未发展趋势课题设计种基STM32单片机智手机智锁系统搭载UCOS实时操作系统[10]实现密码锁智化
文研究蓝牙遥控密码锁系统实现四种功:①手机APP控制电锁②脱机键盘控制电锁③电锁密码断电存储④电锁密码更新图51示蓝牙遥控密码锁机实物图


图51 蓝牙遥控密码锁机实物图

蓝牙遥控密码锁机蓝牙接收模块HC05图矩形方框标出蓝牙指令智手机APP发送然该模块接收数交机处理
蓝牙遥控密码锁机起始页面图52示起始页面展示作品基信息户通触摸屏幕意位置进入密码输入界面


图52 蓝牙遥控密码锁机起始页面


图53示蓝牙遥控密码锁机机交互界面系统中输入密码解锁通点击Visible设置密码输入程中字符见性户选择前已输入密码否见Lock颜色标示着锁前开关状态通点击锁点击Res重置密码重置密码前必须正确输入前密码

图53 蓝牙遥控密码锁机机交互界面

手机APP指令发送界面图54示指令系统述脱机键盘功致


图54 手机APP指令发送界面
参考文献:
[1] 李德俊 罗维 单片机原理应[M] 武汉 华中科技学出版社 2012
[2] 华成英 童诗白 模拟电子技术基础[M] 北京 高等教育出版社 2006
[3] 阎石 数字电子技术基础[M] 北京 高等教育出版社 2005
[4] 邱关源 电路(第五版)[M] 北京 高等教育出版社 2006
[5] Joseph Yiu ARM CortexM3权威指南[M] 北京 北京航空航天学出版社 2009
[6] 樊昌信 曹丽娜 通信原理[M] 北京 国防科技学 2006
[7] 蒙博宇 STM32学笔记[M] 北京 北京航空航天学出版社 2012
[8] 谭浩强 C程序设计(第4版)[M] 北京 清华学出版社 2010
[9] 谭浩强 C++程序设计(第二版)[M] 北京 北京清华学出版社 2011
[10] 左忠凯 STM32F4 UCOS开发手册[M] 深圳 深圳学出版社 2004
致 谢
伴着毕业答辩告学生活衷感谢学老师学朋友感谢位伴着成长高兴分享精彩四年
感谢毕业文指导老师XX老师辛勤指导整毕业设计程中帮助严谨治学态度求真务实工作作风学生涯着深远影响
感谢起实验室学伙伴回想起奋斗日日夜夜起收获成功喜悦难忘
感谢评审文位专家老师感谢文力支持


文档香网(httpswwwxiangdangnet)户传

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

下载文档,方便阅读与编辑

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

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

该文档为用户出售和定价!

购买文档

相关文档

手机蓝牙遥控小车设计毕业论文

 XX 学 院 本科生毕业设计(论文) 学 院: 电子与电气工程学院 专 业: 电气工程及其自动化 学 生: 指导教师: 完成日期 20XX 年 X 月 XX学院本科生毕业设计(论文) 手机蓝牙遥控小车设计 D

文***品 5年前 上传2175   0

基于单片机的电子密码锁设计毕业设计

 ####工业大学城市学院 毕业设计说明书 作 者: 李xx 学 号: 09xx 系: 信息工程 专业: 电子信息工程 题 目: 基于单片机的电子密码锁设计 指导者:

文***品 5年前 上传1437   0

智能遥控窗帘系统设计毕业设计

 毕业设计 题 目 智能遥控窗帘系统的设计与实现 学生姓名 专业班级 学 号

z***u 5年前 上传1380   0

电动遥控百叶窗设计毕业设计

编号:  毕业设计说明书 题 目: 电动遥控百叶窗 摘 要 随着传感技术日新月异的发展,产品功能智能化逐渐成熟,自动化控制也就成了提高资源利用率的关键。 随着电子技术的飞速发展,微电子技术的得到越来越多的应用,同时影响着人们生活工作的方方面面。自动窗控制系统经历了从

z***u 5年前 上传865   0

蓝牙测试标准

标题蓝牙测试项目和限值内容 本文档描述了蓝牙模块的测试项目和限值,符合蓝牙标准1.2。DIFFUSION

工***单 4年前 上传569   0

红外遥控电路设计

摘 要 随着科学技术的飞速发展,信息的飞快传播,红外遥控在人们的生活中已经成为不可或缺的部分。本文重点介绍了利用单片机AT89S52和AT89C2051实现红外发射和接收电路的设计方法。发射电路通过对单片机89C2051的编程,再通过红外二极管产生脉冲传送到接收器上。接收电路通过单片机AT89S52的控制编程,实现对不同设备的控制。整个电路耗电省、简单可靠、操作灵活、性能价格比高,较好地

山***1 5年前 上传1271   0

数字电子密码锁课程设计

课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 《数字电子密码锁》 初始条件:利用集成集成芯片和门电路等设计一个数字电子密码锁。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1

文***品 3年前 上传583   0

电子密码锁设计方案

密码锁设计方案第一部分:课题背景描述l 课题来源:课题思路来源于本次大赛的参考题目l 市场分析:电子密码锁是一种通过单片机来控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。l 国内外研究现状在安全技术防范领域,具有防盗报警功能

z***u 1年前 上传382   0

基于蓝牙的考勤系统

 基于蓝牙的考勤系统-用户界面设计 基于蓝牙的考勤系统 摘 要随着教育的普及,大学生的数量也越来越多。不同于初高中的管理,大学更偏向于自主学习。且高校流行选分制度班级流动性增强,因此大学生获得了更多课程选择上的自由度,班级概念弱化,因此学生有着充裕的时间可以去做自己喜欢的项目,从而在自己喜欢的项目上大放异彩,但是在这种情况下,学院管理难度变

平***苏 2年前 上传509   0

单片机红外遥控系统设计

 单片机红外遥控系统设计 摘要:本文设计了一种基于AT89S52单片机的红外遥控系统,可用于控制多种电器的开关,交流电机的转速及启停等方面。阐述了发射部分和接收部分的设计原理和工作过程,介绍了一种红外遥控解码程序的实现方法,并用流程图表示了程序的设计过程。 1 引言 红外线波长远小于无线电波的波长,所以红外遥控不会干扰其他无线设备的工作;其次其无法穿透墙壁,故不同房

山***1 5年前 上传1118   0

遥控社团课程设计

课程名称:遥控社团教师: 附件二:一学期结束上交内容与实施(以一学期计算,约16--20课时,含报名选拔和期末的评价)课时主 要 内 容实施的简要流程1认识遥控车1.社员自我介绍2.认识遥控车2拆装器材1. 学习遥控车的拆装2. 学习电池的安装3启动遥控车1. 认识遥控器的各个按钮2. 学会启动遥控车4练习直行1. 学会开启前的准备2. 开直线

蓝郎梦 1年前 上传526   1

遥控器操作说明(中文版)

本产品为单机版高清广告机解码板,用于显示播放商业广告,强大的视频播放功能给您带来全高清体验;独有的全屏、自由分屏播放样式,横竖屏自由切换等功能给您带来极大的便利,是目前国内功能最全的高清广告机解决方案之一。

王***6 5年前 上传2777   0

遥控直升机飞行原理

直升机飞行原理1.绪论本文的内容主要着重于飞行原理的介绍。首先介绍简单的旋翼切面原理,其次则为动量理论(momentum theory)及旋翼元素理论(blade element theory)。于翼切面原理中介绍翼切面如何产生升力,以及相对的阻力及翻转力矩;而动量理论介绍旋旋翼的简单物理数学模式,及其相关的理论基础;最后旋翼元素理论则较详细的解释翼片如何产生升力、阻力及所消耗的功率。了解直

小***库 2年前 上传749   0

遥控直升机飞行练习

直升机飞行教学  遥控飞机是无法在短时间内学好的,但也正因为如此才有它的趣味性,不论如何不要想太多,当你学会飞行时,你一定觉得比想象中的简单。   第一章 从“青蛙跳”开始  一、找一位好老师吧!  相信99%的初学者在刚要想飞遥控直升机时,都会觉得:遥控直升机很难吧……  原因是大多数的人,看到遥控直升机在广阔的天空中自在穿梭飞行的模样时,自己也想开始试着做做看,但实际上却觉得

小***库 2年前 上传488   0

电线电缆毕业设计毕业设计

专科学校 毕业设计论文 论文题目:WDZB-YJY 8.7/10 3X95 电缆结构设计及阻燃实验 系 部: 电气工程系 专 业:电线电缆制造技术 班 级: 学生姓名: 学 号: 指导教师: 20XX年X月

文***享 5年前 上传1301   0

数字电子技术课程设计电子密码锁

课程设计说明书课程名称: 数字电子技术课程设计 题 目: 电子密码锁 学生姓名: 专 业: 班 级: 学 号: 指

文***享 1年前 上传502   0

毕业论文:基于plc的电子密码锁毕业论文设计

本毕业设计介绍了可编程序控制器(PLC)和PLC控制系统的基本知识,包括PLC的定义、特点、分类、技术指标、基本结构、工作原理、硬件知识及PLC控制系统等相关知识。采用松下公司系列的PLC,设计了一个简单的密码锁控制系统。密码锁控制系统通过了可编程序控制器来控制和实现开锁和报警过程。

流***爱 5年前 上传1843   0

基于单片机的电子密码锁设计

目录设计总说明································································IIntroduction······························································I第一章 绪论 11.1 设计背景 11.2 电子密码控制简介 11.3 电子密码控制的发展

天***猩 4周前 上传249   0

电子信息工程基于单片机的指纹密码锁设计与实现

基于单片机的指纹密码锁设计与实现 Design and implementation of fingerprint code lock based on SCM 摘要随着这几年科技和互联网的快速发展,指纹识别技术也得到了突飞猛进,可以看到指纹识别技术以经在生活中使用很广了,而它未来的发展空

平***苏 1年前 上传270   0

基于51单片机的电子密码锁设计

近年来,在我国社会经济不断进步和迅猛发展的背景下,人们的生活水平越来越高,更多的人开始享受高质量的生活。就拿我们家家离不开的锁具来说,从我国古代历史上就有了各种锁的记载和使用,发展到今天人们追求的不单单只是用来锁门的一个工具。

爱***享 3年前 上传679   0

蓝牙耳机合作招商计划书

蓝牙耳机合作招商计划书 一、 企业概况 北京XX商贸有限公司是集电脑软件和通讯器材研究开发及销售一体的商贸有限责任公司。公司自成立以来,始终致力于蓝牙科技的开发、推广及应用,以普及蓝牙技术为己任,形成基础技术研究、市场应用研究、产品开发研究与项目跟踪及反馈的技术运营机制,以技术立足市场,以综合质量和完善的服务取信于广大用户。公司以市场为导向,产品质量好、性价比高。推出的蓝牙耳机,遵循“以人为

栀***6 9年前 上传29049   0

基于蓝牙技术的照明控制系统

摘要: 随着21世纪信息时代的互联网应用技术和互相联系应用技术的不断进步,家用的人工机械不是手动操控的化已经成为未来发展的必然趋势,人工机械不是手动操控的电灯光照亮作为人工机械不是手动操控的家用的必不可少的子系统,开始影响并改变人们的电灯光照亮观念。近几年,结合人工机械不是手动操控的用户端终端系统的电灯光照亮系统在互联网时代下得到

王***朝 4年前 上传850   0

物业启用车辆蓝牙读卡新闻报道

规范行车秩序 保障业主安全 ——物业启用车辆蓝牙读卡新闻报道  为给天泰城业主提供更加方便舒适的优质服务,加强天泰城进出车辆规范化管理,经业主委员会授权,天泰城物业服务中心对天泰城车行岗、地下车库道闸的智能化升级改造工作已全面完成。现已将原有设备全部更换成蓝牙智能系统,改造后的门禁系统安装有最新技术的蓝牙芯片,智能识别进出车辆,自动远距离读卡。 经过两个多月的筹备,天泰城物业服务中心3月1

f***8 10年前 上传8631   0

毕业设计

微固支梁在冲击载荷下的响应研究   【摘 要】   MEMS器件商用化最大的障碍是技术供应商在可制造性、可测试性、器件可靠性等方面的解决方案能力不足。MEMS的各基础构件及最重要的可动结构部分均属于机械系统的范畴,因此,研究微结构在振动和冲击下的响应规律与特性,从而尽可能地控制、避免并消除振动和冲击带来的危害,成为对MEMS性能及可靠性研究的重要内容。微固支梁是MEMS中的一种基本的可动结构

小***丫 5年前 上传1488   0

毕业设计论文:

本文介绍了基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法。本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602液晶显示模块,可以在LCD1602上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。

S***吴 4年前 上传1800   0