一种温湿度远程测量系统毕业设计论文(编辑修改稿)内容摘要:

ogy公司改名为 Altium 公司,整合了多家 EDA 软件公司,成为业内的巨无霸。 20xx 年,Altium 公司推出新品 Altium Designer ,经过 Altium Designer 、AltiumDesigner 、 Altium Designer 、 Altium Designer 、 Altium Designer 、 Altium Designer Summer 0 Altium Designer Winter 0 Altium Designer Summer 09 等版本升级,体现了 Altium 公司全新的产品开发理念,更加贴近电子设计师的应用需求,更加符合未来电子设计发展趋势要求。 Altium Designer Winter 09 与之前 Altium Designer 相比,新增的技术特征如下: 即插即用的软件平台石河子大学毕业设计论文 12 搭建器;应用控制面板;新的交互式布线功能;设计发布管理功能;方便的供应商数据链接服务;实时制造规则检查;三维 PCB 可视引擎性能提高。 2) PCB 版图 图 38 PCB 板图 GSM 模块 简单介绍 GSM 模块 类型 SIM300 SIM300 产品概述 SIM300 是一款三频段 GSM/GPRS 模块,可在全球范围内的 EGSM 900MHz、DCS 1800MHz、 PCS 1900MHz 三种频率下工作,能够提供 GPRS 多信道类型多达 10 个,并且支持 CS CS CS3 和 CS4 四种 GPRS 编码案。 SIM300 结构小巧,外形尺寸仅 40mm*33mm*,几乎可满足所有对产品尺寸有要求的工 业应用,比如智能电话,掌上电脑和其他移动设备。 模块与移动应用设备通过一个 60 引脚的板板连接器相连,它提供了除了 RF 天线接口的其他所有模块与开发板的硬件接口。 硬件系统设计 13 SIM300 主要特性简述 表 39 SIM300 主要特性 石河子大学毕业设计论文 14 第四章 软件系统 的设计 主程序的设计 程序流程图 图 41 主函数流程图 初始化 开始 按键 1。 LCD 显示 按键 2。 收到短信 th。 显示温湿度 显示短信内容及号码 发送数据到手机 N N N Y Y Y 软件系统的设计 15 主函数程序 include include include include include include include include include include unsigned char lcdbuf[16]。 unsigned char lcdbuf2[16]。 unsigned char temp_var=0。 //全局临时辅助变量,任何函数(除中断外)可用 unsigned char disp_type=0。 //该变量的内容决定当前液晶上显示的内容,由按键处理函数来改变 //主函数 void main() { //初始化外设 init_1602()。 //液晶 display_string(0,1,init uart ...)。 init_uart()。 //串口 display_string(0,1,init key ...)。 init_key()。 //按键 display_string(0,1,start gprs ...)。 start_gprs()。 //检查模块是否已开机 display_string(0,1,init gprs ...)。 init_gprs()。 //初始化模块,获取信号强度,运营商等信息 display_string(0,1,init timer ...)。 init_timer0()。 //初始化定时器 display_string(0,1,init done!)。 //进入主循环,该循环永不退出 while(1) { //有按键按下 if(key_pending) { //process keys if(key_code==MENU) { disp_type=0。 //display gprs status } else if(key_code==UP) 石河子大学毕业设计论文 16 { disp_type=1。 //display meter info } //clear flag key_pending=0。 } //串口收到消息,由于本系统中由模块主动发送的信息一般都忽略,此处一般不做处理 if(rx_data_pending) { rx_data_pending=0。 temp_var=0。 while(rx_rearrx_head) { rx_rear++。 } } //显示当前温湿度,温湿度信息已在在采集事件触发后填入 lcdbuf 和 lcdbuf2 中,此处仅显示即可 if(timer_int_statusamp。 amp。 (disp_type==0))//温湿度信息读数 { timer_int_status=0。 clear_lcd()。 display_string(0,0,lcdbuf)。 display_string(0,1,lcdbuf2)。 } if(timer_int_statusamp。 amp。 (disp_type==1))//显示新短信内容和手机号码 { timer_int_status=0。 if(new_sms==0) { clear_lcd()。 display_string(0,0,No Message)。 display_string(0,0,Available!)。 } else if(new_sms==1) { clear_lcd()。 display_string(0,0,short_message)。 display_string(0,1,phone_num)。 new_sms=2。 //clear flag } } if(timer_int_check) { timer_int_check=0。 //检查有无新短信 get_new_sms()。 } 软件系统的设计 17 if(timer_int_2s) { timer_int_2s=0。 read_dht11()。 //读取温湿度信息 //将读到的温湿度值转换为字符串存入缓冲区中用于显示 sprintf(lcdbuf,Temp:%d,(unsigned int)dht11data[2])。 sprintf(lcdbuf2,Humi:%d,(unsigned int)dht11data[0])。 } } } 石河子大学毕业设计论文 18 主要子程序的设计 采集程序的设计 图 42 采集程序流程图 采集程序 送采集数据地址 送通道号初值 送出通道号 启动 A/D 读 A/D 数据 修改地址及通道号 各通道采集一 次 返回 N Y 软件系统的设计 19 短消息收发程序的设计 1) 短消息收发程序流程图 图 43 短信收发程序流程图 2) 短信收发程序中涉及的简单指令 [1][2] a. AT命令 测试通路 表 41 命令 AT 测试 响应 OK b. AT+CMGF 选择消息格式 选择消息为 TEXT 或 PDU 格式 用 PDU 格式包括所有头信息的短消息以二进制方式传送写成十六进制的格式 SIM300 模块启动 发送 AT 检测通信接口 检测通过 设置短信模式 ,新短信提示方式 检测 GSM 网络 ,信号质量 有数据发送请求 ? 通过短信发送数据 开始 Y Y N Y 石河子大学毕业设计论文 20 用 TEXT 格式命令和响应均为 ASCII 字符 选择的消息格式存储在 EEPROM 里 表 42 命令 AT+CMGF ? 查询当前值 响应 +CMGF: 1 OK TEXT 方式 命令 AT+CMGF=? 检测命令 响应 +CMGF: (01) OK 支持 TEXT 和 PDU 方式 c. AT+CNMI 新消息提示 命令格式 AT+CNMI=mode,mt,bm,ds,bfr 表 43 命令 AT+CNMI=2,1,0,0,0 mt=1 响应 OK 响应 +CMTI : SM, 1 收到新消息的提示 d. AT+CMGS 发送短消息 采用 TEXT 方式的命令格式 AT+CMGS= da [ ,toda ] text is entered 按 ctrlZ 发送出去 / 按 ESC 取消 表 44 命令 AT+CMGS=+33146290800 Please Call me soon, Fred.ctrlZ 用 TEXT 方式发送消息 响应 +CMGS : mr OK 发送成功 命令 AT+CMGS=length pductrlZ 用 PDU 方式发送消息 响应 +CMGS : mr OK 发送成功 e. AT+CMGD 删除短消息 删除存储的消息 表 45 命令 AT+CMGR=3 读取消息 响应 +CMGR: REC UNREAD, 0146290800,98/10/01,18:19:20+00 Received Message! OK 命令 AT+CMGD=3 删除 响应 OK 软件系统的设计 21 LCD 显示程序的设计 图 44 显示程序流程图开始 设堆栈 清标志 清暂存 清显示 T0 初始化 串行口初始化 CPU 开中断 温度采集 显示 返回 石河子大学毕业设计论文 22 第五章 系统 调 试 系统调试思路 单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。 但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。 可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起 采集模块的 调 试 采集模块的焊接调试 首先是焊接的顺序问题,当初板子做好以后,我一口气就把所有的元件焊上去了,这样对于没有调试过的板子,就很难找到原因。 所以焊接的顺序很重要,应该是应该按功能划分 的器件进行焊接,顺序是功能部件的焊接 调试 (OK)另一功能部件的焊接,这样容易找到问题的所在。 采集模块功能调试 如果在调试按功能划分的器件上出现问题,可以按以下步骤进行: 1)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。