基于STC89C52单片机的粮仓温湿度的系统设计 联系客服

发布时间 : 星期一 文章基于STC89C52单片机的粮仓温湿度的系统设计更新完毕开始阅读2f7983b9f71fb7360b4c2e3f5727a5e9846a275a

常州大学本科生毕业设计(论文)

图3.17 USB接口电路

4 软件设计

4.1 主程序

(1)温湿度主程序的设计应考虑以下问题:①温度显示;②温湿度采样,数字滤波;③温湿度上限的存储;④越限报警。通常,符合上述功能的温湿度监测程序由主程序和T0中断服务程序两部分组成。

数据初始化定时器初始化显示初始化进入后台while循环否有转换标志吗?是温湿度转换超过阈值吗?否温湿度数值显示是报警有键按下吗?否是按键处理 图4.1 主程序流程图

第21页 共43页

常州大学本科生毕业设计(论文)

(2)定时器初始化及中断程序

//定时器0初始化 void Timer0_Init() {

ET0 = 1; //允许定时器0中断 TMOD = 1; //定时器工作方式选择 TL0 = 0x06; TH0 = 0xf8; //定时器赋予初值 TR0 = 1; //启动定时器 }

//定时器0中断

void Timer0_ISR (void) interrupt 1 using 0 { TL0 = 0x06; TH0 = 0xf8; //定时器赋予初值 //每2秒钟启动一次温湿度转换 RHCounter ++;

if (RHCounter >= 1000) {

FlagStartRH = 1; RHCounter = 0; } }

4.2 温湿度检测模块程序

(1)标度变换:

标度变换的目的是要把实际采样的二进制值转换成BCD形式的温度值,然后存放到显示缓冲区34H-3BH。对一般线性仪表来说,标度变换公式为:

N?N0 AX?A0?(Am?A0)XNm?N0

式中:A0为一次测量仪表的下限;Am为一次测量仪表的上限;AX为实际测量值;N0为仪表下限所对应的数字量;Nm为仪表上限所对应的数字量;NX为测量所得数字量。

(2)温湿度采样程序流程图

第22页 共43页

常州大学本科生毕业设计(论文)

采样程序送采样数据地址送通道号初值送出通道号启动A/D读A/D数据修改地址及通道号N各通道都采样一次Y返回

图4.2 温湿度采样流程图

(3)功能 :串口发送温湿度数据 sbit P2_0 = P2^0 ; //IO口定义 sbit P2_1 = P2^1 ; sbit P2_2 = P2^2 ; sbit P2_3 = P2^3 4.3 LCD显示模块程序 //定义接口 sbit E=P2^5;

//1602使能引脚

第23页 共43页

常州大学本科生毕业设计(论文)

sbit RW=P2^6; sbit RS=P2^7;

//1602读写引脚

//1602数据/命令选择引脚

5 系统实现与调试

5.1 电路板焊接注意事项

(1)正确的焊接方法:焊接时利用烙铁头的对元件引线和焊盘预热,烙铁头与焊盘的平面最好成45°夹角,等待焊金属上升至焊接温度时,再加焊锡丝。被焊金属未经预热,而将焊锡直接加在烙铁头上,使焊锡直接滴在焊接部位,这种焊接方法常常会导致虚焊。

焊接要素 (2)焊接温度和时间:焊锡的最佳温度为350oC,温度太低易形成冷焊点,高于400oC易使焊点质量变差,且容易导致焊盘(铜皮)变形或脱落。

焊接时间:完成润湿和扩散两个过程需2-3S,1S 仅完成润湿和扩散两个过程的35%。一般IC、三极管焊接时间小于3S,其他元件焊接时间为4-5S。

(3) 焊锡量适当:焊点上焊锡过少,机械强度低。焊锡过多,会容易造成绝缘距离减小、焊点相碰或跳锡等现象。

(4)电烙铁使用注意事项:电烙铁温度升高后,首先应将烙铁尖点上薄薄的一层焊锡,避免烙铁尖因氧化而不沾锡。使用过程中,烙铁尖表面应一直保持有薄薄的焊锡层,多余的焊锡可轻轻甩在烙铁架上,或用一块湿布(湿海绵)擦拭一下。暂时不用时,应将电烙铁温度调至最低。 5.2 程序下载

(1)USB转串口驱动安装

打开PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转串口驱动程序。安装完成后,插入USB下载线后,在[开始]-[控制面板]-[打印机和其他硬件]-[设备管理器],在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口号,如果没有说明USB转串口驱动没有安装,须重新安装。记住括号里的COM口号。

(2)程序下载

运行STC_ISP_V481.exe程序,出现如下界面。

第24页 共43页