本科毕业设计论文概要设计基于zigbee的温度监测系统设计与实现.docx
《本科毕业设计论文概要设计基于zigbee的温度监测系统设计与实现.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文概要设计基于zigbee的温度监测系统设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。
![本科毕业设计论文概要设计基于zigbee的温度监测系统设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-12/31/3f720a85-c9d4-4ea2-bfd5-7d8e72c184be/3f720a85-c9d4-4ea2-bfd5-7d8e72c184be1.gif)
本科毕业设计论文概要设计基于zigbee的温度监测系统设计与实现
基于zigBee的温度监测系统设计与实现
MainDisplay概要设计
总页数
16
无
生效日期
2013.12.20
编制
修改履历
修改编号
日期
修改人
版本号
修改内容
1
VER0.1.0
初始做成
目录
1文档概述4
1.1文档目的和范围4
1.2术语/缩略语4
1.3参考文档4
2模块概述4
2.1模块功能定义4
2.2模块结构5
2.3模块动作时序6
3接口说明6
3.1数据结构定义6
3.2函数7
3.2.1模块间接口函数7
3.2.2模块内接口函数12
1文档概述
1.1文档目的和范围
该项目主要描述MainLCD显示模块,ZigBee无线数据传输模块,DHT11温湿度数据采集模块,ARM数据处理模块的外部接口函数和内部实现函数,还有各模块之间的连接。
1.2术语/缩略语
序号
术语/缩略语
说明
1
LCD
液晶显示
2
DHT11
温湿度无线传感器
3
SPI
串行外围设备接口
4
Uart
通用异步接收/发送装置
1.3参考文档
列出所参考的式样或者文档等
序号
文档名
作者
时间
版本
1
LPC111X中文手册
2
LPC1100中文手册
3
DHT11说明书最新版
4
QAZ2000透传模块说明书
5
Keil_uvision_4使用手册
6
ILI932x数据手册
7
W25X16中文手册
8
nxplpc11xx文件详解
2模块概述
项目的开发环境是KeiluVision4,采用的开发语言主要为C语言,还有部分汇编语言。
本设计主要分四部分,第一部分是以ARMCortex-M0系列的LPC1114为核心处理器;第二部分是以DHT11为温度传感器,用以采集节点处的温度;第三部分是以zigbee(CC2530)为路由器和协调器,路由器用以发送采集到后经过处理器处理后的数据到协调器,协调器再把数据传送到ARM主处理器上;第四部分为显示器模块。
2.1模块功能定义
序号
功能点
功能点详细内容
1
LCD显示模块
通过内部函数把经过处理器处理后的数据显示出来
2
主节点数据处理模块
处理经由协调器传输到ARM处理器的数据
3
初始化显示器
将各子节点的温度初始化,并显示初始界面
4
中断查询
当子节点数据变化时,主节点能及时捕捉到
5
读数据
从寄存器读取数据
6
写数据
向寄存器内写入数据
7
温度采集
采集节点处的温度,并将数据传输到ARM处理器
8
子节点数据无线发送
将经ARM处理器处理后的数据无线发送出去
9
主节点数据无线接收
捕捉子节点无线发送出去的数据
10
Uart初始化
初始化Uart模块
2.2模块结构
画出模块间结构及模块内结构图。
对于模块内细分的小模块也最好列表说明各小模块的功能。
模块名称
模块类型
概要说明
LCD_Init
接口
液晶显示器初始化
W25X16_Init
接口
W25X16初始化
LCD_Clear
接口
全屏显示白色
UART_init
接口
初始化串口
LCD_DisplayOn
接口
开启显示器
LCD_DisplayOff
接口
关闭显示器
LCD_XYRAM
接口
设置显存区域
LCD_SetC
接口
设置TFT屏起始坐标
LCD_Clear
内部模块
清屏TFT
LCD_ShowString
内部模块
显示字符串
LCD_Show_hz
内部模块
显示16*16点阵中文
delay
内部模块
短暂延时
LCD_WR_DATA
内部模块
给ILI9325的寄存器写数据
LCD_WR_REG
内部模块
确定给哪个寄存器写数据
LCD_RD_DATA
内部模块
读取ILI9325的寄存器里的数据
LCD_ShowChar
内部模块
显示16*16点阵英文字符
LCD_ShowNum
内部模块
显示字数
2.3DHT11模块动作时序
DHT11接收到开始信号触发一次温湿度采集,如果没有接受到主机发送开始信号,DHT11不会主动进行温湿度。
通讯过程如下图所示:
3接口说明
3.1函数
给出模块所有对外接口的函数声明及说明。
函数说明的方式可以参见下面的形式。
3.1.1模块间接口函数
3.1.1.1LCD_Init
函数名
LCD_Init
文件名
../main.c
功能概要
液晶显示屏初始化
记述形式
LCD_Init();
参数
类型
变量名
I/O
说明
void
-
-
-
返回值
类型
void
说明
值
-
-
-
-
详细说明
LCD初始化处理函数,提供给main函数模块调用。
使用注意事项
无
3.1.1.2LCD_Clear
函数名
LCD_Clear
文件名
../main.c
功能概要
全屏显示白色
记述形式
VoidLCD_Clear(uint16color)
参数
类型
变量名
I/O
说明
void
color
-
颜色值
返回值
类型
void
说明
值
-
-
-
-
详细说明
清除LCD屏幕,让LCD不显示任何信息
使用注意事项
在LCD初始化之后调用
3.1.1.3UART_init
函数名
UART_init
文件名
../main.c
功能概要
初始化UART口
记述形式
voidUART_init(uint32baudrate)
参数
类型
变量名
I/O
说明
Uint32
baudrate
-
引脚ID号
返回值
类型
void
说明
值
-
-
-
-
详细说明
初始化UART口
使用注意事项
无
3.1.1.4TIM32B0_init
函数名
TIM32B0_init
文件名
../ct.c
功能概要
初始化TIM32B0
记述形式
voidTIM32B0_init(void)
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
初始化TIM32B0
使用注意事项
无
3.1.1.5UART_send_byte
函数名
UART_send_byte
文件名
../uart.c
功能概要
串口发送字节数据
记述形式
voidUART_send_byte(uint8byte)}
参数
类型
变量名
I/O
说明
Uint8
byte
-
字节熟
返回值
类型
void
说明
值
-
-
-
-
详细说明
串口发送字节数据
使用注意事项
无
3.1.1.6RH
函数名
RH
文件名
../main.c
功能概要
读温度湿度
记述形式
voidRH(void)
参数
类型
变量名
I/O
说明
void
-
-
-
返回值
类型
void
说明
值
-
-
-
-
详细说明
读取温湿度数据
使用注意事项
无
3.1.1.7PIOINT1_IRQHandler
函数名
PIOINT1_IRQHandler
文件名
../main.c
功能概要
中断函数
记述形式
voidPIOINT1_IRQHandler(void)
参数
类型
变量名
I/O
说明
void
-
-
-
返回值
类型
void
说明
值
-
-
-
-
详细说明
确定往哪个寄存器写数。
使用注意事项
寄存器号是16位数,8位连接方式需要写两次
3.1.1.8UART_IRQHandler
函数名
UART_IRQHandler
文件名
../main.c
功能概要
串口中断函数
记述形式
voidUART_IRQHandler(void)
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
viod
说明
值
-
-
-
-
详细说明
串口中断函数将数据发送出去
使用注意事项
无
3.1.2模块内接口函数
3.1.2.1LCD_RD_DATA
函数名
LCD_RD_DATA
文件名
../ili9325.c
功能概要
读寄存器16位数据
记述形式
uint16LCD_RD_DATA(void)
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
Uint16
说明
值
MAINLCDSUCCESS
正常结束
MAINLCDFAILED
异常结束
详细说明
读寄存器16位数据
使用注意事项
传入参数的范围
3.1.2.2LCD_RD_DATA
函数名
LCD_RD_REG_DATA
文件名
../ili9325.c
功能概要
选择寄存器号
记述形式
uint16LCD_RD_REG_DATA(uint16REG)
参数
类型
变量名
I/O
说明
Uint16
REG
-
选择寄存器号
返回值
类型
Uint16
说明
值
MAINLCDSUCCESS
正常结束
MAINLCDFAILED
异常结束
详细说明
先选择寄存器号,再从里面读数据
使用注意事项
无
3.1.2.3delay
函数名
delay
文件名
../ili9325.c
功能概要
延时函数
记述形式
voiddelay(uint32i)
{
i=i*1000;
while(i>0)
{
i--;
}
}
参数
类型
变量名
I/O
说明
Uint32
i
-
延时时长
返回值
类型
void
说明
值
-
-
-
-
详细说明
短暂延时,为LCD初始化时序服务
使用注意事项
无
3.1.2.4LCD_WR_DATA
函数名
LCD_WR_DATA
文件名
../ili9325.c
功能概要
给ILI9325的寄存器写数据
记述形式
voidLCD_WR_DATA(uint16val)
参数
类型
变量名
I/O
说明
Uint32
val
-
写数据的位数
返回值
类型
void
说明
值
-
-
-
-
详细说明
写16位数据,学习板上的LCD采用8位连接,所以,16位数据分两次写进寄存器,先写高位,再写低位。
使用注意事项
使用时需要先使用LCD_WR_REG(reg)选择要把数据写到哪个寄存器里面。
3.1.2.5LCD_WR_REG
函数名
LCD_WR_REG
文件名
../ili9325.c
功能概要
确定往哪个寄存器写数
记述形式
voidLCD_WR_REG(uint16reg)
参数
类型
变量名
I/O
说明
Uint16
reg
-
寄存器ID号
返回值
类型
void
说明
值
-
-
-
-
详细说明
确定往哪个寄存器写数。
使用注意事项
寄存器号是16位数,8位连接方式需要写两次
3.1.2.6LCD_WR_REG_DATA
函数名
LCD_WR_REG_DATA
文件名
../ili9325.c
功能概要
先选择寄存器号,再写数据到里面
记述形式
voidLCD_WR_REG_DATA(
uint16REG,
uint16VALUE
)
参数
类型
变量名
I/O
说明
Uint16
REG
-
寄存器号
Uint16
VALUE
数据值
返回值
类型
viod
说明
值
-
-
-
-
详细说明
先选择寄存器号,再写数据到里面
使用注意事项
无