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

下载本文档

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

文档简介

第一节电路图和PCB一、系统构成 1、温度湿度采集控制电路 2、集中显示电路控制温湿度采集控制电路二、温度湿度采集控制电路温度传感器

1、模拟接口

2、数字接口 18b201第一节电路图和PCB一、系统构成1223344556677三、集中显示电路控制温湿度采集控制电路1、键盘和数码管显示72792、单片机主控控制电路3、485通信8三、集中显示电路控制温湿度采集控制电路899101011111212一、温度湿度采集控制电路程序main.c主程序,含继电器控制rs232.c(rs232.h)485通信程序ds18b20.c(ds18b20.h)温度湿度采集程序第二节器件介绍和C51编程13一、温度湿度采集控制电路程序main.c第二节器件介绍和C#include<reg51.h>voidrelay_control(void);externvoiddelay(unsignedchar);externvoidread_tmp(void);externvoidread_tmp_1(void);externvoidread_tmp_2(void);externvoidread_tmp_3(void);sbitr_control=P3^5;sbitled=P3^3;sbitptt=P1^4;voidrev_ptt(void);voidsend_ptt(void);externunsignedchardatamain.c14#include<reg51.h>main.c14externunsignedchardatasenddata[16];externunsignedchardatarevdata[8];externunsignedchardata*psenddata;externunsignedchardata*prevdata;externunsignedchardatatmp_l[4];externunsignedchardatatmp_h[4];unsignedcharcodeme_address=0x81;unsignedcharcodetemp_table_l[21]={33,31,30,28,28,28,28,25,25,25,25,25,25,25,21,21,21,21,21,21,21};unsignedcharcodetemp_table_h[21]={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;15externunsignedchardatasendmain(){ptt=0;TMOD=0x20;TL1=0xf4;TH1=0xf4;SCON=0x50;PCON=0x00;TR1=1;ES=1;EA=1;led=0;prevdata=revdata;psenddata=senddata;16main()16while(1){read_tmp();read_tmp_1();read_tmp_2();read_tmp_3();senddata[4]=(me_address&0x0f);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];17while(1)17relay_control();if(!r_control)senddata[13]=0xaa;elsesenddata[13]=0x00;if(rev_ok){rev_ok=0;delay(1);ptt=1;delay(1);TI=1;}};}18relay_control();18voidrelay_control(void){tmp_v=((tmp_h[0]&0x03)*16+(tmp_l[0]*.0625)+0.5);if(tmp_v<temp_table_l[temp_time]){r_control=0;}if((tmp_v>=(temp_table_h[temp_time]-1))){r_control=1;}return;}19voidrelay_control(void)19二、集中显示电路控制程序main.c主程序rs232.c(rs232.h)485通信程序7279.C(7279.h)键盘程序ds1302.c(ds1302.h)时钟程序24c64.c(24c64.h)EEROM程序utility.htemp.h20二、集中显示电路控制程序main.c20#include<reg51.h>#include<temp.h>#include<utility.h>#include<ABSACC.H>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.c21#include<reg51.h>main.c21while(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);};}22while(1)22voidmain_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;}23voidmain_init(void)23unsignedcharh_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_h[temp_val-1][sub_val-1]);elsereturn(0);}24unsignedcharh_compute(unsign三、HD7279A器件介绍及C51编程25三、HD7279A器件介绍及C51编程25262627272828292930303131323233333434353536363737//pindefinesbitcs=P1^5;sbitclk=P1^6;sbitdat=P1^7;sbitkey=P3^2;voidsend_byte(unsignedcharout_byte){unsignedchari;cs=0;long_delay();for(i=0;i<8;i++){if(out_byte&0x80){dat=1;}else{dat=0;}clk=1;short_delay();clk=0;short_delay();out_byte=out_byte*2;}dat=0;}unsignedcharreceive_byte(void){unsignedchari,in_byte;dat=1;long_delay();for(i=0;i<8;i++){clk=1;short_delay();in_byte=in_byte*2;if(dat){in_byte=in_byte|0x01;}clk=0;short_delay();}dat=0;return(in_byte);}38//pindefineunsignedcharrecevoidwrite7279(unsignedcharcmd,unsignedchardta){send_byte(cmd);send_byte(dta);}unsignedcharread7279(unsignedcharcommand){send_byte(command);return(receive_byte());}voidlong_delay(void){unsignedchari;for(i=0;i<0x10;i++);}voidshort_delay(void){unsignedchari;for(i=0;i<4;i++);}39voidwrite7279(unsignedcharcvoiddisplay_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|0x80;write7279(0x88,0xff);write7279(0xcc,0x0c);write7279(0x87,s1);write7279(0x86,b);write7279(0x85,a);}40voiddisplay_uh_tmp(unsignedcvoiddisplay_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|0x80;write7279(0xc8,0x0b);write7279(0x83,s1);write7279(0x82,b);write7279(0x81,a);}41voiddisplay_d_tmp(unsignedchvoidservice_int0(void)interrupt0//键盘中断{readkey_board();}42voidservice_int0(void)interrvoidreadkey_board(void)//按键程序{unsignedcharkey_r_number;if(!key){key_r_number=read7279(cmd_read);while(!key); cur_minute=curtime[1];switch(key_r_number){case6://f1{key_f1();break;}case38://f2{key_f2();break;}case7://f3{key_f3();break;}case39://f4{key_f4();break;}case14://1{key_num0_9(1);break;}case22://2{key_num0_9(2);break;}

case30://3{key_num0_9(3);break;}case46://4{key_num0_9(4);break;}case54://5{key_num0_9(5);break;}case62://6{key_num0_9(6);break;}case15://7{key_num0_9(7);break;}case23://8{key_num0_9(8);break;}case31://9{key_num0_9(9);break;}case55://0{key_num0_9(1);break;}case63://ok{key_numok();break;}case47://cancel{key_numcancel();break}case255:{break;}default:{break;}return;}}}43voidreadkey_board(void)四、18b20及C51编程44四、18b20及C51编程4445454646474748484949505051515252ds18b20.c#include<reg51.h>#include<intrins.h>#include<ds18b20.h>voiddelay(unsignedchartime){ unsignedchar s; for(s=0;s<time;s++);}53ds18b20.c#include<reg51.h>53//first18b20voidwrite_bit(unsignedcharbitval){EA=0; DQ=0;_nop_();_nop_(); if(bitval==1)DQ=1;EA=1; delay(5); DQ=1;}54//first18b2054unsignedcharow_reset(void){ unsignedcharpresence; DQ=0;delay(120);DQ=1; delay(10); presence=DQ; delay(20); return(presence);}55unsignedcharow_reset(void)55unsignedcharread_byte(void){ unsignedchari; unsignedcharii=0; unsignedcharvalue=0; for(i=0;i<8;i++){ if(read_bit()){ii=0x01<<i;value|=ii;} delay(5); } return(value);}56unsignedcharread_byte(void)5bitread_bit(void){ bitdat;EA=0; DQ=0;_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();dat=DQ;EA=1;delay(5); return(dat);}57bitread_bit(void)57voidwrite_byte(unsignedcharval){ unsignedchari; unsignedchartemp; for(i=0;i<8;i++) { temp=val>>i; temp&=0x01; write_bit(temp); }}58voidwrite_byte(unsignedcharvoidread_tmp(void){//unsignedinta,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();}59voidread_tmp(void)59#include<reg51.h>//functiondefinevoiddelay(unsignedchar);//first18b20voidwrite_bit(unsignedchar);unsignedcharow_reset(void);unsignedcharread_byte(void);bitread_bit(void);voidwrite_byte(unsignedchar);voidread_tmp(void);sbitDQ=P1^0;ds18b20.h60#include<reg51.h>ds18b20.h60unsignedchardatatmp_l[4];unsignedchardatatmp_h[4];unsignedchardatatemp;unsignedchardatatmp=0;unsignedchardataz[8];sbitled=P3^3;sbitz1=P1^5;61unsignedchardatatmp_l[4];61第三节12864M介绍和GAL逻辑了解12864M液晶;理解单片机总线时序及12864M液晶接口时序学会使用GAL进行接口逻辑的编程及应用62第三节12864M介绍和GAL逻辑了解12864M液晶;6modulewstitle'ADDRESSENCODEdesigner:YXMVER1.002003,9,01'wsdevice'P22V10';ALE,WR,RD,A8,A9,A10,A11,A12,A13,A14,A15 pin1,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=!WR&A14&A13&!A12&A15;ADOE=!RD&A14&A13&A12&A15;INT0=!EOC;endws63modulews63646

温馨提示

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

评论

0/150

提交评论