基于gsm远程温度监测系统(编辑修改稿)内容摘要:

参考文献 [1]柴卫华 .新型数字温度传感器 DS18B20 组成的温度巡检系统 [J].传感器世界 ,2020. [2]潘笑 ,高玉玲 ,康亚娜 .基于模糊 PID 的 AT89S52 单片机智能温度控制系统 [J].兵工自动化 ,2020. [3]赵国强 .基于嵌入式操作系统结构的污水处理控制系统 [J].国家期刊 ,. [4]白玉 ,于世明 .单片机在温控系统中的应用 [J].辽宁教育学院学报 , . [5]何立民 .单片机与嵌入式系统应用 [M].北京航空航天大学出版社 ,. [6]肖金球 .单片机原理极其接口技术 [M].清华大学出版社 ,. [7]唐端海 ,刘昌珍 .智能电子技术实践教程 [M].无锡商业职业技术 学院 .2020. [8]夏大勇 ,周晓辉 ,赵增等 .MCS51 单片机温度控制系统 [J].工业仪表与自动化装置 ,2020. [9]黄宇飞 ,吴江 ,秦旭 .单片机单总线技术 .单片机与嵌入式系统应用 ,2020. [10]罗文光 ,兰红莉 .基于单总线的多路温度测量技术 [J].传感技术 ,2020. [11]徐文进 ,张阿卜 .智能温度传感器 DS18B20在多路测温中的应用 [J].现代电子技术 , 2020. [12]王胜利 ,冯伟 ,刘剑科 .单总线分布式测温系统 [J].工矿自动化 ,2020. [13]黄攀 ,王俊杰 .单总线数字温度传感器 DS18B20 及其应用 [J].仪表技术与传感器 ,2020. [14]田仲 ,高世海 .温度传感器及其与微处理器接口 [J].传感器世界 ,2020. [15]金伟正 .单线数字温度传感器的原理及应用 [J].电子技术应用 ,2020. [16]唐为义 ,王艳霞 ,刘蕾 .便携式多点温度采集系统 [J].仪表技术与传感器, 2020. E A / V P31X T A L 119X T A L 218R E S E T9RD17WR16I N T 012I N T 113T014T115P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78P 0. 0 / A D 039P 0. 1 / A D 138P 0. 2 / A D 237P 0. 3 / A D 336P 0. 4 / A D 435P 0. 5 / A D 534P 0. 6 / A D 633P 0. 7 / A D 732P 2. 0 / A 821P 2. 1 / A 922P 2. 2 / A 1023P 2. 3 / A 1124P 2. 4 / A 1225P 2. 5 / A 1326P 2. 6 / A 1427P 2. 7 / A 1528P S E N29A L E / P30T X D11R X D10VCC40GND20U1S T C 89 C 5 1R CC11. 0U FC20. 1U FC35PC45PY111 .0 59 2MC 1210 U FR210 K1 2 3D S 1 8B 20B A T1B A T2B A T3B A T4B A T5G N D6G N D7G N D8G N D9G N D1011121314151617R X D O18T X D O1920212223C C N C24C C R S T25C C I O26C C C L K27C C V C C28G N D293031S Y N C323334353637383940U2T C 3 5IV C CV C CV C C1 23 45 6J P 1H E A D E R 3 X 2T X DG R X DR X DG T X DR X DT X DCCCLK6Q88Q77CCGND1CCVCC2NC3CCRST4CCIO5U3S I MQ 17S 8 05 0R310 0R222 KR110 0KL D 2L D 312345J7C O N 5R410 KC 1110 4B A TB A TV C CB A TG T X DG R X DV C CV C CV B TG N DG T X DC C V C CC C V C CP 37C P U 与 G S M 通信跳线T T L 输出启动P 37G R X D 附录 A(系统硬件原理模块图) 附录 B(软件程序设计 ) include include define uchar unsigned char define uint unsigned int define RxIn 90 //定义接收的数组长度为 90 char s[20]=Temperature= oC。 uchar code AT[]=AT。 //握手信号 uchar code ATE[]=ATE。 //关回显 uchar code AT_CNMI[]=AT+CNMI=2,1。 //设置这组参数来了新信息直接显示到串口,不作存储 uchar code AT_CSCA[]=AT+CSCA=\+8613800510500\。 //设置服务中心号码 uchar code AT_CMGF[]=AT+CMGF=1。 //设置短信的格式为 text 格式 uchar code AT_CMGR[]=AT+CMGR=。 //读取短信指令 uchar code AT_CMGS[]=AT+CMGS=。 //发送短信指令 uchar code AT_CMGD[]=AT+CMGD=。 //发送短信指令 uchar code successfully[]=Operate Successfully!。 //发送操作成功信息到目标号码 uchar code fail[]=Operate failed,try again!。 //发送操作失败信息到目标号码 uchar AT_delete[12]。 uchar AT_Read[12]。 //用来存储发送读取短信指令 uchar AT_SendNumber[25]。 //用来存储发送短信号码指令 uchar numberbuf[3]。 //用来保存短信条数 uchar idata SystemBuf[RxIn]。 //储存出口接收数据 uchar CommandBuf[6]。 //用来储存指令 uchar idata state[17]。 //用来存储 IO 口状态 uchar idata state1[17]。 //用来存储 IO 口状态 uchar Rx=0。 uint temp。 //记录状态 uchar temp1。 // 用于记录 P0 口状态 uchar temp2。 // 用于记录 P2 口状态 bit check=0。 //查询标志位 bit receiveready=0。 //接收短信标志位 bit sendready=0。 //发送短信准备标志位 bit send=0。 //发送短信标志位 bit flag=0。 //指令标志位 sbit P3_7=P3^7。 //启动 GSM 的启动线连 IGT sbit realy0=P0^0。 //继电器 1 sbit realy1=P0^1。 //继电器 2 sbit realy2=P0^2。 //继电器 3 sbit realy3=P0^3。 //继电器 4 sbit realy4=P0^4。 //继电器 5 sbit realy5=P0^5。 //继电器 6 sbit realy6=P0^6。 //继电器 7 sbit realy7=P0^7。 //继电器 8 sbit key1=P2^0。 //开关 1 sbit key2=P2^1。 //开关 2 sbit key3=P2^2。 //开关 3 sbit key4=P2^3。 //开关 4 sbit key5=P2^4。 //开关 5 sbit key6=P2^5。 //开关 6 sbit key7=P2^6。 //开关 7 sbit key8=P2^7。 //开关 8 void Delay_ms(uint i)。 void Start_GSM(void)。 void UART_init (void)。 void sendchar(uchar ch)。 void sendstring(uchar *p)。 void GSM_INIT(void)。 void receive_ready(void)。 void message_read(void)。 void read_message(void)。 void sendmessage(void)。 sbit DQ=P3^3。 //温度输入口 uint h。 uint tempX。 //**************温度小数部分用查表法 ***********// uchar code ditab[16]= {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 uchar code dis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}。 //共阳 LED 段码表 0 1 2 3 4 5 6 7 8 9 不亮 uchar data temp_data[2]={0x00,0x00}。 //读出温度暂放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //显示单元数据,共 4 个数据和一个运算暂用 /*****************11us 延时函数 *************************/ void delay(uint t) {for (。 t0。 t)。 } /****************DS18B20 复位函数 ************************/ ow_reset(void) {char presence=1。 while(presence) {while(presence) {DQ=1。 _nop_()。 _nop_()。 //从高拉倒低 DQ=0。 delay(50)。 //550 us DQ=1。 delay(6)。 //66 us presence=DQ。 } //presence=0 复位成功 ,继续下一步 delay(45)。 //延时 500 us presence=~DQ。 } DQ=1。 } //拉高电平 /****************DS18B20 写命令函数 ************************/ //向 1WIRE 总线上写 1 个字节 void write_byte(uchar val) { uchar i。 for(i=8。 i0。 i) {DQ=1。 _nop_()。 _nop_()。 //从高拉倒低 DQ=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //5 us DQ=valamp。 0x01。 //最低位移出 delay(6)。 //66 us val=val/2。 } //右移 1 位 DQ=1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。