无线传感器网络课程设计.docx_第1页
无线传感器网络课程设计.docx_第2页
无线传感器网络课程设计.docx_第3页
无线传感器网络课程设计.docx_第4页
无线传感器网络课程设计.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录第1章 实习目的与要求11.1 GPRS 远程监测终端系统项目11.2 GPIO口11.4 嵌入式 STM32 LCD 屏模块11.5 嵌入式 STM32 GSM、温湿度实训阶段1课堂要求:2第2章 设计背景32.1课题研究的背景32.2国内外stm32控制以太网技术发展现状及趋势4第3 章53.1 GPRS的远程终端监控系统53.2 GPIO口 功能描述73.3 STM32串口133.4 嵌入式 STM32 LCD 屏模块153.5 嵌入式 STM32 GSM、温湿度实训阶段16第4章 调制和测试184.1 LED点亮实验:184.2 流水灯实验一:184.3 按键控制LED实验:184.4 流水灯实验二184.5 温湿度实验调制与结果184.6实验结果18第5章 实习心得20参考文献21 河南工程学院本科毕业设计第1章 实习目的与要求通过实习提高自己的对社会的认知能力,同时理论联系实际,让自己迅速适应社会,跟上新兴产业前进的快速步伐。通过理论与实际的结合、学校与社会的沟通,进一步提高学生的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。1.1 GPRS 远程监测终端系统项目主要工作:基于 GPRS 远程监测终端系统项目流程、项目分析目的:了解整体项目流程过程,及对嵌入式行业整体认识1.2 GPIO口主要工作:嵌入式概述、 ARM 体系架构、 ARM 开发平台、 STM32 库函数讲解、 GPIO 实验运用 GPIO 口寄存器对流水灯和呼吸灯程序实验 目的:学生掌握嵌入式中 STM32 的寄存器开发过程1.3嵌入式 STM32 串口实训阶段主要工作:通信的划分、常用串行通信协议。通信接口电平的讲解STM32 串口控制器的工作原理目的:学生掌握嵌入式 STM32 中串口通信以及上位机操作,方便后续项目的使用1.4 嵌入式 STM32 LCD 屏模块主要工作:项目中常用显示器件的介绍和产品案例。像素点、像素和分辨率概念的讲解。TFT LCD 屏显示原理、 8080 接口信号时序图分析。取字模软件的使用和汉字显示程序分析。图片取模软件的使用和图片显示程序分析。目的:学生掌握嵌入式中常用显示设备的原理和实现 LCD 屏界面设计与开发1.5 嵌入式 STM32 GSM、温湿度实训阶段主要工作:GSM 无线模块组成框架及使用方法温湿度模块组成框架及使用方法温湿度传感器采集当前环境的温湿度目的:学生掌握嵌入式 STM32 中 GSM、温湿度等项目的开发课堂要求:认真听讲、记笔记 。不许睡觉 ,吃零食,喝水或者玩手机。仪表整洁。 第2章 设计背景2.1课题研究的背景 近几年来,随着科学技术日新月异的发展,计算机科技的快速发展,特别是互联网的快速普及,互联网在人类活动中也越来越紧密联系,尤其是对于工业控制和信息电器领域中同样有着越来越重要的应用。同时计算机,通讯,消费电子三合一的快速发展,数字化时代已经到来。而嵌入式接入设备是数字化时代的一大主流标志,形态各异的计算机,通讯,消费电子三合一产品也将是网络接入设备的一大主流。因为PC机以及现有的Internet技术可以实现对非网络设备进行远程控制的部分的要求,而且成本费用较高,可靠性和期望值也有一定的距离,所以这种方案并没有被广泛的接受和使用。由于嵌入式设备具有低成本高性能的特点,而现今对嵌入式系统的开发研究和嵌入式技术也都进入到了一个成熟的阶段,将嵌入式系统和网络相结合来实现非网络系统的网络控制,那么世界可能就是另一番景象。 因特网技术的成熟,使得网上提供的信息更加丰富,应用项目也更加多样,人们对网络的需求也越来越广泛,利用PC机上网来查阅和发布各类信息等对于网络的日常应用已经不能满足人们的需求。像传统的电器,电冰箱,微波炉,电视,空调等,这类电子设备的功能也不在单一,电器结构也更为复杂,也逐步开始应用嵌入式网络接入,使用户可以通过网络就能实现远程控制,信息通讯。同样,互联网在全球范围内的连通性,那些能够连接因特网的设备也成为人们选择产品中考虑的一大问题,通过Internet对家用电器等非网络设备进行远程控制已经成为现今主流。而一些小型轻便的设备,比如一些医学仪器上的身体上使用的传感器,体积小而且便宜,内存小,运算能力有限,因此必须在资源受限的情况下实现TCP/IP协议甚至处理接受到的信息。 TCP/IP协议可以分为四个层次,从底层到最高层分别是物理层和数据链路层,网络层,传输层,和最高层的应用层。物理层和数据链路层是TCP/IP协议的最低层,要求提供给上层一个访问接口,以便传递IP分组信息。网络层是第二层,也是整个TCP/IP协议栈的核心,其功能是把分组发往目标网络或主机,源主机与目的主机可以在同一个网上,也可以在不同的网上。其中定义了分组格式和协议,即IP协议,来对分组进行排序。IP协议是一种不可靠、无连接的数据报发传送服务的协议,提供的只是一种尽力而为的服务。传输层是第三层,负责在应用进程中的端到端之间的通信。传输层定义了两种服务质量不同的协议,TCP和UDP。TCP是一种可靠的面向连接的协议,允许将源主机的字节数据流无差别的传送到目的主机。同时能够完成流量的控制功能,协调收发主机之间的发送和接受速度,从而控制正确的传输。应用层是最高层,其中也包括了很多协议:文件传送协议,简单邮件传送协议,简单网络管理协议,超文本传送协议等。 LwIP是瑞士计算机科学院一个开源的TCP/IP协议栈实现。LwIP是LightWeightIP协议,有无操作系统都可以运行,其实现的重点是在保持TCP/IP协议的主要功能的基础上减少对内存的占用,一般只需要几百字节的RAM和40K左右的ROM就可以运行,这使得LwIP成为在资源受限的情况下实现及处理TCP/IP协议的解决方法。LwIP可以支持多网络接口下的IP转发,提供专门的内部回调接口RawAPI,这样可以提高应用程序性能。 像LwIP的目标系统是最小限度系统,所使用的操作系统通常不能在内核与应用层进程之间维持一个严格的保护屏障。这里允许使用一种比较宽松的通许机制,通过共享内存的方式实现应用层与底层协议族之间的通讯。应用层可以知道底层协议使用的缓冲处理机制,这使得应用层可以有效的重复使用缓冲区。同样,应用层与网络代码使用的是相同的内存区,那么应用层就可以直接读写内部缓冲区。 2.2国内外stm32控制以太网技术发展现状及趋势 中国的嵌入式系统开发走过了二十多年的历程,有超过数十万名从事开发应用的工程师,但大多数以上是几个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。今天面对的是嵌入式系统工业化的潮流,如果不能认识到嵌入式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人/年”的嵌入式产品,那么将失去更多的上游产品的市场机遇。 嵌入式软件方面逐渐形成了系统软件、应用软件的架构。国际上用于信息电器的嵌入式操作系统有40种左右。其中,国外涌现了一些著名的嵌入式操作系统,如:Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其中Vx/Orks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统:WinCE是一种32位的多任务操作系统,可以移植,能够开发多种企业和客户类设备,是微软公司的“维纳斯计划”的核心:3COM公司的Palm0S在PDA市场上占有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。 国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中。大有国内紧跟国外趋势的形势。但是对于嵌入式Web服务器方面的研究国内现状不容乐观,目前国外的相关研究相对多些。如林C/IP研究项目,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:又如CMX公司的MieroNetTCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拨号连接和直接连接方式。而国内也相应提出了Webito协议标准,但是相对滞后, 缺少具体的工程实现方面的研究和具体产品的开发。 美国DEC公司开发的VMSeluster系统开发最早,技术也较成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和AIPha系列服务器上运行,VMScluster的应用受到很大限制。 Platform公司开发的高可用性集群系统LSF提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。 国内也有不少公司进行了集群系统的研究和开发工作。 联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务,该系统是一个四节点的系统,主要基于联想万全45008服务器,以总体成本相对较低的设备组合,足以替代传统班SC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2-1/40。 朗讯公司也推出了类似于Urboduster的高可用性集群系统LongshineClusterServer。 从国内外的研究现状看,目前集群系统的应用大都致力于高可用性问题的解决,真正基于负载均衡的集群系统还比较少,而且在大部分负载均衡集群中采用的都是轮转调度、加权轮转调度等静态调度算法。第3 章3.1 GPRS的远程终端监控系统基于GPRS的远程终端监控系统的框架图DHT11 温湿度传感器,采集当前环境的温度和湿度值,精度规格相关使用参数DHT11 的相关参数通过单总线与 STM32 处理芯片进行数据传输。 2.TFTLCD 屏:16 位 RGBTFT 彩色 LCD 屏,经过 8080 接口与 STM32 进行数据传输。 3.GSM/GPRS:移动 2 代通信/2.5 代通信,经过串口与 STM32 进行数据传输,经过 GPRS 无 线通信和 TCP/IP 通信协议与服务器进行数据交换。 4.信盈达服务器:通过 TCP/IP 接收#+设备号+温度值+湿度值协议的数据,并保存到后台数据 库。 5.APP:手机运用 TCP/IP 从服务器上获取想要知道的设备的温湿度值,实现远程监控。GPRS 的 TCP/IP 协议以及相关指令 通过电脑与服务器进行测试(前提电脑要连上以太网): ping IP 地址 例如:我运用电脑 ping 百度的公共 IP 地址。通过 GPRS 访问服务器: AT+CGCLASS=”B” AT+CGDCONT=1,”IP”,”CMNET”AT+CGATT=1 AT+CIPCSGP=1,”CMNET” 之后,发送: AT+CLPORT=”TCP”,”2000”,设置本地 TCP 连接端口为 2000, 然后,发送: AT+CIPSTART=”TCP”,” 103.44.145.243”,” 16919”, 建立 TCP 连接, 连接到 IP:103.44.145.243,连接端口为: 16919。 这里是对于没有公网 IP 的用户是通过发送 给花生壳域名转发的,如果是有公网的用户,这里把 IP 直接替换为自己的公网 IP,端口写 8086 即可。等待 TCP 连接成功建立,模块返回:CONNECT OK。 此时, SIM800 模块和电脑已经建立了一个 TCP 连接, 可以相互发送数据了。 通过串口调试助手发送: AT+CIPSEND,接着模块返回: ,然后我们发送字符串(不用发 送新行): “ SIM800 发送给电脑的数据” ,最后发送十六进制的:1A,启动数据发送。然 后模块返回: SEND OK,说明发送成功,如下图: 注意: TCP 连接需要心跳维持,如果长时间没有数据的收发,那么 TCP 连接很可能会被断开,下次数据通信,又得重新连接,所以实际应用的时候,都需要添加心跳,来维持当前 TCP 的连接。 最后, 我们要关闭 TCP 连接,发送: AT+CIPCLOSE=1,关闭当前 TCP 连接,再发送: AT+CIPSHUT,关闭场景,如下图:GPRS 的相关指令 3.1.1 AT+CGCLASS:用于设置移动台类别。发送:AT+CGCLASS=”B”,设置移动台类别为 B。即,模块支持包交换和电路交换模式,但 不能同时支持。3.1.2 AT+CGDCONT: 用于设置 PDP 上下文。 发送: AT+CGDCONT=1,”IP”,”CMNET”,设置 PDP 上下文标标志为 1,采用互联网协议 (IP),接入点为”CMNET”。3.1.3 AT+CGATT,用于设置附着和分离 GPRS 业务。 发送: AT+CGATT=1,附着 GPRS 业务。 3.1.4 AT+CIPCSGP:用于设置 CSD 或 GPRS 链接模式。 发送: AT+CIPCSGP=1, ”CMNET”,设置为 GPRS 连接,接入点为”CMNET”。 3.1.5 AT+CLPORT,用于设置本地端口号。 发送: AT+CLPORT=”TCP”,”8086”, 即设置 TCP 连接本地端口号为 8086。 3.1.6 AT+CIPSTART:用于建立 TCP 连接或注册 UDP 端口号。发送:AT+CIPSTART=”TCP”,”116.1.20.54”,”8086”,模块将建立一个 TCP 连接,连接目标地址 为:116.1.20.54,连接端口号为 8086,连接成功会返回: CONNECT OK。3.1.7 AT+CIPSEND:用于发送数据。在连接成功后发送: AT+CIPSEND,模 块返回: ,此时 可以输入要发送的数据,最大可以一次发送 1352 字节,数据输入完后,同发短信一样,输入 十六进制的: 1A(0X1A), 启动发送数据。在数据发送完成后,模块返回: SEND OK,表示发送 成功。3.1.8 AT+CIPSTATUS:用于查询当前连接状态。 发送:AT+CIPSTATUS,模块即 返回当前连接状态。AT+CIPCLOSE:用于关闭 TCP/UDP 连接。 发送:AT+CIPCLOSE=1,即可快 速关闭当前 TCP/UDP 连接。3.1.9 AT+CIPSHUT:用于关闭移动场景。 发送: AT+CIPSHUT,则可以关闭移 动场景,关闭场景后连接状态为: IP INITIAL,可以 通过发送:AT+CIPSTATUS,查询。另外,在连接建立后,如果收到: +PDP: DEACT, 则必须 发送:AT+CIPSHUT,关闭场景后,才能实现重连。3.2 GPIO口 功能描述每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存 器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 根据数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置 成多种模式。 输入浮空 输入上拉 输入下拉 模拟输入 开漏输出 推挽式输出 推挽式复用功能 开漏复用功能 每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访 问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这 样,在读和更改访问之间产生IRQ时不会发生危险。 下图给出了一个I/O端口位的基本结构。I/O端口位的基本结构5伏兼容I/O端口位的基本结构(1) VDD_FT 对5伏容忍I/O脚是特殊的,它与VDD不同端口位配置表输出模式位3.2.1通用I/O(GPIO)复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式(CNFx1:0=01b, MODEx1:0=00b)。 复位后,JTAG引脚被置于输入上拉或下拉模式: PA15:JTDI置于上拉模式 PA14:JTCK置于下拉模式 PA13:JTMS置于上拉模式 PB4: JNTRST置于上拉模式STM32F10xxx参考手册 当作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。可以以推 挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。 输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。 所有GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开3.2.2 单独的位设置或位清除当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改 一个或多个位。 这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是 GPIOx_BRR)中想要更改的位写1来 实现的。没被选择的位将不被更改。3.2.3 外部中断/唤醒线所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。3.2.4 复用功能(AF)使用默认复用功能前必须对端口位配置寄存器编程。 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部 驱动 注意: 也可以通过软件来模拟复用功能输入引脚,这种模拟可以通过对 GPIO 控制器编程来实现。此 时,端口应当被设置为复用功能输出模式。显然,这时相应的引脚不再由外部驱动,而是通过 GPIO 控制器由软件来驱动。 对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被 配置成浮空输入模式。 如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。 如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。3.2.5 GPIO锁定机制锁定机制允许冻结IO配置。当在一个端口位上执行了锁定(LOCK)程序,在下一次复位之前,将 不能再更改端口位的配置。3.2.6 输入配置当I/O端口配置为输入时: 输出缓冲器被禁止 施密特触发输入被激活 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 对输入数据寄存器的读访问可得到I/O状态下图给出了I/O端口位的输入配置输入浮空/上拉/下拉配置(1) VDD_FT 对5伏容忍I/O脚是特殊的,它与VDD不同3.2.7 输出配置 当I/O端口被配置为输出时: 输出缓冲器被激活 开漏模式:输出寄存器上的0激活N-MOS,而输出寄存器上的1将端口置于高阻状态(PMOS从不被激活)。 推挽模式:输出寄存器上的0激活N-MOS,而输出寄存器上的1将激活P-MOS。 施密特触发输入被激活 弱上拉和下拉电阻被禁止 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 在开漏模式时,对输入数据寄存器的读访问可得到I/O状态 在推挽式模式时,对输出数据寄存器的读访问得到后一次写的值。 下图给出了I/O端口位的输出配置输出配置(1) VDD_FT 对 5伏兼容 I/O脚是特殊的,它与 VDD同3.1.8 复用功能配置 当I/O端口被配置为复用功能时: 在开漏或推挽式配置中,输出缓冲器被打开 内置外设的信号驱动输出缓冲器(复用功能输出) 施密特触发输入被激活 弱上拉和下拉电阻被禁止 在每个APB2时钟周期,出现在I/O脚上的数据被采样到输入数据寄存器 开漏模式时,读输入数据寄存器时可得到I/O口状态 在推挽模式时,读输出数据寄存器时可得到后一次写的值 8.4节-AFIO寄存器描述。 下图示出了 I/O端口位的复用功能配置。详见 一组复用功能I/O寄存器允许用户把一些复用功能重新映象到不同的引脚。复用功能配置(1) VDD_FT 对5伏兼容I/O脚是特殊的,它与VDD不同3.2.9 模拟输入配置 当I/O端口被配置为模拟输入配置时: 输出缓冲器被禁止; 禁止施密特触发输入,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置 为0; 弱上拉和下拉电阻被禁止; 读取输入数据寄存器时数值为0。 下图示出了I/O端口位的高阻抗模拟输入配置高阻抗的模拟输入配置(1) VDD_FT 对5伏兼容I/O脚是特殊的,它与VDD不同3.2.10 外设的GPIO配置 下列表格列出了各个外设的引脚配置高级定时器TIM1/TIM8通用定时器TIM2/3/4/53.3 STM32串口SPI简介 在大容量产品和互联型产品上,SPI接口可以配置为支持SPI协议或者支持I2S音频协议。SPI接 口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。 在小容量和中容量产品上,不支持I2S音频协议。 串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置 成主模式,并为外部从设备提供通信时钟(SCK)。接口还能以多主配置方式工作。 它可用于多种用途,包括使用一条双向数据线的双线单工同步传输,还可使用CRC校验的可靠 通信。 I2S也是一种3引脚的同步串行接口通讯协议。它支持四种音频标准,包括飞利浦I2S标准,MSB 和LSB对齐标准,以及PCM标准。它在半双工通讯中,可以工作在主和从2种模式下。当它作为 主设备时,通过接口向外部的从设备提供时钟信号3.3.1 SPI特征 3线全双工同步传输 带或不带第三根双向数据线的双线单工同步传输 8或16位传输帧格式选择 主或从操作 支持多主模式 8个主模式波特率预分频系数(大为fPCLK/2) 从模式频率 (大为fPCLK/2) 主模式和从模式的快速通信 主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变 可编程的时钟极性和相位 可编程的数据顺序,MSB在前或LSB在前 可触发中断的专用发送和接收标志 SPI总线忙状态标志 支持可靠通信的硬件CRC 在发送模式下,CRC值可以被作为后一个字节发送 在全双工模式中对接收到的后一个字节自动进行CRC校验 可触发中断的主模式故障、过载以及CRC错误标志 支持DMA功能的1字节发送和接收缓冲器:产生发送和接受请求3.3.2 I2S功能 单工通信(仅发送或接收) 主或者从操作 8位线性可编程预分频器,获得精确的音频采样频率(8KHz到96kHz) 数据格式可以是16位,24位或者32位 音频信道固定数据包帧为16位(16位数据帧)或32位(16、24或32位数据帧) 可编程的时钟极性(稳定态) 从发送模式下的下溢标志位和主/从接收模式下的溢出标志位 16位数据寄存器用来发送和接收,在通道两端各有一个寄存器 支持的I2S协议: I 2S飞利浦标准 MSB对齐标准(左对齐) LSB对齐标准(右对齐) PCM标准(16位通道帧上带长或短帧同步或者16位数据帧扩展为32位通道帧) 数据方向总是MSB在先 发送和接收都具有DMA能力 主时钟可以输出到外部音频设备,比率固定为256xFs(Fs为音频采样频率) 在互联型产品中,两个I2S模块(I2S2和I2S3)有一个专用的PLL(PLL3),产生更加精准得时钟3.3.3 SPI功能描SPI的方框图见下图。通常SPI通过4个引脚与外部器件相连: MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。 MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。 SCK:串口时钟,作为主设备的输出,从设备的输入 NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片 选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。从设备的NSS 引脚可以由主设备的一个标准I/O引脚来驱动。一旦被使能(SSOE位),NSS引脚也可以作为 输出引脚,并在SPI处于主模式时拉低;此时,所有的SPI设备,如果它们的NSS引脚连接 到主设备的NSS引脚,则会检测到低电平,如果它们被设置为NSS硬件模式,就会自动进 入从设备状态。当配置为主设备、NSS配置为输入引脚(MSTR=1,SSOE=0)时,如果NSS 被拉低,则这个SPI设备进入主模式失败状态:即MSTR位被自动清除,此设备进入从模式单主和单从应用3.4 嵌入式 STM32 LCD 屏模块3.4.1所运用软件为:keilvison5 取字模软件zimo221 彩色图像转换软件Image2LCD_29。3.4.2 设计的意义:实现 LCD 屏界面设计与开发。3.4.3 所涉及的硬件介绍:TFT-LCD简介 TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。 上一节介绍了OLED模块,这一节,我们给大家介绍ALIENTEK TFTLCD模块,该模块有如下特点: F 1,2.4/2.8两种大小的屏幕可选。F 2,320240的分辨率。 F 3,16位真彩显示。 F 4,自带触摸屏,可以用来作为控制输入。 F 5,通用的接口,除了ALIENTEK MiniSTM32开发板,该液晶模块还可以使用在优异特、STMSKY、红牛等开发板上。 本节,我们以2.8寸的ALIENTEK TFTLCD模块为例介绍,该模块采用的是显尚光电的DST2001PH TFTLCD,DST2001PH的控制器为ILI9320,采用26万色的TFTLCD屏,分辨率为320240,采用16位的80并口。3.4.4 80并口 ALIENTEK TFTLCD模块采用80并口口方与外部链接,采用16位数据线(低了速度太慢,用彩色就没什么效果了)。该模块的80并口有如下一些信号线: CS:TFTLCD片选信号。 WR:向TFTLCD写入数据。 RD:从TFTLCD读取数据。 D15:0:16位双向数据线。 RST:硬复位TFTLCD。 RS:命令/数据标志(0,读写命令;1,读写数据)。 TFTLCD模块的RST信号线和OLED模块一样,也是直接接到STM32的复位脚上,并不由软件控制,这样可以省下来一个IO口。另外我们还需要一个背光控制线来控制TFTLCD的背光。所以,我们总共需要的IO口数目为21个。3.4.5 TFTLCD显示需要的相关设置步骤 (1)设置STM32与TFTLCD模块相连接的IO。 这一步,先将我们与TFTLCD模块相连的IO口设置为输出,具体使用哪些IO口,这里需要根据连接电路以及TFTLCD模块的设置来确定。 (2)初始化TFTLCD模块。 其实这里就是上和上面OLED模块的初始化过程差不多。通过向TFTLCD写入一系列的设置,来启动TFTLCD的显示。为后续显示字符和数字做准备。 (3)通过函数将字符和数字显示到TFTLCD模块上。 这里就是通过我们设计的程序,将要显示的字符送到TFTLCD模块就可以了,这些函数将在软件设计部分向大家介绍。 通过以上三步,我们就可以使用ALIENTEK TFTLCD模块来显示字符和数字了, 并且可以显示各种颜色的背景。3.5 嵌入式 STM32 GSM、温湿度实训阶段3.1 温湿度传感器的设计目的以及意义。温湿度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用。在生产中,温湿度的高低对产品的质量影响很大。由于温湿度的检测控制不当,可能使我们导致无法估计的经济损失。为保证日常工作的顺利进行,首要问题是加强生产车间内温度与湿度的监测工作,但传统的方法过于粗糙,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。目前,在低温条件下(通常指100以下),温湿度的测量已经相对成熟。利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。但人们对它的要求越来越高,要为现代人工作、科研、学习、生活提供更好的更方便的设施就需要从数字单片机技术入手,一切向着数字化,智能化控制方向发展。 对于国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检测越发的成熟,随着科技的进步,现在的对于温湿度研究,检测系统向着智能化、小型化、低功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统发展为体积小、操作简单、量程宽、性能稳定、测量精度高,等诸多优点在生产生活的各个方面实现着至关重要的作用。 温湿度传感器除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、声表面波湿敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。本文设计的是基于单片机STM32的温湿度检测和控制系统,主要以广泛应用的DHT11作为温度和湿度的检测,该仪器具有测量精度较高、硬件电路简单、并能很好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,可以进行加湿电路和除湿电路的控制,使温度和湿度参数在预先设定的范围内,不需要人的直接参与。单片机是系统的控制核心,所以单片机的性能关系到整个系统的好坏。因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。本设计中,最终选用的集成温度传感器DHT11,采集到的温湿度信号送至单片机,实现温湿度的显示与控制。系统主要由以上元器件组成,通过硬件电路和软件程序的设计,实现系统的基本功能。3.2相关硬件介绍 DHT11产品概述: DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。第4章 调制和测试4.1 LED点亮实验: 使用GPIO的知识,基于无限循环架构的嵌入式应用程序,点亮开发板上绿色LED和红色LED;4.2 流水灯实验一: 使用GPIO和延时循环,基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁; 4.3 按键控制LED实验: 使用GPIO的相关知识,基于无限循环架构的嵌入式应用程序,完成以下功能:1 )当按下WK_UP按键时,开发板上的绿色LED点亮;当释放WK_UP按键时,开发板上的绿色LED熄灭; 2 )当按下KEY1按键时,开发板上的红色LED点亮;当释放KEY1按键时,开发板上的红色LED熄灭; 3 )当同时按下WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时点亮;当同时释放WK_UP和KEY1按键时,开发板上的红色LED和黄色LED同时熄灭;4.4 流水灯实验二使用GPIO和SysTick的相关知识,设计基于无限循环架构的嵌入式应用程序,使开发板上的绿色LED和红色LED先后轮流闪烁,每个LED点亮和熄灭的时间各为1s,并在程序中定义一个8位无符号变量来记录红色LED闪烁的次数; 调试程序,在REALVIEW MDK或IAR EWARM的调试界面中,通过在程序中设置断点,并打开变量观察窗口,加入对应的变量,全速运行,随着红色LED的闪烁,跟踪用来记录红色LED闪烁次数的8位无符号变量的变化情况。4.5 温湿度实验调制与结果串行接口(单线双向)DATA用于微处理器与DHT11之间的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论