• / 75
  • 下载费用:10 金币  

温湿度采集控制电路及C程序

关 键 词:
温度采集与控制 温湿度采集电路 温度采集控制
资源描述:
温湿度采集控制电路及C51程序 第一节 电路图和PCB 第二节 器件介绍和C51编程 第三节 12864M介绍和GAL逻辑 1 第一节 电路图和PCB 一、系统构成 1、温度湿度采集控制电路 2、集中显示电路控制温湿度采集控 制电路 二、温度湿度采集控制电路 温度传感器 1、模拟接口 2、数字接口 18b20 2 3 4 5 6 7 8 三、集中显示电路控制温湿度采集控制电路 1、键盘和数码管显示 7279 2、单片机主控控制电路 3、485通信 9 10 11 12 13 一、温度湿度采集控制电路程序 main.c 主程序,含继电器控制 rs232.c (rs232.h) 485通信程序 ds18b20.c (ds18b20.h) 温度湿度采集程序 第二节 器件介绍和C51编程 14 #include void relay_control(void); extern void delay(unsigned char); extern void read_tmp(void); extern void read_tmp_1(void); extern void read_tmp_2(void); extern void read_tmp_3(void); sbit r_control=P3^5; sbit led=P3^3; sbit ptt=P1^4; void rev_ptt(void); void send_ptt(void); extern unsigned char data main.c 15 extern unsigned char data senddata[16]; extern unsigned char data revdata[8]; extern unsigned char data *psenddata; extern unsigned char data *prevdata; extern unsigned char data tmp_l[4]; extern unsigned char data tmp_h[4]; unsigned char code me_address=0x81; unsigned char code temp_table_l[21]={33,31,30,28,28,28,28,25,25,25,25,25,25,25,21,21, 21,21,21,21,21}; unsigned char code temp_table_h[21]={35,33,32,30,30,30,30,28,28,28,28,28,28,28,27,27, 27,27,27,27,27}; unsigned char data temp_time=20; unsigned int tmp_v; unsigned int test_time=0; extern bit rev_ok; 16 main() { ptt=0; TMOD=0x20; TL1=0xf4;TH1=0xf4; SCON=0x50;PCON=0x00; TR1=1; ES=1; EA=1; led =0; prevdata=revdata; psenddata=senddata; 17 while(1) { read_tmp(); read_tmp_1(); read_tmp_2(); read_tmp_3(); senddata[4]=(me_address senddata[5]=tmp_h[0]; senddata[6]=tmp_l[0]; senddata[7]=tmp_h[1]; senddata[8]=tmp_l[1]; senddata[9]=tmp_h[2]; senddata[10]=tmp_l[2]; senddata[11]=tmp_h[3]; senddata[12]=tmp_l[3]; 18 relay_control(); if (!r_control) senddata[13]=0xaa; else senddata[13]=0x00; if (rev_ok) { rev_ok=0; delay(1); ptt=1; delay(1); TI=1; } }; } 19 void relay_control(void) { tmp_v=((tmp_h[0] if (tmp_v=(temp_table_h[temp_time]-1))) { r_control=1; } return; } 20 二、集中显示电路控制程序 main.c 主程序 rs232.c (rs232.h) 485通信程序 7279.C (7279.h) 键盘程序 ds1302.c (ds1302.h) 时钟程序 24c64.c (24c64.h) EEROM程序 utility.h temp.h 21 #include #include #include #include main(void) { main_init(); I_init(); ttt2=e_read_block(); // ttt1=e_write_block(); if (eromimager[0]==0xff) {senddata[5]=20;} else {store_true=1;senddata[5]=eromimager[7];} delay(20); main.c 22 while(1) { v_get1302(); time_precess(); if(cur_minute!=curtime[1]) { if((number1!=0)||(number2!=0)||(key_press1!=0) ) {key_numcancel();} } f2_precess(); delay(20); f3_precess(); delay(20); f4_precess(); delay(9000); }; } 23 void main_init(void) { hd7279_rst=0;delay(1500);hd7279_rst=1; led=0; psenddata=senddata;prevdata=revdata; send_byte(cmd_reset); pctime=settime; // v_set1302(pctime); TMOD=0x20;TL1=0xf4;TH1=0xf4; SCON=0x50;PCON=0x00; PS=1;EX0=1;TR1=1;ES=1; EA=1;ptt=1;TI=1; key_press=0; v_setcharge(); v_get1302(); cur_second=curtime[0];cur_minute=curtime[1];cur_hour=curtime[2]; cur_date=curtime[3];cur_month=curtime[4];cur_year=curtime[7]; delay(10000); key_press3=1; } 24 unsigned char h_compute(unsigned char n_w_h,unsigned char n_w_l,unsigned char w_h,unsigned char w_l) { unsigned int t1,t2; unsigned char sub_val,temp_val; t1=(int)(((n_w_h*16+n_w_l*.0625)+0.5)*10); t2=(int)(((w_h*16+w_l*0.0625)+0.5)*10); sub_val=(unsigned char)((t1-t2)/5+0.5); temp_val=(unsigned char)(t1/10); if (sub_val!=0) return(t_h[temp_val-1][sub_val-1]); else return(0); } 25 三、HD7279A器件介绍及C51编程 26 27 28 29 30 31 32 33 34 35 36 37 38 //pin define sbit cs=P1^5; sbit clk=P1^6; sbit dat=P1^7; sbit key=P3^2; void send_byte(unsigned char out_byte) {unsigned char i; cs=0; long_delay(); for (i=0;i #include #include void delay(unsigned char time) { unsigned char s; for(s=0;si; temp write_bit(temp); } } 59 void read_tmp(void) { // unsigned int a,b; temp=ow_reset(); write_byte(0xcc); write_byte(0x44); delay(20); temp=ow_reset(); write_byte(0xcc); write_byte(0xbe); delay(20); tmp_l[0]=read_byte(); tmp_h[0]=read_byte(); } 60 #include //function define void delay(unsigned char); //first 18b20 void write_bit(unsigned char); unsigned char ow_reset(void); unsigned char read_byte(void); bit read_bit(void); void write_byte(unsigned char); void read_tmp(void); sbit DQ=P1^0; ds18b20.h 61 unsigned char data tmp_l[4]; unsigned char data tmp_h[4]; unsigned char data temp; unsigned char data tmp=0; unsigned char data z[8]; sbit led=P3^3; sbit z1=P1^5; 62 第三节 12864M介绍和GAL逻辑 了解12864M液晶; 理解单片机总线时序及12864M液晶接口时序 学会使用GAL 进行接口逻辑的编程及应用 63 module ws title 'ADDRESS ENCODE designer: YXM VER 1.00 2003,9,01' ws device 'P22V10'; ALE,WR,RD,A8,A9,A10,A11,A12,A13,A14,A15 pin 1,2,3,4,5,6,7,8,9,10,11; EOC,CSRAM,CS0,CS1,CS2,CS3,CS4,CS5,ADALE,ADOE,INT0 pin 13,14,15,16,17,18,19,20,21,22,23; equations CSRAM=A15; CS0=WR#A14#A13#A12#!A15; CS1=WR#A14#A13#!A12#!A15; CS2=WR#A14#!A13#A12#!A15; CS3=WR#A14#!A13#!A12#!A15; CS4=RD#!A14#A13#A12#!A15; CS5=RD#!A14#A13#!A12#!A15; ADALE=!WR ADOE=!RD INT0=!EOC; end ws 64 65 66 67 液晶显示模块概述 12864M汉字图形点阵液晶显示模块,可显示汉字及图形, 内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵 )及64X256点阵显示RAM(GDRAM)。 主要技术参数和显示特性: 电源:VDD 3.3V~+5V(内置升压电路,无需负压); 显示内容:128列× 64行 显示颜色:黄绿 显示角度:6:00钟直视 LCD类型:STN 与MCU接口:8位或4位并行/3位串行 配置LED背光 多种软件功能:光标显示、画面移位、自定义字符、睡眠模 式等 68 引脚号引脚名称方向功能说明 1VSS-模块的电源地 2VDD-模块的电源正端 3V0-LCD驱动电压输入端 4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号 5R/W(SID)H/L并行的读写选择信号;串行的数据口 6E(CLK)H/L并行的使能信号;串行的同步时钟 7DB0H/L数据0 8DB1H/L数据1 9DB2H/L数据2 10DB3H/L数据3 11DB4H/L数据4 12DB5H/L数据5 13DB6H/L数据6 14DB7H/L数据7 15PSBH/L并/串行接口选择:H-并行;L-串行 16NC空脚 17/RETH/L复位 低电平有效 18NC空脚 19LED_A(LED+5V ) 背光源正极 20LED_K(LED-OV ) 背光源负极 69 12864M写 70 12864M读 71 72 73 module decoder title 'ADDRESS ENCODE designer:Litao VER 1.12 2006,8,23' decoder device 'P22V10'; ALE,WR,RD,A15,A14,A13,A12,A11,A10,A9,A8 PIN 1,2,3,4,5,6,7,8,9,10,11; DCS,DRW,CS1,CS2,CS3,DACS,EA,RS,PSB,RW PIN 14,15,16,17,18,19,20,21,22,23; equations EA=(WR$RD) RS=A15 RW=A15 PSB=1; end decoder 液晶写命令 0x8000 液晶读命令 0x8100 液晶写数据 0x8200 液晶读数据 0x8300 74 12864时序原理图GAL管脚ABEL程序 RSD/I (L/ H) v2(21)RS R/WR/W(H/L ) v4(23)RW EEEA(20)EA WR$RD 当为写时,为WR的反;当为读时,为RD的反。 这样EA在对和写的时候都有效,( A15读命令 0x81xx;写数据 0x82xx;读数据 0x83xx 75
展开阅读全文
  麦档网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:温湿度采集控制电路及C程序
链接地址:https://www.maidoc.com/p-15673888.html

当前资源信息

农民佰佰

编号: 20180820122308486268

类型: 共享资源

格式: PPT

大小: 2.56MB

上传时间: 2019-11-06

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2018-2020 maidoc.com版权所有  文库上传用户QQ群:3303921 

麦档网为“文档C2C模式”,即用户上传的文档所得金币直接给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的金币归上传人(含作者)所有。
备案号:蜀ICP备17040478号-3  
川公网安备:51019002001290号 

本站提供办公文档学习资料考试资料文档下载


收起
展开