盐城市亭湖高级中学 卜敏玥
盐城工学院电气工程学院 陆广平
设计分为无线发送和无线接收模块,无线发送模块通过对温度传感器的数据实时采集,同时将结果通过4位动态数码管显示,并利用无线模块发送温度数据。无线接收模块接收发送模块传来的温度数据,同时将温度数据通过液晶屏显示,并与设定的温度值进行比较,实现远程监控。发送和接收模块的框图如图1所示。
图1 发送和接收模块框图
图2 单片机最小系统图
单片机的最小系统模块包括5v电源电路,晶振电路和复位电路三个部分,5v电源电路直接以USB供电,晶振电路选用12MHz晶振和两个30pf的瓷片电容,设计的复位电路包括上电复位和按键复位,最小系统电路如图2所示。
温度数据采集电路如图3所示。温度传感器DS18B20是单条信号线,这根信号线既可传输时钟,又可以传输数据,信号线并通过4.7KΩ连到5v电源端。测温模块通过单片机的P3.2口读取温度传感器的温度值,实现对温度数据的采集并及时储存数据,采集的数据为无线发送模块做准备。
图3 温度检测电路
图4 无线模块电路图
无线发送模块和接收模块的电路都是将引脚CE、引脚CSN、引脚SCK、引脚MOSI、引脚MISO、引脚IRQ相对应的与单片机引脚 P1.0、引脚P1.1、引脚P1.2、引脚P1.3、引脚P1.4、引脚P1.5相连接。发送和接收模块的电路设计如图4所示。
系统中发射模块的显示部分是4位共阴极数码管显示温度值,接收模块的显示部分是LCD1602显示温度值,发射模块的温度值用数码管显示,主要是和接收端的温度显示比较,看无线模块接收的温度数据是否正常,而接收端用液晶显示,可以显示更多的信息。发送和接收端的显示电路如图5和6所示。发送端模块选用了4个S8550PNP三极管,4个S8550PNP的基极B端分别通过1KΩ电阻与单片机的P2.0、P2.1、P2.2、P2.3相连,发射极E端分别连接4个数码管的位选端,集电极都接地,当P2.0~P2.3中的某位为0,选中对应的数码管。接收端设计中选用了液晶LCD1602,它的RS、EN、D0~D7分别与单片机的P2.0、P2.1、P0.0~P0.7相连。
图5 发送端的显示电路
图6 接收端的显示电路
发送模块的设计相当于是无限循环的系统,发送模块程序设计首先需要初始化无线发送模块,要使无线模块与单片机进行通讯,需要初始化设置无线模块的寄存器、单片机里的SFR特殊功能寄存器和DS18B20温度传感器,通过SPI总线实现对无线模块的工作状态控制,延时一会儿进行温度转换,读取温度数据,处理温度数据,通过无线模块发送温度数据的循环工作,在数码管上显示温度值模块流程图如图7(a)所示。
图7 系统流程图
接收模块系统的设计同样是在大循环里,需要设置无线模块在接收的工作状态下,系统实时接收发送模块传来的温度数据,如果无线模块的有效地址被接收到,将数据存在堆栈段,根据状态寄存器的高低电平判断是否读取温度数据。首先需要设置无线模块的端口,初始化无线模块,延时一会儿,循环接收温度数据值,接收的数据存在单片机的P0寄存器,并在液晶上显示,接收端流程图如图7(b)所示。
上位机软件是通过VC语言编写成的,将编写好的程序安装好,然后进行显示界面的调试。上位机系统将采集到的温度信息通过温度刻度和具体数值两种方式实时地显示出来,可以方便数据的读取。在点击开始采集按钮前必须要先上位机进行参数的设置,参数设置后,可以点击开始采集按钮来进行温度的采集,读取温度数值,上位机上还有暂停采集和退出按钮,实现对温度的远程监控,当监测到的温度数据高于或者低于设定值,进行报警并将信息传给主机单片机。
系统使用无线数据传输模块实现主从机的通讯,将主机的温度数据通过无线模块传给从机,并且传给上位机。通过主机上数码管显示的温度值和从机在液晶上显示的数据和上位机受到的数据进行比较,接线简单,能更准确的实时检测温度和传输温度数据,适用于许多不同的环境,测温准确度高。
对所测温度进行报警,通过监控实现对温度的实时监控,系统所实现的是一对一的温度数据无线传输和功能,可以将测温的远程监控系统设计成多点温度控制,提高系统的功能,上位机将无线发送模块采集到的温度数据通过接收模块传到串口进行实时观测,实现对温度数据的远程监控和实时观测,也可以由上位机发送命令给发送和接收模块,实时处理结果。
[1]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2014,11.
[2]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005,07.
[3]张兰红,邹华,等.单片机原理及应用[M].北京:机械工业出版社,2012,07.
[4]汤嘉立,杨后川.51单片机C语言轻松入门[M].北京:电子工业出版社,2016,01.
[5]薛小铃,刘志群,贾俊荣.51单片机开发实战精讲-从模块到项目[M].北京:清华大学出版社,2015,01.