1、 指导教师评定成绩: 审定成绩: 重 庆 邮 电 大 学 自 动 化 学 院 基于蓝牙通信和上位机控制的智能风扇设计 摘 要 在炎炎夏日,空调便成为了人们的必备武器,可是很多人没有注意到吹空调的危害,长时间吹空调,人很容易着凉感冒,降低身体的抵抗力。空调房间比较封闭,空气流通不好,容易有异味,空调通风处若不经常清理,容易积累灰尘和细菌,从而使人生病。并不是所有的人都适合吹空调,像老人,小孩,孕妇都不易长时间吹空调,对此我们设计了此款智
2、能风扇,它以STC12C5A60S2做主控芯片,分别加入了红外模块,温湿度传感器模块,电机调速模块/测速模块,总共分为四个功能模块,分别为自动模式,节能模式,定速模式,定时模式,这些模式既可以很好地调节风速,同时也更加节能,而且增加了蓝牙无线模式,在上位机界面可以很轻松的切换以上模式。 关键词:智能 蓝牙无线 上位机 实用 Abstract in the summer, air conditioning became a necessary weapo
3、n for people, but many people do not pay attention to the harm of blow air conditioning, long time blowing air, people are very easy to catch a cold, reduce the body's resistance. Air conditioning room is closed, the air circulation is not good, easy to have peculiar smell, air conditioning and vent
4、ilating place if not often clean, easy to accumulate dust and bacteria, so as to make people sick, not all people are suitable for blowing air, like the elderly, children, pregnant women are not easy to long time blow air conditioning, to this we design this section intelligent fan, it uses STC12C5A
5、60S2 chip control, respectively, joined the infrared module, temperature and humidity sensor module, motor speed control module / speed module, is divided into four functional modules, respectively is the automatic mode, the energy-saving mode, constant speed mode, the timing patterns, these pattern
6、s can adjust the wind speed is very good, but also more energy, but also increase the Bluetooth wireless mode, can more easily in the mode of host computer interface. Keywords: intelligent Bluetooth host computer practical 目 录 一、总体系统设计概述 1 1.1 系统的设计原理 1 1.2系统总体框图 1
7、1.3 系统实现的主要功能 1 二、 方案选择与论证 2 2.1单片机方案 2 2.2无线模块方案 2 2.3 显示方案 3 2.3.1 LCD12864 3 2.3.2 LCD1602 3 2.3.3 数码管显示 4 2.3.4 PC上位机端显示 4 2.4 测速及调速模块 4 2.4.1 测速方案设计 4 2.4.2 调速方案设计 5 2.5 温度采集方案设计 6 2.6 人体感应模块 6 三、系统硬件设计 7 3.1 显示模块 7 3.2 电动机模块 8 3.2.1 PWM调速 8 3.2.2 测速 9 3.3 温度采集模块 9 3.4
8、 无线模块 10 3.5 红外模块 10 3.6 PCB设计 11 四、系统软件设计 12 4.1 流程图设计 12 4.1.1 单片机设计 12 4.1.2 上位机 13 4.2 按键扫描设计 13 4.3 模式控制设计 14 4.4 温湿度采集软件设计 14 4.5 调速、测速软件设计 16 4.5.1 调速软件设计 16 4.5.2 测速软件设计 16 五、 联调效果 17 5.1上位机 17 5.2 蓝牙 18 5.3 按键 18 六、 心得体会 19 参考文献 20 附 录 21 一、总体系统设计概述 1.1 系统的设计原理
9、 本设计的实现分为两个部分,一是以STC12C5A60S2单片机为主控的下层实现,二是以VB语言开发的上层实现。下层通过温湿度传感器获取室内温度,由单片机的显示到LCD12864上,同时通过模式的选择使电机工作在不同的转速,实现温度和转速的联系。此外通过红外模块的感知作用,在选择自动模式时,就可以感知人的存在而使电机工作,实现人来工作,人去静止的工作,电机驱动模块为L298芯片,由单片机送出PWM波来实现电机的调速,同时使用了光电门模块实现系统的测速功能,并且显示在LCD12864上,更加直观的观看调速效果。上层与下层通过两个串口转蓝牙模块进行通信,两个蓝牙模块分别设置为主、从模式,配对密
10、码和波特率均设置相同。上位机在设置好串口以及波特率后,通过不同的“设置”按键实现系统模式的切换。 1.2系统总体框图 图1.1 系统总体框图 1.3 系统实现的主要功能 本次课程设计以智能风扇为研究背景,使用STC12C5A60S2单片机做主控芯片,配以相关的传感器模块,电机调速/测速模块,LCD12864模块,按键模块,以及使用蓝牙模块配合上位机程序,既可以按键控制,也可以上位机无线控制,既可以在上位机显示,也可以在LCD12864上显示。主要完成以下功能: 1、 自动模式 该模式通过红外模块的感应功能,一旦感应到有人在感应范围内活动,就会产生3~4秒的低电平,单片
11、机的外部中断0(/INT0)就会发生中断,从而使电机以固定速度转2S后停止,除非重新感应到人的活动。 2、 节能模式 该模式通过温湿度传感器DHT11模块,获得室内的温度数据,在本设计中以上下限温度为分割点,把电机速度控制在三个等级内,比如大于上限温度时,以一级速度运转,在上下限温度之间,以二级速度运转,低于下限温度,以三级速度运转,这样就可以实现根据温度来调节转速。 3、 定速模式 该模式使电机工作在固定的三个等级的转速。 4、定时模式 该模式可以实现定时功能,同时必须和以上三个模式的之一结合使用 二、 方案选择与论证 2.1单片机方案 单片机作为系统的主控芯
12、片,其类型众多,功能丰富,选择合适的单片机有利于减少外围电子器件的数量。 方案一、STC89C52系列单片机。 STC89C52系列单片机增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051。 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。 方案二、 STC12C5A60S2单片机。 STC12C5A60S2是STC生产的单时钟/机器周期(
13、1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。 通用I/O口36个,复位后为:准双向口/弱上拉。可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏 。每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。 STC12C5A60S2内部集成了2路PWM,可用作PWM和PCA捕获,而且速度更快,I/O口可设置为四种模式,使用更加方便,而且两者价格相差无几,所以选用方案二。 2.2
14、无线模块方案 无线模块主要为了实现上位机与单片机的通信,同时避免布线的麻烦,现在比较实用的无线解决方案是WI-FI,蓝牙,红外,ZigBee,他们之间各有优缺点,现列表如下, 类型 性能 WI-FI 蓝牙 红外 ZigBee 通信距离 <300m <100m <10m <3km 通信速率 <54Mbps <720Kbps <16Mbps <250Kbps 通信频率 2.4G HZ 2.4G HZ 38KHZ 2.4GHZ(868M,915M) 开发难易 难 一般 一般 简单 模块成本 高 一般 一般 高
15、表2-1 无线模块方案 在以上四种无线模块中,他们各有自己的技术架构限值,具有不同的用途,其中ZigBee特点是近距离、低复杂度、自组织、低功耗、低数据速率、可组网 。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。Wi-Fi是一个无线网络通信技术的品牌,由Wi-Fi联盟(Wi-Fi Alliance)所持有。目的是改善基于IEEE802.11标准的无线网络产品之间的互通性,主要用于智能手机、平板电脑和笔记本电脑的无线上网功能。红外传输是一种点对点的传输方式,无线,不能离的太远,要对准方向,且中间不能有障碍物也就是不能穿墙而过,几乎无法控制信息传输的进度。蓝牙,是一种支持设备短
16、距离通信(一般10m内)的无线电技术,传输速率较高,对移动设备支持,而且现在市场上有USB转串口的蓝牙模块,开发简单,使用方便。所以我们选用了蓝牙作为我们无线通信的方案。 2.3 显示方案 目前比较常用的显示方案有LCD12864,LCD1602,数码管显示,以及电脑端的显示。他们主要的特点如下: 2.3.1 LCD12864 带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点A
17、SCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点 2.3.2 LCD1602 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 2.3.3 数码管显示
18、 数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮, 发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。但是它不能显示中文字符、图像以及ASCII 字符。 2.3.4 PC上位机端显示 上位机是指可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等),PC上位机显
19、示需要自己的编程开发,现在常用的开发语言有C++,VB,C#,JAVA。PC上位机不仅可以显示底层传来的数据,而且可以发送控制命令到底层单片机。 LCD12864既可以显示中文字符,也可以显示ASCII字符,在本设计中需要中文字符的显示,以及ASCII字符的显示,所以选LCD12864为底层的显示器件,此外还需要上位机的数据显示与控制,VB语言简单易学,功能强大,有专用的SerialPort控件,所以在上层我们使用VB语言在Microsoft Visual Studio 2012 Ultimate旗舰版开发。 2.4 测速及调速模块 2.4.1 测速方案设计 方案一:磁式测
20、速发电机 永磁式直流测速发电机是一种将转子速度转化为电气信号的机电式信号元件,是伺服系统中基本元件之一。作为测速、校正,解算元件,他被广泛应用于各种速度和位置控制系统中。永磁式测速发电机主要由定子、转子和电刷部件等组成。一般情况下自动控制系统对其元件的要求主要是高的精确度、灵敏度、可靠性等。因此永磁式直流测速发电机在电气性能方面应满足以下要求: (1)输出电压和转速成线性关系 (2)温度变化对输出特性影响小 (2)输出电压波纹小 (4)正反转的输出特性应该一致 方案二:光电编码器 按照工作原理编码器可
21、分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。工作时,光电码盘安装在转子端轴上,随着电机的转动,光电码盘也跟着一起转动,如果有一个固定光源照射在码盘上,则可利用光敏元件来接收到的光的次数就是码盘的编码数。若编码数为60,测量时间为t,测量到的脉冲数为N,则转速为n=N/(t*60)*60=N/t。 方案三:光电对射式 采用对射式红外传感器。在轮辐面板上均匀刻出槽孔,在轮子两侧固定相对的红外发射、接收
22、器件。在过孔处接收器可以接收到信号。从而轮子转动时可以产生连续脉冲信号,通过对脉冲的计数进行车速测量。 几种测速方案比较: 直流测速发电机 光电编码器 光电对射式 测量精度 高 高 低 开发难易 难 难 易 模块成本 低 高 较低 表2-2 测速方案比较 由于本此设计只是简单测量电机转速,以方便观看电机调速效果,故采用光电对射式即可,成本低,开放简单,所以采用方案三。 2.4.2 调速方案设计 方案一:静止可控整流器。简称V-M系统。 V-M系统是当今直流调速系统的主要形式。它可以是单相、三相或更多相数,半波、全波、半控、全
23、控等类型,可实现平滑调速。V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。它的另一个缺点是运行条件要求高,维护运行麻烦。最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。 方案二:脉宽调速系统。 采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态。当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。脉冲宽度调制(Pulse Width Modulation),简称PWM。脉冲周期不变,只改变晶闸管的
24、导通时间,即通过改变脉冲宽度来进行直流调速。 由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽。由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小,而且STC12C5A60S2内部集成了PWM模块,所以选用方案二,开发简单,调速效果好。 2.5 温度采集方案设计 方案一、 采用DS18B20采集温度。 DS18B20是美国DALLAS公司生产的一线式数字温度传感器,具有3引脚TO一92小体积封装形式;温度测量范围为一55℃~+125℃,可编程为9~12位A/D
25、转换精度测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引人,也可采用寄生电源方式产生;多个DS18B20可以并联到3或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路:以上特点使DS18B20非常适合于远距离多温度检测系统中。 方案二、使用DHT11数字温湿度传感器。 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性,而且超低能耗 。DHT11供电电压:3.3
26、~5.5V DC,输 出:单总线数字信号,测量范围: 湿度20-90%RH, 温度0~50℃,测量精度:湿度+-5%RH, 温度正负2℃,分辨率:湿度1%RH,温度1℃。 在本设计中,对温度的精度要求不高,同时作为居家产品,湿度的概念也比较重要,而且DHT11相对DS18B20价格更便宜,所以本设计采DHT11数字温湿度传感器 2.6 人体感应模块 方案一、超声波感应。 超声波是一种频率高于20000赫兹的声波,它的方向性好,穿透能力强,易于获得较集中的声能,超声波可以用于测距,可测出回波和发射脉冲之间的时间间隔。利用S=C*t/2就可以直接算出距离(其中C是超声波的传播速度,
27、t为时间间隔),当人体与风扇的距离在规定的距离内,就可以启动风扇。 方案二、红外感应。 人体红外感应模块是基于红外线技术的自动控制产品。灵敏度高、可靠性强、超低功耗,超低电压工作模式,具有温度补偿的作用。广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。而且可以全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。控制方便,其触发方式和感应时间均可调。 在本设计中,需要能够感应人的走动,超声波感应具有一定的方向性,限值功能的使用,而红外感应模块操作简单,成本较低,感应范围广,其触发方式和感应时间均可调。所以选用红外作为人体感应模块
28、 三、系统硬件设计 3.1 显示模块 显示模块是人机交互的关键器件,直接影响用户的产品体验和产品的功能,因此应该做到界面简单而显示明显,使设计的功能能够很好地被用户观察和判断。本设计中选用了带中文字库的LCD12864作为底层单片机的显示,可以显示4*8个16*16点阵的中文字符,64个16*8点阵的ASCII字符集。LCD12864总共有20个引脚,各个引脚描述如下: 引脚号 引脚名称 逻辑电平 引脚功能描述 1 Vss 0 电源地 2 Vcc +5v 电源正 3 NC ------ 空脚 4 RS(CS) 1/0 RS=1,选择数据寄存器
29、RS=0,选择指令寄存器。 5 R/W(STD) 1/0 R/W=1,E=1,从lcd中读取数据。 R/W=0,E=1→0时,写数据到lcd。 6 E(SCLK) 1/0 使能信号 7~14 DB0~DB7 1/0 三态数据线 15 PSB 1/0 PSB=1,并行数据。PSB=0,串行数据 16 NC ------ 空脚 17 1/0 复位端,低电平有效。(可悬空) 18 NC ------ 空脚 19 A Vdd 背光电源正端 20 K vss 背光源负端 表3-1 LCD12864引脚图 根据LCD128
30、64的引脚功能描述,在本设计中最终采用8位并行的工作模式,因此第15引脚直接接高电平即可。 图3-1 LCD12864电路图 3.2 电动机模块 在本设计中使用DC5V的直流电动机来模拟风扇,不要求正反转,只要能够实现PWM调速方案即可。测速时使电机的叶轮置于红外对射管之间,叶轮转过,挡住传感器,单片机的PCA模块就会捕捉到,从而实现计数,进而计算出电机的速度。 3.2.1 PWM调速 L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流
31、为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载; 图3-2 L298N引脚图 图3-3 L298N模块图 3.2.2 测速 对射式光电开光是由一个发光器和一个收光器组成的光电开关就称为以射分离式光电开光,模块图形如下: 图3-4 对射式光电开光 测速时将扇叶置于开关的中间,扇叶由四片组成,当扇叶阻挡了发射二极管的光线,“OUT”引脚就会输出高电平,没有阻挡时,输出低电平。设在1秒的时间内,单片机PCA捕获模块获得M次计数,则电机转速表示为S=M/4 r/s。 3.3 温度采集模块
32、 温度采集模块采用DHT11模块,它既可以获取温度数字信号,也可以获取湿度的数字信号。DHT11模块一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据 +8bi温度整数数据+8bit温度小数数据 +8bit校验和 。数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。 图3-5 DHT11电路图 3.4 无线模块 无线模块采用HC-05无线蓝牙主从一体无线串口通信模块,总共有6个引脚,功能描述如下: 引脚 描述 Vcc 电源(3.
33、3~5v) Gnd 地 Txd 模块串口发送引脚(不能接RS232电平) Rxd 模块串口接收引脚(不能接RS232电平) Key 高电平进入AT状态,低电平或悬空正常状态 Led 配对成功输出高电平,否则输出低电平 表3-3 HC-05无线蓝牙模块引脚图 图3-6 蓝牙串口模块与USB转串口模块连接 图3-7 蓝牙串口模块与单片机连接 将模块上电同时(或者之前),将KEY接高电平,此时指示灯慢闪(1秒亮一次),模块进入AT状态,此时波特率固定38400。将模块上电后,将KEY悬空或者接地,此时指示灯快闪(1秒2次),表示模
34、块进入可配对状态。此时如果将KEY接高电平,模块也会进入AT状态。但是指示灯依然是快闪(1秒2次)。若模块配对成功,此时STA双闪(一次闪2下,2秒闪一次)。 3.5 红外模块 HC-SR501红外模块利用热释电红外传感器工作,热释电红外是一种能检测人或动物发射的红外线而输出电信号的传感器。其具有两种触发方式:L不可重复,H可重复。可跳线选择,默认为H。 A 不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。 B 可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人
35、离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。 HC-SR501红外模块还具有感应封锁时间(默认设置:3-4秒):感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品; 图3-8 HC-SR501模块图 3.6 PCB设计 本设计使用Altium Designer 09版绘制电路原理图,由于本设计很多是模块化器件,所以留出很多排针,以供连
36、接使用。 图3-9 总原理图 图3-10 PCB图 四、系统软件设计 4.1 流程图设计 本次课程设计软件部分主要分为上位机程序和单片机控制程序,两者通过无线蓝牙模块互相通信,单片机程序主要完成温度的采集,红外信号的处理,LCD12864的显示,按键的输入处理,还有接收上位机的控制命令。 4.1.1 单片机设计 图4-1 单片机端流程图 4.1.2 上位机 该部分主要使用VB.NET语言进行开发,Visual Basic.NET是基于微软.NET
37、Framework之上的面向对象的编程语言。其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作。可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。 SerialPort 提供了DataReceived事件。当有数据进入时,该事件被触发。该事件的触发由操作系统决定,当有数据到达时,该事件在辅助线程中被触发。辅助线程的优先级比较低,因此并不能确保每个字节的数据到达时,该事件都被触发 图4-2 上位机端流程图 4
38、2 按键扫描设计 按键扫描主要用来改变工作模式和输入其他一些变量。其常用的方法有1.编程扫描,2.定时扫描,3.中断扫描。定时扫描就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(一般10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键的功能程序。定时扫描有利于减少按键消抖所造成的系统时间中断。程序见附录。 图4-3 按键电路 4.3 模式控制设计 该系统有4种模式,分别为自动模式,节能模式,定速模式,定时模式,四种模式既可以通过按键控制选择,也可以通过上位机经蓝牙无线模块发送切换命令。按键总
39、共有3个,分别为1.模式键,2.加键,3.减键,模式键主要用于模式的切换,四种模式循环切换。加键和减键主要配合模式键使用,当模式为定速模式时,可通过加键,减键调节速度,当模式由定速模式切换到自动模式时,就可以设置定时时长,此时还可以将模式切换到节能模式和定速模式,分别实现“定时+节能模式”,“定时+定速模式”。若使用上位机设置模式,上位机向单片机发送一次六个字节的数组,通信格式如下所示: 第0 Byte 第1 Byte 第2 Byte 第3 Byte 第4 Byte 第5 Byte 模式控制 定速等级 定时时长 保留 温度上限
40、 温度下限 表4-1 通信格式 4.4 温湿度采集软件设计 用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。通讯过程如图4.4所示 图4-4 DHT11通讯图1 总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT
41、11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。 图4-5 DHT11通讯图2 总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否
42、连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。 数字0信号表示方法如图4.6所示: 图4-6 数字0信号 数字1信号表示方法.如图4.7所示: 图4-7 数字1信号 4.5 调速、测速软件设计 4.5.1 调速软件设计 在本次综合设计中使用了STC12C5A60S2单片机,它具有两路PCA/PWM模块,分别有四种工作模式,四种工作模式分别是:1.捕获模式,2.16位软件定时器模式,3.高速输出模式,脉宽调节模式。其中脉宽调节模式软件设置如下: void in
43、it_pwm() { CL=0; CH=0; CMOD|=0X00;//空闲模式,不允许溢出中断 CCAPM0=0X42; //工作在PWM8位方式 CCAP0L=CCAP0H=0X20;//设置输出50%的方波 CR=1; } 图4-8 PWM模式 4.5.2 测速软件设计 当STC12C5A60S2单片机的PCA/PWM模块工作在捕获模式时,可以设置为上升沿捕获或者下降沿捕获,或者两者同时,当P1.3或者P1.4引脚有脉冲输入时,PCA/PWM模块就会计数,可在中断中处理。本次综合设计采用PCA/PWM模块1计数
44、程序设置如下: void init_pca() { CMOD|=0X00; //空闲模式,不允许溢出中断 CCAPM1=0X21;//上升沿捕获,允许捕获中断 CCAP1L=CCAP1H=0; CR=1; } 图4-9 捕获模式 五、 联调效果 当软件和硬件均设置好时,在开放过程中还必须进行软硬件的调试,正确的调试方法能够快速的找到软硬件的设计错误,从而更正错误,提升开发速度。 5.1上位机 上位机的界面设置如下,选择好相应的串口号和波特率,电机“打开串口”Button,就可以与单片机进行通讯了。然后依次点击四种
45、模式的“设置”Button,结合LCD12864,依次观察电机的工作情况,若出现与预期效果不一样的情况,就对应的在VB程序中修改。 图5-1 上位机界面 5.2 蓝牙 首先将蓝牙模块工作在AT指令状态,方法为:将模块上电同时(或者之前),将KEY接高电平,此时指示灯慢闪(1秒亮一次),模块进入AT状态,此时波特率固定38400,然后使用串口设置两个蓝牙模块的波特率为19200bps,AT指令为AT+UART=19200,0,0<回车>,然后设置两个蓝牙模块的密码一致,以便两者配对,AT指令为AT+PSWD=1234<回车>,最后要将其中一个模块设置为主模式,AT指令为
46、AT+ROLL=1<回车>。 完成以上步骤后,就可以分别把两个蓝牙模块连接到电脑端和单片机端,使用已编写好的上位机进行测试,观看是否通信正常。 图5-2 AT指令设置软件图 5.3 按键 按键主要是用来底层的模式设置,依次使用按键设置各个功能,观看LCD12864上的中文提示符,以及电机的工作状态,根据问题进行调试程序。 六、 心得体会 通过本次综合设计,锻炼了自己的编程能力与全局统一意识,大家一起讨论任务的要求,在任务一开始就分好每个人的任务,并且规定每周五大家一起讨论,汇报各自的进展。对我而言,我打算利用
47、利用国庆的时间,每天规定自己必须完成的任务,一步步的实现系统的功能。当然,在开发过程中也遇到了很多问题,因为以前没用过蓝牙,在蓝牙的配置过程中浪费了很多的时间,心情也很烦躁,后来还是静下心来,仔细阅读说明文档,终于成功配对成功!在整个设计期间,小组成员合作非常愉快,大家提出了很多改进措施,使我们的设计更加完美,尤其是东西的最后组装,大家更是一起贡献智慧,使得本次综合设计锦上添花。 最后要感谢李老师的大力支持,无论是技术上还是器件的提供上,都给与了很大的支持,随着大学学习生活的结束,通过这次综合设计,感觉自己还是进步了很多,编程技巧方面有所提升。
48、 参考文献 [1]李江全,张茜等编著,串口通信及测控应用典型实例[M],北京:电子工业出版社,2012年3月第一次印刷 [2]东方人化,Visual Basic.NET范例入门与提高[M],北京:清华大学出版社,2003年9月第二次印刷 [3]丁向荣,增强型8051单片机原理与系统开发[M],北京:清华大学出版社,2013年9月第一版 [4]向敏,程安宇等编著,微控制器原理及应用[M],北京:人民邮电大学出版社,2013年8月第二次印刷 [5]郭天祥,新概念51单片机C语言教程[M],北京:电子工业出版社,2009年12月第五次印刷
49、 附 录 附录1 :VB程序 Public Class Form1 Dim Open_Or_Close_Ser As Boolean = False Dim Write_Data(6) As Byte Dim Minute As Integer Dim Second As Integer Dim time As Int16 Dim Spend(3) As Byte '以下是变量初始化和控件初始化 Private Sub Form1_Load(sender As
50、Object, e As EventArgs) Handles MyBase.Load SerialPort1.DataBits = 8 '数据位 SerialPort1.StopBits = IO.Ports.StopBits.One '停止位 SerialPort1.Parity = IO.Ports.Parity.None '校验位 Spend(0) = &H60 Spend(1) = &H70 Spend(2) = &H80 Text_Mode.Te
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818