温湿度采集控制电路及C51程序PPT演示课件_第1页
温湿度采集控制电路及C51程序PPT演示课件_第2页
温湿度采集控制电路及C51程序PPT演示课件_第3页
温湿度采集控制电路及C51程序PPT演示课件_第4页
温湿度采集控制电路及C51程序PPT演示课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第一节电路图和PCB,一、系统构成1、温度湿度采集控制电路2、集中显示电路控制温湿度采集控制电路二、温度湿度采集控制电路温度传感器1、模拟接口2、数字接口18b20,2,3,4,5,6,7,8,三、集中显示电路控制温湿度采集控制电路1、键盘和数码管显示72792、单片机主控控制电路3、485通信,9,10,11,12,13,一、温度湿度采集控制电路程序,main.c主程序,含继电器控制rs232.c(rs232.h)485通信程序ds18b20.c(ds18b20.h)温度湿度采集程序,第二节器件介绍和C51编程,14,#includevoidrelay_control(void);externvoiddelay(unsignedchar);externvoidread_tmp(void);externvoidread_tmp_1(void);externvoidread_tmp_2(void);externvoidread_tmp_3(void);sbitr_control=P35;sbitled=P33;sbitptt=P14;voidrev_ptt(void);voidsend_ptt(void);externunsignedchardata,main.c,15,externunsignedchardatasenddata16;externunsignedchardatarevdata8;externunsignedchardata*psenddata;externunsignedchardata*prevdata;externunsignedchardatatmp_l4;externunsignedchardatatmp_h4;unsignedcharcodeme_address=0 x81;unsignedcharcodetemp_table_l21=33,31,30,28,28,28,28,25,25,25,25,25,25,25,21,21,21,21,21,21,21;unsignedcharcodetemp_table_h21=35,33,32,30,30,30,30,28,28,28,28,28,28,28,27,27,27,27,27,27,27;unsignedchardatatemp_time=20;unsignedinttmp_v;unsignedinttest_time=0;externbitrev_ok;,16,main()ptt=0;TMOD=0 x20;TL1=0 xf4;TH1=0 xf4;SCON=0 x50;PCON=0 x00;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();senddata4=(me_address,18,relay_control();if(!r_control)senddata13=0 xaa;elsesenddata13=0 x00;if(rev_ok)rev_ok=0;delay(1);ptt=1;delay(1);TI=1;,19,voidrelay_control(void)tmp_v=(tmp_h0,20,二、集中显示电路控制程序,main.c主程序rs232.c(rs232.h)485通信程序7279.C(7279.h)键盘程序ds1302.c(ds1302.h)时钟程序24c64.c(24c64.h)EEROM程序utility.htemp.h,21,#include#include#include#includemain(void)main_init();I_init();ttt2=e_read_block();/ttt1=e_write_block();if(eromimager0=0 xff)senddata5=20;elsestore_true=1;senddata5=eromimager7;delay(20);,main.c,22,while(1)v_get1302();time_precess();if(cur_minute!=curtime1)if(number1!=0)|(number2!=0)|(key_press1!=0)key_numcancel();f2_precess();delay(20);f3_precess();delay(20);f4_precess();delay(9000);,23,voidmain_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=0 x20;TL1=0 xf4;TH1=0 xf4;SCON=0 x50;PCON=0 x00;PS=1;EX0=1;TR1=1;ES=1;EA=1;ptt=1;TI=1;key_press=0;v_setcharge();v_get1302();cur_second=curtime0;cur_minute=curtime1;cur_hour=curtime2;cur_date=curtime3;cur_month=curtime4;cur_year=curtime7;delay(10000);key_press3=1;,24,unsignedcharh_compute(unsignedcharn_w_h,unsignedcharn_w_l,unsignedcharw_h,unsignedcharw_l)unsignedintt1,t2;unsignedcharsub_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=(unsignedchar)(t1-t2)/5+0.5);temp_val=(unsignedchar)(t1/10);if(sub_val!=0)return(t_htemp_val-1sub_val-1);elsereturn(0);,25,三、HD7279A器件介绍及C51编程,26,27,28,29,30,31,32,33,34,35,36,37,38,/pindefinesbitcs=P15;sbitclk=P16;sbitdat=P17;sbitkey=P32;voidsend_byte(unsignedcharout_byte)unsignedchari;cs=0;long_delay();for(i=0;i8;i+)if(out_byte,unsignedcharreceive_byte(void)unsignedchari,in_byte;dat=1;long_delay();for(i=0;i8;i+)clk=1;short_delay();in_byte=in_byte*2;if(dat)in_byte=in_byte|0 x01;clk=0;short_delay();dat=0;return(in_byte);,39,voidwrite7279(unsignedcharcmd,unsignedchardta)send_byte(cmd);send_byte(dta);unsignedcharread7279(unsignedcharcommand)send_byte(command);return(receive_byte();,voidlong_delay(void)unsignedchari;for(i=0;i0 x10;i+);voidshort_delay(void)unsignedchari;for(i=0;i4;i+);,40,voiddisplay_uh_tmp(unsignedchars,unsignedcharr)inta,b,c;unsignedchars1;c=(int)(s*16+r*0.0625+0.5)*10);a=(int)(c/100);b=(int)(c-a*100)/10);s1=c-a*100-b*10;b=b|0 x80;write7279(0 x88,0 xff);write7279(0 xcc,0 x0c);write7279(0 x87,s1);write7279(0 x86,b);write7279(0 x85,a);,41,voiddisplay_d_tmp(unsignedchars,unsignedcharr)inta,b,c;unsignedchars1;c=(s*16+r*0.0625+0.5)*10;a=(int)(c/100);b=(int)(c-a*100)/10);s1=c-a*100-b*10;b=b|0 x80;write7279(0 xc8,0 x0b);write7279(0 x83,s1);write7279(0 x82,b);write7279(0 x81,a);,42,voidservice_int0(void)interrupt0/键盘中断readkey_board();,43,voidreadkey_board(void)/按键程序unsignedcharkey_r_number;if(!key)key_r_number=read7279(cmd_read);while(!key);cur_minute=curtime1;switch(key_r_number)case6:/f1key_f1();break;case38:/f2key_f2();break;case7:/f3key_f3();break;case39:/f4key_f4();break;case14:/1key_num0_9(1);break;case22:/2key_num0_9(2);break;,case30:/3key_num0_9(3);break;case46:/4key_num0_9(4);break;case54:/5key_num0_9(5);break;case62:/6key_num0_9(6);break;case15:/7key_num0_9(7);break;case23:/8key_num0_9(8);break;case31:/9key_num0_9(9);break;case55:/0key_num0_9(1);break;case63:/okkey_numok();break;case47:/cancelkey_numcancel();breakcase255:break;default:break;return;,44,四、18b20及C51编程,45,46,47,48,49,50,51,52,53,ds18b20.c,#include#include#includevoiddelay(unsignedchartime)unsignedchars;for(s=0;stime;s+);,54,/first18b20voidwrite_bit(unsignedcharbitval)EA=0;DQ=0;_nop_();_nop_();if(bitval=1)DQ=1;EA=1;delay(5);DQ=1;,55,unsignedcharow_reset(void)unsignedcharpresence;DQ=0;delay(120);DQ=1;delay(10);presence=DQ;delay(20);return(presence);,56,unsignedcharread_byte(void)unsignedchari;unsignedcharii=0;unsignedcharvalue=0;for(i=0;i8;i+)if(read_bit()ii=0 x01i;temp,59,voidread_tmp(void)/unsignedinta,b;temp=ow_reset();write_byte(0 xcc);write_byte(0 x44);delay(20);temp=ow_reset();write_byte(0 xcc);write_byte(0 xbe);delay(20);tmp_l0=read_byte();tmp_h0=read_byte();,60,#include/functiondefinevoiddelay(unsignedchar);/first18b20voidwrite_bit(unsignedchar);unsignedcharow_reset(void);unsignedcharread_byte(void);bitread_bit(void);voidwrite_byte(unsignedchar);voidread_tmp(void);sbitDQ=P10;,ds18b20.h,61,unsignedchardatatmp_l4;unsignedchardatatmp_h4;unsignedchardatatemp;unsignedchardatatmp=0;unsignedchardataz8;sbitled=P33;sbitz1=P15;,62,第三节12864M介绍和GAL逻辑,了解12864M液晶;理解单片机总线时序及12864M液晶接口时序学会使用GAL进行接口逻辑的编程及应用,63,modulewstitleADDRESSENCODEdesigner:YXMVER1.002003,9,01wsdeviceP22V10;ALE,WR,RD,A8,A9,A10,A11,A12,A13,A14,A15pin1,2,3,4,5,6,7,8,9,10,11;EOC,CSRAM,CS0,CS1,CS2,CS3,CS4,CS5,ADALE,ADOE,INT0pin13,14,15,16,17,18,19,20,21,22,23;equationsCSRAM=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=!WRendws,64,65,66,67,液晶显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论