实验室温湿度监控系统的设计(1)(13)
[10] 刘宝元,张玉虹,姜旭,段存丽.基于单片机的温湿度监控系统设计[J].国外电子测量技术,2009,(12):77-80.83.
【摘要】 温湿度是影响硝基软片生产和厚度检测的重要因素。采用AT89S52单片机为控制中心,由STH10温湿度传感器及1602字符型液晶模块构成硝基软片生产在线实时温湿度监控系统,实现对硝基软片生产环境的温湿度精确测量与控制。实践证明,该系统电路简单、工作稳定、集成度高,调试方便,测试精度高,保证硝基软片生产线的产品质量与合格率,具有一定的实用价值。
-31-
附录D 部分系统源程序
#include
unsigned char dispbuf[5]={0}; unsigned char temp[5]; unsigned char T0count; unsigned char timecount; bit flag;
unsigned long F; //频率值 unsigned int pF;//电容量 signed char RH;//湿度
unsigned char Tset,Rset;//默认的温度报警线
unsigned char menu;//菜单变量,0时正常,1时设置温度,2时设置湿度 sbit K0=P2^0;//定义键盘K0 sbit K1=P2^1;//定义键盘K1 sbit K2=P2^2;//定义键盘K2 sbit beep=P1^0;
sbit LCD_RS = P2^7; sbit LCD_E = P2^6;
#define LCD_DATA P0
/************************************************** ** 函数名称: dellay
** 入口参数:h(unsigned int型) ** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS ****************************************************/ void dellay(unsigned int h) {
while(h--); //0.01MS }
/************************************************** ** 函数名称: WriteDataLcd
** 入口参数:wdata(unsigned char型) ** 出口参数:无
** 功能描述: 写数据到LCD
****************************************************/ void WriteDataLcd(unsigned char wdata) {
-32-
LCD_RS=1;
LCD_DATA=wdata;
dellay(100); //短暂延时,代替检测忙状态 LCD_E=1;
dellay(100); //短暂延时,代替检测忙状态 LCD_E=0; }
/************************************************** ** 函数名称: WriteCommandLcd
** 入口参数:wdata(unsigned char型) ** 出口参数:无
** 功能描述: 写命令到LCD
****************************************************/ void WriteCommandLcd(unsigned char wdata) {
LCD_RS=0;
LCD_DATA=wdata;
dellay(100); //短暂延时,代替检测忙状态 LCD_E=1;
dellay(100); //短暂延时,代替检测忙状态 LCD_E=0; }
//LCD初始化
void lcd_init(void) {
LCD_E=0;
WriteCommandLcd(0x38);
WriteCommandLcd(0x38); //显示模式设置 WriteCommandLcd(0x08); //关闭显示
WriteCommandLcd(0x0c);
WriteCommandLcd(0x06); //显示光标移动设置 WriteCommandLcd(0x01); //显示清屏
WriteCommandLcd(0x90); //显示开及光标移动设置 }
/************************************************** ** 函数名称: display_xy
** 入口参数:x(unsigned char型),y(unsigned char型) ** 出口参数:无
** 功能描述: 设置光标位置, x是列号,y是行号
****************************************************/
void display_xy(unsigned char x,unsigned char y)
-33-
{
if(y==1) x+=0x40; x+=0x80;
WriteCommandLcd(x); }
/******************************************************************** ** 函数名称: display_char
** 入口参数:x(unsigned char型),y(unsigned char型),dat(unsigned char型) ** 出口参数:无
** 功能描述: 在具体位置显示单个字符,x是列号,y是行号
*********************************************************************/ void display_char(unsigned char x,unsigned char y,unsigned char dat) {
display_xy(x,y); WriteDataLcd(dat); }
/********************************************************************* ** 函数名称: display_string
** 入口参数:x(unsigned char型),y(unsigned char型),s(指针型) ** 出口参数:无
** 功能描述: 在具体位置显示字符串,以/0结束,x是列号,y是行号
**********************************************************************/ void display_string(unsigned char x,unsigned char y,unsigned char *s) {
display_xy(x,y); while(*s) { WriteDataLcd(*s); s++; } }
//*****************//
//以下是DS18B20驱动程序 //*****************//
unsigned char data temp_data[2]={0x00,0x00}; //读出温度暂放
unsigned char data _1820display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据和一个运算暂用 unsigned int tmp;
-34-
sbit DQ=P2^4;
sbit DQVCC=P2^3; sbit DQGND=P2^5;
//**************温度小数部分用查表法***********// unsigned char code ditab[16]= {
0x00,0x01,0x01,0x02, 0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07, 0x08,0x08,0x09,0x09 };
/*****************11us延时函数*************************/ //
void _18B20_delay(unsigned int t) {
for (;t>0;t--); }
/****************DS18B20复位函数************************/ _18B20_reset(void) {
char presence=1; while(presence) { while(presence) { DQ=1; _nop_();_nop_();//从高拉倒低 DQ=0; _18B20_delay(50); //550 us DQ=1; _18B20_delay(6); //66 us presence=DQ; //presence=0 复位成功,继续下一步 } _18B20_delay(45); //延时500 us presence=~DQ; }
DQ=1; //拉高电平 }
-35-
…… 此处隐藏:1957字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




