好文档 - 专业文书写作范文服务资料分享网站

温湿度检测系统的设计与实现

天下 分享 时间: 加入收藏 我要投稿 点赞

本科生课程设计(论文)

参考文献

[1] 王迎旭编.单片机原理与应用[M].机械工业出版社.2012

[2] 陈海晏编.51单片机原理与应用[M].北京航空航天大学出版社.2010 [3] 黄仁欣编.单片机原理与应用技术[M].清华大学出版社.2010

[4] 张中明编.单片计算机原理及接口技术[M].人民邮电出版社出版社.2009 [5] 赛奎春.MySql数据库开发实例解析[M].北京:机械工业出版社,2010

13

本科生课程设计(论文)

附录 程序

#include #define uchar unsigned char #define uint unsigned int uchar num,z,dat,a,c,d,f; uint b;

sbit JDQ=P3^7; //管脚定义 类似于起名字

//用JDQ来代替P1.4控制继电器工作

unsigned int tempL; //设全局变量 unsigned int tempH;

unsigned int sdata; unsigned int s;

code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,

0x82,0xf8,0x80,0x90,0xff}; //不带小数点的共阳数码管段码

code unsigned char seg7codeB[]={0x40,0x79,0x24,0x30,0x19,0x12,

0x02,0x78,0x00,0x10,0xff}; //带小数点的共阳数码管段码

bit fg=1; //正负标志

//******************延时子程序 *******************************

//这个延时程序的具体延时时间是time=i*8+10,适用于小于2ms的延时

//************************************************************ void delay(unsigned char i) {

for(i;i>0;i--); }

14

本科生课程设计(论文)

//***********************************************************

// 延时子程序

//************************************************************ void delay1ms() {

unsigned char i;

for(i=124;i>0;i--); //延时124*8+10=1002us }

//读值(低位放tempL;高位放tempH;) ReadTemperature(void) { }

//控制继电器

//********************显示函数**************** void Led(unsigned int date) { if(fg==1) {

P2=0xfe; //P1.0=0,选通第一位

P0=seg7code[date/10]; //十位数,查表,输出 delay1ms();

P0=0xff; //消隐

P2=0xfd; //P1.1=0,选通第二位,个位数

15

tempH=c; tempL=d;

s = (tempH*256+tempL); //整数部分 sdata=s/100;

本科生课程设计(论文)

}

P0=seg7codeB[date]; delay1ms();

P0=0xff; //消隐

P2=0xfb; //P1.3=0,选通第三位,小数点第一位 P0=seg7code[s0/10]; delay1ms();

P0=0xff; //消隐

P2=0xf7; //P1.3=0,选通第四位,小数点第二位 P0=seg7code[s]; delay1ms();

P0=0xff; //消隐

if(fg==0) //温度为负时显示的数据 {

P2=0xfe; //P1.0=0,选通第一位 P0=seg7code[11]; //显示负号 delay1ms();

P0=0xff; //消隐

P2=0xfd; //P1.1=0,选通第二位,十位数 P0=seg7code[date/10]; delay1ms();

P0=0xff; //消隐

P2=0xfb; //P1.3=0,选通第三位,个位数 P0=seg7codeB[date]; delay1ms();

P0=0xff; //消隐

P2=0xf7; //P1.3=0,选通第四位,小数点第一位 P0=seg7code[date];

16

本科生课程设计(论文)

}

delay1ms();

P0=0xff; //消隐

}

//主函数,C语言的入口函数: void Relay() { if(sdata<10)

JDQ=0;

//P1.4引脚控制三极管再由三极管控制继电器,

if(sdata>11) JDQ=1; 开

delay1ms(); }

void main() {

17

//输出0三极管导通继电器得电吸合,输出1三极管截止继电器失电断

P0=0xff; //消隐 while(1){Led(sdata); if(num==1) {

num=0;break; }

}; //主程序循环,即程序要停止在这里,很多初学者忘记了这点,只输入了上面

一行,结果程序跑飞,找不出问题

TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1;

//用定时器设置串口波特率9600

REN=1; //串口初始化 SM0=0; SM1=1;

EA=1; //开启总中断 ES=1;

温湿度检测系统的设计与实现

本科生课程设计(论文)参考文献[1]王迎旭编.单片机原理与应用[M].机械工业出版社.2012[2]陈海晏编.51单片机原理与应用[M].北京航空航天大学出版社.2010[3]黄仁欣编.单片机原理与应用技术[M].清华大学出版社.2010[4]张中明编.单片计算机原理及接口技术[M].人民邮电出版社出版
推荐度:
点击下载文档文档为doc格式
3cms29d0l65ap1c1kzfj507xn0uyj200qh2
领取福利

微信扫码领取福利

微信扫码分享