}
{ }
flag1=1;
void init() { lcden=0; dula=0; wela=0;
// 关掉数码管
// 一开始把E为低电平
write_com(0x38); write_com(0x0f); write_com(0x06); write_com(0x01);
write_com(0x80);
}
void display(uint temp)
{
uchar A1,A2,A2t,A3; A1=temp/100; A2t=temp0; A2=A2t/10; A3=A2t; write_data('T'); write_data('e'); write_data('m'); write_data('p'); write_data(':'); write_data(table3[A1]); delay(10);
write_data(table3[A2]); delay(10); write_data(0x2E); delay(10);
write_data(table3[A3]); delay(10); write_data(0xDF); delay(10); write_data('C');
sum=A1*10+A2*1+A3*0.1; }
// 初始化要设置显示指令
// 初始化要整屏移动 // 数据指针初始化
// 设置数据指针
// 显示程序
// 显示百位
// 显示十位
// 显示个位
41
void main() { FM=1; init(); deal(); dsreset(); tmpreadbit(); tmpread(); tmpwritebyte(); // deal(); while(1) {
tmpchange();
write_com(0x80+0X03); display(tmp());
//tmp(); if(flag1==1) {
FM=0; led1=~led1; GSM_PDU(); delay(100);
GSM_PDU_SMS();
led2=0; }
if(sum>25.5||mc>16.8) { FM=0;
}
else if(mc<6.7||sum<25) { FM=1; }
}
while(1);
//write_data('8');
/* for(num=0;num<11;num++)
{
42// 设置数据指针
write_data(table1[num]); delay1(20); }
//write_com(1); //清楚第一行
write_com(0x80+0x53); // 设置数据指针放在第二行0x80+0x40
for(num=0;num<13;num++) {
write_data(table2[num]); delay1(20);
}
for(num=0;num<16;num++) { write_com(0x18); delay1(500); }
while(1); */ }
43
附录 C 元件清单
附录B 电子器件清单
元件 AT89C52 DS18B20 MC16648 ADC0809 MAX232A SIM900A LCD1602 BEEP POWER download
元件符号 U1 U2 U3 U4 U5 U6 U7 U8 U9 U10
R1、R2、R3、R4、R5、R23
1K
电阻
R6、R7、R8、R12、R21、R23、R35
R10 R11 R12、R13 R14 R15、R9、 R25、R24
X1 D3、D4 Q1 K1、K2
电阻 电阻 电阻 电阻 晶振 二极管 三极管 按键
1 1 2 1 2 2 1 2 1 2 13
元件名称 AT89C52 DS18B20 MC16648 ADC0809 MAX232A SIM900A LCD1602 蜂鸣器 POWER download
元件数量
1 1 1 1 1 1 1 1 1 1
330R 8.2K 1MK 5K 10k 4.7K 11.0592MHZ IN4007 NPN KEY
44
10UF 0.1UF 4.7UF
C3 C1、C2、C7
C32
电容 电容 电容
1 3 1
45
附录D系统整体电路图
系统硬件电路如图A0所示。
图D:整体电路图
46