123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455 |
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 1
- C51 COMPILER V9.54, COMPILATION OF MODULE MAIN
- OBJECT MODULE PLACED IN .\Objects\main.obj
- COMPILER INVOKED BY: C:\Keil_v5\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main
- -.lst) TABS(2) OBJECT(.\Objects\main.obj)
- line level source
- 1 #include "drive_1602.h"
- 2 #include "dht11.h"
- 3 #include "string.h"
- 4 #include "stdio.h"
- 5 #define uint unsigned int
- 6 #define uchar unsigned char
- 7
- 8 typedef unsigned char uint8_t;
- 9 typedef unsigned short int uint16_t;
- 10 typedef unsigned int uint32_t;
- 11
- 12 typedef uint32_t u32;
- 13 typedef uint16_t u16;
- 14 typedef uint8_t u8;
- 15
- 41
- 42 char SET=0;
- 43
- 44 char SdL=60;
- 45 char SdH=80;
- 46
- 47 char SET_Timer=5;
- 48
- 49 sbit BG_LED=P2^4;
- 50 sbit Jsq=P2^3;
- 51 sbit buzz=P2^3;
- 52
- 53 bit Open=0;
- 54
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 2
- 55 char SETLBuff[5];
- 56 char SETHBuff[5];
- 57 char blue_buff[16]={0};
- 58 char WdBuff[6];
- 59 char SdBuff[6];
- 60 void sendString(char *p);
- 61
- 62 unsigned char temp_val=0,humi_val=70;
- 63
- 64 unsigned int set_gz=1000;
- 65
- 66 void Get_DHTData(void)
- 67 {
- 68 1 if(dht11_value(&temp_val,&humi_val,DHT11_UINT8)==0)
- 69 1 {
- 70 2
- 71 2 SdBuff[0]=humi_val/10+'0';
- 72 2 SdBuff[1]=humi_val%10+'0';
- 73 2 SdBuff[2]='%';
- 74 2
- 75 2 WdBuff[0]=temp_val/10+'0';
- 76 2 WdBuff[1]=temp_val%10+'0';
- 77 2 WdBuff[2]=0xdf;WdBuff[3]='C';
- 78 2
- 79 2 sprintf(blue_buff,"X%dH%dD%dZ\r\n",temp_val,humi_val);
- 80 2 sendString(blue_buff);
- 81 2 }
- 82 1 }
- 83
- 84
- 85 void delay_xms(int xms)
- 86 {
- 87 1 char ix=0;
- 88 1 for(;xms>0;xms--)
- 89 1 for(ix=110;ix>0;ix--);
- 90 1 }
- 91
- 92
- 93 bit SET_Mode=0;
- 94 bit CloseIfg=0;
- 95 unsigned char BjCnt=0;
- 96 bit TimeOpen=0;
- 97
- 98 static unsigned int DsTimer=0;
- 99 void KeyRead(void)
- 100 {
- 101 1 static char keyIfg=0;
- 102 1 unsigned char KeyVal=0;
- 103 1 KeyVal = P3&0xF8;
- 104 1 if(KeyVal!=0xF8)
- 105 1 {
- 106 2 if(keyIfg==0)
- 107 2 {
- 108 3 keyIfg=1;
- 109 3 switch(KeyVal)
- 110 3 {
- 111 4 case 0xF0:
- 112 4 SET_Mode=~SET_Mode;
- 113 4 CloseIfg=0;
- 114 4 SET=0;
- 115 4 break;
- 116 4
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 3
- 117 4 case 0xE8:
- 118 4 if(SET_Mode==0)
- 119 4 {
- 120 5 if(++SET>3)SET=0;
- 121 5 }
- 122 4 break;
- 123 4
- 124 4 case 0xD8:
- 125 4 if(SET_Mode==0)
- 126 4 {
- 127 5 if(SET==1)
- 128 5 {
- 129 6 if(++SdL>92)SdL=0;
- 130 6 }
- 131 5 if(SET==2)
- 132 5 {
- 133 6 if(++SdH>92)SdH=0;
- 134 6 }
- 135 5 if(SET==3)
- 136 5 {
- 137 6 if(set_gz<9990)
- 138 6 {
- 139 7 set_gz+=100;
- 140 7 }
- 141 6 }
- 142 5 }
- 143 4 break;
- 144 4
- 145 4 case 0xB8:
- 146 4 if(SET_Mode==0)
- 147 4 {
- 148 5 if(SET==1)
- 149 5 {
- 150 6 if(--SdL<0)SdL=92;
- 151 6 }
- 152 5 if(SET==2)
- 153 5 {
- 154 6 if(--SdH<0)SdH=92;
- 155 6 }
- 156 5 if(SET==3)
- 157 5 {
- 158 6 if(set_gz>100)
- 159 6 {
- 160 7 set_gz-=100;
- 161 7 }
- 162 6 }
- 163 5
- 164 5 }
- 165 4
- 166 4 break;
- 167 4
- 168 4 case 0x78:
- 169 4 if(SET_Mode)
- 170 4 {
- 171 5 Open^=1;
- 172 5
- 173 5 }
- 174 4 break;
- 175 4
- 176 4
- 177 4 }
- 178 3 }
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 4
- 179 2 }else keyIfg=0;
- 180 1
- 181 1
- 182 1 }
- 183
- 184
- 185 void Time0Init(void)
- 186 {
- 187 1
- 188 1 TMOD &= 0xF0;
- 189 1 TMOD |= 0x01;
- 190 1 TL0 = 0x00;
- 191 1 TH0 = 0x70;
- 192 1 TF0 = 0;
- 193 1 TR0 = 1;
- 194 1 ET0=1;
- 195 1 EA=1;
- 196 1 }
- 197
- 198
- 199 uchar getTime=0;
- 200 void ISR_T0()interrupt 1
- 201 {
- 202 1
- 203 1 TL0 = 0x00;
- 204 1 TH0 = 0x70;
- 205 1 getTime++;
- 206 1 KeyRead();
- 207 1 if(Open)
- 208 1 {
- 209 2 Jsq=0;
- 210 2 }else
- 211 1 {
- 212 2 Jsq=1;
- 213 2 }
- 214 1
- 215 1
- 216 1
- 217 1
- 218 1
- 219 1
- 220 1
- 221 1
- 222 1
- 223 1
- 224 1
- 225 1
- 226 1
- 227 1
- 228 1
- 229 1
- 230 1 }
- 231
- 232 void UartInit(void)
- 233 {
- 234 1 PCON &= 0x7F;
- 235 1 SCON = 0x50;
- 236 1 TMOD &= 0x0F;
- 237 1 TMOD |= 0x20;
- 238 1 TL1 = 0xFD;
- 239 1 TH1 = 0xFD;
- 240 1 ET1 = 0;
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 5
- 241 1 TR1 = 1;
- 242 1 EA=1;
- 243 1 ES=1;
- 244 1 }
- 245
- 246
- 247 void sendData(char *p,unsigned char n)
- 248 {
- 249 1 if( p == 0) return ;
- 250 1 ES = 0;
- 251 1 if(n > 0)
- 252 1 {
- 253 2 while(n --)
- 254 2 {
- 255 3 SBUF = *p++ ;
- 256 3 while(!TI) ;
- 257 3 TI = 0 ;
- 258 3 }
- 259 2 }
- 260 1 ES = 1;
- 261 1 }
- 262
- 263
- 264
- 265 void sendString(char *p)
- 266 {
- 267 1 if(p == 0) return ;
- 268 1 sendData(p,strlen(p));
- 269 1 }
- 270 bit SendIfg=0;
- 271 unsigned char urx_dat=0;
- 272
- 273
- 274 void usart() interrupt 4
- 275 {
- 276 1 if(RI == 1)
- 277 1 {
- 278 2
- 279 2 urx_dat = SBUF;
- 280 2 switch(urx_dat)
- 281 2 {
- 282 3 case '@':
- 283 3 SET_Mode=0;
- 284 3 break;
- 285 3
- 286 3 case '$':
- 287 3 SET_Mode=1;
- 288 3 break;
- 289 3
- 290 3 case '&':
- 291 3 if(SET_Mode)Open=1;
- 292 3 break;
- 293 3
- 294 3 case '*':
- 295 3 if(SET_Mode)Open=0;
- 296 3 break;
- 297 3 }
- 298 2 }
- 299 1 RI = 0;
- 300 1 TI = 0;
- 301 1 }
- 302
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 6
- 303
- 304 uint gz_val=0;
- 305
- 306 void main(void)
- 307 {
- 308 1
- 309 1 Time0Init();
- 310 1 lcd1602_init();
- 311 1 WriteLcd1602_String(0,0," Welcome to use");
- 312 1 delay_xms(1000);
- 313 1 Write_1602_com(0x01);
- 314 1 delay_xms(100);
- 315 1 Get_DHTData();
- 316 1 delay_xms(50);
- 317 1 BG_LED=1;
- 318 1 UartInit();
- 319 1 while(1)
- 320 1 {
- 321 2
- 322 2 if(++getTime>20)
- 323 2 {
- 324 3 getTime=0;
- 325 3 Get_DHTData();
- 326 3
- 327 3
- 328 3
- 329 3 if(SET_Mode==0)
- 330 3 {
- 331 4 if(!CloseIfg)
- 332 4 {
- 333 5 CloseIfg=1;
- 334 5 Write_1602_com(0x01);
- 335 5 delay_1ms(10);
- 336 5 }
- 337 4 if(SET==0)
- 338 4 {
- 339 5 WriteLcd1602_String(0,0,"Temp:");
- 340 5 WriteLcd1602_String(5,0,WdBuff);
- 341 5
- 342 5 WriteLcd1602_String(0,1,"Humi:");
- 343 5 WriteLcd1602_String(5,1,SdBuff);
- 344 5
- 345 5 WriteLcd1602_String(15,1,"A");
- 346 5
- 347 5 if(humi_val<SdL)
- 348 5 {
- 349 6 Open=1;
- 350 6 buzz=0;
- 351 6 }else if(humi_val>SdL&&humi_val<SdH)
- 352 5 {
- 353 6 Open=1;
- 354 6 buzz=1;
- 355 6 }else if(humi_val>SdH)
- 356 5 {
- 357 6 Open=0;
- 358 6 buzz=1;
- 359 6 }
- 360 5
- 361 5 }else
- 362 4 {
- 363 5 SETLBuff[0]=SdL/10+'0';
- 364 5 SETLBuff[1]=SdL%10+'0';
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 7
- 365 5 SETLBuff[2]='%';
- 366 5 SETLBuff[3]=' ';
- 367 5 SETHBuff[0]=SdH/10+'0';
- 368 5 SETHBuff[1]=SdH%10+'0';
- 369 5 SETHBuff[2]='%';
- 370 5 SETHBuff[3]=' ';
- 371 5 WriteLcd1602_String(9,0,"L:");
- 372 5 WriteLcd1602_String(11,0,SETLBuff);
- 373 5
- 374 5 WriteLcd1602_String(9,1,"H:");
- 375 5 WriteLcd1602_String(11,1,SETHBuff);
- 376 5
- 377 5 }
- 378 4
- 379 4 }
- 380 3 if(SET_Mode==1)
- 381 3 {
- 382 4
- 383 4 if(!CloseIfg)
- 384 4 {
- 385 5 CloseIfg=1;
- 386 5 Write_1602_com(0x01);
- 387 5 delay_1ms(10);
- 388 5 }
- 389 4 if(SET==0)
- 390 4 {
- 391 5
- 392 5
- 393 5
- 394 5
- 395 5
- 396 5
- 397 5
- 398 5
- 399 5
- 400 5 WriteLcd1602_String(0,0,"Temp:");
- 401 5 WriteLcd1602_String(5,0,WdBuff);
- 402 5
- 403 5 WriteLcd1602_String(0,1,"Humi:");
- 404 5 WriteLcd1602_String(5,1,SdBuff);
- 405 5
- 406 5 WriteLcd1602_String(15,1,"M");
- 407 5 }
- 408 4
- 409 4 }
- 410 3
- 411 3
- 412 3 }
- 413 2
- 414 2
- 415 2 }
- 416 1
- 417 1 }
- MODULE INFORMATION: STATIC OVERLAYABLE
- CODE SIZE = 1063 ----
- CONSTANT SIZE = 51 ----
- XDATA SIZE = ---- ----
- PDATA SIZE = ---- ----
- DATA SIZE = 54 6
- IDATA SIZE = ---- ----
- C51 COMPILER V9.54 MAIN 02/17/2022 16:53:45 PAGE 8
- BIT SIZE = 5 ----
- END OF MODULE INFORMATION.
- C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|