温湿度采集控制电路及C51程序.pptVIP

  • 10
  • 0
  • 约7.69千字
  • 约 74页
  • 2019-06-19 发布于江苏
  • 举报
//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;i8;i++) {if(out_byte0x80) {dat=1;} else {dat=0;} clk=1; short_delay(); clk=0; short_delay(); out_byte=out_byte*2;} dat=0; } unsigned char receive_byte(void) {unsigned char i,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|0x01;} clk=0; short_delay(); } dat=0; return(in_byte); } void write7279(unsigned char cmd,unsigned char dta) {send_byte(cmd); send_byte(dta); } unsigned char read7279(unsigned char command) {send_byte(command); return(receive_byte()); } void long_delay(void) {unsigned char i; for(i=0;i0x10;i++); } void short_delay(void) {unsigned char i; for(i=0;i4;i++); } void display_uh_tmp(unsigned char s,unsigned char r) { int a,b,c; unsigned char s1; 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); } void display_d_tmp(unsigned char s,unsigned char r) { int a,b,c; unsigned char s1; 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); } void service_int0(void) interrupt 0 //键盘中断 { readkey_board(); } void readkey_board(void) //按键程序 { unsigned char key_r_number; if(!key) { key_r_number=read7279(cmd_read); while(!key); cur_minute=curtime[1]; switch(key_r_number){ case 6: //f1 { key_f1(); break; } case 38: //f2 { key_f2(); break; } case 7: //f3 { key_f3();break; } case 39: //f4 { key_f4();break; }

文档评论(0)

1亿VIP精品文档

相关文档