【正文】
easuredate%100000/10000+0x30。 disdate[0]=39。A39。 disdate[1]=39。v39。 disdate[2]=39。o39。 disdate[3]=39。l39。 disdate[4]=39。t39。 disdate[5]=39。 39。 disdate[6]=39。 39。 disdate[13]=39。 39。 disdate[14]=39。 39。 disdate[15]=39。v39。 switch(gearflag) { case 1:{disdate[7]=a[4]。disdate[8]=39。.39。disdate[9]=a[3]。 disdate[10]=a[2]。disdate[11]=a[1]。disdate[12]=a[0]。disdate[14]=0xf3。 } break。 case 2:{disdate[7]=a[4]。disdate[8]=a[3]。disdate[9]=39。.39。 disdate[10]=a[2]。disdate[11]=a[1]。disdate[12]=a[0]。disdate[14]=0xf3。 } break。 case 3:{disdate[7]=a[4]。disdate[8]=a[3]。disdate[9]=a[2]。 disdate[10]=39。.39。disdate[11]=a[1]。disdate[12]=a[0]。disdate[14]=0xf3。 } break。 case 4:{disdate[7]=a[4]。disdate[8]=a[3]。disdate[9]=a[2]。 disdate[10]=a[1]。disdate[11]=39。.39。disdate[12]=a[0]。disdate[14]=0xf3。 } break。 case 5:{disdate[7]=a[4]。disdate[8]=a[3]。disdate[9]=a[2]。 disdate[10]=a[2]。disdate[11]=a[0]。disdate[12]=39。.39。disdate[14]=0xf3。 } break。 } LCD_initial()。 for(i=0。i16。i++) { write_date(hintdate[i])。 } write_d(0x80+0x40)。 write_date(disdate[0])。 write_date(disdate[1])。 write_date(disdate[2])。 write_date(disdate[3])。 write_date(disdate[4])。 write_date(disdate[5])。 write_date(disdate[6])。 write_date(disdate[7])。 write_date(disdate[8])。 write_date(disdate[9])。 write_date(disdate[10])。 write_date(disdate[11])。 write_date(disdate[12])。 write_date(disdate[13])。 write_date(disdate[14])。 write_date(disdate[15])。 i=0。 if(flag==1) {ES=0。 flag=0。 for(i=0。i16。i++) {SBUF=disdata(i)。 } while(!TI) {TI=0。 ES=1。 } }}main(){ initial()。 REN=1。 SM0=0。 SM1=0。 TMOD=0X20。 TH1=0XFD。 TL1=0XFD。 TR1=1。 //設(shè)置定時器1,工作方式2 while(1) { if(SWITCHER==0xF7)//電容 { TMOD=0X0D。 measuredate=0。 gearflag=4。 SEL=1。 EX0=1。 TR0=1。 if((measuredate100)amp。amp。(gearflag1)) { gearflag。 } else if((measuredate=19999)amp。amp。(gearflag5)) { gearflag++。 } switch(gearflag) { case 0:{gearflag=1。GEAR=0xFE。} break。 case 1:{GEAR=0xFE。} break。 case 2:{GEAR=0xFD。} break。 case 3:{GEAR=0xFB。} break。 case 4:{GEAR=0xF7。} break。 case 5:{gearflag=4。GEAR=0xEF。} break。 } display_cap()。//顯示 } if(SWITCHER==0xFE)//頻率 { TMOD=0X51。 measuredate=0。 putedate=0。 gearflag=1。 SEL=0。 TR0=1。 TR1=1。 ET0=1。 ET1=1。 EX0=EX1=0。 if((measuredate1000)amp。amp。(gearflag1)) { gearflag。 } else if((measuredate=19999)amp。amp。(gearflag5)) { gearflag++。 } switch(gearflag) { case 0:{gearflag=1。GEAR=0xFE。} break。 case 1:{GEAR=0xFE。} break。 case 2:{GEAR=0xFD。} break。 case 3:{GEAR=0xFB。} break。 case 4:{gearflag=3。GEAR=0xFB。} break。 } display_fre()。//顯示 } if(SWITCHER==0x0F)//電壓 { TMOD=0X0D。 measuredate=0。 gearflag=2。 SEL=0。 EX0=1。 TR0=1。 if((measuredate100)amp。amp。(gearflag1)) { gearflag。 } else if((measuredate=19999)amp。amp。(gearflag5)) { gearflag++。 } switch(gearflag) { case 0:{gearflag=1。GEAR=0xFE。} break。 case 1:{GEAR=0xFE。} break。 case 2:{GEAR=0xFD。} break。 case 3:{GEAR=0xFB。} break。 case 4:{GEAR=0xF7。} break。 case 5:{gearflag=4。GEAR=0xEF。} break。 } display_volt()。//顯示 } if(SWITCHER==0x0D)//交流電壓 { TMOD=0X0D。 measuredate=0。 gearflag=4。 SEL=0。 EX0=1。 TR0=1。 if((measuredate1900)amp。amp。(gearflag1)) { gearflag。 } else if((measuredate=19999)amp。amp。(gearflag5)) { gearflag++。 } switch(gearflag) { case 0:{gearflag=1。GEAR=0xFE。} break。 case 1:{GEAR=0xFE。} break。 case 2:{GEAR=0xFD。} break。 case 3:{GEAR=0xFB。} break。 case 4:{GEAR=0xF7。} break。 case 5:{gearflag=4。GEAR=0xEF。} break。 } display_acvolt()。 } if(SWITCHER==0x0B)//電阻 { TMOD=0X0D。 measuredate=0。 gearflag=5。 EX0=1。 TR0=1。 if((measuredate100)amp。amp。(gearflag1)) { gearflag。 } else if((measuredate=19999)amp。amp。(gearflag4)) { gearflag++。 } switch(gearflag) { case 0:{gearflag=1。GEAR=0xFE。} break。 case 1:{GEAR=0xFE。} break。 case 2:{GEAR=0xFD。} break。 case 3:{GEAR=0xFB。} break。 case 4:{GEAR=0xF7。} break。 case 5:{gearflag=4。GEAR=0xEF。} break。 } } display_res()。 } }void exint1() interrupt 0 using 1{ uint JISHU=0。 EA=0。 TR0=0。 JISHU=TH0。 JISHU=JISHU8。 JISHU=JISHU+TL0。 JISHU=JISHU1。 if(SWITCHER==0xF7){ pute=(float)JISHU。 measuredate=(unsigned long int)pute。 measuredate=JISHU/。 measuredate=JISHU。 } 、//測電容 else if {measuredate=JISHU10001。 } TH0=0。 TL0=0。 EA=1。 TR0=1。 } //測電壓、電阻、電流 void t0int() interrupt 1 using 2{ uint JISHU=0。 TR1=0。 EA=0。 JISHU=TH1。 JISHU=JISHU8。 JISHU=JISHU+TL1。 JISHU=JISHU1。 //*2 measuredate=JISHU。 TH1=0。 TL1=0。 TH0=0x3C。 TL0=0xB0。 EA=1。 TR0=1。 } 、//測頻率 void ser() interrupt 4 { uchar a。 RI=0。 SBUF=a。 switch(a) {case 0: {SWITCHER=0x0D} break。 case 1: {SWITCHER=0x0F} break。 case 2: {SWITCHER=0x0B } break。 case 3: {SWITCHER==0xF7} break。 case 4: {SWITCHER==0xFE} break。 } }附錄4:翻譯資料Electric boiler temperature systemA microcontroller (or MCU) is a puteronachip. It is a type of microprocessor emphasizing selfsufficiency and costeffectiveness, in contrast to a generalpurpose microprocessor (the kind used in a PC). The majority of puter systems in use today are embedded in other machinery, such as telephones, clocks, appliances, vehicles, and infrastructure. An embedded system usually has minimal requirements for memory and program length and may require simple but unusual input/output systems. For example, most embedded systems lack keyboards, screens, disks, printers, or other recognizable I/O devices of a personal puter. They may control electric motors, relays or voltages, and read switches, variable resistors or other electronic dev