diff --git a/main.LST b/main.LST index a375800..3545b66 100644 --- a/main.LST +++ b/main.LST @@ -1,4 +1,4 @@ -C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 1 +C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 1 C51 COMPILER V9.56.0.0, COMPILATION OF MODULE MAIN @@ -62,22 +62,21 @@ line level source 53 }; 54 55 struct UserInfo userInfo; - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 2 + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 2 56 57 void LcdDisplay(); 58 void LcdDisplay1(); 59 void Delay10ms(void); 60 - 61 #define SlaveAddress 0x46 //¶¨ÒåÆ÷¼þÔÚIIC×ÜÏßÖеĴӵØÖ·,¸ù¾ÝALT ADDRESSµ - -ØÖ·Òý½Å²»Í¬ÐÞ¸Ä - 62 //ALT ADDRESSÒý½Å½ÓµØʱµØַΪ0x46£¬½ÓµçԴʱµØÖ - -·Îª0xB8 + 61 #define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不 + -修改 + 62 //ALT ADDRESS引脚接地时地址为0x46,接电源时地址为0xB8 63 typedef unsigned char BYTE; 64 typedef unsigned short WORD; 65 - 66 BYTE BUF[8]; //½ÓÊÕÊý¾Ý»º´æÇø - 67 int dis_data; //±äÁ¿ + 66 BYTE BUF[8]; //接收数据缓存区 + 67 int dis_data; //变量 68 69 void delay_nms(unsigned int k); 70 void InitLcd(); @@ -88,22 +87,21 @@ line level source 75 void DisplayOneChar(uchar X,uchar Y,uchar DData); 76 void conversion(uint temp_data); 77 - 78 void Single_Write_BH1750(uchar REG_Address); //µ¥¸öдÈëÊý¾Ý - 79 uchar Single_Read_BH1750(uchar REG_Address); //µ¥¸ö¶ÁÈ¡ÄÚ²¿¼Ä´æÆ÷Êý¾Ý - 80 void Multiple_Read_BH1750(); //Á¬ÐøµÄ¶ÁÈ¡ÄÚ²¿¼Ä´æÆ÷Êý - -¾Ý + 78 void Single_Write_BH1750(uchar REG_Address); //单个写入数据 + 79 uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据 + 80 void Multiple_Read_BH1750(); //连续的读取内部寄存器数据 81 //------------------------------------ 82 void Delay5us(); 83 void Delay5ms(); - 84 void BH1750_Start(); //ÆðʼÐźŠ- 85 void BH1750_Stop(); //Í£Ö¹ÐźŠ- 86 void BH1750_SendACK(bit ack); //Ó¦´ðACK - 87 bit BH1750_RecvACK(); //¶Áack - 88 void BH1750_SendByte(BYTE dat); //IICµ¥¸ö×Ö½Úд - 89 BYTE BH1750_RecvByte(); //IICµ¥¸ö×Ö½Ú¶Á + 84 void BH1750_Start(); //起始信号 + 85 void BH1750_Stop(); //停止信号 + 86 void BH1750_SendACK(bit ack); //应答ACK + 87 bit BH1750_RecvACK(); //读ack + 88 void BH1750_SendByte(BYTE dat); //IIC单个字节写 + 89 BYTE BH1750_RecvByte(); //IIC单个字节读 90 91 - 92 //ºÁÃëÑÓʱ************************** + 92 //毫秒延时************************** 93 void delay_nms(unsigned int k) 94 { 95 1 unsigned int i,j; @@ -126,100 +124,100 @@ line level source 112 1 WORD n = 560; 113 1 114 1 while (n--); - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 3 - 115 1 } 116 + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 3 + 117 /************************************** - 118 ÆðʼÐźŠ+ 118 起始信号 119 **************************************/ 120 void BH1750_Start() 121 { - 122 1 SDA1 = 1; //À­¸ßÊý¾ÝÏß - 123 1 SCL1 = 1; //À­¸ßʱÖÓÏß - 124 1 Delay5us(); //ÑÓʱ - 125 1 SDA1 = 0; //²úÉúϽµÑØ - 126 1 Delay5us(); //ÑÓʱ - 127 1 SCL1 = 0; //À­µÍʱÖÓÏß + 122 1 SDA1 = 1; //拉高数据线 + 123 1 SCL1 = 1; //拉高时钟线 + 124 1 Delay5us(); //延时 + 125 1 SDA1 = 0; //产生下降沿 + 126 1 Delay5us(); //延时 + 127 1 SCL1 = 0; //拉低时钟线 128 1 } 129 130 /************************************** - 131 Í£Ö¹ÐźŠ+ 131 停止信号 132 **************************************/ 133 void BH1750_Stop() 134 { - 135 1 SDA1 = 0; //À­µÍÊý¾ÝÏß - 136 1 SCL1 = 1; //À­¸ßʱÖÓÏß - 137 1 Delay5us(); //ÑÓʱ - 138 1 SDA1 = 1; //²úÉúÉÏÉýÑØ - 139 1 Delay5us(); //ÑÓʱ + 135 1 SDA1 = 0; //拉低数据线 + 136 1 SCL1 = 1; //拉高时钟线 + 137 1 Delay5us(); //延时 + 138 1 SDA1 = 1; //产生上升沿 + 139 1 Delay5us(); //延时 140 1 } 141 142 /************************************** - 143 ·¢ËÍÓ¦´ðÐźŠ- 144 Èë¿Ú²ÎÊý:ack (0:ACK 1:NAK) + 143 发送应答信号 + 144 入口参数:ack (0:ACK 1:NAK) 145 **************************************/ 146 void BH1750_SendACK(bit ack) 147 { - 148 1 SDA1 = ack; //дӦ´ðÐźŠ- 149 1 SCL1 = 1; //À­¸ßʱÖÓÏß - 150 1 Delay5us(); //ÑÓʱ - 151 1 SCL1 = 0; //À­µÍʱÖÓÏß - 152 1 Delay5us(); //ÑÓʱ + 148 1 SDA = ack; //写应答信号 + 149 1 SCL = 1; //拉高时钟线 + 150 1 Delay5us(); //延时 + 151 1 SCL = 0; //拉低时钟线 + 152 1 Delay5us(); //延时 153 1 } 154 155 /************************************** - 156 ½ÓÊÕÓ¦´ðÐźŠ+ 156 接收应答信号 157 **************************************/ 158 bit BH1750_RecvACK() 159 { - 160 1 SCL1 = 1; //À­¸ßʱÖÓÏß - 161 1 Delay5us(); //ÑÓʱ - 162 1 CY = SDA1; //¶ÁÓ¦´ðÐźŠ- 163 1 SCL1 = 0; //À­µÍʱÖÓÏß - 164 1 Delay5us(); //ÑÓʱ + 160 1 SCL = 1; //拉高时钟线 + 161 1 Delay5us(); //延时 + 162 1 CY = SDA; //读应答信号 + 163 1 SCL = 0; //拉低时钟线 + 164 1 Delay5us(); //延时 165 1 166 1 return CY; 167 1 } 168 169 /************************************** - 170 ÏòIIC×ÜÏß·¢ËÍÒ»¸ö×Ö½ÚÊý¾Ý + 170 向IIC总线发送一个字节数据 171 **************************************/ 172 void BH1750_SendByte(BYTE dat) 173 { 174 1 BYTE i; 175 1 - 176 1 for (i=0; i<8; i++) //8λ¼ÆÊýÆ÷ - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 4 - + 176 1 for (i=0; i<8; i++) //8位计数器 177 1 { - 178 2 dat <<= 1; //ÒƳöÊý¾ÝµÄ×î¸ßλ - 179 2 SDA1 = CY; //ËÍÊý¾Ý¿Ú - 180 2 SCL1 = 1; //À­¸ßʱÖÓÏß - 181 2 Delay5us(); //ÑÓʱ - 182 2 SCL1 = 0; //À­µÍʱÖÓÏß - 183 2 Delay5us(); //ÑÓʱ + 178 2 dat <<= 1; //移出数据的最高位 + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 4 + + 179 2 SDA = CY; //送数据口 + 180 2 SCL = 1; //拉高时钟线 + 181 2 Delay5us(); //延时 + 182 2 SCL = 0; //拉低时钟线 + 183 2 Delay5us(); //延时 184 2 } 185 1 BH1750_RecvACK(); 186 1 } 187 188 /************************************** - 189 ´ÓIIC×ÜÏß½ÓÊÕÒ»¸ö×Ö½ÚÊý¾Ý + 189 从IIC总线接收一个字节数据 190 **************************************/ 191 BYTE BH1750_RecvByte() 192 { 193 1 BYTE i; 194 1 BYTE dat = 0; 195 1 - 196 1 SDA1 = 1; //ʹÄÜÄÚ²¿ÉÏÀ­,×¼±¸¶ÁÈ¡Êý¾Ý, - 197 1 for (i=0; i<8; i++) //8λ¼ÆÊýÆ÷ + 196 1 SDA = 1; //使能内部上拉,准备读取数据, + 197 1 for (i=0; i<8; i++) //8位计数器 198 1 { 199 2 dat <<= 1; - 200 2 SCL1 = 1; //À­¸ßʱÖÓÏß - 201 2 Delay5us(); //ÑÓʱ - 202 2 dat |= SDA1; //¶ÁÊý¾Ý - 203 2 SCL1 = 0; //À­µÍʱÖÓÏß - 204 2 Delay5us(); //ÑÓʱ + 200 2 SCL = 1; //拉高时钟线 + 201 2 Delay5us(); //延时 + 202 2 dat |= SDA; //读数据 + 203 2 SCL = 0; //拉低时钟线 + 204 2 Delay5us(); //延时 205 2 } 206 1 return dat; 207 1 } @@ -228,390 +226,390 @@ line level source 210 211 void Single_Write_BH1750(uchar REG_Address) 212 { - 213 1 BH1750_Start(); //ÆðʼÐźŠ- 214 1 BH1750_SendByte(SlaveAddress); //·¢ËÍÉ豸µØÖ·+дÐźŠ- 215 1 BH1750_SendByte(REG_Address); //ÄÚ²¿¼Ä´æÆ÷µØÖ·£¬ - 216 1 // BH1750_SendByte(REG_data); //ÄÚ²¿¼Ä´æÆ÷Êý¾Ý£¬ - 217 1 BH1750_Stop(); //·¢ËÍÍ£Ö¹ÐźŠ+ 213 1 BH1750_Start(); //起始信号 + 214 1 BH1750_SendByte(SlaveAddress); //发送设备地址+写信号 + 215 1 BH1750_SendByte(REG_Address); //内部寄存器地址, + 216 1 // BH1750_SendByte(REG_data); //内部寄存器数据, + 217 1 BH1750_Stop(); //发送停止信号 218 1 } 219 - 220 //********µ¥×Ö½Ú¶ÁÈ¡***************************************** - 221 /* - 222 uchar Single_Read_BH1750(uchar REG_Address) - 223 { uchar REG_data; - 224 BH1750_Start(); //ÆðʼÐźŠ- 225 BH1750_SendByte(SlaveAddress); //·¢ËÍÉ豸µØÖ·+дÐźŠ- 226 BH1750_SendByte(REG_Address); //·¢ËÍ´æ´¢µ¥ÔªµØÖ·£¬´Ó0¿ªÊ¼ - 227 BH1750_Start(); //ÆðʼÐźŠ- 228 BH1750_SendByte(SlaveAddress+1); //·¢ËÍÉ豸µØÖ·+¶ÁÐźŠ- 229 REG_data=BH1750_RecvByte(); //¶Á³ö¼Ä´æÆ÷Êý¾Ý - 230 BH1750_SendACK(1); - 231 BH1750_Stop(); //Í£Ö¹ÐźŠ- 232 return REG_data; - 233 } - 234 */ - 235 //********************************************************* - 236 // - 237 //Á¬Ðø¶Á³öBH1750ÄÚ²¿Êý¾Ý - 238 // - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 5 + 220 + 221 + 222 //********************************************************* + 223 // + 224 //连续读出BH1750内部数据 + 225 // + 226 //********************************************************* + 227 void Multiple_read_BH1750(void) + 228 + 229 { uchar i; + 230 1 BH1750_Start(); //起始信号 + 231 1 BH1750_SendByte(SlaveAddress+1); //发送设备地址+读信号 + 232 1 + 233 1 for (i=0; i<3; i++) //连续读取2个地址数据,存储中BUF + 234 1 { + 235 2 BUF[i] = BH1750_RecvByte(); //BUF[0]存储0x32地址中的数据 + 236 2 if (i == 3) + 237 2 { + 238 3 + 239 3 BH1750_SendACK(1); //最后一个数据需要回NOACK + 240 3 } + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 5 - 239 //********************************************************* - 240 void Multiple_read_BH1750(void) - 241 - 242 { uchar i; - 243 1 BH1750_Start(); //ÆðʼÐźŠ- 244 1 BH1750_SendByte(SlaveAddress+1); //·¢ËÍÉ豸µØÖ·+¶ÁÐźŠ- 245 1 - 246 1 for (i=0; i<3; i++) //Á¬Ðø¶ÁÈ¡2¸öµØÖ·Êý¾Ý£¬´æ´¢ÖÐBUF - 247 1 { - 248 2 BUF[i] = BH1750_RecvByte(); //BUF[0]´æ´¢0x32µØÖ·ÖеÄÊý¾Ý - 249 2 if (i == 3) - 250 2 { - 251 3 - 252 3 BH1750_SendACK(1); //×îºóÒ»¸öÊý¾ÝÐèÒª»ØNOACK - 253 3 } - 254 2 else - 255 2 { - 256 3 BH1750_SendACK(0); //»ØÓ¦ACK - 257 3 } - 258 2 } - 259 1 - 260 1 BH1750_Stop(); //Í£Ö¹ÐźŠ- 261 1 Delay5ms(); - 262 1 } - 263 - 264 - 265 //³õʼ»¯BH1750£¬¸ù¾ÝÐèÒªÇë²Î¿¼pdf½øÐÐÐÞ¸Ä**** - 266 void Init_BH1750() - 267 { - 268 1 Single_Write_BH1750(0x01); - 269 1 + 241 2 else + 242 2 { + 243 3 BH1750_SendACK(0); //回应ACK + 244 3 } + 245 2 } + 246 1 + 247 1 BH1750_Stop(); //停止信号 + 248 1 Delay5ms(); + 249 1 } + 250 + 251 + 252 //初始化BH1750 + 253 void Init_BH1750() + 254 { + 255 1 Single_Write_BH1750(0x01); + 256 1 + 257 1 } + 258 + 259 // 串口初始化 + 260 void Uart_Init() + 261 { + 262 1 TMOD = 0x20 | 0x01; + 263 1 SCON = 0x50; + 264 1 TH1 = 0xFD; + 265 1 TL1 = TH1; + 266 1 PCON = 0x00; + 267 1 EA = 1; + 268 1 ES = 1; + 269 1 TR1 = 1; 270 1 } 271 - 272 void Uart_Init() + 272 void us_delay(uchar t) 273 { - 274 1 TMOD = 0x20 | 0x01; - 275 1 SCON = 0x50; - 276 1 TH1 = 0xFD; - 277 1 TL1 = TH1; - 278 1 PCON = 0x00; - 279 1 EA = 1; - 280 1 ES = 1; - 281 1 TR1 = 1; - 282 1 } - 283 - 284 void us_delay(uchar t) - 285 { - 286 1 while(t--); - 287 1 } - 288 - 289 void Send_Uart(uchar value) - 290 { - 291 1 ES=0; - 292 1 TI=0; - 293 1 SBUF=value; - 294 1 while(TI==0); - 295 1 TI=0; - 296 1 ES=1; - 297 1 } - 298 - 299 void Bluetooth_Set(uchar *puf) - 300 { - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 6 + 274 1 while(t--); + 275 1 } + 276 + 277 void Send_Uart(uchar value) + 278 { + 279 1 ES=0; + 280 1 TI=0; + 281 1 SBUF=value; + 282 1 while(TI==0); + 283 1 TI=0; + 284 1 ES=1; + 285 1 } + 286 + 287 void Bluetooth_Set(uchar *puf) + 288 { + 289 1 while(*puf!='\0') + 290 1 { + 291 2 Send_Uart(*puf); + 292 2 us_delay(5); + 293 2 puf++; + 294 2 } + 295 1 } + 296 + 297 + 298 // 获取数据 + 299 void Detection() + 300 { + 301 1 static int num = 0; + 302 1 int i = 0; + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 6 - 301 1 while(*puf!='\0') - 302 1 { - 303 2 Send_Uart(*puf); - 304 2 us_delay(5); - 305 2 puf++; - 306 2 } - 307 1 } - 308 - 309 void Detection() - 310 { - 311 1 static int num = 0; - 312 1 int i = 0; - 313 1 Single_Write_BH1750(0x01); - 314 1 Single_Write_BH1750(0x10); - 315 1 delay_nms(180); - 316 1 Multiple_Read_BH1750(); - 317 1 dis_data=BUF[0]; - 318 1 dis_data=(dis_data<<8)+BUF[1]; - 319 1 userInfo.Light = (float)dis_data/1.2; - 320 1 - 321 1 userInfo.temp = Temper_change(); - 322 1 userInfo.temp /= 100; - 323 1 if(key1==0) - 324 1 { - 325 2 Delay10ms(); - 326 2 if(key1==0){ - 327 3 if(userInfo.set == 0){ - 328 4 if(userInfo.model == 0) userInfo.model = 1; - 329 4 else userInfo.model = 0; - 330 4 if(userInfo.model == 1) LED4 = 1, LED5 = 0; - 331 4 else LED4 = 0, LED5 = 1; - 332 4 } - 333 3 } - 334 2 while((i<50)&&(key1==0)){ - 335 3 Delay10ms(); - 336 3 i++; - 337 3 } - 338 2 i=0; - 339 2 } - 340 1 - 341 1 if(key2==0) - 342 1 { - 343 2 Delay10ms(); - 344 2 if(key2==0){ - 345 3 if(userInfo.model){ - 346 4 led_num++; - 347 4 if(led_num >= 5) led_num = 0; - 348 4 }else{ - 349 4 if(userInfo.set == 0) userInfo.set = 1; - 350 4 else userInfo.set = 0; - 351 4 cut = 0; - 352 4 } - 353 3 LcdWriteCom(0x01); //清屏 - 354 3 } - 355 2 while((i<50)&&(key2==0)){ - 356 3 Delay10ms(); - 357 3 i++; - 358 3 } - 359 2 i=0; - 360 2 } - 361 1 - 362 1 if(IN==0) - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 7 + 303 1 Single_Write_BH1750(0x01); + 304 1 Single_Write_BH1750(0x10); + 305 1 delay_nms(180); + 306 1 Multiple_Read_BH1750(); + 307 1 dis_data=BUF[0]; + 308 1 dis_data=(dis_data<<8)+BUF[1]; + 309 1 userInfo.Light = (float)dis_data/1.2; // 获取光照值 + 310 1 + 311 1 userInfo.temp = Temper_change(); + 312 1 userInfo.temp /= 100; // 获取温度,去除小数部分 + 313 1 + 314 1 // 按键一 + 315 1 if(key1==0) + 316 1 { + 317 2 Delay10ms(); + 318 2 if(key1==0){ + 319 3 if(userInfo.set == 0){ + 320 4 if(userInfo.model == 0) userInfo.model = 1; + 321 4 else userInfo.model = 0; + 322 4 if(userInfo.model == 1) LED4 = 1, LED5 = 0; + 323 4 else LED4 = 0, LED5 = 1; + 324 4 } + 325 3 } + 326 2 while((i<50)&&(key1==0)){ + 327 3 Delay10ms(); + 328 3 i++; + 329 3 } + 330 2 i=0; + 331 2 } + 332 1 + 333 1 // 按键二 + 334 1 if(key2==0) + 335 1 { + 336 2 Delay10ms(); + 337 2 if(key2==0){ + 338 3 if(userInfo.model){ + 339 4 led_num++; + 340 4 if(led_num >= 5) led_num = 0; + 341 4 }else{ + 342 4 if(userInfo.set == 0) userInfo.set = 1; + 343 4 else userInfo.set = 0; + 344 4 cut = 0; + 345 4 } + 346 3 LcdWriteCom(0x01); //清屏 + 347 3 } + 348 2 while((i<50)&&(key2==0)){ + 349 3 Delay10ms(); + 350 3 i++; + 351 3 } + 352 2 i=0; + 353 2 } + 354 1 + 355 1 if(IN==0) // 光电门 进 + 356 1 { + 357 2 Delay10ms(); + 358 2 if(IN==0){ // 去抖 + 359 3 userInfo.num++; + 360 3 if(userInfo.num > 99) userInfo.num = 99; + 361 3 } + 362 2 while((i<50)&&(IN==0)){ + 363 3 Delay10ms(); + 364 3 i++; + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 7 - 363 1 { - 364 2 Delay10ms(); - 365 2 if(IN==0){ - 366 3 userInfo.num++; - 367 3 if(userInfo.num > 99) userInfo.num = 99; - 368 3 } - 369 2 while((i<50)&&(IN==0)){ - 370 3 Delay10ms(); - 371 3 i++; - 372 3 } - 373 2 i=0; - 374 2 } - 375 1 - 376 1 if(OUT==0) //��ⰴ��K1�Ƿ��� - 377 1 { - 378 2 Delay10ms(); //�������� - 379 2 if(OUT==0){ - 380 3 userInfo.num--; - 381 3 if(userInfo.num < 0) userInfo.num = 0; - 382 3 } - 383 2 while((i<50)&&(OUT==0)){ - 384 3 Delay10ms(); - 385 3 i++; - 386 3 } - 387 2 i=0; - 388 2 } - 389 1 - 390 1 if(key3==0) //��ⰴ��K1�Ƿ��� - 391 1 { - 392 2 Delay10ms(); //�������� - 393 2 if(key3==0){ - 394 3 cut++; - 395 3 if(cut >= 4) cut = 0; - 396 3 } - 397 2 while((i<50)&&(key3==0)){ - 398 3 Delay10ms(); - 399 3 i++; - 400 3 } - 401 2 i=0; - 402 2 } - 403 1 - 404 1 if(key4==0) //��ⰴ��K1�Ƿ��� - 405 1 { - 406 2 Delay10ms(); //�������� - 407 2 if(key4==0){ - 408 3 if(cut == 0){ - 409 4 userInfo.time[0].hour++; - 410 4 if(userInfo.time[0].hour >= 24) userInfo.time[0].hour = 0; - 411 4 }else if(cut == 1){ - 412 4 userInfo.time[0].min++; - 413 4 if(userInfo.time[0].min >= 59) userInfo.time[0].min = 0; - 414 4 }else if(cut == 2){ - 415 4 userInfo.time[1].hour++; - 416 4 if(userInfo.time[1].hour >= 24) userInfo.time[1].hour = 0; - 417 4 }else if(cut == 3){ - 418 4 userInfo.time[1].min++; - 419 4 if(userInfo.time[1].min >= 59) userInfo.time[1].min = 0; - 420 4 } - 421 3 while((i<50)&&(key4==0)){ - 422 4 Delay10ms(); - 423 4 i++; - 424 4 } - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 8 + 365 3 } + 366 2 i=0; + 367 2 } + 368 1 + 369 1 + 370 1 if(OUT==0) // 光电门 出 + 371 1 { + 372 2 Delay10ms(); + 373 2 if(OUT==0){ // 去抖 + 374 3 userInfo.num--; + 375 3 if(userInfo.num < 0) userInfo.num = 0; + 376 3 } + 377 2 while((i<50)&&(OUT==0)){ + 378 3 Delay10ms(); + 379 3 i++; + 380 3 } + 381 2 i=0; + 382 2 } + 383 1 + 384 1 + 385 1 if(key3==0) // 按键3 + 386 1 { + 387 2 Delay10ms(); + 388 2 if(key3==0){ + 389 3 cut++; + 390 3 if(cut >= 4) cut = 0; // 切换修改的对象 + 391 3 } + 392 2 while((i<50)&&(key3==0)){ + 393 3 Delay10ms(); + 394 3 i++; + 395 3 } + 396 2 i=0; + 397 2 } + 398 1 + 399 1 // 按键四 + 400 1 if(key4==0) + 401 1 { + 402 2 Delay10ms(); + 403 2 if(key4==0){ + 404 3 // 根据cut的值,修改不同的对象 + 405 3 if(cut == 0){ + 406 4 userInfo.time[0].hour++; + 407 4 if(userInfo.time[0].hour >= 24) userInfo.time[0].hour = 0; + 408 4 }else if(cut == 1){ + 409 4 userInfo.time[0].min++; + 410 4 if(userInfo.time[0].min >= 59) userInfo.time[0].min = 0; + 411 4 }else if(cut == 2){ + 412 4 userInfo.time[1].hour++; + 413 4 if(userInfo.time[1].hour >= 24) userInfo.time[1].hour = 0; + 414 4 }else if(cut == 3){ + 415 4 userInfo.time[1].min++; + 416 4 if(userInfo.time[1].min >= 59) userInfo.time[1].min = 0; + 417 4 } + 418 3 while((i<50)&&(key4==0)){ + 419 4 Delay10ms(); + 420 4 i++; + 421 4 } + 422 3 i=0; + 423 3 } + 424 2 } + 425 1 } +*** WARNING C280 IN LINE 301 OF main.c: 'num': unreferenced local variable + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 8 - 425 3 i=0; - 426 3 } - 427 2 } - 428 1 } -*** WARNING C280 IN LINE 311 OF main.c: 'num': unreferenced local variable - 429 - 430 - 431 int getTimeResult() - 432 { - 433 1 int result = 1; - 434 1 struct Time Nowtime; - 435 1 - 436 1 Nowtime.hour = TIME[2]/16 * 10 + (TIME[2]&0x0f); - 437 1 Nowtime.min = TIME[1]/16 * 10 + (TIME[1]&0x0f); - 438 1 - 439 1 if(Nowtime.hour < userInfo.time[0].hour || Nowtime.hour > userInfo.time[1].hour) return 0; - 440 1 if(Nowtime.hour == userInfo.time[0].hour && Nowtime.min < userInfo.time[0].min) return 0; - 441 1 if(Nowtime.hour == userInfo.time[1].hour && Nowtime.min > userInfo.time[1].min) return 0; - 442 1 - 443 1 return result; - 444 1 } - 445 - 446 - 447 void Dispose() - 448 { - 449 1 - 450 1 if(userInfo.model == 0){ - 451 2 if(getTimeResult() && userInfo.Light < 100){ - 452 3 if(userInfo.num < 10 && userInfo.num > 0) LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 1; - 453 3 else if(userInfo.num >= 10 && userInfo.num < 20) LED0 = 0, LED1 = 0, LED2 = 1 ,LED3 = 1; - 454 3 else if(userInfo.num >= 20 && userInfo.num < 30) LED0 = 0, LED1 = 1, LED2 = 1 ,LED3 = 1; - 455 3 else if(userInfo.num >= 30) LED0 = 1, LED1 = 1, LED2 = 1 ,LED3 = 1; - 456 3 else LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; - 457 3 }else{ - 458 3 LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; - 459 3 } - 460 2 }else{ - 461 2 if(led_num){ - 462 3 if(led_num == 1) LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 1; - 463 3 else if(led_num == 2) LED0 = 0, LED1 = 0, LED2 = 1 ,LED3 = 1; - 464 3 else if(led_num == 3) LED0 = 0, LED1 = 1, LED2 = 1 ,LED3 = 1; - 465 3 else if(led_num == 4) LED0 = 1, LED1 = 1, LED2 = 1 ,LED3 = 1; - 466 3 }else{ - 467 3 LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; - 468 3 } - 469 2 } - 470 1 LED4 = userInfo.model; - 471 1 } - 472 + 426 + 427 + 428 // 获取时间是否达到 返回1为定时时间到 + 429 int getTimeResult() + 430 { + 431 1 int result = 1; + 432 1 struct Time Nowtime; + 433 1 + 434 1 Nowtime.hour = TIME[2]/16 * 10 + (TIME[2]&0x0f); + 435 1 Nowtime.min = TIME[1]/16 * 10 + (TIME[1]&0x0f); + 436 1 + 437 1 if(Nowtime.hour < userInfo.time[0].hour || Nowtime.hour > userInfo.time[1].hour) return 0; + 438 1 if(Nowtime.hour == userInfo.time[0].hour && Nowtime.min < userInfo.time[0].min) return 0; + 439 1 if(Nowtime.hour == userInfo.time[1].hour && Nowtime.min > userInfo.time[1].min) return 0; + 440 1 + 441 1 return result; + 442 1 } + 443 + 444 + 445 // 点灯 + 446 void Dispose() + 447 { + 448 1 + 449 1 if(userInfo.model == 0){ + 450 2 if(getTimeResult() && userInfo.Light < 100){ + 451 3 if(userInfo.num < 10 && userInfo.num > 0) LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 1; + 452 3 else if(userInfo.num >= 10 && userInfo.num < 20) LED0 = 0, LED1 = 0, LED2 = 1 ,LED3 = 1; + 453 3 else if(userInfo.num >= 20 && userInfo.num < 30) LED0 = 0, LED1 = 1, LED2 = 1 ,LED3 = 1; + 454 3 else if(userInfo.num >= 30) LED0 = 1, LED1 = 1, LED2 = 1 ,LED3 = 1; + 455 3 else LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; + 456 3 }else{ + 457 3 LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; + 458 3 } + 459 2 }else{ + 460 2 if(led_num){ + 461 3 if(led_num == 1) LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 1; + 462 3 else if(led_num == 2) LED0 = 0, LED1 = 0, LED2 = 1 ,LED3 = 1; + 463 3 else if(led_num == 3) LED0 = 0, LED1 = 1, LED2 = 1 ,LED3 = 1; + 464 3 else if(led_num == 4) LED0 = 1, LED1 = 1, LED2 = 1 ,LED3 = 1; + 465 3 }else{ + 466 3 LED0 = 0, LED1 = 0, LED2 = 0 ,LED3 = 0; + 467 3 } + 468 2 } + 469 1 LED4 = userInfo.model; + 470 1 } + 471 + 472 // main 473 void main() 474 { 475 1 int i = 0; 476 1 uchar str[10]; - 477 1 Ds1302Init(); + 477 1 Ds1302Init(); // 时钟初始化 478 1 Uart_Init(); - 479 1 LcdInit(); + 479 1 LcdInit(); // lcd初始化 480 1 481 1 userInfo.time[0].hour = 18; 482 1 userInfo.time[0].min = 0; 483 1 userInfo.time[0].sec = 0; 484 1 485 1 userInfo.time[1].hour = 23; - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 9 - 486 1 userInfo.time[1].min = 30; 487 1 userInfo.time[1].sec = 0; + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 9 + 488 1 489 1 while(1) 490 1 { - 491 2 Ds1302ReadTime(); + 491 2 Ds1302ReadTime(); // 读取时间 492 2 LcdDisplay(); 493 2 Detection(); 494 2 Dispose(); - 495 2 sprintf(str, "%d\r\n", userInfo.temp); - 496 2 Bluetooth_Set(str); - 497 2 } - 498 1 } - 499 - 500 void LcdDisplay() - 501 { - 502 1 uint temp_data; - 503 1 if(userInfo.set == 0){ - 504 2 // TODO 显示时间 - 505 2 LcdWriteCom(0x80); - 506 2 LcdWriteData('0'+TIME[4]/16); //月 - 507 2 LcdWriteData('0'+(TIME[4]&0x0f)); - 508 2 LcdWriteData('-'); - 509 2 LcdWriteData('0'+TIME[3]/16); //日 - 510 2 LcdWriteData('0'+(TIME[3]&0x0f)); - 511 2 LcdWriteData(' '); - 512 2 - 513 2 LcdWriteData('0'+TIME[2]/16); //时 - 514 2 LcdWriteData('0'+(TIME[2]&0x0f)); - 515 2 LcdWriteData(':'); - 516 2 LcdWriteData('0'+TIME[1]/16); //分 - 517 2 LcdWriteData('0'+(TIME[1]&0x0f)); - 518 2 LcdWriteData(':'); - 519 2 LcdWriteData('0'+TIME[0]/16); //秒 - 520 2 LcdWriteData('0'+(TIME[0]&0x0f)); - 521 2 - 522 2 LcdWriteData(' '); - 523 2 LcdWriteData('0'+(TIME[5]&0x0f)); - 524 2 - 525 2 LcdWriteCom(0x80 + 0x40); - 526 2 temp_data = userInfo.Light; - 527 2 temp_data=temp_data%10000; - 528 2 LcdWriteData(temp_data/1000+0x30); - 529 2 temp_data=temp_data%1000; - 530 2 LcdWriteData(temp_data/100+0x30); - 531 2 temp_data=temp_data%100; - 532 2 LcdWriteData(temp_data/10+0x30); - 533 2 temp_data=temp_data%10; - 534 2 LcdWriteData(temp_data+0x30); - 535 2 LcdWriteData('L'); - 536 2 LcdWriteData('x'); - 537 2 LcdWriteData(' '); - 538 2 LcdWriteData(userInfo.temp / 10 + 0x30); - 539 2 LcdWriteData(userInfo.temp % 10 + 0x30); - 540 2 LcdWriteData('C'); - 541 2 - 542 2 LcdWriteData(' '); - 543 2 LcdWriteData(userInfo.num / 10 % 10 + 0x30); - 544 2 LcdWriteData(userInfo.num % 10 + 0x30); - 545 2 }else{ - 546 2 LcdWriteCom(0x80); - 547 2 LcdWriteData('0'+ userInfo.time[0].hour/10); //时 - C51 COMPILER V9.56.0.0 MAIN 05/01/2022 13:19:20 PAGE 10 + 495 2 } + 496 1 } +*** WARNING C280 IN LINE 476 OF main.c: 'str': unreferenced local variable + 497 + 498 // 显示 + 499 void LcdDisplay() + 500 { + 501 1 uint temp_data; + 502 1 if(userInfo.set == 0){ + 503 2 // TODO 显示时间 + 504 2 LcdWriteCom(0x80); + 505 2 LcdWriteData('0'+TIME[4]/16); //月 + 506 2 LcdWriteData('0'+(TIME[4]&0x0f)); + 507 2 LcdWriteData('-'); + 508 2 LcdWriteData('0'+TIME[3]/16); //日 + 509 2 LcdWriteData('0'+(TIME[3]&0x0f)); + 510 2 LcdWriteData(' '); + 511 2 + 512 2 LcdWriteData('0'+TIME[2]/16); //时 + 513 2 LcdWriteData('0'+(TIME[2]&0x0f)); + 514 2 LcdWriteData(':'); + 515 2 LcdWriteData('0'+TIME[1]/16); //分 + 516 2 LcdWriteData('0'+(TIME[1]&0x0f)); + 517 2 LcdWriteData(':'); + 518 2 LcdWriteData('0'+TIME[0]/16); //秒 + 519 2 LcdWriteData('0'+(TIME[0]&0x0f)); + 520 2 + 521 2 LcdWriteData(' '); + 522 2 LcdWriteData('0'+(TIME[5]&0x0f)); + 523 2 + 524 2 LcdWriteCom(0x80 + 0x40); + 525 2 temp_data = userInfo.Light; + 526 2 temp_data=temp_data%10000; + 527 2 LcdWriteData(temp_data/1000+0x30); + 528 2 temp_data=temp_data%1000; + 529 2 LcdWriteData(temp_data/100+0x30); + 530 2 temp_data=temp_data%100; + 531 2 LcdWriteData(temp_data/10+0x30); + 532 2 temp_data=temp_data%10; + 533 2 LcdWriteData(temp_data+0x30); + 534 2 LcdWriteData('L'); + 535 2 LcdWriteData('x'); + 536 2 LcdWriteData(' '); + 537 2 LcdWriteData(userInfo.temp / 10 + 0x30); + 538 2 LcdWriteData(userInfo.temp % 10 + 0x30); + 539 2 LcdWriteData('C'); + 540 2 + 541 2 LcdWriteData(' '); + 542 2 LcdWriteData(userInfo.num / 10 % 10 + 0x30); + 543 2 LcdWriteData(userInfo.num % 10 + 0x30); + 544 2 }else{ + 545 2 LcdWriteCom(0x80); + 546 2 LcdWriteData('0'+ userInfo.time[0].hour/10); //时 + 547 2 LcdWriteData('0'+ userInfo.time[0].hour% 10); + 548 2 LcdWriteData(':'); + C51 COMPILER V9.56.0.0 MAIN 05/05/2022 19:42:13 PAGE 10 - 548 2 LcdWriteData('0'+ userInfo.time[0].hour% 10); - 549 2 LcdWriteData(':'); - 550 2 LcdWriteData('0'+userInfo.time[0].min/10); //分 - 551 2 LcdWriteData('0'+ userInfo.time[0].min % 10); - 552 2 LcdWriteData(':'); - 553 2 LcdWriteData('0'+userInfo.time[0].sec / 10); //秒 - 554 2 LcdWriteData('0'+userInfo.time[0].sec % 10); - 555 2 LcdWriteData(' '); - 556 2 - 557 2 LcdWriteData('0'+cut); - 558 2 - 559 2 LcdWriteCom(0x80 + 0x40); - 560 2 LcdWriteData('0'+ userInfo.time[1].hour/10); //时 - 561 2 LcdWriteData('0'+ userInfo.time[1].hour% 10); - 562 2 LcdWriteData(':'); - 563 2 LcdWriteData('0'+userInfo.time[1].min/10); //分 - 564 2 LcdWriteData('0'+ userInfo.time[1].min % 10); - 565 2 LcdWriteData(':'); - 566 2 LcdWriteData('0'+userInfo.time[1].sec / 10); //秒 - 567 2 LcdWriteData('0'+userInfo.time[1].sec % 10); - 568 2 } - 569 1 } + 549 2 LcdWriteData('0'+userInfo.time[0].min/10); //分 + 550 2 LcdWriteData('0'+ userInfo.time[0].min % 10); + 551 2 LcdWriteData(':'); + 552 2 LcdWriteData('0'+userInfo.time[0].sec / 10); //秒 + 553 2 LcdWriteData('0'+userInfo.time[0].sec % 10); + 554 2 LcdWriteData(' '); + 555 2 + 556 2 LcdWriteData('0'+cut); + 557 2 + 558 2 LcdWriteCom(0x80 + 0x40); + 559 2 LcdWriteData('0'+ userInfo.time[1].hour/10); //时 + 560 2 LcdWriteData('0'+ userInfo.time[1].hour% 10); + 561 2 LcdWriteData(':'); + 562 2 LcdWriteData('0'+userInfo.time[1].min/10); //分 + 563 2 LcdWriteData('0'+ userInfo.time[1].min % 10); + 564 2 LcdWriteData(':'); + 565 2 LcdWriteData('0'+userInfo.time[1].sec / 10); //秒 + 566 2 LcdWriteData('0'+userInfo.time[1].sec % 10); + 567 2 } + 568 1 } + 569 570 - 571 - 572 void Delay10ms(void) //��� 0us - 573 { - 574 1 unsigned char a,b,c; - 575 1 for(c=1;c>0;c--) - 576 1 for(b=38;b>0;b--) - 577 1 for(a=130;a>0;a--); - 578 1 } + 571 void Delay10ms(void) //��� 0us + 572 { + 573 1 unsigned char a,b,c; + 574 1 for(c=1;c>0;c--) + 575 1 for(b=38;b>0;b--) + 576 1 for(a=130;a>0;a--); + 577 1 } MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 2082 ---- - CONSTANT SIZE = 5 ---- + CODE SIZE = 2049 ---- + CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 42 22 @@ -620,4 +618,4 @@ MODULE INFORMATION: STATIC OVERLAYABLE END OF MODULE INFORMATION. -C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S) +C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S) diff --git a/main.OBJ b/main.OBJ index 53c78a3..ad4fd61 100644 Binary files a/main.OBJ and b/main.OBJ differ diff --git a/main.c b/main.c index d0a8b15..71971f5 100644 --- a/main.c +++ b/main.c @@ -58,13 +58,13 @@ void LcdDisplay(); void LcdDisplay1(); void Delay10ms(void); -#define SlaveAddress 0x46 //¶¨ÒåÆ÷¼þÔÚIIC×ÜÏßÖеĴӵØÖ·,¸ù¾ÝALT ADDRESSµØÖ·Òý½Å²»Í¬ÐÞ¸Ä - //ALT ADDRESSÒý½Å½ÓµØʱµØַΪ0x46£¬½ÓµçԴʱµØַΪ0xB8 +#define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改 + //ALT ADDRESS引脚接地时地址为0x46,接电源时地址为0xB8 typedef unsigned char BYTE; typedef unsigned short WORD; -BYTE BUF[8]; //½ÓÊÕÊý¾Ý»º´æÇø -int dis_data; //±äÁ¿ +BYTE BUF[8]; //接收数据缓存区 +int dis_data; //变量 void delay_nms(unsigned int k); void InitLcd(); @@ -75,21 +75,21 @@ void WriteCommandLCM(uchar CMD,uchar Attribc); void DisplayOneChar(uchar X,uchar Y,uchar DData); void conversion(uint temp_data); -void Single_Write_BH1750(uchar REG_Address); //µ¥¸öдÈëÊý¾Ý -uchar Single_Read_BH1750(uchar REG_Address); //µ¥¸ö¶ÁÈ¡ÄÚ²¿¼Ä´æÆ÷Êý¾Ý -void Multiple_Read_BH1750(); //Á¬ÐøµÄ¶ÁÈ¡ÄÚ²¿¼Ä´æÆ÷Êý¾Ý +void Single_Write_BH1750(uchar REG_Address); //单个写入数据 +uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据 +void Multiple_Read_BH1750(); //连续的读取内部寄存器数据 //------------------------------------ void Delay5us(); void Delay5ms(); -void BH1750_Start(); //ÆðʼÐźŠ-void BH1750_Stop(); //Í£Ö¹ÐźŠ-void BH1750_SendACK(bit ack); //Ó¦´ðACK -bit BH1750_RecvACK(); //¶Áack -void BH1750_SendByte(BYTE dat); //IICµ¥¸ö×Ö½Úд -BYTE BH1750_RecvByte(); //IICµ¥¸ö×Ö½Ú¶Á +void BH1750_Start(); //起始信号 +void BH1750_Stop(); //停止信号 +void BH1750_SendACK(bit ack); //应答ACK +bit BH1750_RecvACK(); //读ack +void BH1750_SendByte(BYTE dat); //IIC单个字节写 +BYTE BH1750_RecvByte(); //IIC单个字节读 -//ºÁÃëÑÓʱ************************** +//毫秒延时************************** void delay_nms(unsigned int k) { unsigned int i,j; @@ -115,93 +115,93 @@ void Delay5ms() } /************************************** -ÆðʼÐźŠ+起始信号 **************************************/ void BH1750_Start() { - SDA1 = 1; //À­¸ßÊý¾ÝÏß - SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - SDA1 = 0; //²úÉúϽµÑØ - Delay5us(); //ÑÓʱ - SCL1 = 0; //À­µÍʱÖÓÏß + SDA1 = 1; //拉高数据线 + SCL1 = 1; //拉高时钟线 + Delay5us(); //延时 + SDA1 = 0; //产生下降沿 + Delay5us(); //延时 + SCL1 = 0; //拉低时钟线 } /************************************** -Í£Ö¹ÐźŠ+停止信号 **************************************/ void BH1750_Stop() { - SDA1 = 0; //À­µÍÊý¾ÝÏß - SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - SDA1 = 1; //²úÉúÉÏÉýÑØ - Delay5us(); //ÑÓʱ + SDA1 = 0; //拉低数据线 + SCL1 = 1; //拉高时钟线 + Delay5us(); //延时 + SDA1 = 1; //产生上升沿 + Delay5us(); //延时 } /************************************** -·¢ËÍÓ¦´ðÐźŠ-Èë¿Ú²ÎÊý:ack (0:ACK 1:NAK) +发送应答信号 +入口参数:ack (0:ACK 1:NAK) **************************************/ void BH1750_SendACK(bit ack) { - SDA1 = ack; //дӦ´ðÐźŠ- SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - SCL1 = 0; //À­µÍʱÖÓÏß - Delay5us(); //ÑÓʱ + SDA = ack; //写应答信号 + SCL = 1; //拉高时钟线 + Delay5us(); //延时 + SCL = 0; //拉低时钟线 + Delay5us(); //延时 } /************************************** -½ÓÊÕÓ¦´ðÐźŠ+接收应答信号 **************************************/ bit BH1750_RecvACK() { - SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - CY = SDA1; //¶ÁÓ¦´ðÐźŠ- SCL1 = 0; //À­µÍʱÖÓÏß - Delay5us(); //ÑÓʱ + SCL = 1; //拉高时钟线 + Delay5us(); //延时 + CY = SDA; //读应答信号 + SCL = 0; //拉低时钟线 + Delay5us(); //延时 return CY; } /************************************** -ÏòIIC×ÜÏß·¢ËÍÒ»¸ö×Ö½ÚÊý¾Ý +向IIC总线发送一个字节数据 **************************************/ void BH1750_SendByte(BYTE dat) { BYTE i; - for (i=0; i<8; i++) //8λ¼ÆÊýÆ÷ + for (i=0; i<8; i++) //8位计数器 { - dat <<= 1; //ÒƳöÊý¾ÝµÄ×î¸ßλ - SDA1 = CY; //ËÍÊý¾Ý¿Ú - SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - SCL1 = 0; //À­µÍʱÖÓÏß - Delay5us(); //ÑÓʱ + dat <<= 1; //移出数据的最高位 + SDA = CY; //送数据口 + SCL = 1; //拉高时钟线 + Delay5us(); //延时 + SCL = 0; //拉低时钟线 + Delay5us(); //延时 } BH1750_RecvACK(); } /************************************** -´ÓIIC×ÜÏß½ÓÊÕÒ»¸ö×Ö½ÚÊý¾Ý +从IIC总线接收一个字节数据 **************************************/ BYTE BH1750_RecvByte() { BYTE i; BYTE dat = 0; - SDA1 = 1; //ʹÄÜÄÚ²¿ÉÏÀ­,×¼±¸¶ÁÈ¡Êý¾Ý, - for (i=0; i<8; i++) //8λ¼ÆÊýÆ÷ + SDA = 1; //使能内部上拉,准备读取数据, + for (i=0; i<8; i++) //8位计数器 { dat <<= 1; - SCL1 = 1; //À­¸ßʱÖÓÏß - Delay5us(); //ÑÓʱ - dat |= SDA1; //¶ÁÊý¾Ý - SCL1 = 0; //À­µÍʱÖÓÏß - Delay5us(); //ÑÓʱ + SCL = 1; //拉高时钟线 + Delay5us(); //延时 + dat |= SDA; //读数据 + SCL = 0; //拉低时钟线 + Delay5us(); //延时 } return dat; } @@ -210,65 +210,53 @@ BYTE BH1750_RecvByte() void Single_Write_BH1750(uchar REG_Address) { - BH1750_Start(); //ÆðʼÐźŠ- BH1750_SendByte(SlaveAddress); //·¢ËÍÉ豸µØÖ·+дÐźŠ- BH1750_SendByte(REG_Address); //ÄÚ²¿¼Ä´æÆ÷µØÖ·£¬ - // BH1750_SendByte(REG_data); //ÄÚ²¿¼Ä´æÆ÷Êý¾Ý£¬ - BH1750_Stop(); //·¢ËÍÍ£Ö¹ÐźŠ+ BH1750_Start(); //起始信号 + BH1750_SendByte(SlaveAddress); //发送设备地址+写信号 + BH1750_SendByte(REG_Address); //内部寄存器地址, + // BH1750_SendByte(REG_data); //内部寄存器数据, + BH1750_Stop(); //发送停止信号 } -//********µ¥×Ö½Ú¶ÁÈ¡***************************************** -/* -uchar Single_Read_BH1750(uchar REG_Address) -{ uchar REG_data; - BH1750_Start(); //ÆðʼÐźŠ- BH1750_SendByte(SlaveAddress); //·¢ËÍÉ豸µØÖ·+дÐźŠ- BH1750_SendByte(REG_Address); //·¢ËÍ´æ´¢µ¥ÔªµØÖ·£¬´Ó0¿ªÊ¼ - BH1750_Start(); //ÆðʼÐźŠ- BH1750_SendByte(SlaveAddress+1); //·¢ËÍÉ豸µØÖ·+¶ÁÐźŠ- REG_data=BH1750_RecvByte(); //¶Á³ö¼Ä´æÆ÷Êý¾Ý - BH1750_SendACK(1); - BH1750_Stop(); //Í£Ö¹ÐźŠ- return REG_data; -} -*/ + + //********************************************************* // -//Á¬Ðø¶Á³öBH1750ÄÚ²¿Êý¾Ý +//连续读出BH1750内部数据 // //********************************************************* void Multiple_read_BH1750(void) { uchar i; - BH1750_Start(); //ÆðʼÐźŠ- BH1750_SendByte(SlaveAddress+1); //·¢ËÍÉ豸µØÖ·+¶ÁÐźŠ+ BH1750_Start(); //起始信号 + BH1750_SendByte(SlaveAddress+1); //发送设备地址+读信号 - for (i=0; i<3; i++) //Á¬Ðø¶ÁÈ¡2¸öµØÖ·Êý¾Ý£¬´æ´¢ÖÐBUF + for (i=0; i<3; i++) //连续读取2个地址数据,存储中BUF { - BUF[i] = BH1750_RecvByte(); //BUF[0]´æ´¢0x32µØÖ·ÖеÄÊý¾Ý + BUF[i] = BH1750_RecvByte(); //BUF[0]存储0x32地址中的数据 if (i == 3) { - BH1750_SendACK(1); //×îºóÒ»¸öÊý¾ÝÐèÒª»ØNOACK + BH1750_SendACK(1); //最后一个数据需要回NOACK } else { - BH1750_SendACK(0); //»ØÓ¦ACK + BH1750_SendACK(0); //回应ACK } } - BH1750_Stop(); //Í£Ö¹ÐźŠ+ BH1750_Stop(); //停止信号 Delay5ms(); } -//³õʼ»¯BH1750£¬¸ù¾ÝÐèÒªÇë²Î¿¼pdf½øÐÐÐÞ¸Ä**** +//初始化BH1750 void Init_BH1750() { Single_Write_BH1750(0x01); } +// 串口初始化 void Uart_Init() { TMOD = 0x20 | 0x01; @@ -306,6 +294,8 @@ void Bluetooth_Set(uchar *puf) } } + +// 获取数据 void Detection() { static int num = 0; @@ -316,10 +306,12 @@ void Detection() Multiple_Read_BH1750(); dis_data=BUF[0]; dis_data=(dis_data<<8)+BUF[1]; - userInfo.Light = (float)dis_data/1.2; + userInfo.Light = (float)dis_data/1.2; // 获取光照值 userInfo.temp = Temper_change(); - userInfo.temp /= 100; + userInfo.temp /= 100; // 获取温度,去除小数部分 + + // 按键一 if(key1==0) { Delay10ms(); @@ -338,6 +330,7 @@ void Detection() i=0; } + // 按键二 if(key2==0) { Delay10ms(); @@ -359,10 +352,10 @@ void Detection() i=0; } - if(IN==0) + if(IN==0) // 光电门 进 { - Delay10ms(); - if(IN==0){ + Delay10ms(); + if(IN==0){ // 去抖 userInfo.num++; if(userInfo.num > 99) userInfo.num = 99; } @@ -373,10 +366,11 @@ void Detection() i=0; } - if(OUT==0) //��ⰴ��K1�Ƿ��� + + if(OUT==0) // 光电门 出 { - Delay10ms(); //�������� - if(OUT==0){ + Delay10ms(); + if(OUT==0){ // 去抖 userInfo.num--; if(userInfo.num < 0) userInfo.num = 0; } @@ -387,12 +381,13 @@ void Detection() i=0; } - if(key3==0) //��ⰴ��K1�Ƿ��� + + if(key3==0) // 按键3 { - Delay10ms(); //�������� + Delay10ms(); if(key3==0){ cut++; - if(cut >= 4) cut = 0; + if(cut >= 4) cut = 0; // 切换修改的对象 } while((i<50)&&(key3==0)){ Delay10ms(); @@ -401,10 +396,12 @@ void Detection() i=0; } - if(key4==0) //��ⰴ��K1�Ƿ��� + // 按键四 + if(key4==0) { - Delay10ms(); //�������� + Delay10ms(); if(key4==0){ + // 根据cut的值,修改不同的对象 if(cut == 0){ userInfo.time[0].hour++; if(userInfo.time[0].hour >= 24) userInfo.time[0].hour = 0; @@ -418,16 +415,17 @@ void Detection() userInfo.time[1].min++; if(userInfo.time[1].min >= 59) userInfo.time[1].min = 0; } - while((i<50)&&(key4==0)){ - Delay10ms(); - i++; - } - i=0; - } + while((i<50)&&(key4==0)){ + Delay10ms(); + i++; + } + i=0; + } } } +// 获取时间是否达到 返回1为定时时间到 int getTimeResult() { int result = 1; @@ -444,6 +442,7 @@ int getTimeResult() } +// 点灯 void Dispose() { @@ -470,13 +469,14 @@ void Dispose() LED4 = userInfo.model; } +// main void main() { int i = 0; uchar str[10]; - Ds1302Init(); + Ds1302Init(); // 时钟初始化 Uart_Init(); - LcdInit(); + LcdInit(); // lcd初始化 userInfo.time[0].hour = 18; userInfo.time[0].min = 0; @@ -488,15 +488,14 @@ void main() while(1) { - Ds1302ReadTime(); + Ds1302ReadTime(); // 读取时间 LcdDisplay(); Detection(); Dispose(); - sprintf(str, "%d\r\n", userInfo.temp); - Bluetooth_Set(str); } } +// 显示 void LcdDisplay() { uint temp_data; diff --git a/pro b/pro index 6ca440f..593fbb0 100644 Binary files a/pro and b/pro differ diff --git a/pro.M51 b/pro.M51 index ca8e1b1..a6bf139 100644 --- a/pro.M51 +++ b/pro.M51 @@ -1,4 +1,4 @@ -BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: @@ -20,21 +20,12 @@ INPUT MODULES INCLUDED: D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPCMP) D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FCAST) D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?CASTF) - D:\KEIL_V5\C51\LIB\C51FPS.LIB (PRINTF) D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPGETOPN) - D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPROUND) - D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPCONVERT) - D:\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FTNPWR) D:\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP) D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDPTR) - D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CLDOPTR) - D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CSTPTR) D:\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) D:\KEIL_V5\C51\LIB\C51S.LIB (?C?SIDIV) D:\KEIL_V5\C51\LIB\C51S.LIB (?C?LNEG) - D:\KEIL_V5\C51\LIB\C51S.LIB (?C?PLDIIDATA) - D:\KEIL_V5\C51\LIB\C51S.LIB (?C?CCASE) - D:\KEIL_V5\C51\LIB\C51S.LIB (PUTCHAR) D:\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) @@ -46,69 +37,66 @@ LINK MAP OF MODULE: pro (MAIN) * * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" - DATA 0008H 0007H UNIT ?DT?DS1302 - 000FH 0011H *** GAP *** - BIT 0020H.0 0001H.1 UNIT _BIT_GROUP_ - 0021H.1 0000H.7 *** GAP *** - DATA 0022H 002AH UNIT ?DT?MAIN - DATA 004CH 0028H UNIT _DATA_GROUP_ - IDATA 0074H 0001H UNIT ?STACK + DATA 0008H 0015H UNIT _DATA_GROUP_ + 001DH 0003H *** GAP *** + BIT 0020H.0 0000H.1 UNIT _BIT_GROUP_ + 0020H.1 0000H.7 *** GAP *** + DATA 0021H 002AH UNIT ?DT?MAIN + DATA 004BH 0007H UNIT ?DT?DS1302 + IDATA 0052H 0001H UNIT ?STACK * * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0003H ABSOLUTE - CODE 0003H 069FH UNIT ?C?LIB_CODE - CODE 06A2H 046FH UNIT ?PR?PRINTF?PRINTF - CODE 0B11H 0292H UNIT ?PR?DETECTION?MAIN - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 2 - - - CODE 0DA3H 0283H UNIT ?PR?LCDDISPLAY?MAIN - CODE 1026H 00DDH UNIT ?PR?DISPOSE?MAIN - CODE 1103H 0099H UNIT ?PR?GETTIMERESULT?MAIN - CODE 119CH 008CH UNIT ?C_C51STARTUP - CODE 1228H 005AH UNIT ?PR?MAIN?MAIN - CODE 1282H 004FH UNIT ?PR?TEMPER_CHANGE?DS18B20 - CODE 12D1H 004AH UNIT ?PR?_DS1302READ?DS1302 - CODE 131BH 0042H UNIT ?PR?_DS18B20_WRITEBYTE?DS18B20 - CODE 135DH 0041H UNIT ?PR?_I2CSENDBYTE?I2C - CODE 139EH 003EH UNIT ?PR?DS18B20_READBYTE?DS18B20 - CODE 13DCH 0035H UNIT ?PR?_DS1302WRITE?DS1302 - CODE 1411H 002AH UNIT ?PR?_LCD1602_DELAY1MS?LCD - CODE 143BH 0029H UNIT ?PR?MULTIPLE_READ_BH1750?MAIN - CODE 1464H 0027H UNIT ?PR?PUTCHAR?PUTCHAR - CODE 148BH 0026H UNIT ?PR?I2CREADBYTE?I2C - CODE 14B1H 0025H UNIT ?PR?DS18B20_INIT?DS18B20 - CODE 14D6H 0022H UNIT ?PR?_AT24C02READ?I2C - CODE 14F8H 0021H UNIT ?PR?DS18B20_READTEMP?DS18B20 - CODE 1519H 0020H UNIT ?PR?_DELAY_NMS?MAIN - CODE 1539H 001EH UNIT ?PR?BH1750_RECVBYTE?MAIN - CODE 1557H 001EH UNIT ?PR?_DELAY_MS?DS18B20 - CODE 1575H 0019H UNIT ?PR?_BH1750_SENDBYTE?MAIN - CODE 158EH 0019H UNIT ?PR?LCDINIT?LCD - CODE 15A7H 0019H UNIT ?PR?_AT24C02WRITE?I2C - CODE 15C0H 0018H UNIT ?PR?_BLUETOOTH_SET?MAIN - CODE 15D8H 0016H UNIT ?PR?UART_INIT?MAIN - CODE 15EEH 0016H UNIT ?C_INITSEG - CODE 1604H 0016H UNIT ?PR?DS1302READTIME?DS1302 - CODE 161AH 0014H UNIT ?PR?DS1302INIT?DS1302 - CODE 162EH 0012H UNIT ?PR?_SINGLE_WRITE_BH1750?MAIN - CODE 1640H 0011H UNIT ?PR?DELAY5US?MAIN - CODE 1651H 000FH UNIT ?PR?DELAY5MS?MAIN - CODE 1660H 000FH UNIT ?PR?BH1750_START?MAIN - CODE 166FH 000FH UNIT ?PR?I2CSTART?I2C - CODE 167EH 000EH UNIT ?PR?BH1750_SENDACK?MAIN - CODE 168CH 000EH UNIT ?PR?_SEND_UART?MAIN - CODE 169AH 000EH UNIT ?CO?DS1302 - CODE 16A8H 000EH UNIT ?PR?DELAY10US?I2C - CODE 16B6H 000DH UNIT ?PR?BH1750_RECVACK?MAIN - CODE 16C3H 000DH UNIT ?PR?DELAY10MS?MAIN - CODE 16D0H 000CH UNIT ?PR?BH1750_STOP?MAIN - CODE 16DCH 000AH UNIT ?PR?_LCDWRITECOM?LCD - CODE 16E6H 000AH UNIT ?PR?_LCDWRITEDATA?LCD - CODE 16F0H 000AH UNIT ?PR?I2CSTOP?I2C - CODE 16FAH 0007H UNIT ?PR?_US_DELAY?MAIN - CODE 1701H 0005H UNIT ?PR?INIT_BH1750?MAIN - CODE 1706H 0005H UNIT ?CO?MAIN + CODE 0003H 0488H UNIT ?C?LIB_CODE + CODE 048BH 0292H UNIT ?PR?DETECTION?MAIN + CODE 071DH 0283H UNIT ?PR?LCDDISPLAY?MAIN + CODE 09A0H 00DDH UNIT ?PR?DISPOSE?MAIN + CODE 0A7DH 0099H UNIT ?PR?GETTIMERESULT?MAIN + CODE 0B16H 008CH UNIT ?C_C51STARTUP + CODE 0BA2H 004FH UNIT ?PR?TEMPER_CHANGE?DS18B20 + CODE 0BF1H 004AH UNIT ?PR?_DS1302READ?DS1302 + CODE 0C3BH 0042H UNIT ?PR?_DS18B20_WRITEBYTE?DS18B20 + CODE 0C7DH 0041H UNIT ?PR?_I2CSENDBYTE?I2C + CODE 0CBEH 003EH UNIT ?PR?DS18B20_READBYTE?DS18B20 + CODE 0CFCH 0039H UNIT ?PR?MAIN?MAIN + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 2 + + + CODE 0D35H 0035H UNIT ?PR?_DS1302WRITE?DS1302 + CODE 0D6AH 002AH UNIT ?PR?_LCD1602_DELAY1MS?LCD + CODE 0D94H 0029H UNIT ?PR?MULTIPLE_READ_BH1750?MAIN + CODE 0DBDH 0026H UNIT ?PR?I2CREADBYTE?I2C + CODE 0DE3H 0025H UNIT ?PR?DS18B20_INIT?DS18B20 + CODE 0E08H 0022H UNIT ?PR?_AT24C02READ?I2C + CODE 0E2AH 0021H UNIT ?PR?DS18B20_READTEMP?DS18B20 + CODE 0E4BH 0020H UNIT ?PR?_DELAY_NMS?MAIN + CODE 0E6BH 001EH UNIT ?PR?BH1750_RECVBYTE?MAIN + CODE 0E89H 001EH UNIT ?PR?_DELAY_MS?DS18B20 + CODE 0EA7H 0019H UNIT ?PR?_BH1750_SENDBYTE?MAIN + CODE 0EC0H 0019H UNIT ?PR?LCDINIT?LCD + CODE 0ED9H 0019H UNIT ?PR?_AT24C02WRITE?I2C + CODE 0EF2H 0018H UNIT ?PR?_BLUETOOTH_SET?MAIN + CODE 0F0AH 0016H UNIT ?PR?UART_INIT?MAIN + CODE 0F20H 0016H UNIT ?C_INITSEG + CODE 0F36H 0016H UNIT ?PR?DS1302READTIME?DS1302 + CODE 0F4CH 0014H UNIT ?PR?DS1302INIT?DS1302 + CODE 0F60H 0012H UNIT ?PR?_SINGLE_WRITE_BH1750?MAIN + CODE 0F72H 0011H UNIT ?PR?DELAY5US?MAIN + CODE 0F83H 000FH UNIT ?PR?DELAY5MS?MAIN + CODE 0F92H 000FH UNIT ?PR?BH1750_START?MAIN + CODE 0FA1H 000FH UNIT ?PR?I2CSTART?I2C + CODE 0FB0H 000EH UNIT ?PR?BH1750_SENDACK?MAIN + CODE 0FBEH 000EH UNIT ?PR?_SEND_UART?MAIN + CODE 0FCCH 000EH UNIT ?CO?DS1302 + CODE 0FDAH 000EH UNIT ?PR?DELAY10US?I2C + CODE 0FE8H 000DH UNIT ?PR?BH1750_RECVACK?MAIN + CODE 0FF5H 000DH UNIT ?PR?DELAY10MS?MAIN + CODE 1002H 000CH UNIT ?PR?BH1750_STOP?MAIN + CODE 100EH 000AH UNIT ?PR?_LCDWRITECOM?LCD + CODE 1018H 000AH UNIT ?PR?_LCDWRITEDATA?LCD + CODE 1022H 000AH UNIT ?PR?I2CSTOP?I2C + CODE 102CH 0007H UNIT ?PR?_US_DELAY?MAIN + CODE 1033H 0005H UNIT ?PR?INIT_BH1750?MAIN @@ -119,13 +107,10 @@ SEGMENT BIT_GROUP DATA_GROUP +--> CALLED SEGMENT START LENGTH START LENGTH -------------------------------------------------------------------------- ?C_C51STARTUP ----- ----- ----- ----- - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 3 - - +--> ?PR?MAIN?MAIN +--> ?C_INITSEG -?PR?MAIN?MAIN ----- ----- 004CH 000CH +?PR?MAIN?MAIN ----- ----- 0008H 000CH +--> ?PR?DS1302INIT?DS1302 +--> ?PR?UART_INIT?MAIN +--> ?PR?LCDINIT?LCD @@ -133,9 +118,9 @@ SEGMENT BIT_GROUP DATA_GROUP +--> ?PR?LCDDISPLAY?MAIN +--> ?PR?DETECTION?MAIN +--> ?PR?DISPOSE?MAIN - +--> ?CO?MAIN - +--> ?PR?PRINTF?PRINTF - +--> ?PR?_BLUETOOTH_SET?MAIN + + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 3 + ?PR?DS1302INIT?DS1302 ----- ----- ----- ----- +--> ?PR?_DS1302WRITE?DS1302 @@ -150,14 +135,14 @@ SEGMENT BIT_GROUP DATA_GROUP +--> ?CO?DS1302 +--> ?PR?_DS1302READ?DS1302 -?PR?LCDDISPLAY?MAIN ----- ----- 0058H 0002H +?PR?LCDDISPLAY?MAIN ----- ----- 0014H 0002H +--> ?PR?_LCDWRITECOM?LCD +--> ?PR?_LCDWRITEDATA?LCD ?PR?_LCDWRITEDATA?LCD ----- ----- ----- ----- +--> ?PR?_LCD1602_DELAY1MS?LCD -?PR?DETECTION?MAIN ----- ----- 0058H 0002H +?PR?DETECTION?MAIN ----- ----- 0014H 0002H +--> ?PR?_SINGLE_WRITE_BH1750?MAIN +--> ?PR?_DELAY_NMS?MAIN +--> ?PR?MULTIPLE_READ_BH1750?MAIN @@ -179,9 +164,6 @@ SEGMENT BIT_GROUP DATA_GROUP ?PR?BH1750_RECVACK?MAIN ----- ----- ----- ----- +--> ?PR?DELAY5US?MAIN - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 4 - - ?PR?BH1750_STOP?MAIN ----- ----- ----- ----- +--> ?PR?DELAY5US?MAIN @@ -197,17 +179,20 @@ SEGMENT BIT_GROUP DATA_GROUP ?PR?BH1750_RECVBYTE?MAIN ----- ----- ----- ----- +--> ?PR?DELAY5US?MAIN + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 4 + + ?PR?BH1750_SENDACK?MAIN 0020H.0 0000H.1 ----- ----- +--> ?PR?DELAY5US?MAIN -?PR?TEMPER_CHANGE?DS18B20 ----- ----- 005AH 0004H +?PR?TEMPER_CHANGE?DS18B20 ----- ----- 0016H 0004H +--> ?PR?DS18B20_READTEMP?DS18B20 -?PR?DS18B20_READTEMP?DS18B20 ----- ----- 005EH 0001H +?PR?DS18B20_READTEMP?DS18B20 ----- ----- 001AH 0001H +--> ?PR?_DS18B20_WRITEBYTE?DS18B20 +--> ?PR?DS18B20_READBYTE?DS18B20 -?PR?_DS18B20_WRITEBYTE?DS18B20 ----- ----- 005FH 0002H +?PR?_DS18B20_WRITEBYTE?DS18B20 ----- ----- 001BH 0002H +--> ?PR?DS18B20_INIT?DS18B20 +--> ?PR?_DELAY_MS?DS18B20 @@ -217,14 +202,7 @@ SEGMENT BIT_GROUP DATA_GROUP ?PR?DISPOSE?MAIN ----- ----- ----- ----- +--> ?PR?GETTIMERESULT?MAIN -?PR?GETTIMERESULT?MAIN ----- ----- 0058H 0006H - -?PR?PRINTF?PRINTF 0020H.0 0001H.1 0058H 001CH - +--> ?PR?PUTCHAR?PUTCHAR - -?PR?_BLUETOOTH_SET?MAIN ----- ----- ----- ----- - +--> ?PR?_SEND_UART?MAIN - +--> ?PR?_US_DELAY?MAIN +?PR?GETTIMERESULT?MAIN ----- ----- 0014H 0006H @@ -239,56 +217,58 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0090H PUBLIC P1 D:00A0H PUBLIC P2 D:00B0H PUBLIC P3 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 5 - - B:00A0H.5 PUBLIC LED0 B:00A8H.7 PUBLIC EA B:00A0H.6 PUBLIC LED1 B:00A0H.1 PUBLIC LED2 - C:1651H PUBLIC Delay5ms + C:0F83H PUBLIC Delay5ms B:00A0H.4 PUBLIC LED3 - C:143BH PUBLIC Multiple_read_BH1750 + C:0D94H PUBLIC Multiple_read_BH1750 B:0090H.0 PUBLIC SDA1 B:00A0H.3 PUBLIC LED4 - C:168CH PUBLIC _Send_Uart + C:0FBEH PUBLIC _Send_Uart B:0090H.7 PUBLIC LED5 - C:162EH PUBLIC _Single_Write_BH1750 - C:1640H PUBLIC Delay5us + C:0F60H PUBLIC _Single_Write_BH1750 + C:0F72H PUBLIC Delay5us B:0090H.1 PUBLIC SCL1 - C:15D8H PUBLIC Uart_Init - C:167EH PUBLIC BH1750_SendACK + C:0F0AH PUBLIC Uart_Init + C:0FB0H PUBLIC BH1750_SendACK B:00B0H.7 PUBLIC IN B:00A8H.4 PUBLIC ES - C:16B6H PUBLIC BH1750_RecvACK + C:0FE8H PUBLIC BH1750_RecvACK B:00D0H.7 PUBLIC CY B:0098H.1 PUBLIC TI - C:0B11H PUBLIC Detection - C:1228H PUBLIC main + C:048BH PUBLIC Detection + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 5 + + + C:0CFCH PUBLIC main D:0099H PUBLIC SBUF D:0087H PUBLIC PCON D:0098H PUBLIC SCON - C:16C3H PUBLIC Delay10ms + C:0FF5H PUBLIC Delay10ms D:0089H PUBLIC TMOD - D:0024H PUBLIC dis_data - C:1519H PUBLIC _delay_nms - C:15C0H PUBLIC _Bluetooth_Set - C:1660H PUBLIC BH1750_Start - D:0026H PUBLIC cut + D:0023H PUBLIC dis_data + C:0E4BH PUBLIC _delay_nms + C:0EF2H PUBLIC _Bluetooth_Set + C:0F92H PUBLIC BH1750_Start + D:0025H PUBLIC cut D:008DH PUBLIC TH1 - C:1701H PUBLIC Init_BH1750 - D:0028H PUBLIC userInfo + C:1033H PUBLIC Init_BH1750 + D:0027H PUBLIC userInfo D:008BH PUBLIC TL1 - C:1103H PUBLIC getTimeResult + C:0A7DH PUBLIC getTimeResult B:0088H.6 PUBLIC TR1 - C:1026H PUBLIC Dispose - C:16FAH PUBLIC _us_delay - C:1575H PUBLIC _BH1750_SendByte - D:0042H PUBLIC BUF - C:16D0H PUBLIC BH1750_Stop - C:1539H PUBLIC BH1750_RecvByte - D:004AH PUBLIC led_num - C:0DA3H PUBLIC LcdDisplay + B:00A0H.0 PUBLIC SDA + C:09A0H PUBLIC Dispose + C:102CH PUBLIC _us_delay + C:0EA7H PUBLIC _BH1750_SendByte + D:0041H PUBLIC BUF + C:1002H PUBLIC BH1750_Stop + C:0E6BH PUBLIC BH1750_RecvByte + B:00A0H.1 PUBLIC SCL + D:0049H PUBLIC led_num + C:071DH PUBLIC LcdDisplay B:00B0H.6 PUBLIC OUT B:0090H.2 PUBLIC key1 B:0090H.3 PUBLIC key2 @@ -299,469 +279,467 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0004H SYMBOL i D:0002H SYMBOL j ------- ENDDO - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 6 - - - C:1519H LINE# 93 - C:1519H LINE# 94 - C:1519H LINE# 96 - C:1523H LINE# 97 - C:1523H LINE# 98 - C:1526H LINE# 99 - C:1538H LINE# 100 + C:0E4BH LINE# 93 + C:0E4BH LINE# 94 + C:0E4BH LINE# 96 + C:0E55H LINE# 97 + C:0E55H LINE# 98 + C:0E58H LINE# 99 + C:0E6AH LINE# 100 ------- ENDPROC _DELAY_NMS ------- PROC DELAY5US - C:1640H LINE# 102 - C:1640H LINE# 103 - C:1640H LINE# 104 - C:1644H LINE# 105 - C:1648H LINE# 106 - C:164CH LINE# 107 - C:1650H LINE# 108 + C:0F72H LINE# 102 + C:0F72H LINE# 103 + C:0F72H LINE# 104 + C:0F76H LINE# 105 + C:0F7AH LINE# 106 + C:0F7EH LINE# 107 + C:0F82H LINE# 108 ------- ENDPROC DELAY5US ------- PROC DELAY5MS ------- DO D:0006H SYMBOL n + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 6 + + ------- ENDDO - C:1651H LINE# 110 - C:1651H LINE# 111 - C:1651H LINE# 112 - C:1655H LINE# 114 - C:165FH LINE# 115 + C:0F83H LINE# 110 + C:0F83H LINE# 111 + C:0F83H LINE# 112 + C:0F87H LINE# 114 + C:0F91H LINE# 115 ------- ENDPROC DELAY5MS ------- PROC BH1750_START - C:1660H LINE# 120 - C:1660H LINE# 121 - C:1660H LINE# 122 - C:1662H LINE# 123 - C:1664H LINE# 124 - C:1667H LINE# 125 - C:1669H LINE# 126 - C:166CH LINE# 127 - C:166EH LINE# 128 + C:0F92H LINE# 120 + C:0F92H LINE# 121 + C:0F92H LINE# 122 + C:0F94H LINE# 123 + C:0F96H LINE# 124 + C:0F99H LINE# 125 + C:0F9BH LINE# 126 + C:0F9EH LINE# 127 + C:0FA0H LINE# 128 ------- ENDPROC BH1750_START ------- PROC BH1750_STOP - C:16D0H LINE# 133 - C:16D0H LINE# 134 - C:16D0H LINE# 135 - C:16D2H LINE# 136 - C:16D4H LINE# 137 - C:16D7H LINE# 138 - C:16D9H LINE# 139 + C:1002H LINE# 133 + C:1002H LINE# 134 + C:1002H LINE# 135 + C:1004H LINE# 136 + C:1006H LINE# 137 + C:1009H LINE# 138 + C:100BH LINE# 139 ------- ENDPROC BH1750_STOP ------- PROC BH1750_SENDACK B:0020H.0 SYMBOL ack - C:167EH LINE# 146 - C:167EH LINE# 147 - C:167EH LINE# 148 - C:1682H LINE# 149 - C:1684H LINE# 150 - C:1687H LINE# 151 - C:1689H LINE# 152 + C:0FB0H LINE# 146 + C:0FB0H LINE# 147 + C:0FB0H LINE# 148 + C:0FB4H LINE# 149 + C:0FB6H LINE# 150 + C:0FB9H LINE# 151 + C:0FBBH LINE# 152 ------- ENDPROC BH1750_SENDACK - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 7 - - ------- PROC BH1750_RECVACK - C:16B6H LINE# 158 - C:16B6H LINE# 159 - C:16B6H LINE# 160 - C:16B8H LINE# 161 - C:16BBH LINE# 162 - C:16BDH LINE# 163 - C:16BFH LINE# 164 - C:16C2H LINE# 166 - C:16C2H LINE# 167 + C:0FE8H LINE# 158 + C:0FE8H LINE# 159 + C:0FE8H LINE# 160 + C:0FEAH LINE# 161 + C:0FEDH LINE# 162 + C:0FEFH LINE# 163 + C:0FF1H LINE# 164 + C:0FF4H LINE# 166 + C:0FF4H LINE# 167 ------- ENDPROC BH1750_RECVACK ------- PROC _BH1750_SENDBYTE D:0007H SYMBOL dat ------- DO D:0006H SYMBOL i ------- ENDDO - C:1575H LINE# 172 - C:1575H LINE# 173 - C:1575H LINE# 176 - C:1577H LINE# 177 - C:1577H LINE# 178 - C:157BH LINE# 179 - C:157DH LINE# 180 - C:157FH LINE# 181 - C:1582H LINE# 182 - C:1584H LINE# 183 - C:1587H LINE# 184 - C:158BH LINE# 185 + C:0EA7H LINE# 172 + C:0EA7H LINE# 173 + C:0EA7H LINE# 176 + C:0EA9H LINE# 177 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 7 + + + C:0EA9H LINE# 178 + C:0EADH LINE# 179 + C:0EAFH LINE# 180 + C:0EB1H LINE# 181 + C:0EB4H LINE# 182 + C:0EB6H LINE# 183 + C:0EB9H LINE# 184 + C:0EBDH LINE# 185 ------- ENDPROC _BH1750_SENDBYTE ------- PROC BH1750_RECVBYTE ------- DO D:0006H SYMBOL i D:0007H SYMBOL dat ------- ENDDO - C:1539H LINE# 191 - C:1539H LINE# 192 - C:1539H LINE# 194 - C:153BH LINE# 196 - C:153DH LINE# 197 - C:153EH LINE# 198 - C:153EH LINE# 199 - C:1542H LINE# 200 - C:1544H LINE# 201 - C:1547H LINE# 202 - C:154DH LINE# 203 - C:154FH LINE# 204 - C:1552H LINE# 205 - C:1556H LINE# 206 - C:1556H LINE# 207 + C:0E6BH LINE# 191 + C:0E6BH LINE# 192 + C:0E6BH LINE# 194 + C:0E6DH LINE# 196 + C:0E6FH LINE# 197 + C:0E70H LINE# 198 + C:0E70H LINE# 199 + C:0E74H LINE# 200 + C:0E76H LINE# 201 + C:0E79H LINE# 202 + C:0E7FH LINE# 203 + C:0E81H LINE# 204 + C:0E84H LINE# 205 + C:0E88H LINE# 206 + C:0E88H LINE# 207 ------- ENDPROC BH1750_RECVBYTE ------- PROC _SINGLE_WRITE_BH1750 D:0005H SYMBOL REG_Address - C:162EH LINE# 211 - C:1630H LINE# 212 - C:1630H LINE# 213 - C:1633H LINE# 214 - C:1638H LINE# 215 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 8 - - - C:163DH LINE# 217 + C:0F60H LINE# 211 + C:0F62H LINE# 212 + C:0F62H LINE# 213 + C:0F65H LINE# 214 + C:0F6AH LINE# 215 + C:0F6FH LINE# 217 ------- ENDPROC _SINGLE_WRITE_BH1750 ------- PROC MULTIPLE_READ_BH1750 ------- DO D:0005H SYMBOL i ------- ENDDO - C:143BH LINE# 240 - C:143BH LINE# 242 - C:143BH LINE# 243 - C:143EH LINE# 244 - C:1443H LINE# 246 - C:1445H LINE# 247 - C:1445H LINE# 248 - C:144EH LINE# 249 - C:1451H LINE# 250 - C:1451H LINE# 252 - C:1453H LINE# 253 - C:1455H LINE# 255 - C:1455H LINE# 256 - C:145AH LINE# 257 - C:145AH LINE# 258 - C:145EH LINE# 260 - C:1461H LINE# 261 + C:0D94H LINE# 227 + C:0D94H LINE# 229 + C:0D94H LINE# 230 + C:0D97H LINE# 231 + C:0D9CH LINE# 233 + C:0D9EH LINE# 234 + C:0D9EH LINE# 235 + C:0DA7H LINE# 236 + C:0DAAH LINE# 237 + C:0DAAH LINE# 239 + C:0DACH LINE# 240 + C:0DAEH LINE# 242 + C:0DAEH LINE# 243 + C:0DB3H LINE# 244 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 8 + + + C:0DB3H LINE# 245 + C:0DB7H LINE# 247 + C:0DBAH LINE# 248 ------- ENDPROC MULTIPLE_READ_BH1750 ------- PROC INIT_BH1750 - C:1701H LINE# 266 - C:1701H LINE# 267 - C:1701H LINE# 268 + C:1033H LINE# 253 + C:1033H LINE# 254 + C:1033H LINE# 255 ------- ENDPROC INIT_BH1750 ------- PROC UART_INIT - C:15D8H LINE# 272 - C:15D8H LINE# 273 - C:15D8H LINE# 274 - C:15DBH LINE# 275 - C:15DEH LINE# 276 - C:15E1H LINE# 277 - C:15E4H LINE# 278 - C:15E7H LINE# 279 - C:15E9H LINE# 280 - C:15EBH LINE# 281 - C:15EDH LINE# 282 + C:0F0AH LINE# 260 + C:0F0AH LINE# 261 + C:0F0AH LINE# 262 + C:0F0DH LINE# 263 + C:0F10H LINE# 264 + C:0F13H LINE# 265 + C:0F16H LINE# 266 + C:0F19H LINE# 267 + C:0F1BH LINE# 268 + C:0F1DH LINE# 269 + C:0F1FH LINE# 270 ------- ENDPROC UART_INIT ------- PROC _US_DELAY D:0007H SYMBOL t - C:16FAH LINE# 284 - C:16FAH LINE# 285 - C:16FAH LINE# 286 - C:1700H LINE# 287 + C:102CH LINE# 272 + C:102CH LINE# 273 + C:102CH LINE# 274 + C:1032H LINE# 275 ------- ENDPROC _US_DELAY ------- PROC _SEND_UART D:0007H SYMBOL value - C:168CH LINE# 289 - C:168CH LINE# 290 - C:168CH LINE# 291 - C:168EH LINE# 292 - C:1690H LINE# 293 - C:1692H LINE# 294 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 9 - - - C:1695H LINE# 295 - C:1697H LINE# 296 - C:1699H LINE# 297 + C:0FBEH LINE# 277 + C:0FBEH LINE# 278 + C:0FBEH LINE# 279 + C:0FC0H LINE# 280 + C:0FC2H LINE# 281 + C:0FC4H LINE# 282 + C:0FC7H LINE# 283 + C:0FC9H LINE# 284 + C:0FCBH LINE# 285 ------- ENDPROC _SEND_UART ------- PROC _BLUETOOTH_SET D:0001H SYMBOL puf - C:15C0H LINE# 299 - C:15C0H LINE# 300 - C:15C0H LINE# 301 - C:15C6H LINE# 302 - C:15C6H LINE# 303 - C:15C9H LINE# 304 - C:15CEH LINE# 305 - C:15D5H LINE# 306 - C:15D7H LINE# 307 + C:0EF2H LINE# 287 + C:0EF2H LINE# 288 + C:0EF2H LINE# 289 + C:0EF8H LINE# 290 + C:0EF8H LINE# 291 + C:0EFBH LINE# 292 + C:0F00H LINE# 293 + C:0F07H LINE# 294 + C:0F09H LINE# 295 ------- ENDPROC _BLUETOOTH_SET ------- PROC DETECTION ------- DO - D:0022H SYMBOL num - D:0058H SYMBOL i + D:0021H SYMBOL num + D:0014H SYMBOL i + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 9 + + ------- ENDDO - C:0B11H LINE# 309 - C:0B11H LINE# 310 - C:0B11H LINE# 312 - C:0B16H LINE# 313 - C:0B1BH LINE# 314 - C:0B20H LINE# 315 - C:0B27H LINE# 316 - C:0B2AH LINE# 317 - C:0B30H LINE# 318 - C:0B3EH LINE# 319 - C:0B57H LINE# 321 - C:0B5EH LINE# 322 - C:0B69H LINE# 323 - C:0B6CH LINE# 324 - C:0B6CH LINE# 325 - C:0B6FH LINE# 326 - C:0B72H LINE# 327 - C:0B78H LINE# 328 - C:0B85H LINE# 329 - C:0B8AH LINE# 330 - C:0B98H LINE# 331 - C:0B9CH LINE# 332 - C:0B9CH LINE# 333 - C:0B9CH LINE# 334 - C:0BACH LINE# 335 - C:0BAFH LINE# 336 - C:0BB7H LINE# 337 - C:0BB9H LINE# 338 - C:0BBEH LINE# 339 - C:0BBEH LINE# 341 - C:0BC1H LINE# 342 - C:0BC1H LINE# 343 - C:0BC4H LINE# 344 - C:0BC7H LINE# 345 - C:0BCDH LINE# 346 - C:0BD5H LINE# 347 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 10 - - - C:0BE5H LINE# 348 - C:0BE7H LINE# 349 - C:0BF4H LINE# 350 - C:0BF9H LINE# 351 - C:0BFEH LINE# 352 - C:0BFEH LINE# 353 - C:0C03H LINE# 354 - C:0C03H LINE# 355 - C:0C13H LINE# 356 - C:0C16H LINE# 357 - C:0C1EH LINE# 358 - C:0C20H LINE# 359 - C:0C25H LINE# 360 - C:0C25H LINE# 362 - C:0C28H LINE# 363 - C:0C28H LINE# 364 - C:0C2BH LINE# 365 - C:0C2EH LINE# 366 - C:0C36H LINE# 367 - C:0C47H LINE# 368 - C:0C47H LINE# 369 - C:0C57H LINE# 370 - C:0C5AH LINE# 371 - C:0C62H LINE# 372 - C:0C64H LINE# 373 - C:0C69H LINE# 374 - C:0C69H LINE# 376 - C:0C6CH LINE# 377 - C:0C6CH LINE# 378 - C:0C6FH LINE# 379 - C:0C72H LINE# 380 - C:0C7AH LINE# 381 - C:0C88H LINE# 382 - C:0C88H LINE# 383 - C:0C98H LINE# 384 - C:0C9BH LINE# 385 - C:0CA3H LINE# 386 - C:0CA5H LINE# 387 - C:0CAAH LINE# 388 - C:0CAAH LINE# 390 - C:0CADH LINE# 391 - C:0CADH LINE# 392 - C:0CB0H LINE# 393 - C:0CB3H LINE# 394 - C:0CBBH LINE# 395 - C:0CCBH LINE# 396 - C:0CCBH LINE# 397 - C:0CDBH LINE# 398 - C:0CDEH LINE# 399 - C:0CE6H LINE# 400 - C:0CE8H LINE# 401 - C:0CEDH LINE# 402 - C:0CEDH LINE# 404 - C:0CF3H LINE# 405 - C:0CF3H LINE# 406 - C:0CF6H LINE# 407 - C:0CFCH LINE# 408 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 11 - - - C:0D02H LINE# 409 - C:0D0AH LINE# 410 - C:0D1AH LINE# 411 - C:0D24H LINE# 412 - C:0D2CH LINE# 413 - C:0D3CH LINE# 414 - C:0D46H LINE# 415 - C:0D4EH LINE# 416 - C:0D5EH LINE# 417 - C:0D68H LINE# 418 - C:0D70H LINE# 419 - C:0D80H LINE# 420 - C:0D80H LINE# 421 - C:0D90H LINE# 422 - C:0D93H LINE# 423 - C:0D9BH LINE# 424 - C:0D9DH LINE# 425 - C:0DA2H LINE# 426 - C:0DA2H LINE# 427 - C:0DA2H LINE# 428 + C:048BH LINE# 299 + C:048BH LINE# 300 + C:048BH LINE# 302 + C:0490H LINE# 303 + C:0495H LINE# 304 + C:049AH LINE# 305 + C:04A1H LINE# 306 + C:04A4H LINE# 307 + C:04AAH LINE# 308 + C:04B8H LINE# 309 + C:04D1H LINE# 311 + C:04D8H LINE# 312 + C:04E3H LINE# 315 + C:04E6H LINE# 316 + C:04E6H LINE# 317 + C:04E9H LINE# 318 + C:04ECH LINE# 319 + C:04F2H LINE# 320 + C:04FFH LINE# 321 + C:0504H LINE# 322 + C:0512H LINE# 323 + C:0516H LINE# 324 + C:0516H LINE# 325 + C:0516H LINE# 326 + C:0526H LINE# 327 + C:0529H LINE# 328 + C:0531H LINE# 329 + C:0533H LINE# 330 + C:0538H LINE# 331 + C:0538H LINE# 334 + C:053BH LINE# 335 + C:053BH LINE# 336 + C:053EH LINE# 337 + C:0541H LINE# 338 + C:0547H LINE# 339 + C:054FH LINE# 340 + C:055FH LINE# 341 + C:0561H LINE# 342 + C:056EH LINE# 343 + C:0573H LINE# 344 + C:0578H LINE# 345 + C:0578H LINE# 346 + C:057DH LINE# 347 + C:057DH LINE# 348 + C:058DH LINE# 349 + C:0590H LINE# 350 + C:0598H LINE# 351 + C:059AH LINE# 352 + C:059FH LINE# 353 + C:059FH LINE# 355 + C:05A2H LINE# 356 + C:05A2H LINE# 357 + C:05A5H LINE# 358 + C:05A8H LINE# 359 + C:05B0H LINE# 360 + C:05C1H LINE# 361 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 10 + + + C:05C1H LINE# 362 + C:05D1H LINE# 363 + C:05D4H LINE# 364 + C:05DCH LINE# 365 + C:05DEH LINE# 366 + C:05E3H LINE# 367 + C:05E3H LINE# 370 + C:05E6H LINE# 371 + C:05E6H LINE# 372 + C:05E9H LINE# 373 + C:05ECH LINE# 374 + C:05F4H LINE# 375 + C:0602H LINE# 376 + C:0602H LINE# 377 + C:0612H LINE# 378 + C:0615H LINE# 379 + C:061DH LINE# 380 + C:061FH LINE# 381 + C:0624H LINE# 382 + C:0624H LINE# 385 + C:0627H LINE# 386 + C:0627H LINE# 387 + C:062AH LINE# 388 + C:062DH LINE# 389 + C:0635H LINE# 390 + C:0645H LINE# 391 + C:0645H LINE# 392 + C:0655H LINE# 393 + C:0658H LINE# 394 + C:0660H LINE# 395 + C:0662H LINE# 396 + C:0667H LINE# 397 + C:0667H LINE# 400 + C:066DH LINE# 401 + C:066DH LINE# 402 + C:0670H LINE# 403 + C:0676H LINE# 405 + C:067CH LINE# 406 + C:0684H LINE# 407 + C:0694H LINE# 408 + C:069EH LINE# 409 + C:06A6H LINE# 410 + C:06B6H LINE# 411 + C:06C0H LINE# 412 + C:06C8H LINE# 413 + C:06D8H LINE# 414 + C:06E2H LINE# 415 + C:06EAH LINE# 416 + C:06FAH LINE# 417 + C:06FAH LINE# 418 + C:070AH LINE# 419 + C:070DH LINE# 420 + C:0715H LINE# 421 + C:0717H LINE# 422 + C:071CH LINE# 423 + C:071CH LINE# 424 + C:071CH LINE# 425 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 11 + + ------- ENDPROC DETECTION ------- PROC GETTIMERESULT ------- DO D:0004H SYMBOL result - D:0058H SYMBOL Nowtime + D:0014H SYMBOL Nowtime ------- ENDDO - C:1103H LINE# 431 - C:1103H LINE# 432 - C:1103H LINE# 433 - C:1107H LINE# 436 - C:1120H LINE# 437 - C:1137H LINE# 439 - C:115BH LINE# 440 - C:1178H LINE# 441 - C:1197H LINE# 443 - C:119BH LINE# 444 + C:0A7DH LINE# 429 + C:0A7DH LINE# 430 + C:0A7DH LINE# 431 + C:0A81H LINE# 434 + C:0A9AH LINE# 435 + C:0AB1H LINE# 437 + C:0AD5H LINE# 438 + C:0AF2H LINE# 439 + C:0B11H LINE# 441 + C:0B15H LINE# 442 ------- ENDPROC GETTIMERESULT ------- PROC DISPOSE - C:1026H LINE# 447 - C:1026H LINE# 448 - C:1026H LINE# 450 - C:102FH LINE# 451 - C:104AH LINE# 452 - C:1065H LINE# 453 - C:1080H LINE# 454 - C:109BH LINE# 455 - C:10AAH LINE# 458 - C:10AAH LINE# 459 - C:10AAH LINE# 460 - C:10ACH LINE# 461 - C:10B2H LINE# 462 - C:10C4H LINE# 463 - C:10D2H LINE# 464 - C:10E0H LINE# 465 - C:10F0H LINE# 466 - C:10F2H LINE# 467 - C:10FAH LINE# 468 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 12 - - - C:10FAH LINE# 469 - C:10FAH LINE# 470 - C:1102H LINE# 471 + C:09A0H LINE# 446 + C:09A0H LINE# 447 + C:09A0H LINE# 449 + C:09A9H LINE# 450 + C:09C4H LINE# 451 + C:09DFH LINE# 452 + C:09FAH LINE# 453 + C:0A15H LINE# 454 + C:0A24H LINE# 457 + C:0A24H LINE# 458 + C:0A24H LINE# 459 + C:0A26H LINE# 460 + C:0A2CH LINE# 461 + C:0A3EH LINE# 462 + C:0A4CH LINE# 463 + C:0A5AH LINE# 464 + C:0A6AH LINE# 465 + C:0A6CH LINE# 466 + C:0A74H LINE# 467 + C:0A74H LINE# 468 + C:0A74H LINE# 469 + C:0A7CH LINE# 470 ------- ENDPROC DISPOSE ------- PROC MAIN ------- DO - D:004CH SYMBOL i - D:004EH SYMBOL str + D:0008H SYMBOL i + D:000AH SYMBOL str ------- ENDDO - C:1228H LINE# 473 - C:1228H LINE# 474 - C:1228H LINE# 475 - C:122DH LINE# 477 - C:1230H LINE# 478 - C:1233H LINE# 479 - C:1236H LINE# 481 - C:123CH LINE# 482 - C:1241H LINE# 483 - C:1245H LINE# 485 - C:124AH LINE# 486 - C:124FH LINE# 487 - C:1253H LINE# 489 - C:1253H LINE# 490 - C:1253H LINE# 491 - C:1256H LINE# 492 - C:1259H LINE# 493 - C:125CH LINE# 494 - C:125FH LINE# 495 - C:1277H LINE# 496 - C:1280H LINE# 497 + C:0CFCH LINE# 473 + C:0CFCH LINE# 474 + C:0CFCH LINE# 475 + C:0D01H LINE# 477 + C:0D04H LINE# 478 + C:0D07H LINE# 479 + C:0D0AH LINE# 481 + C:0D10H LINE# 482 + C:0D15H LINE# 483 + C:0D19H LINE# 485 + C:0D1EH LINE# 486 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 12 + + + C:0D23H LINE# 487 + C:0D27H LINE# 489 + C:0D27H LINE# 490 + C:0D27H LINE# 491 + C:0D2AH LINE# 492 + C:0D2DH LINE# 493 + C:0D30H LINE# 494 + C:0D33H LINE# 495 ------- ENDPROC MAIN ------- PROC LCDDISPLAY ------- DO - D:0058H SYMBOL temp_data + D:0014H SYMBOL temp_data ------- ENDDO - C:0DA3H LINE# 500 - C:0DA3H LINE# 501 - C:0DA3H LINE# 503 - C:0DAEH LINE# 505 - C:0DB1H LINE# 506 - C:0DBCH LINE# 507 - C:0DC6H LINE# 508 - C:0DCBH LINE# 509 - C:0DD6H LINE# 510 - C:0DE0H LINE# 511 - C:0DE5H LINE# 513 - C:0DF0H LINE# 514 - C:0DFAH LINE# 515 - C:0DFFH LINE# 516 - C:0E0AH LINE# 517 - C:0E14H LINE# 518 - C:0E19H LINE# 519 - C:0E24H LINE# 520 - C:0E2EH LINE# 522 - C:0E33H LINE# 523 - C:0E3DH LINE# 525 - C:0E42H LINE# 526 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 13 - - - C:0E51H LINE# 527 - C:0E5CH LINE# 528 - C:0E6EH LINE# 529 - C:0E7DH LINE# 530 - C:0E8FH LINE# 531 - C:0E9EH LINE# 532 - C:0EB0H LINE# 533 - C:0EBFH LINE# 534 - C:0EC7H LINE# 535 - C:0ECCH LINE# 536 - C:0ED1H LINE# 537 - C:0ED6H LINE# 538 - C:0EE8H LINE# 539 - C:0EFAH LINE# 540 - C:0EFFH LINE# 542 - C:0F04H LINE# 543 - C:0F1DH LINE# 544 - C:0F21H LINE# 545 - C:0F24H LINE# 546 - C:0F27H LINE# 547 - C:0F39H LINE# 548 - C:0F4BH LINE# 549 - C:0F50H LINE# 550 - C:0F62H LINE# 551 - C:0F74H LINE# 552 - C:0F79H LINE# 553 - C:0F8BH LINE# 554 - C:0F9DH LINE# 555 - C:0FA2H LINE# 557 - C:0FAAH LINE# 559 - C:0FAFH LINE# 560 - C:0FC1H LINE# 561 - C:0FD3H LINE# 562 - C:0FD8H LINE# 563 - C:0FEAH LINE# 564 - C:0FFCH LINE# 565 - C:1001H LINE# 566 - C:1013H LINE# 567 - C:1025H LINE# 568 - C:1025H LINE# 569 + C:071DH LINE# 499 + C:071DH LINE# 500 + C:071DH LINE# 502 + C:0728H LINE# 504 + C:072BH LINE# 505 + C:0736H LINE# 506 + C:0740H LINE# 507 + C:0745H LINE# 508 + C:0750H LINE# 509 + C:075AH LINE# 510 + C:075FH LINE# 512 + C:076AH LINE# 513 + C:0774H LINE# 514 + C:0779H LINE# 515 + C:0784H LINE# 516 + C:078EH LINE# 517 + C:0793H LINE# 518 + C:079EH LINE# 519 + C:07A8H LINE# 521 + C:07ADH LINE# 522 + C:07B7H LINE# 524 + C:07BCH LINE# 525 + C:07CBH LINE# 526 + C:07D6H LINE# 527 + C:07E8H LINE# 528 + C:07F7H LINE# 529 + C:0809H LINE# 530 + C:0818H LINE# 531 + C:082AH LINE# 532 + C:0839H LINE# 533 + C:0841H LINE# 534 + C:0846H LINE# 535 + C:084BH LINE# 536 + C:0850H LINE# 537 + C:0862H LINE# 538 + C:0874H LINE# 539 + C:0879H LINE# 541 + C:087EH LINE# 542 + C:0897H LINE# 543 + C:089BH LINE# 544 + C:089EH LINE# 545 + C:08A1H LINE# 546 + C:08B3H LINE# 547 + C:08C5H LINE# 548 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 13 + + + C:08CAH LINE# 549 + C:08DCH LINE# 550 + C:08EEH LINE# 551 + C:08F3H LINE# 552 + C:0905H LINE# 553 + C:0917H LINE# 554 + C:091CH LINE# 556 + C:0924H LINE# 558 + C:0929H LINE# 559 + C:093BH LINE# 560 + C:094DH LINE# 561 + C:0952H LINE# 562 + C:0964H LINE# 563 + C:0976H LINE# 564 + C:097BH LINE# 565 + C:098DH LINE# 566 + C:099FH LINE# 567 + C:099FH LINE# 568 ------- ENDPROC LCDDISPLAY ------- PROC DELAY10MS ------- DO @@ -769,29 +747,26 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0006H SYMBOL b D:0007H SYMBOL c ------- ENDDO - C:16C3H LINE# 572 - C:16C3H LINE# 573 - C:16C3H LINE# 575 - C:16C5H LINE# 576 - C:16C7H LINE# 577 - C:16CFH LINE# 578 + C:0FF5H LINE# 571 + C:0FF5H LINE# 572 + C:0FF5H LINE# 574 + C:0FF7H LINE# 575 + C:0FF9H LINE# 576 + C:1001H LINE# 577 ------- ENDPROC DELAY10MS ------- ENDMOD MAIN ------- MODULE LCD - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 14 - - C:0000H SYMBOL _ICE_DUMMY_ D:0080H PUBLIC P0 D:0090H PUBLIC P1 - C:16E6H PUBLIC _LcdWriteData + C:1018H PUBLIC _LcdWriteData B:0090H.6 PUBLIC LCD1602_RS B:0090H.5 PUBLIC LCD1602_RW - C:158EH PUBLIC LcdInit + C:0EC0H PUBLIC LcdInit B:0090H.4 PUBLIC LCD1602_E - C:16DCH PUBLIC _LcdWriteCom - C:1422H PUBLIC _Lcd1602_Delay1ms + C:100EH PUBLIC _LcdWriteCom + C:0D7BH PUBLIC _Lcd1602_Delay1ms ------- PROC L?0015 ------- ENDPROC L?0015 ------- PROC _LCD1602_DELAY1MS @@ -800,110 +775,110 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0004H SYMBOL a D:0005H SYMBOL b ------- ENDDO - C:1422H LINE# 11 - C:1422H LINE# 12 - C:1422H LINE# 14 - C:142BH LINE# 15 - C:142BH LINE# 16 - C:142DH LINE# 17 - C:142DH LINE# 18 - C:1431H LINE# 19 - C:1433H LINE# 20 - C:143AH LINE# 22 + C:0D7BH LINE# 11 + C:0D7BH LINE# 12 + C:0D7BH LINE# 14 + C:0D84H LINE# 15 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 14 + + + C:0D84H LINE# 16 + C:0D86H LINE# 17 + C:0D86H LINE# 18 + C:0D8AH LINE# 19 + C:0D8CH LINE# 20 + C:0D93H LINE# 22 ------- ENDPROC _LCD1602_DELAY1MS ------- PROC _LCDWRITECOM D:0007H SYMBOL com - C:16DCH LINE# 31 - C:16DCH LINE# 32 - C:16DCH LINE# 33 - C:16DEH LINE# 34 - C:16E0H LINE# 35 - C:16E0H LINE# 37 - C:16E0H LINE# 38 - C:16E0H LINE# 40 - C:16E0H LINE# 41 - C:16E3H LINE# 42 - C:16E5H LINE# 43 + C:100EH LINE# 31 + C:100EH LINE# 32 + C:100EH LINE# 33 + C:1010H LINE# 34 + C:1012H LINE# 35 + C:1012H LINE# 37 + C:1012H LINE# 38 + C:1012H LINE# 40 + C:1012H LINE# 41 + C:1015H LINE# 42 + C:1017H LINE# 43 ------- ENDPROC _LCDWRITECOM ------- PROC _LCDWRITEDATA D:0007H SYMBOL dat - C:16E6H LINE# 74 - C:16E6H LINE# 75 - C:16E6H LINE# 76 - C:16E8H LINE# 77 - C:16EAH LINE# 78 - C:16EAH LINE# 80 - C:16EAH LINE# 81 - C:16EAH LINE# 83 - C:16EAH LINE# 84 - C:16EDH LINE# 85 - C:16EFH LINE# 86 + C:1018H LINE# 74 + C:1018H LINE# 75 + C:1018H LINE# 76 + C:101AH LINE# 77 + C:101CH LINE# 78 + C:101CH LINE# 80 + C:101CH LINE# 81 + C:101CH LINE# 83 + C:101CH LINE# 84 + C:101FH LINE# 85 + C:1021H LINE# 86 ------- ENDPROC _LCDWRITEDATA - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 15 - - ------- PROC LCDINIT - C:158EH LINE# 116 - C:158EH LINE# 117 - C:158EH LINE# 118 - C:1593H LINE# 119 - C:1598H LINE# 120 - C:159DH LINE# 121 - C:15A2H LINE# 122 + C:0EC0H LINE# 116 + C:0EC0H LINE# 117 + C:0EC0H LINE# 118 + C:0EC5H LINE# 119 + C:0ECAH LINE# 120 + C:0ECFH LINE# 121 + C:0ED4H LINE# 122 ------- ENDPROC LCDINIT ------- ENDMOD LCD ------- MODULE DS1302 C:0000H SYMBOL _ICE_DUMMY_ D:00B0H PUBLIC P3 - C:13DCH PUBLIC _Ds1302Write - C:1604H PUBLIC Ds1302ReadTime - C:161AH PUBLIC Ds1302Init + C:0D35H PUBLIC _Ds1302Write + C:0F36H PUBLIC Ds1302ReadTime + C:0F4CH PUBLIC Ds1302Init B:00B0H.5 PUBLIC SCLK - D:0008H PUBLIC TIME + D:004BH PUBLIC TIME B:00B0H.4 PUBLIC DSIO - C:16A1H PUBLIC WRITE_RTC_ADDR - C:169AH PUBLIC READ_RTC_ADDR + C:0FD3H PUBLIC WRITE_RTC_ADDR + C:0FCCH PUBLIC READ_RTC_ADDR + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 15 + + B:00B0H.3 PUBLIC RST - C:12D1H PUBLIC _Ds1302Read + C:0BF1H PUBLIC _Ds1302Read ------- PROC _DS1302WRITE D:0007H SYMBOL addr D:0005H SYMBOL dat ------- DO D:0006H SYMBOL n ------- ENDDO - C:13DCH LINE# 14 - C:13DCH LINE# 15 - C:13DCH LINE# 17 - C:13DEH LINE# 18 - C:13DFH LINE# 20 - C:13E1H LINE# 21 - C:13E2H LINE# 22 - C:13E4H LINE# 23 - C:13E5H LINE# 25 - C:13E7H LINE# 26 - C:13E7H LINE# 27 - C:13EBH LINE# 28 - C:13EFH LINE# 29 - C:13F1H LINE# 30 - C:13F2H LINE# 31 - C:13F4H LINE# 32 - C:13F5H LINE# 33 - C:13F9H LINE# 34 - C:13FBH LINE# 35 - C:13FBH LINE# 36 - C:13FFH LINE# 37 - C:1403H LINE# 38 - C:1405H LINE# 39 - C:1406H LINE# 40 - C:1408H LINE# 41 - C:1409H LINE# 42 - C:140DH LINE# 44 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 16 - - - C:140FH LINE# 45 - C:1410H LINE# 46 + C:0D35H LINE# 14 + C:0D35H LINE# 15 + C:0D35H LINE# 17 + C:0D37H LINE# 18 + C:0D38H LINE# 20 + C:0D3AH LINE# 21 + C:0D3BH LINE# 22 + C:0D3DH LINE# 23 + C:0D3EH LINE# 25 + C:0D40H LINE# 26 + C:0D40H LINE# 27 + C:0D44H LINE# 28 + C:0D48H LINE# 29 + C:0D4AH LINE# 30 + C:0D4BH LINE# 31 + C:0D4DH LINE# 32 + C:0D4EH LINE# 33 + C:0D52H LINE# 34 + C:0D54H LINE# 35 + C:0D54H LINE# 36 + C:0D58H LINE# 37 + C:0D5CH LINE# 38 + C:0D5EH LINE# 39 + C:0D5FH LINE# 40 + C:0D61H LINE# 41 + C:0D62H LINE# 42 + C:0D66H LINE# 44 + C:0D68H LINE# 45 + C:0D69H LINE# 46 ------- ENDPROC _DS1302WRITE ------- PROC _DS1302READ D:0007H SYMBOL addr @@ -912,124 +887,124 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0006H SYMBOL dat D:0007H SYMBOL dat1 ------- ENDDO - C:12D1H LINE# 48 - C:12D1H LINE# 49 - C:12D1H LINE# 51 - C:12D3H LINE# 52 - C:12D4H LINE# 54 - C:12D6H LINE# 55 - C:12D7H LINE# 56 - C:12D9H LINE# 57 - C:12DAH LINE# 59 - C:12DCH LINE# 60 - C:12DCH LINE# 61 - C:12E0H LINE# 62 - C:12E4H LINE# 63 - C:12E6H LINE# 64 - C:12E7H LINE# 65 - C:12E9H LINE# 66 - C:12EAH LINE# 67 - C:12EEH LINE# 68 - C:12EFH LINE# 69 - C:12F1H LINE# 70 - C:12F1H LINE# 71 - C:12F6H LINE# 72 - C:1302H LINE# 73 - C:1304H LINE# 74 - C:1305H LINE# 75 - C:1307H LINE# 76 - C:1308H LINE# 77 - C:130CH LINE# 79 - C:130EH LINE# 80 - C:130FH LINE# 81 - C:1311H LINE# 82 - C:1312H LINE# 83 - C:1314H LINE# 84 - C:1315H LINE# 85 - C:1317H LINE# 86 - C:1318H LINE# 87 - C:131AH LINE# 88 + C:0BF1H LINE# 48 + C:0BF1H LINE# 49 + C:0BF1H LINE# 51 + C:0BF3H LINE# 52 + C:0BF4H LINE# 54 + C:0BF6H LINE# 55 + C:0BF7H LINE# 56 + C:0BF9H LINE# 57 + C:0BFAH LINE# 59 + C:0BFCH LINE# 60 + C:0BFCH LINE# 61 + C:0C00H LINE# 62 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 16 + + + C:0C04H LINE# 63 + C:0C06H LINE# 64 + C:0C07H LINE# 65 + C:0C09H LINE# 66 + C:0C0AH LINE# 67 + C:0C0EH LINE# 68 + C:0C0FH LINE# 69 + C:0C11H LINE# 70 + C:0C11H LINE# 71 + C:0C16H LINE# 72 + C:0C22H LINE# 73 + C:0C24H LINE# 74 + C:0C25H LINE# 75 + C:0C27H LINE# 76 + C:0C28H LINE# 77 + C:0C2CH LINE# 79 + C:0C2EH LINE# 80 + C:0C2FH LINE# 81 + C:0C31H LINE# 82 + C:0C32H LINE# 83 + C:0C34H LINE# 84 + C:0C35H LINE# 85 + C:0C37H LINE# 86 + C:0C38H LINE# 87 + C:0C3AH LINE# 88 ------- ENDPROC _DS1302READ ------- PROC DS1302INIT ------- DO D:0007H SYMBOL n ------- ENDDO - C:161AH LINE# 90 - C:161AH LINE# 91 - C:161AH LINE# 93 - C:1621H LINE# 94 - C:1623H LINE# 95 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 17 - - - C:1623H LINE# 97 - C:1627H LINE# 98 + C:0F4CH LINE# 90 + C:0F4CH LINE# 91 + C:0F4CH LINE# 93 + C:0F53H LINE# 94 + C:0F55H LINE# 95 + C:0F55H LINE# 97 + C:0F59H LINE# 98 ------- ENDPROC DS1302INIT ------- PROC DS1302READTIME ------- DO D:0003H SYMBOL n ------- ENDDO - C:1604H LINE# 101 - C:1604H LINE# 102 - C:1604H LINE# 104 - C:1606H LINE# 105 - C:1606H LINE# 106 - C:1615H LINE# 107 - C:1619H LINE# 108 + C:0F36H LINE# 101 + C:0F36H LINE# 102 + C:0F36H LINE# 104 + C:0F38H LINE# 105 + C:0F38H LINE# 106 + C:0F47H LINE# 107 + C:0F4BH LINE# 108 ------- ENDPROC DS1302READTIME ------- ENDMOD DS1302 ------- MODULE I2C C:0000H SYMBOL _ICE_DUMMY_ D:00A0H PUBLIC P2 - C:135DH PUBLIC _I2cSendByte - C:16F0H PUBLIC I2cStop - C:16ADH PUBLIC Delay10us + C:0C7DH PUBLIC _I2cSendByte + C:1022H PUBLIC I2cStop + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 17 + + + C:0FDFH PUBLIC Delay10us B:00A0H.0 PUBLIC SDA - C:14D6H PUBLIC _At24c02Read + C:0E08H PUBLIC _At24c02Read B:00A0H.1 PUBLIC SCL - C:166FH PUBLIC I2cStart - C:15A7H PUBLIC _At24c02Write - C:148BH PUBLIC I2cReadByte - C:16A8H SYMBOL L?0024 + C:0FA1H PUBLIC I2cStart + C:0ED9H PUBLIC _At24c02Write + C:0DBDH PUBLIC I2cReadByte + C:0FDAH SYMBOL L?0024 ------- PROC L?0023 ------- ENDPROC L?0023 - C:16A8H SYMBOL L?0024 + C:0FDAH SYMBOL L?0024 ------- PROC DELAY10US ------- DO D:0006H SYMBOL a D:0007H SYMBOL b ------- ENDDO - C:16ADH LINE# 10 - C:16ADH LINE# 11 - C:16ADH LINE# 13 - C:16AFH LINE# 14 - C:16B5H LINE# 16 + C:0FDFH LINE# 10 + C:0FDFH LINE# 11 + C:0FDFH LINE# 13 + C:0FE1H LINE# 14 + C:0FE7H LINE# 16 ------- ENDPROC DELAY10US ------- PROC I2CSTART - C:166FH LINE# 25 - C:166FH LINE# 26 - C:166FH LINE# 27 - C:1671H LINE# 28 - C:1671H LINE# 29 - C:1671H LINE# 30 - C:1674H LINE# 31 - C:1676H LINE# 32 - C:1679H LINE# 33 - C:167BH LINE# 34 + C:0FA1H LINE# 25 + C:0FA1H LINE# 26 + C:0FA1H LINE# 27 + C:0FA3H LINE# 28 + C:0FA3H LINE# 29 + C:0FA3H LINE# 30 + C:0FA6H LINE# 31 + C:0FA8H LINE# 32 + C:0FABH LINE# 33 + C:0FADH LINE# 34 ------- ENDPROC I2CSTART ------- PROC I2CSTOP - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 18 - - - C:16F0H LINE# 44 - C:16F0H LINE# 45 - C:16F0H LINE# 46 - C:16F2H LINE# 47 - C:16F2H LINE# 48 - C:16F2H LINE# 49 - C:16F5H LINE# 50 - C:16F7H LINE# 51 + C:1022H LINE# 44 + C:1022H LINE# 45 + C:1022H LINE# 46 + C:1024H LINE# 47 + C:1024H LINE# 48 + C:1024H LINE# 49 + C:1027H LINE# 50 + C:1029H LINE# 51 ------- ENDPROC I2CSTOP ------- PROC _I2CSENDBYTE D:0005H SYMBOL dat @@ -1037,140 +1012,143 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0003H SYMBOL a D:0002H SYMBOL b ------- ENDDO - C:135DH LINE# 61 - C:135FH LINE# 62 - C:135FH LINE# 63 - C:1362H LINE# 64 - C:1362H LINE# 65 - C:1362H LINE# 66 - C:136DH LINE# 67 - C:1371H LINE# 68 - C:1371H LINE# 69 - C:1371H LINE# 70 - C:1374H LINE# 71 - C:1376H LINE# 72 - C:1379H LINE# 73 - C:137DH LINE# 74 - C:137FH LINE# 75 - C:1382H LINE# 76 - C:1384H LINE# 77 - C:1387H LINE# 78 - C:1387H LINE# 79 - C:1388H LINE# 80 - C:138EH LINE# 81 - C:138EH LINE# 82 - C:1390H LINE# 83 - C:1393H LINE# 84 - C:1396H LINE# 85 - C:1396H LINE# 86 - C:1396H LINE# 87 - C:1398H LINE# 88 - C:139BH LINE# 89 - C:139DH LINE# 90 + C:0C7DH LINE# 61 + C:0C7FH LINE# 62 + C:0C7FH LINE# 63 + C:0C82H LINE# 64 + C:0C82H LINE# 65 + C:0C82H LINE# 66 + C:0C8DH LINE# 67 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 18 + + + C:0C91H LINE# 68 + C:0C91H LINE# 69 + C:0C91H LINE# 70 + C:0C94H LINE# 71 + C:0C96H LINE# 72 + C:0C99H LINE# 73 + C:0C9DH LINE# 74 + C:0C9FH LINE# 75 + C:0CA2H LINE# 76 + C:0CA4H LINE# 77 + C:0CA7H LINE# 78 + C:0CA7H LINE# 79 + C:0CA8H LINE# 80 + C:0CAEH LINE# 81 + C:0CAEH LINE# 82 + C:0CB0H LINE# 83 + C:0CB3H LINE# 84 + C:0CB6H LINE# 85 + C:0CB6H LINE# 86 + C:0CB6H LINE# 87 + C:0CB8H LINE# 88 + C:0CBBH LINE# 89 + C:0CBDH LINE# 90 ------- ENDPROC _I2CSENDBYTE ------- PROC I2CREADBYTE ------- DO D:0005H SYMBOL a D:0004H SYMBOL dat ------- ENDDO - C:148BH LINE# 99 - C:148BH LINE# 100 - C:148BH LINE# 101 - C:148EH LINE# 102 - C:1490H LINE# 103 - C:1493H LINE# 104 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 19 - - - C:1493H LINE# 105 - C:1493H LINE# 106 - C:1495H LINE# 107 - C:1498H LINE# 108 - C:149CH LINE# 109 - C:14A2H LINE# 110 - C:14A5H LINE# 111 - C:14A7H LINE# 112 - C:14AAH LINE# 113 - C:14AEH LINE# 114 - C:14B0H LINE# 115 + C:0DBDH LINE# 99 + C:0DBDH LINE# 100 + C:0DBDH LINE# 101 + C:0DC0H LINE# 102 + C:0DC2H LINE# 103 + C:0DC5H LINE# 104 + C:0DC5H LINE# 105 + C:0DC5H LINE# 106 + C:0DC7H LINE# 107 + C:0DCAH LINE# 108 + C:0DCEH LINE# 109 + C:0DD4H LINE# 110 + C:0DD7H LINE# 111 + C:0DD9H LINE# 112 + C:0DDCH LINE# 113 + C:0DE0H LINE# 114 + C:0DE2H LINE# 115 ------- ENDPROC I2CREADBYTE ------- PROC _AT24C02WRITE D:0001H SYMBOL addr D:0004H SYMBOL dat - C:15A7H LINE# 125 - C:15ABH LINE# 126 - C:15ABH LINE# 127 - C:15AEH LINE# 128 - C:15B3H LINE# 129 - C:15B8H LINE# 130 - C:15BDH LINE# 131 + C:0ED9H LINE# 125 + C:0EDDH LINE# 126 + C:0EDDH LINE# 127 + C:0EE0H LINE# 128 + C:0EE5H LINE# 129 + C:0EEAH LINE# 130 + C:0EEFH LINE# 131 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 19 + + ------- ENDPROC _AT24C02WRITE ------- PROC _AT24C02READ D:0004H SYMBOL addr ------- DO D:0005H SYMBOL num ------- ENDDO - C:14D6H LINE# 140 - C:14D8H LINE# 141 - C:14D8H LINE# 143 - C:14DBH LINE# 144 - C:14E0H LINE# 145 - C:14E5H LINE# 146 - C:14E8H LINE# 147 - C:14EDH LINE# 148 - C:14F2H LINE# 149 - C:14F5H LINE# 150 - C:14F7H LINE# 151 + C:0E08H LINE# 140 + C:0E0AH LINE# 141 + C:0E0AH LINE# 143 + C:0E0DH LINE# 144 + C:0E12H LINE# 145 + C:0E17H LINE# 146 + C:0E1AH LINE# 147 + C:0E1FH LINE# 148 + C:0E24H LINE# 149 + C:0E27H LINE# 150 + C:0E29H LINE# 151 ------- ENDPROC _AT24C02READ ------- ENDMOD I2C ------- MODULE DS18B20 C:0000H SYMBOL _ICE_DUMMY_ D:00B0H PUBLIC P3 - C:139EH PUBLIC DS18B20_ReadByte - C:14B1H PUBLIC DS18B20_Init - C:14F8H PUBLIC DS18B20_ReadTemp + C:0CBEH PUBLIC DS18B20_ReadByte + C:0DE3H PUBLIC DS18B20_Init + C:0E2AH PUBLIC DS18B20_ReadTemp B:00B0H.2 PUBLIC DS18B20 - C:1327H PUBLIC _DS18B20_WriteByte - C:1282H PUBLIC Temper_change - C:1557H PUBLIC _delay_ms + C:0C47H PUBLIC _DS18B20_WriteByte + C:0BA2H PUBLIC Temper_change + C:0E89H PUBLIC _delay_ms ------- PROC _DELAY_MS D:0006H SYMBOL x ------- DO D:0006H SYMBOL y D:0004H SYMBOL z - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 20 - - ------- ENDDO - C:1557H LINE# 5 - C:1557H LINE# 6 - C:1557H LINE# 8 - C:1560H LINE# 9 - C:1574H LINE# 10 + C:0E89H LINE# 5 + C:0E89H LINE# 6 + C:0E89H LINE# 8 + C:0E92H LINE# 9 + C:0EA6H LINE# 10 ------- ENDPROC _DELAY_MS ------- PROC DS18B20_INIT ------- DO D:0003H SYMBOL i ------- ENDDO - C:14B1H LINE# 12 - C:14B1H LINE# 13 - C:14B1H LINE# 15 - C:14B3H LINE# 16 - C:14B5H LINE# 17 - C:14BBH LINE# 18 - C:14BDH LINE# 19 - C:14BFH LINE# 20 - C:14C2H LINE# 21 - C:14C2H LINE# 22 - C:14C9H LINE# 23 - C:14CAH LINE# 24 - C:14D0H LINE# 25 - C:14D0H LINE# 26 - C:14D3H LINE# 27 - C:14D3H LINE# 28 - C:14D3H LINE# 29 - C:14D5H LINE# 30 + C:0DE3H LINE# 12 + C:0DE3H LINE# 13 + C:0DE3H LINE# 15 + C:0DE5H LINE# 16 + C:0DE7H LINE# 17 + C:0DEDH LINE# 18 + C:0DEFH LINE# 19 + C:0DF1H LINE# 20 + C:0DF4H LINE# 21 + C:0DF4H LINE# 22 + C:0DFBH LINE# 23 + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 20 + + + C:0DFCH LINE# 24 + C:0E02H LINE# 25 + C:0E02H LINE# 26 + C:0E05H LINE# 27 + C:0E05H LINE# 28 + C:0E05H LINE# 29 + C:0E07H LINE# 30 ------- ENDPROC DS18B20_INIT ------- PROC DS18B20_READBYTE ------- DO @@ -1179,97 +1157,94 @@ SYMBOL TABLE OF MODULE: pro (MAIN) D:0006H SYMBOL i D:0004H SYMBOL j ------- ENDDO - C:139EH LINE# 32 - C:139EH LINE# 33 - C:139EH LINE# 36 - C:13A2H LINE# 37 - C:13A2H LINE# 38 - C:13A4H LINE# 39 - C:13A8H LINE# 40 - C:13AAH LINE# 41 - C:13AEH LINE# 42 - C:13B2H LINE# 43 - C:13B6H LINE# 44 - C:13C2H LINE# 45 - C:13C6H LINE# 46 - C:13D0H LINE# 47 - C:13D9H LINE# 48 - C:13DBH LINE# 49 + C:0CBEH LINE# 32 + C:0CBEH LINE# 33 + C:0CBEH LINE# 36 + C:0CC2H LINE# 37 + C:0CC2H LINE# 38 + C:0CC4H LINE# 39 + C:0CC8H LINE# 40 + C:0CCAH LINE# 41 + C:0CCEH LINE# 42 + C:0CD2H LINE# 43 + C:0CD6H LINE# 44 + C:0CE2H LINE# 45 + C:0CE6H LINE# 46 + C:0CF0H LINE# 47 + C:0CF9H LINE# 48 + C:0CFBH LINE# 49 ------- ENDPROC DS18B20_READBYTE ------- PROC L?0042 ------- ENDPROC L?0042 ------- PROC _DS18B20_WRITEBYTE - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 21 - - D:0007H SYMBOL dat ------- DO - D:005FH SYMBOL i + D:001BH SYMBOL i D:0002H SYMBOL j ------- ENDDO - C:1327H LINE# 51 - C:1327H LINE# 52 - C:1327H LINE# 54 - C:132AH LINE# 55 - C:132AH LINE# 56 - C:132CH LINE# 57 - C:1334H LINE# 58 - C:1338H LINE# 59 - C:133EH LINE# 60 - C:134BH LINE# 61 - C:134DH LINE# 62 - C:1351H LINE# 63 - C:135CH LINE# 64 + C:0C47H LINE# 51 + C:0C47H LINE# 52 + C:0C47H LINE# 54 + C:0C4AH LINE# 55 + C:0C4AH LINE# 56 + C:0C4CH LINE# 57 + C:0C54H LINE# 58 + C:0C58H LINE# 59 + C:0C5EH LINE# 60 + C:0C6BH LINE# 61 + C:0C6DH LINE# 62 + C:0C71H LINE# 63 + C:0C7CH LINE# 64 ------- ENDPROC _DS18B20_WRITEBYTE ------- PROC DS18B20_READTEMP ------- DO D:0006H SYMBOL temp + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 21 + + D:0007H SYMBOL tmh - D:005EH SYMBOL tml + D:001AH SYMBOL tml ------- ENDDO - C:14F8H LINE# 66 - C:14F8H LINE# 67 - C:14F8H LINE# 68 - C:14FBH LINE# 70 - C:14FBH LINE# 71 - C:14FBH LINE# 72 - C:14FEH LINE# 73 - C:1503H LINE# 75 - C:1503H LINE# 76 - C:1503H LINE# 77 - C:1506H LINE# 78 - C:150BH LINE# 80 - C:1510H LINE# 81 - C:1513H LINE# 82 - C:1513H LINE# 83 - C:1515H LINE# 84 - C:1518H LINE# 85 - C:1518H LINE# 86 + C:0E2AH LINE# 66 + C:0E2AH LINE# 67 + C:0E2AH LINE# 68 + C:0E2DH LINE# 70 + C:0E2DH LINE# 71 + C:0E2DH LINE# 72 + C:0E30H LINE# 73 + C:0E35H LINE# 75 + C:0E35H LINE# 76 + C:0E35H LINE# 77 + C:0E38H LINE# 78 + C:0E3DH LINE# 80 + C:0E42H LINE# 81 + C:0E45H LINE# 82 + C:0E45H LINE# 83 + C:0E47H LINE# 84 + C:0E4AH LINE# 85 + C:0E4AH LINE# 86 ------- ENDPROC DS18B20_READTEMP ------- PROC TEMPER_CHANGE ------- DO D:0006H SYMBOL temper - D:005AH SYMBOL tp + D:0016H SYMBOL tp ------- ENDDO - C:1282H LINE# 89 - C:1282H LINE# 90 - C:1282H LINE# 94 - C:1285H LINE# 95 - C:128BH LINE# 96 - C:128BH LINE# 97 - C:1290H LINE# 98 - C:1296H LINE# 99 - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 22 - - - C:1296H LINE# 100 - C:1296H LINE# 101 - C:1298H LINE# 103 - C:1298H LINE# 104 - C:12B2H LINE# 105 - C:12D0H LINE# 106 - C:12D0H LINE# 107 - C:12D0H LINE# 108 + C:0BA2H LINE# 89 + C:0BA2H LINE# 90 + C:0BA2H LINE# 94 + C:0BA5H LINE# 95 + C:0BABH LINE# 96 + C:0BABH LINE# 97 + C:0BB0H LINE# 98 + C:0BB6H LINE# 99 + C:0BB6H LINE# 100 + C:0BB6H LINE# 101 + C:0BB8H LINE# 103 + C:0BB8H LINE# 104 + C:0BD2H LINE# 105 + C:0BF0H LINE# 106 + C:0BF0H LINE# 107 + C:0BF0H LINE# 108 ------- ENDPROC TEMPER_CHANGE ------- ENDMOD DS18B20 @@ -1284,6 +1259,9 @@ SYMBOL TABLE OF MODULE: pro (MAIN) ------- MODULE ?C?FPDIV C:0204H PUBLIC ?C?FPDIV + BL51 BANKED LINKER/LOCATER V6.22 05/05/2022 19:42:13 PAGE 22 + + ------- ENDMOD ?C?FPDIV ------- MODULE ?C?FPCMP @@ -1301,72 +1279,33 @@ SYMBOL TABLE OF MODULE: pro (MAIN) C:0358H PUBLIC ?C?CASTF ------- ENDMOD ?C?CASTF - ------- MODULE PRINTF - D:0058H PUBLIC ?_PRINTF?BYTE - D:0058H PUBLIC ?_SPRINTF?BYTE - C:0704H PUBLIC _PRINTF - C:06FEH PUBLIC _SPRINTF - ------- ENDMOD PRINTF - - ------- MODULE ?C?FPROUND - C:03D9H PUBLIC ?C?FPROUND - ------- ENDMOD ?C?FPROUND - - ------- MODULE ?C?FPCONVERT - C:0408H PUBLIC ?C?FPCONVERT - ------- ENDMOD ?C?FPCONVERT - - ------- MODULE ?C?FTNPWR - C:053BH PUBLIC ?C?FTNPWR - ------- ENDMOD ?C?FTNPWR - BL51 BANKED LINKER/LOCATER V6.22 05/01/2022 13:48:31 PAGE 23 - - - ------- MODULE ?C?CLDPTR - C:057BH PUBLIC ?C?CLDPTR + C:03D9H PUBLIC ?C?CLDPTR ------- ENDMOD ?C?CLDPTR - ------- MODULE ?C?CLDOPTR - C:0594H PUBLIC ?C?CLDOPTR - ------- ENDMOD ?C?CLDOPTR - - ------- MODULE ?C?CSTPTR - C:05C1H PUBLIC ?C?CSTPTR - ------- ENDMOD ?C?CSTPTR - ------- MODULE ?C?UIDIV - C:05D3H PUBLIC ?C?UIDIV + C:03F2H PUBLIC ?C?UIDIV ------- ENDMOD ?C?UIDIV ------- MODULE ?C?SIDIV - C:0628H PUBLIC ?C?SIDIV + C:0447H PUBLIC ?C?SIDIV ------- ENDMOD ?C?SIDIV ------- MODULE ?C?LNEG - C:065EH PUBLIC ?C?LNEG + C:047DH PUBLIC ?C?LNEG ------- ENDMOD ?C?LNEG - ------- MODULE ?C?PLDIIDATA - C:066CH PUBLIC ?C?PLDIIDATA - ------- ENDMOD ?C?PLDIIDATA - - ------- MODULE ?C?CCASE - C:067CH PUBLIC ?C?CCASE - ------- ENDMOD ?C?CCASE - - ------- MODULE PUTCHAR - C:1464H PUBLIC _PUTCHAR - ------- ENDMOD PUTCHAR - *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?INIT_BH1750?MAIN +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_BLUETOOTH_SET?MAIN + *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_AT24C02WRITE?I2C *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_AT24C02READ?I2C -Program Size: data=99.1 xdata=0 code=5899 -LINK/LOCATE RUN COMPLETE. 3 WARNING(S), 0 ERROR(S) +Program Size: data=79.1 xdata=0 code=4152 +LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S) diff --git a/pro.build_log.htm b/pro.build_log.htm index a0859b0..10911e0 100644 --- a/pro.build_log.htm +++ b/pro.build_log.htm @@ -23,17 +23,22 @@ Project File Date: 04/30/2022

Output:

Build target 'Target 1' +compiling main.c... +main.c(301): warning C280: 'num': unreferenced local variable +main.c(476): warning C280: 'str': unreferenced local variable linking... *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?INIT_BH1750?MAIN +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?_BLUETOOTH_SET?MAIN *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_AT24C02WRITE?I2C *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_AT24C02READ?I2C -Program Size: data=99.1 xdata=0 code=5899 +Program Size: data=79.1 xdata=0 code=4152 creating hex file from "pro"... -"pro" - 0 Error(s), 3 Warning(s). -Build Time Elapsed: 00:00:00 +"pro" - 0 Error(s), 6 Warning(s). +Build Time Elapsed: 00:00:01 diff --git a/pro.hex b/pro.hex index 3b15a30..45a71e4 100644 --- a/pro.hex +++ b/pro.hex @@ -1,226 +1,223 @@ -:0517060025640D0A003E -:0C15EE0002260000024A00000222000059 -:10151900E4FDFCC3ED9FEC9E5015E4FBFA0BBB0008 -:0F152900010AEB64794A70F50DBD00010C80E4F6 -:011538002290 -:10164000000000000000000000000000000000009A -:011650002277 -:0E1651007F307E02EF1FAC0670011E4C70F65B -:01165F002268 -:0F166000D290D291121640C290121640C291221F -:0C16D000C290D291121640D29002164037 -:0E167E00A2009290D291121640C29102164024 -:0D16B600D291121640A290C291121640224D -:10157500E4FEEF25E0FF9290D291121640C291123F -:0915850016400EBE08EC0216B679 -:10153900E4FFD290FEEF25E0FFD291121640A2906F -:0D154900E4334207C2911216400EBE08E8BE -:011556002272 -:10162E00AD071216607F46121575AF0512157502BD -:02163E0016D0C4 -:10143B001216607F47121575E4FD12153974422D93 -:10144B00F8A607BD0304D2008002C20012167E0D5F -:09145B00BD03E71216D002165180 -:051701007F0102162E1D -:1015D800758921759850758DFD858D8BE4F587D2B9 -:0615E800AFD2ACD28E224E -:0716FA00AE071FEE70FA229B -:0E168C00C2ACC2998F993099FDC299D2AC229E -:1015C00012057BFF601112168C7F051216FA74014A -:0815D00029F9E43AFA80E9224E -:100B1100E4F558F5597F0112162E7F1012162E7F1B -:100B2100B47E0012151912143B752400854225E587 -:100B310025FE7C00E42543F525EC3EF524FCAD259E -:100B410012031F7B9A7A997999783F1202048F33A5 -:100B51008E328D318C301212828E348F357C007D35 -:100B6100641206288E348F352092521216C32092B9 -:100B71002AE52D452C7024E52B452A7007F52A75A9 -:100B81002B018005E4F52AF52BE52B6401452A703C -:100B910006D2A3C2978004C2A3D297C3E559943267 -:100BA100E55864809480501020920D1216C30559A7 -:100BB100E55970E7055880E3E4F558F55920936449 -:100BC1001216C320933CE52B452A601A054BE54BD1 -:100BD1007002054AC39405E54A64809480401EE48E -:100BE100F54AF54B8017E52D452C7007F52C752D31 -:100BF100018005E4F52CF52DE4F526F5277F01129A -:100C010016DCC3E5599432E5586480948050102075 -:100C1100930D1216C30559E55970E7055880E3E4B1 -:100C2100F558F55920B7411216C320B7190529E522 -:100C31002970020528D39463E528648094804006D6 -:100C4100752800752963C3E5599432E55864809489 -:100C510080501020B70D1216C30559E55970E705EC -:100C61005880E3E4F558F55920B63E1216C320B674 -:100C710016E529152970021528C3E528648094809A -:100C81005005E4F528F529C3E5599432E558648007 -:100C91009480501020B60D1216C30559E55970E71E -:100CA100055880E3E4F558F55920A2401216C320F7 -:100CB100A2180527E52770020526C39404E52664DA -:100CC1008094804005E4F526F527C3E5599432E583 -:100CD1005864809480501020A20D1216C30559E566 -:100CE1005970E7055880E3E4F558F55930A7030238 -:100CF1000DA21216C330A703020DA2E527452670E7 -:100D01001A0537E53770020536C39418E536648055 -:100D11009480406BE4F536F5378064E5276401453E -:100D210026701A0539E53970020538C3943BE53858 -:100D3100648094804049E4F538F5398042E52764C0 -:100D4100024526701A053DE53D7002053CC3941825 -:100D5100E53C648094804027E4F53CF53D8020E546 -:100D610027640345267018053FE53F7002053EC321 -:100D7100943BE53E648094804005E4F53EF53FC335 -:100D8100E5599432E55864809480501020A70D12E3 -:100D910016C30559E55970E7055880E3E4F558F5A0 -:010DA10059F8 -:010DA200222E -:101103007D017C00E50AC4540F75F00AA4FFAEF01C -:10111300E50A540F7A002FF559EA3EF558E509C45C -:10112300540F75F00AA4FFAEF0E509540F2FF55BD9 -:10113300EA3EF55AC3E5599537E5366480F8E55834 -:10114300648098404BD3E559953DE53C6480F8E5D0 -:101153005864809840028038E559B53718E558B58A -:101163003613C3E55B9539E5386480F8E55A648046 -:10117300985002801BE559B53D1AE558B53C15D387 -:10118300E55B953FE53E6480F8E55A64809840044A -:08119300E4FEFF22AE04AF05EB -:01119B002231 -:10102600E52B452A60030210AC121103EF4E6074E3 -:10103600E4FFFE7DC87C42AB33AA32A931A8301248 -:1010460002A15060C3E529940AE528648094805083 -:101056000EE5299400E5286480948040028055C3FB -:10106600E529940AE52864809480400EE5299414C5 -:10107600E528648094805002804CC3E5299414E5E9 -:101086002864809480400EE529941EE528648094A7 -:10109600805002803FC3E529941EE5286480948031 -:1010A600404A803E8046E54B454A6040E54B640138 -:1010B600454A700AC2A5C2A6C2A1D2A48036E54B93 -:1010C6006402454A7006C2A5C2A6801AE54B6403AF -:1010D600454A7006C2A5D2A6800CE54B6404454A73 -:1010E6007012D2A5D2A6D2A1D2A48008C2A5C2A649 -:0D10F600C2A1C2A4E52A452B24FF92A3222B -:10122800E4F54CF54D12161A1215D812158E7536AE -:1012380000753712E4F538F539F53AF53BF53C75A4 -:101248003D17F53E753F1EF540F541121604120D87 -:10125800A3120B11121026755BFF755C17755D06DE -:1012680085345E85355F7B007A00794E1206FE7BF9 -:0A127800007A00794E1215C080D1F3 -:100DA300E52D452C7F806003020F241216DCE50C31 -:100DB300C4540F2430FF1216E6E50C540F2430FF01 -:100DC3001216E67F2D1216E6E50BC4540F2430FFEE -:100DD3001216E6E50B540F2430FF1216E67F20129D -:100DE30016E6E50AC4540F2430FF1216E6E50A544A -:100DF3000F2430FF1216E67F3A1216E6E509C454B3 -:100E03000F2430FF1216E6E509540F2430FF1216A3 -:100E1300E67F3A1216E6E508C4540F2430FF121693 -:100E2300E6E508540F2430FF1216E67F201216E67B -:100E3300E50D540F2430FF1216E67FC01216DCAF07 -:100E430033AE32AD31AC301203588E588F597C27F4 -:100E53007D101205D38C588D59AE58AF597C037D44 -:100E6300E81205D3EF2430FF1216E6AE58AF597CD3 -:100E7300037DE81205D38C588D59AE58AF597C00C9 -:100E83007D641205D3EF2430FF1216E6AE58AF5936 -:100E93007C007D641205D38C588D59AE58AF597CB4 -:100EA300007D0A1205D3EF2430FF1216E6AE58AFC9 -:100EB300597C007D0A1205D38C588D59E55924308D -:100EC300FF1216E67F4C1216E67F781216E67F2095 -:100ED3001216E6AE34AF357C007D0A120628EF24E5 -:100EE30030FF1216E6AE34AF357C007D0A120628B9 -:100EF300ED2430FF1216E67F431216E67F2012160A -:100F0300E6AE28AF297C007D0A1206287C007D0A04 -:100F1300120628ED2430FF1216E6AE28AF29021080 -:100F2300171216DCAE36AF377C007D0A120628EFA7 -:100F33002430FF1216E6AE36AF377C007D0A120668 -:100F430028ED2430FF1216E67F3A1216E6AE38AFCC -:100F5300397C007D0A120628EF2430FF1216E6AE14 -:100F630038AF397C007D0A120628ED2430FF1216B3 -:100F7300E67F3A1216E6AE3AAF3B7C007D0A1206D4 -:100F830028EF2430FF1216E6AE3AAF3B7C007D0A11 -:100F9300120628ED2430FF1216E67F201216E6E52E -:100FA300272430FF1216E67FC01216DCAE3CAF3D9D -:100FB3007C007D0A120628EF2430FF1216E6AE3CB1 -:100FC300AF3D7C007D0A120628ED2430FF1216E6A1 -:100FD3007F3A1216E6AE3EAF3F7C007D0A1206282A -:100FE300EF2430FF1216E6AE3EAF3F7C007D0A12BF -:100FF3000628ED2430FF1216E67F3A1216E6AE40BD -:10100300AF417C007D0A120628EF2430FF1216E65A -:10101300AE40AF417C007D0A120628ED2430FF125A -:0210230016E6CF -:0110250022A8 -:0C16C3007F017E267D82DDFEDEFADFF670 -:0116CF0022F8 -:10141100C2958F807F017E00121422D2947F057EB7 -:0114210000CA -:10142200D3EF9400EE9400400F7DC77C01DCFEDD1B -:08143200FAEF1F70EB1E80E8C9 -:01143A00228F -:0A16DC00C294C296121411C29422A7 -:0A16E600C294D296121411C294228D -:10158E007F381216DC7F0C1216DC7F061216DC7FFB -:09159E00011216DC7F800216DC4C -:0E169A0081838587898B8D80828486888A8CE7 -:0915FA0007080024120105072274 -:1013DC00C2B300C2B500D2B300E4FEEF1392B4EF77 -:1013EC00C313FFD2B500C2B5000EBE08EEE4FEED8D -:1013FC001392B4EDC313FDD2B500C2B5000EBE08F6 -:04140C00EEC2B30079 -:0114100022B9 -:1012D100C2B300C2B500D2B300E4FDEF1392B4EF84 -:1012E100C313FFD2B500C2B5000DBD08EE00E4FD89 -:1012F100A2B4E433FFC43333335480FCEEC3134C44 -:10130100FED2B500C2B5000DBD08E5C2B300D2B52D -:0913110000C2B400D2B400AF0622 -:01131A0022B0 -:10161A00E4FD7F8E1213DCE4FF0FBF07FC7D807FA1 -:04162A008E0213DC3D -:10160400E4FBEB90169A93FF1212D174082BF8A600 -:05161400070BBB07ED10 -:0116190022AE -:0516A8001216ADD2A1F5 -:0816AD007F017E02DEFEDFFA80 -:0116B5002212 -:0F166F00D2A01216A8C2A01216ADC2A10216ADCB -:0A16F000C2A01216A8D2A00216AD87 -:02135D00AD07DA -:10135F00E4FBFAEDC4131313540124FF92A0ED25FF -:10136F00E0FD1216A8C2A11216AD0BBB08E5D2A064 -:10137F001216ADD2A130A00F0AEAD394C840F6C21C -:0E138F00A11216AD7F0022C2A11216AD7F0181 -:01139D00222D -:10148B00E4FDFCD2A01216ADD2A11216ADEC25E0F4 -:10149B00FCA2A0E43342041216ADC2A11216AD0D8C -:0514AB00BD08E5AF04DF -:0114B0002219 -:1015A700AC05A90712166F7FA012135DAF011213C6 -:0915B7005DAF0412135D0216F091 -:0214D600AC0761 -:1014D80012166F7FA012135DAF0412135D12166F00 -:0F14E8007FA112135D12148BAD071216F0AF0522 -:0114F70022D2 -:10155700D3EF9400EE940040147D6E7C00ED1D7077 -:0D156700011CED4C70F7EF1F70E61E80E3D5 -:011574002254 -:1014B100C2B27B46AF031BEF70FAD2B2E4FB30B28B -:1014C100117F017E001215570BEBD3940540EF7F7E -:0414D10000227F0175 -:0114D50022F4 -:10139E007D087C00C2B20FBF0000D2B20FBF0000AA -:1013AE000FBF0000A2B2E433C43333335480FBE9E1 -:1013BE00C3134BF97E007F04EF1FAA0670011E4A6D -:0D13CE0070F6ED1D70011CED4C70C9AF01F3 -:0113DB0022EF -:0C131B001214B17F017E001215577FCC28 -:10132700E4FBFAC2B20560E5607002055FEF139255 -:10133700B2755F00756006E5601560AC5F700215F9 -:101347005F4C70F3D2B2EFC313FF0BBB00010AEB84 -:0513570064084A70CE9D -:01135C00226E -:1014F800E4FFFE12131B7F4412132712131B7FBE37 -:1015080012132712139E8F5E12139EEFFEE55EFFE5 -:0115180022B0 -:101282001214F8C3EE9400500DEF1F70011E630795 -:10129200FF6306FF8000AD07AC06E412031FE4FB08 -:1012A200FA7980783D1200FB8F5D8E5C8D5B8C5AE3 -:1012B200E4FFFE7DC87C42AB5DAA5CA95BA85A1222 -:0E12C20000FBE4FBFAF9783F12000A12035811 -:0112D00022FB +:0C0F200002250000024900000221000030 +:100E4B00E4FDFCC3ED9FEC9E5015E4FBFA0BBB00DD +:0F0E5B00010AEB64794A70F50DBD00010C80E4CB +:010E6A002265 +:100F7200000000000000000000000000000000006F +:010F8200224C +:0E0F83007F307E02EF1FAC0670011E4C70F630 +:010F9100223D +:0F0F9200D290D291120F72C290120F72C291229E +:0C100200C290D291120F72D290020F72B5 +:0E0FB000A20092A0D2A1120F72C2A1020F7273 +:0D0FE800D2A1120F72A2A0C2A1120F72229C +:100EA700E4FEEF25E0FF92A0D2A1120F72C2A112B9 +:090EB7000F720EBE08EC020FE8F8 +:100E6B00E4FFD2A0FEEF25E0FFD2A1120F72A2A0E9 +:0D0E7B00E4334207C2A1120F720EBE08E858 +:010E88002247 +:100F6000AD07120F927F46120EA7AF05120EA70211 +:020F700010026D +:100D9400120F927F47120EA7E4FD120E6B74412DC1 +:100DA400F8A607BD0304D2008002C200120FB00DE2 +:090DB400BD03E7121002020F83D7 +:051033007F01020F60C7 +:100F0A00758921759850758DFD858D8BE4F587D28D +:060F1A00AFD2ACD28E2222 +:07102C00AE071FEE70FA226F +:0E0FBE00C2ACC2998F993099FDC299D2AC2273 +:100EF2001203D9FF6011120FBE7F0512102C74016C +:080F020029F9E43AFA80E92222 +:10048B00E4F514F5157F01120F607F10120F607FDA +:10049B00B47E00120E4B120D94752300854124E59A +:1004AB0024FE7C00E42542F524EC3EF523FCAD2430 +:1004BB0012031F7B9A7A997999783F1202048F3233 +:1004CB008E318D308C2F120BA28E338F347C007DAE +:1004DB00641204478E338F34209252120FF5209200 +:1004EB002AE52C452B7024E52A45297007F529753B +:1004FB002A018005E4F529F52AE52A6401452970CE +:10050B0006D2A3C2978004C2A3D297C3E515943237 +:10051B00E51464809480501020920D120FF5051590 +:10052B00E51570E7051480E3E4F514F515209364E5 +:10053B00120FF520933CE52A4529601A054AE54A36 +:10054B0070020549C39405E54964809480401EE41C +:10055B00F549F54A8017E52C452B7007F52B752CC3 +:10056B00018005E4F52BF52CE4F525F5267F01122A +:10057B00100EC3E5159432E514648094805010205E +:10058B00930D120FF50515E51570E7051480E3E4DF +:10059B00F514F51520B741120FF520B7190528E50D +:1005AB002870020527D39463E52764809480400666 +:1005BB00752700752863C3E5159432E514648094A0 +:1005CB0080501020B70D120FF50515E51570E705D6 +:1005DB001480E3E4F514F51520B63E120FF520B6A2 +:1005EB0016E528152870021527C3E527648094802B +:1005FB005005E4F527F528C3E5159432E51464801E +:10060B009480501020B60D120FF50515E51570E707 +:10061B00051480E3E4F514F51520A240120FF52024 +:10062B00A2180526E52670020525C39404E525646A +:10063B008094804005E4F525F526C3E5159432E555 +:10064B001464809480501020A20D120FF50515E54F +:10065B001570E7051480E3E4F514F51530A70302D4 +:10066B00071C120FF530A70302071CE52645257062 +:10067B001A0536E53670020535C39418E5356480E6 +:10068B009480406BE4F535F5368064E526640145CE +:10069B0025701A0538E53870020537C3943BE537EA +:1006AB00648094804049E4F537F5388042E5266450 +:1006BB00024525701A053CE53C7002053BC39418B6 +:1006CB00E53B648094804027E4F53BF53C8020E5D6 +:1006DB0026640345257018053EE53E7002053DC3B3 +:1006EB00943BE53D648094804005E4F53DF53EC3C5 +:1006FB00E5159432E51464809480501020A70D12F8 +:10070B000FF50515E51570E7051480E3E4F514F511 +:01071B0015C8 +:01071C0022BA +:100A7D007D017C00E54DC4540F75F00AA4FFAEF066 +:100A8D00E54D540F7A002FF515EA3EF514E54CC4EB +:100A9D00540F75F00AA4FFAEF0E54C540F2FF51767 +:100AAD00EA3EF516C3E5159536E5356480F8E5148F +:100ABD00648098404BD3E515953CE53B6480F8E5A3 +:100ACD001464809840028038E515B53618E514B5E4 +:100ADD003513C3E5179538E5376480F8E51664805E +:100AED00985002801BE515B53C1AE514B53B15D39E +:100AFD00E517953EE53D6480F8E516648098400461 +:080B0D00E4FEFF22AE04AF0577 +:010B150022BD +:1009A000E52A45296003020A26120A7DEF4E60748B +:1009B000E4FFFE7DC87C42AB32AA31A930A82F12D9 +:1009C00002A15060C3E528940AE527648094805012 +:1009D0000EE5289400E5276480948040028055C38A +:1009E000E528940AE52764809480400EE528941455 +:1009F000E527648094805002804CC3E5289414E578 +:100A00002764809480400EE528941EE52764809436 +:100A1000805002803FC3E528941EE52764809480BF +:100A2000404A803E8046E54A45496040E54A6401C7 +:100A30004549700AC2A5C2A6C2A1D2A48036E54A21 +:100A4000640245497006C2A5C2A6801AE54A64033D +:100A500045497006C2A5D2A6800CE54A6404454902 +:100A60007012D2A5D2A6D2A1D2A48008C2A5C2A6D5 +:0D0A7000C2A1C2A4E529452A24FF92A322B9 +:100CFC00E4F508F509120F4C120F0A120EC07535E7 +:100D0C0000753612E4F537F538F539F53AF53B75DB +:100D1C003C17F53D753E1EF53FF540120F36120798 +:090D2C001D12048B1209A080F2D3 +:10071D00E52C452B7F80600302089E12100EE54FDD +:10072D00C4540F2430FF121018E54F540F2430FF1E +:10073D001210187F2D121018E54EC4540F2430FFDF +:10074D00121018E54E540F2430FF1210187F20128E +:10075D001018E54DC4540F2430FF121018E54D54F8 +:10076D000F2430FF1210187F3A121018E54CC454A4 +:10077D000F2430FF121018E54C540F2430FF1210C7 +:10078D00187F3A121018E54BC4540F2430FF121085 +:10079D0018E54B540F2430FF1210187F201210183B +:1007AD00E550540F2430FF1210187FC012100EAFF9 +:1007BD0032AE31AD30AC2F1203588E148F157C270D +:1007CD007D101203F28C148D15AE14AF157C037DC4 +:1007DD00E81203F2EF2430FF121018AE14AF157C9F +:1007ED00037DE81203F28C148D15AE14AF157C0049 +:1007FD007D641203F2EF2430FF121018AE14AF1502 +:10080D007C007D641203F28C148D15AE14AF157C33 +:10081D00007D0A1203F2EF2430FF121018AE14AF50 +:10082D00157C007D0A1203F28C148D15E51524300C +:10083D00FF1210187F4C1210187F781210187F209D +:10084D00121018AE33AF347C007D0A120447EF242A +:10085D0030FF121018AE33AF347C007D0A120447FE +:10086D00ED2430FF1210187F431210187F20121044 +:10087D0018AE27AF287C007D0A1204477C007D0A44 +:10088D00120447ED2430FF121018AE27AF280209CD +:10089D009112100EAE35AF367C007D0A120447EF73 +:1008AD002430FF121018AE35AF367C007D0A1204CD +:1008BD0047ED2430FF1210187F3A121018AE37AFE3 +:1008CD00387C007D0A120447EF2430FF121018AE59 +:1008DD0037AF387C007D0A120447ED2430FF12102B +:1008ED00187F3A121018AE39AF3A7C007D0A120407 +:1008FD0047EF2430FF121018AE39AF3A7C007D0A55 +:10090D00120447ED2430FF1210187F20121018E545 +:10091D00262430FF1210187FC012100EAE3BAF3CD4 +:10092D007C007D0A120447EF2430FF121018AE3BF5 +:10093D00AF3C7C007D0A120447ED2430FF121018E5 +:10094D007F3A121018AE3DAF3E7C007D0A1204476F +:10095D00EF2430FF121018AE3DAF3E7C007D0A1221 +:10096D000447ED2430FF1210187F3A121018AE3FD5 +:10097D00AF407C007D0A120447EF2430FF1210189F +:10098D00AE3FAF407C007D0A120447ED2430FF12CC +:02099D00101830 +:01099F002235 +:0C0FF5007F017E267D82DDFEDEFADFF645 +:0110010022CC +:100D6A00C2958F807F017E00120D7BD2947F057E13 +:010D7A000078 +:100D7B00D3EF9400EE9400400F7DC77C01DCFEDDC9 +:080D8B00FAEF1F70EB1E80E877 +:010D9300223D +:0A100E00C294C296120D6AC2942229 +:0A101800C294D296120D6AC294220F +:100EC0007F3812100E7F0C12100E7F0612100E7F4C +:090ED0000112100E7F8002100EC9 +:0E0FCC0081838587898B8D80828486888A8CBC +:090F2C00074B0024120105072205 +:100D3500C2B300C2B500D2B300E4FEEF1392B4EF24 +:100D4500C313FFD2B500C2B5000EBE08EEE4FEED3A +:100D55001392B4EDC313FDD2B500C2B5000EBE08A3 +:040D6500EEC2B30027 +:010D69002267 +:100BF100C2B300C2B500D2B300E4FDEF1392B4EF6B +:100C0100C313FFD2B500C2B5000DBD08EE00E4FD6F +:100C1100A2B4E433FFC43333335480FCEEC3134C2A +:100C2100FED2B500C2B5000DBD08E5C2B300D2B514 +:090C310000C2B400D2B400AF0609 +:010C3A002297 +:100F4C00E4FD7F8E120D35E4FF0FBF07FC7D807F23 +:040F5C008E020D35BF +:100F3600E4FBEB900FCC93FF120BF1744B2BF8A64E +:050F4600070BBB07EDE5 +:010F4B002283 +:050FDA00120FDFD2A19F +:080FDF007F017E02DEFEDFFA55 +:010FE70022E7 +:0F0FA100D2A0120FDAC2A0120FDFC2A1020FDF1F +:0A102200C2A0120FDAD2A0020FDF05 +:020C7D00AD07C1 +:100C7F00E4FBFAEDC4131313540124FF92A0ED25E6 +:100C8F00E0FD120FDAC2A1120FDF0BBB08E5D2A0F5 +:100C9F00120FDFD2A130A00F0AEAD394C840F6C2D8 +:0E0CAF00A1120FDF7F0022C2A1120FDF7F0112 +:010CBD002214 +:100DBD00E4FDFCD2A0120FDFD2A1120FDFEC25E073 +:100DCD00FCA2A0E4334204120FDFC2A1120FDF0D0B +:050DDD00BD08E5AF04B4 +:010DE20022EE +:100ED900AC05A907120FA17FA0120C7DAF01120C5E +:090EE9007DAF04120C7D02102201 +:020E0800AC0735 +:100E0A00120FA17FA0120C7DAF04120C7D120FA14C +:0F0E1A007FA1120C7D120DBDAD07121022AF0586 +:010E290022A6 +:100E8900D3EF9400EE940040147D6E7C00ED1D704C +:0D0E9900011CED4C70F7EF1F70E61E80E3AA +:010EA6002229 +:100DE300C2B27B46AF031BEF70FAD2B2E4FB30B260 +:100DF300117F017E00120E890BEBD3940540EF7F28 +:040E030000227F0149 +:010E070022C8 +:100CBE007D087C00C2B20FBF0000D2B20FBF000091 +:100CCE000FBF0000A2B2E433C43333335480FBE9C8 +:100CDE00C3134BF97E007F04EF1FAA0670011E4A54 +:0D0CEE0070F6ED1D70011CED4C70C9AF01DA +:010CFB0022D6 +:0C0C3B00120DE37F017E00120E897FCCB9 +:100C4700E4FBFAC2B2051CE51C7002051BEF139208 +:100C5700B2751B00751C06E51C151CAC1B70021534 +:100C67001B4C70F3D2B2EFC313FF0BBB00010AEBAF +:050C770064084A70CE84 +:010C7C002255 +:100E2A00E4FFFE120C3B7F44120C47120C3B7FBEC0 +:100E3A00120C47120CBE8F1A120CBEEFFEE51AFFF7 +:010E4A002285 +:100BA200120E2AC3EE9400500DEF1F70011E630750 +:100BB200FF6306FF8000AD07AC06E412031FE4FBEF +:100BC200FA7980783D1200FB8F198E188D178C16DA +:100BD200E4FFFE7DC87C42AB19AA18A917A8161219 +:0E0BE20000FBE4FBFAF9783F12000A120358F8 +:010BF00022E2 :100003000203C4E86480F8E933E83360110460F064 :10001300ED33EC337009E8FCE9FDEAFEEBFF220463 :1000230060DED3EB9FEA9EE99DE8C2E78CF0C2F75E @@ -273,152 +270,41 @@ :100301009FF5F0EA9E42F0E99D42F0E89C45F060DD :0903110007CC4820E701B3EC22FF :10031A0075F020800E75F010800575F0087D007E5E -:10032A00007F003392D530D50312065EEC334010BD +:10032A00007F003392D530D50312047DEC334010A0 :10033A00EF33FFEE33FEED33FDEC33FCD5F0ED2267 :0E034A00E5F0247EA2D513CC92E7CDCEFF22A3 :10035800EDD2E7CD33EC3392D524814006E4FFFE9D :10036800FDFC22FCE4CFCECDCC24E0501174FF80FC :10037800EDC3CC13CCCD13CDCE13CECF13CF047099 -:07038800F030D5DE02065E35 -:1006A200E56F245BF8E6056F227858300702785B25 -:1006B200E475F00112066C02057B2000EB7F2ED25E -:1006C200008018EF540F2490D43440D4FF30040B30 -:1006D200EF24BFB41A0050032461FFE570600215D5 -:1006E200700573E5737002057230070D7858E47572 -:1006F200F00112066CEF0205C10214647403D20702 -:100702008003E4C207F56F8B588A59895AE4F57061 -:10071200F572F573E57060077F201206DD80F575CE -:1007220071FFC201C200C202C203C205C206C208F0 -:100732001206ABFF700D3007057F001206EEAF7395 -:10074200AE7222B4255FC2D5C2041206ABFF24D01A -:10075200B40A00501A75F00A787030D50508B6FF51 -:100762000106C6A426F620D5047002D20380D9243D -:10077200CFB41A00EF5004C2E5D2040209DBD20161 -:1007820080C6D20080C0D20280BCD2D580BAD20547 -:1007920080B47F201206DD2002077401B57000408C -:1007A200F11206A2FF1206DD020716D208D2068057 -:1007B200951206A2FB1206A2FA1206A2F94A4B7081 -:1007C2000679D27A0A7BFF20022EE570602A7E002B -:1007D2008E8275830012059460060EEE657170F0CC -:1007E200C2D5EBC0E0EAC0E0E9C0E0EE120A3BD0BD -:1007F200E0F9D0E0FAD0E0FB12057BFF60AAEBC083 -:10080200E0EAC0E0E9C0E01206DDD0E02401F9D060 -:10081200E03400FAD0E0FBE5710460DCD571D980E8 -:1008220087D20280A2120A1E60F7E57170010412DB -:1008320003D9A971600DE571600914F571120AC539 -:10084200EF60F3EA30E702F404C3995077EAF42543 -:10085200710430E701E404F571800D120A1E60C1D3 -:10086200EA057125711203D9EA786EF630E701E4E0 -:10087200257104D5710420050114120A3BE4C0E07D -:10088200120AC5786EE6601320E70714F61206C551 -:10089200802204F6D0E014C0E07F001206C5E571A4 -:1008A20060071206BC1571800B3005031206BCD01E -:1008B200E0020716D0E00480C5120A1E60A0E571AE -:1008C200041203D9786EEAF6E5712005026001048C -:0508D2002404120A3BA2 -:1008D70074FF04C0E0120AC51206C5E571200502BF -:1008E70060031206BCD0E0B571E87F451206CF78E9 -:1008F7006EE67F2B30E7047F2DF404C0E01206DD9F -:10090700D0E075F00A84C0F01206C6D0E01206C621 -:10091700020716791080027908C206C2088008D239 -:10092700D5790A8004790AC2D5E571047002F57198 -:10093700E4FAFDFEFF1206A2FC7B08200113120653 -:10094700A2FD7B1030000A1206A2FE1206A2FF7B50 -:1009570020EC3382D592D55013C3E43000069FFFB5 -:10096700E49EFEE42001039DFDE49CFCE4CBF8C279 -:1009770001EC700CCFCECDCCE824F8F870F38017DB -:10098700C3EF33FFEE33FEED33FDEC33FCEB33FB0C -:10099700994002FB0FD8E9EB300105F8D0E0C448D5 -:1009A700B201C0E00AEC4D4E4F78207B0070C2EADE -:1009B700B5710040BCC0E0120A3DD0F0D0E0200184 -:1009C70004C4C0E0C4B201C0F01206C6D0F0D5F02E -:1009D700EB02071612067C07B353091A5807844C13 -:1009E700078042091E4F09264409264907994309EA -:1009F7002C55085D4608BB450827470AF25007886B -:100A07002D078C2E07AF2B07902307AD200ADB2A73 -:100A1700074848000007A7E571B4FF037571061280 -:100A270006A2FC1206A2FD1206A2FE1206A2FF787B -:100A370067020408790AA2D5200314300509B91002 -:100A4700020404B9080104A2D520060250010420BB -:100A570002689202B570005034C0E07F203003195D -:100A67007F30A20272067205500F120A94C202C2A8 -:100A770006C205C2087F30800F300503E9C0E012C7 -:100A870006DD300503D0E0F9D0E0B570CC300517AE -:100A97007F30B9100C1206DD7F583004077F78804D -:100AA70003B908031206DD3002057F2D0206DD7F3C -:100AB700202008F87F2B2006F322920280CF7F00A8 -:100AC700B4070050052467F8E6FF22286E756C6CA2 -:100AD7002900D2011206A23001F8C201787030D580 -:100AE7000108F60207482D504349581206A224036D -:100AF700B405004001E4900AED931206CE743A1251 -:0A0B070006CED20375700402091A2D +:07038800F030D5DE02047D18 :10038F00E9D2E7C933E833F892D5EDD2E7CD33ECB4 :07039F0033FC5002B2D5222D :1003A600EC30E7100FBF000C0EBE00080DBD0004B8 :1003B6000BEB6014A2D5EB13FCED92E7FD2274FF64 :1003C600FCFDFEFF22E480F8A2D574FF13FC7D80BD :0303D600E480EFD1 -:1003D900F920E72824F950037907E4F42402FB18EB -:1003E900DBFDE624FB5014E9600DE4F618E604F69B -:0F03F900B40A08E4F6D9F57401F60A22C2D52237 -:10040800ED33EC3392D5FA602AB4FF33EDC2E77BC3 -:10041800FF60067A04792DE4227A04793620D5041F -:100428007A047931224E614E002B494E46002D49FF -:100438004E4600E47A08F608DAFC7B00740722E8E6 -:10044800C0E0ECC0E0EDC0E0EEC0E0EFC0E0EA756F -:10045800F010A4CAABF075F04DA42BFBE435F0FC0A -:10046800EA2410FAEB34C5FBEC34D9FCEDC2E7FF03 -:1004780075F056A4F42411C5F0F434C58FF0A42AFD -:10048800E5F03BE43CF620E71412053BD0E0FFD052 -:10049800E0FED0E0FDD0E0FC1202048014F4041267 -:1004A800053BD0E0FFD0E0FED0E0FDD0E0FC12003C -:1004B800FBD0E0F8E6FAEDD2E7CD33EC332482FB4B -:1004C800E4C3CF33CFCE33CECD33CD33DBF37B078D -:1004D80075F00A846004F6081B0AE5F0F6088FF048 -:1004E800740AA4FFACF08EF0740AA42CFEACF05091 -:1004F800010C8DF0740AA42CFDE435F0F608DBDE5F -:0305080074072253 -:10050B003F8000004120000042C80000447A0000F8 -:10051B00461C400047C35000497424004B1896807A -:10052B004CBEBC205A0E1BCA6753C21C749DC5AE71 -:10053B00FB60065407601C2323120569EB543860DB -:10054B00091205551205641200FBECF8EDF9EEFAF1 -:10055B00EFCB22EB12056480F1543803241C900579 -:10056B000BFE93FC0EEE93FD0EEE930ECE93FF223D -:0300000002119C4E -:0C119C00787FE4F6D8FD7581730211E342 -:10057B00BB010689828A83E0225002E722BBFE027E -:09058B00E32289828A83E49322B1 -:10059400BB010CE58229F582E5833AF583E022501C -:1005A40006E92582F8E622BBFE06E92582F8E22266 -:0D05B400E58229F582E5833AF583E4932280 -:1005C100BB010689828A83F0225002F722BBFE0119 -:0205D100F32213 -:1005D300BC000BBE0029EF8DF084FFADF022E4CC0C -:1005E300F875F008EF2FFFEE33FEEC33FCEE9DECD5 -:1005F300984005FCEE9DFE0FD5F0E9E4CEFD22ED1B -:10060300F8F5F0EE8420D21CFEADF075F008EF2F64 -:10061300FFED33FD4007985006D5F0F222C398FD55 -:050623000FD5F0EA22F2 -:10062800C2D5EC30E709B2D5E4C39DFDE49CFCEEED -:1006380030E715B2D5E4C39FFFE49EFE1205D3C38D -:10064800E49DFDE49CFC80031205D330D507C3E488 -:060658009FFFE49EFE225C -:0E065E00C3E49FFFE49EFEE49DFDE49CFC22AD -:10066C00FAE6FB0808E6F925F0F618E6CA3AF6228F -:10067C00D083D082F8E4937012740193700DA3A30D -:10068C0093F8740193F5828883E473740293686021 -:06069C00EFA3A3A380DF21 -:10146400EFB40A07740D12146F740A309811A89916 -:10147400B8130CC2983098FDA899C298B811F630E8 -:0714840099FDC299F59922C0 -:1011A800021228E493A3F8E493A34003F68001F223 -:1011B80008DFF48029E493A3F85407240CC8C33348 -:1011C800C4540F4420C8834004F456800146F6DF17 -:1011D800E4800B01020408102040809015EEE47EA4 -:1011E800019360BCA3FF543F30E509541FFEE4930C -:1011F800A360010ECF54C025E060A840B8E493A3D3 -:10120800FAE493A3F8E493A3C8C582C8CAC583CAFD -:10121800F0A3C8C582C8CAC583CADFE9DEE780BEB5 -:0116030000E6 +:03000000020B16DA +:0C0B1600787FE4F6D8FD758151020B5D7C +:1003D900BB010689828A83E0225002E722BBFE0222 +:0903E900E32289828A83E4932255 +:1003F200BC000BBE0029EF8DF084FFADF022E4CCEF +:10040200F875F008EF2FFFEE33FEEC33FCEE9DECB7 +:10041200984005FCEE9DFE0FD5F0E9E4CEFD22EDFD +:10042200F8F5F0EE8420D21CFEADF075F008EF2F47 +:10043200FFED33FD4007985006D5F0F222C398FD38 +:050442000FD5F0EA22D5 +:10044700C2D5EC30E709B2D5E4C39DFDE49CFCEED0 +:1004570030E715B2D5E4C39FFFE49EFE1203F2C353 +:10046700E49DFDE49CFC80031203F230D507C3E44E +:060477009FFFE49EFE223F +:0E047D00C3E49FFFE49EFEE49DFDE49CFC2290 +:100B2200020CFCE493A3F8E493A34003F68001F2E1 +:100B320008DFF48029E493A3F85407240CC8C333D4 +:100B4200C4540F4420C8834004F456800146F6DFA3 +:100B5200E4800B0102040810204080900F20E47E04 +:100B6200019360BCA3FF543F30E509541FFEE49398 +:100B7200A360010ECF54C025E060A840B8E493A35F +:100B8200FAE493A3F8E493A3C8C582C8CAC583CA8A +:100B9200F0A3C8C582C8CAC583CADFE9DEE780BE42 +:010F350000BB :00000001FF diff --git a/pro.uvgui.QY b/pro.uvgui.QY index c281c2e..d9a6437 100644 --- a/pro.uvgui.QY +++ b/pro.uvgui.QY @@ -80,8 +80,8 @@ 44 - 0 - 1 + 2 + 3 -1 -1 @@ -91,17 +91,17 @@ -1 - 39 - -1384 - 536 - 691 + 316 + 1598 + 3518 + 968 0 794 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000008000000000000000100000034453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6C63642E6800000000056C63642E6800000000BECEA100FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6C63642E6300000000056C63642E6300000000F0A0A100FFFFFFFF36453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6473313330322E6800000000086473313330322E6800000000BCA8E100FFFFFFFF36453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6473313330322E6300000000086473313330322E63000000009CC1B600FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6932632E6800000000056932632E6800000000F7B88600FFFFFFFF37453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C445331384232302E680000000009445331384232302E6800000000D9ADC200FFFFFFFF37453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C445331384232302E630000000009445331384232302E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000450100006E0000001D0300009A040000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000008000000000000000100000034453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6C63642E6800000000056C63642E6800000000BECEA100FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6C63642E6300000000056C63642E6300000000F0A0A100FFFFFFFF36453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6473313330322E6800000000086473313330322E6800000000BCA8E100FFFFFFFF36453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6473313330322E6300000000086473313330322E63000000009CC1B600FFFFFFFF33453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C6932632E6800000000056932632E6800000000F7B88600FFFFFFFF37453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C445331384232302E680000000009445331384232302E6800000000D9ADC200FFFFFFFF37453A5CCFEEC4BF5CBCE6D6B0CFEEC4BF5C32303232303432382D496E74656C6C6967656E744C69676874696E675C445331384232302E630000000009445331384232302E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004401000066000000000A00009B040000 @@ -124,7 +124,7 @@ 16 - 4401000066000000700700002C010000 + 8A070000AA010000B60D000070020000 @@ -140,7 +140,7 @@ 0 16 - 03000000660000003D01000062040000 + 03000000660000003D0100006B040000 16 @@ -160,7 +160,7 @@ 0 16 - 03000000660000003D01000062040000 + 03000000660000003D0100006B040000 16 @@ -440,7 +440,7 @@ 0 16 - 03000000660000003D01000062040000 + 03000000660000003D0100006B040000 16 @@ -460,7 +460,7 @@ 0 16 - 03000000660000003D01000062040000 + 03000000660000003D0100006B040000 16 @@ -480,7 +480,7 @@ 0 16 - 00000000930400001C03000045050000 + 000000009C040000000A00004E050000 16 @@ -520,7 +520,7 @@ 0 16 - 0300000096040000FD0900002C050000 + 030000009F0400001903000035050000 16 @@ -1140,7 +1140,7 @@ 0 16 - 03000000660000003D0100006B040000 + 03000000660000003D01000062040000 16 @@ -1160,7 +1160,7 @@ 0 16 - 0300000096040000FD0900002C050000 + 030000009F0400001903000035050000 16 @@ -1180,7 +1180,7 @@ 0 16 - 0300000096040000FD0900002C050000 + 030000009F0400001903000035050000 16 @@ -1240,7 +1240,7 @@ 0 16 - 0300000096040000FD0900002C050000 + 030000009F0400001903000035050000 16 @@ -1260,7 +1260,7 @@ 0 16 - 0300000096040000FD0900002C050000 + 030000009F0400001903000035050000 16 @@ -1700,7 +1700,7 @@ 0 16 - 00000000000000001C0300001C000000 + 0000000000000000C40300001C000000 16 @@ -1720,7 +1720,7 @@ 0 16 - 00000000450500001C03000058050000 + 000000004E050000000A000061050000 16 @@ -1789,14 +1789,14 @@ 3317 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000004401000066000000700700002C010000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000660000007007000018030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100007B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000400100009B040000000000004F000000400100007B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000000803000070070000E203000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007B0400001C0300007F040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000009F040000000A000065050000000000007F0400001C030000450500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000008A070000AA010000B60D000070020000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000760C0000AA010000B60D00005C040000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F0000004401000084040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000046060000AA01000086070000D6050000000000004F00000040010000840400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000460600004C040000B60D00002605000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000084040000000A000088040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000046060000DA05000062090000A00600000000000088040000000A00004E0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2459 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000454494D45960000000000000013000454494D45035344410353434C0442595445067763736C656E0630783030306608B6C1C8A1CEC8B6A804657869740C5265636976655F7461626C650574696D65310F52696768745F6D6F746F5F73746F700E707573685F76616C5F72696768741170776D5F6F75745F6C6566745F6D6F746F0273300875735F64656C6179036375740A73656E64546F576966690B676574546F74616C4461790C74696D696E67735B695D2D3E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 + 2482 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000010506572736F6E5F646574656374696F6E9600000000000000130010506572736F6E5F646574656374696F6E12415432344330325F726573745F77726974650454494D45035344410353434C0442595445067763736C656E0630783030306608B6C1C8A1CEC8B6A804657869740C5265636976655F7461626C650574696D65310F52696768745F6D6F746F5F73746F700E707573685F76616C5F72696768741170776D5F6F75745F6C6566745F6D6F746F0273300875735F64656C6179036375740A73656E64546F5769666900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 1423 @@ -1828,7 +1828,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1855,16 +1855,16 @@ 0 .\main.c - 7 - 7 - 29 + 1 + 289 + 496 1 0 lcd.h - 6 + 5 1 34 1 @@ -1873,7 +1873,7 @@ .\lcd.c - 6 + 7 71 121 1 @@ -1919,7 +1919,7 @@ .\DS18B20.c 20 - 1 + 44 66 1