diff --git a/2025/Driver/Led.c b/2025/Driver/Led.c index 451570a..ac08164 100644 --- a/2025/Driver/Led.c +++ b/2025/Driver/Led.c @@ -5,9 +5,9 @@ void Led_Disp(unsigned char addr,enable) static unsigned char temp = 0x00,temp_old = 0xff; if(enable) - temp |= 0x01 << addr; + temp = temp | (0x01 << addr); else - temp &= ~(0x01 << addr); + temp = temp & (~(0x01 << addr)); if(temp != temp_old) { P2 = P2 & 0x1f | 0x80; @@ -17,4 +17,22 @@ void Led_Disp(unsigned char addr,enable) temp_old = temp; } +} + +void Relay(bit enable) +{ + static unsigned char temp = 0xff; + static unsigned char temp_old = 0x00; + if(enable) + temp |= 0x10; + else + temp &= ~0x10; + if(temp != temp_old) + { + P2 = P2 & 0x1f | 0xA0; + P0 = ~temp; + P2 &= 0x1f; + + temp_old = temp; + } } \ No newline at end of file diff --git a/2025/Driver/Led.h b/2025/Driver/Led.h index 3b6595e..8bc0040 100644 --- a/2025/Driver/Led.h +++ b/2025/Driver/Led.h @@ -1,3 +1,4 @@ #include -void Led_Disp(unsigned char addr,enable); \ No newline at end of file +void Led_Disp(unsigned char addr,enable); +void Relay(bit enable); \ No newline at end of file diff --git a/2025/Driver/ds1302.c b/2025/Driver/ds1302.c new file mode 100644 index 0000000..264912f --- /dev/null +++ b/2025/Driver/ds1302.c @@ -0,0 +1,53 @@ +/* # DS1302代码片段说明 + 1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。 + 2. 参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、运行速度和试题 + 中对单片机时钟频率的要求,进行代码调试和修改。 +*/ + +// +void Write_Ds1302(unsigned char temp) +{ + unsigned char i; + for (i=0;i<8;i++) + { + SCK = 0; + SDA = temp&0x01; + temp>>=1; + SCK=1; + } +} + +// +void Write_Ds1302_Byte( unsigned char address,unsigned char dat ) +{ + RST=0; _nop_(); + SCK=0; _nop_(); + RST=1; _nop_(); + Write_Ds1302(address); + Write_Ds1302(dat); + RST=0; +} + +// +unsigned char Read_Ds1302_Byte ( unsigned char address ) +{ + unsigned char i,temp=0x00; + RST=0; _nop_(); + SCK=0; _nop_(); + RST=1; _nop_(); + Write_Ds1302(address); + for (i=0;i<8;i++) + { + SCK=0; + temp>>=1; + if(SDA) + temp|=0x80; + SCK=1; + } + RST=0; _nop_(); + SCK=0; _nop_(); + SCK=1; _nop_(); + SDA=0; _nop_(); + SDA=1; _nop_(); + return (temp); +} diff --git a/2025/Driver/ds1302.h b/2025/Driver/ds1302.h new file mode 100644 index 0000000..e69de29 diff --git a/2025/Driver/iic.c b/2025/Driver/iic.c new file mode 100644 index 0000000..31f7f3e --- /dev/null +++ b/2025/Driver/iic.c @@ -0,0 +1,108 @@ +/* # I2C代码片段说明 + 1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。 + 2. 参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、运行速度和试题 + 中对单片机时钟频率的要求,进行代码调试和修改。 +*/ + +#define DELAY_TIME 10 + +// +static void I2C_Delay(unsigned char n) +{ + do + { + _nop_();_nop_();_nop_();_nop_();_nop_(); + _nop_();_nop_();_nop_();_nop_();_nop_(); + _nop_();_nop_();_nop_();_nop_();_nop_(); + } + while(n--); +} + +// +void I2CStart(void) +{ + sda = 1; + scl = 1; + I2C_Delay(DELAY_TIME); + sda = 0; + I2C_Delay(DELAY_TIME); + scl = 0; +} + +// +void I2CStop(void) +{ + sda = 0; + scl = 1; + I2C_Delay(DELAY_TIME); + sda = 1; + I2C_Delay(DELAY_TIME); +} + +// +void I2CSendByte(unsigned char byt) +{ + unsigned char i; + + for(i=0; i<8; i++){ + scl = 0; + I2C_Delay(DELAY_TIME); + if(byt & 0x80){ + sda = 1; + } + else{ + sda = 0; + } + I2C_Delay(DELAY_TIME); + scl = 1; + byt <<= 1; + I2C_Delay(DELAY_TIME); + } + + scl = 0; +} + +// +unsigned char I2CReceiveByte(void) +{ + unsigned char da; + unsigned char i; + for(i=0;i<8;i++){ + scl = 1; + I2C_Delay(DELAY_TIME); + da <<= 1; + if(sda) + da |= 0x01; + scl = 0; + I2C_Delay(DELAY_TIME); + } + return da; +} + +// +unsigned char I2CWaitAck(void) +{ + unsigned char ackbit; + + scl = 1; + I2C_Delay(DELAY_TIME); + ackbit = sda; + scl = 0; + I2C_Delay(DELAY_TIME); + + return ackbit; +} + +// +void I2CSendAck(unsigned char ackbit) +{ + scl = 0; + sda = ackbit; + I2C_Delay(DELAY_TIME); + scl = 1; + I2C_Delay(DELAY_TIME); + scl = 0; + sda = 1; + I2C_Delay(DELAY_TIME); +} + diff --git a/2025/Driver/iic.h b/2025/Driver/iic.h new file mode 100644 index 0000000..e69de29 diff --git a/2025/Driver/onewire.c b/2025/Driver/onewire.c new file mode 100644 index 0000000..0726422 --- /dev/null +++ b/2025/Driver/onewire.c @@ -0,0 +1,103 @@ +/* # 单总线代码片段说明 + 1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。 + 2. 参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、运行速度和试题 + 中对单片机时钟频率的要求,进行代码调试和修改。 +*/ + +#include + +sbit DQ = P1^4; + +// +void Delay_OneWire(unsigned int t) +{ + unsigned char i; + while(t--){ + for(i=0;i<12;i++); + } +} + +// +void Write_DS18B20(unsigned char dat) +{ + unsigned char i; + for(i=0;i<8;i++) + { + DQ = 0; + DQ = dat&0x01; + Delay_OneWire(5); + DQ = 1; + dat >>= 1; + } + Delay_OneWire(5); +} + +// +unsigned char Read_DS18B20(void) +{ + unsigned char i; + unsigned char dat; + + for(i=0;i<8;i++) + { + DQ = 0; + dat >>= 1; + DQ = 1; + if(DQ) + { + dat |= 0x80; + } + Delay_OneWire(5); + } + return dat; +} + +// +bit init_ds18b20(void) +{ + bit initflag = 0; + + DQ = 1; + Delay_OneWire(12); + DQ = 0; + Delay_OneWire(80); + DQ = 1; + Delay_OneWire(10); + initflag = DQ; + Delay_OneWire(5); + + return initflag; +} + +float Tempr_Read() +{ + unsigned char low; + unsigned char high; + + init_ds18b20(); + Write_DS18B20(0xcc); + Write_DS18B20(0x44); + Delay_OneWire(200); + + init_ds18b20(); + Write_DS18B20(0xcc); + Write_DS18B20(0xbe); + + low = Read_DS18B20(); + high = Read_DS18B20(); + + return ((high << 8) | low) /16.0; + +} + + + + + + + + + + + + diff --git a/2025/Driver/onewire.h b/2025/Driver/onewire.h new file mode 100644 index 0000000..fc11b06 --- /dev/null +++ b/2025/Driver/onewire.h @@ -0,0 +1,7 @@ +#include + +void Delay_OneWire(unsigned int t); +void Write_DS18B20(unsigned char dat); +unsigned char Read_DS18B20(void); +bit init_ds18b20(void); +float Tempr_Read(); \ No newline at end of file diff --git a/2025/User/2025.uvgui.ZBright b/2025/User/2025.uvgui.ZBright index fcb5f60..3725701 100644 --- a/2025/User/2025.uvgui.ZBright +++ b/2025/User/2025.uvgui.ZBright @@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- D:\Git\2025\Driver + D:\Git\Gitea\lanqiaobei_51_study\2025\Driver @@ -110,8 +110,8 @@ 0 - 409 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000010000000100000019443A5C4769745C323032355C4472697665725C496E69742E630000000006496E69742E6300000000C5D4F200FFFFFFFF18443A5C4769745C323032355C4472697665725C4C65642E6300000000054C65642E6300000000FFDC7800FFFFFFFF18443A5C4769745C323032355C4472697665725C5365672E6300000000055365672E6300000000BECEA100FFFFFFFF18443A5C4769745C323032355C4472697665725C4B65792E6300000000054B65792E6300000000F0A0A100FFFFFFFF17443A5C4769745C323032355C557365725C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000057040000A70000007C08000093040000 + 620 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000010000000100000033443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C4472697665725C496E69742E630000000006496E69742E6300000000C5D4F200FFFFFFFF32443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C4472697665725C4C65642E6300000000054C65642E6300000000FFDC7800FFFFFFFF32443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C4472697665725C5365672E6300000000055365672E6300000000BECEA100FFFFFFFF32443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C4472697665725C4B65792E6300000000054B65792E6300000000F0A0A100FFFFFFFF31443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C557365725C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF36443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795C323032355C4472697665725C6F6E65776972652E6300000000096F6E65776972652E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000057040000A70000007C08000093040000 @@ -134,7 +134,7 @@ 16 - B404000098000000E00A00005C010000 + 57040000A7000000830A00006B010000 @@ -530,7 +530,7 @@ 0 16 - 030000005604000066050000EA040000 + 03000000560400007C060000EA040000 16 @@ -1150,7 +1150,7 @@ 0 16 - 03000000660000003D01000022040000 + 03000000660000003D010000B0030000 16 @@ -1170,7 +1170,7 @@ 0 16 - 030000005604000066050000EA040000 + 03000000560400007C060000EA040000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000005604000066050000EA040000 + 03000000560400007C060000EA040000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000005604000066050000EA040000 + 03000000560400007C060000EA040000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000005604000066050000EA040000 + 03000000560400007C060000EA040000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000130100007007000017010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B404000098000000E00A00005C010000440100004F00000070070000130100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F00000030060000FD020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A009000098000000E00A000046030000300600004F00000070070000FD02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100003B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000007003000098000000B004000084040000000000004F000000400100003B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E902000070070000ED02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000007003000036030000E00A00000E04000000000000ED02000070070000C503000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000ED020000BC030000C503000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003B040000690500003F040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000007003000088040000D90800004C050000000000003F04000069050000030500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000130100007007000017010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000057040000A7000000830A00006B010000440100004F00000070070000130100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F00000030060000FD020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000043090000A7000000830A000055030000300600004F00000070070000FD02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100003B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000013030000A70000005304000021040000000000004F000000400100003B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E902000070070000ED02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000001303000045030000830A00001D04000000000000ED02000070070000C503000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000ED020000BC030000C503000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003B040000690500003F040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000130300002504000092090000E9040000000000003F04000069050000030500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2537 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1883,27 +1883,36 @@ ..\Driver\Seg.c - 24 + 4 1 - 7 + 21 0 0 ..\Driver\Key.c - 26 + 0 1 - 18 + 19 0 0 .\main.c - 4 - 58 - 67 + 17 + 31 + 63 + 1 + + 0 + + + ..\Driver\onewire.c + 0 + 1 + 19 1 0 diff --git a/2025/User/2025.uvopt b/2025/User/2025.uvopt index 89c8d25..1756c41 100644 --- a/2025/User/2025.uvopt +++ b/2025/User/2025.uvopt @@ -228,7 +228,7 @@ 2 5 1 - 1 + 0 0 0 ..\Driver\Key.c @@ -236,6 +236,18 @@ 0 0 + + 2 + 6 + 1 + 0 + 0 + 0 + ..\Driver\onewire.c + onewire.c + 0 + 0 + diff --git a/2025/User/2025.uvproj b/2025/User/2025.uvproj index 36e0543..3d50669 100644 --- a/2025/User/2025.uvproj +++ b/2025/User/2025.uvproj @@ -406,6 +406,11 @@ 1 ..\Driver\Key.c + + onewire.c + 1 + ..\Driver\onewire.c + diff --git a/2025/User/Listings/2025.m51 b/2025/User/Listings/2025.m51 index 7808251..c5038a9 100644 --- a/2025/User/Listings/2025.m51 +++ b/2025/User/Listings/2025.m51 @@ -1,12 +1,12 @@ -BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22.4.0, INVOKED BY: C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj, .\Objects\Init.obj, .\Objects\Led.obj, .\Obj ->> ects\Seg.obj, .\Objects\Key.obj TO .\Objects\2025 PRINT (.\Listings\2025.m51) RAMSIZE (256) +>> ects\Seg.obj, .\Objects\Key.obj, .\Objects\onewire.obj TO .\Objects\2025 PRINT (.\Listings\2025.m51) RAMSIZE (256) -MEMORY MODEL: SMALL +MEMORY MODEL: SMALL WITH FLOATING POINT ARITHMETIC INPUT MODULES INCLUDED: @@ -15,7 +15,15 @@ INPUT MODULES INCLUDED: .\Objects\Led.obj (LED) .\Objects\Seg.obj (SEG) .\Objects\Key.obj (KEY) + .\Objects\onewire.obj (ONEWIRE) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPMUL) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPDIV) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FCAST) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51FPS.LIB (?C?CASTF) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51FPS.LIB (?C?FPGETOPN) C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51S.LIB (?C?UIDIV) + C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51S.LIB (?C?LNEG) C:\USERS\ZBRIGHT\APPDATA\LOCAL\KEIL_V5\C51\LIB\C51S.LIB (?C_INIT) @@ -27,59 +35,91 @@ LINK MAP OF MODULE: .\Objects\2025 (MAIN) * * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" - DATA 0008H 0021H UNIT ?DT?MAIN - DATA 0029H 0019H UNIT ?DT?SEG - DATA 0042H 0002H UNIT ?DT?LED - IDATA 0044H 0001H UNIT ?STACK + DATA 0008H 0004H UNIT ?DT?LED + 000CH 0014H *** GAP *** + BIT 0020H.0 0000H.1 UNIT ?BI?RELAY?LED + BIT 0020H.1 0000H.1 UNIT _BIT_GROUP_ + 0020H.2 0000H.6 *** GAP *** + DATA 0021H 0026H UNIT ?DT?MAIN + DATA 0047H 0019H UNIT ?DT?SEG + IDATA 0060H 0001H UNIT ?STACK * * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0003H ABSOLUTE - CODE 0003H 0001H UNIT ?PR?LED_PROC?MAIN - 0004H 0007H *** GAP *** + 0003H 0008H *** GAP *** CODE 000BH 0003H ABSOLUTE - CODE 000EH 008CH UNIT ?C_C51STARTUP - CODE 009AH 0088H UNIT ?PR?TIMER0_SERVER?MAIN - CODE 0122H 007AH UNIT ?PR?KEY_READ?KEY - CODE 019CH 0042H UNIT ?C_INITSEG - CODE 01DEH 0042H UNIT ?PR?_SEG_DISP?SEG - CODE 0220H 003BH UNIT ?PR?_LED_DISP?LED - CODE 025BH 0025H UNIT ?PR?KEY_PROC?MAIN - CODE 0280H 0022H UNIT ?PR?SEG_PROC?MAIN - CODE 02A2H 001DH UNIT ?PR?SYSTEM_INIT?INIT - CODE 02BFH 0015H UNIT ?PR?TIMER0_INIT?MAIN - CODE 02D4H 0011H UNIT ?PR?MAIN?MAIN + CODE 000EH 02C8H UNIT ?C?LIB_CODE + CODE 02D6H 008CH UNIT ?C_C51STARTUP + CODE 0362H 0088H UNIT ?PR?TIMER0_SERVER?MAIN + CODE 03EAH 007AH UNIT ?PR?KEY_READ?KEY + CODE 0464H 0054H UNIT ?PR?SEG_PROC?MAIN + CODE 04B8H 004CH UNIT ?C_INITSEG + CODE 0504H 0042H UNIT ?PR?_SEG_DISP?SEG + CODE 0546H 003BH UNIT ?PR?_LED_DISP?LED + CODE 0581H 003BH UNIT ?PR?TEMPR_READ?ONEWIRE + CODE 05BCH 0027H UNIT ?PR?INIT_DS18B20?ONEWIRE + CODE 05E3H 0025H UNIT ?PR?KEY_PROC?MAIN + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 2 + + + CODE 0608H 0025H UNIT ?PR?RELAY?LED + CODE 062DH 001EH UNIT ?PR?_WRITE_DS18B20?ONEWIRE + CODE 064BH 001DH UNIT ?PR?SYSTEM_INIT?INIT + CODE 0668H 001AH UNIT ?PR?_DELAY_ONEWIRE?ONEWIRE + CODE 0682H 001AH UNIT ?PR?READ_DS18B20?ONEWIRE + CODE 069CH 0015H UNIT ?PR?TIMER0_INIT?MAIN + CODE 06B1H 0011H UNIT ?PR?MAIN?MAIN + CODE 06C2H 000CH UNIT ?PR?LED_PROC?MAIN OVERLAY MAP OF MODULE: .\Objects\2025 (MAIN) -SEGMENT - +--> CALLED SEGMENT ---------------------- -?PR?TIMER0_SERVER?MAIN +SEGMENT BIT_GROUP + +--> CALLED SEGMENT START LENGTH +-------------------------------------------------- +?PR?TIMER0_SERVER?MAIN ----- ----- +--> ?PR?_SEG_DISP?SEG - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 2 - - +--> ?PR?_LED_DISP?LED *** NEW ROOT *************************************************** -?C_C51STARTUP +?C_C51STARTUP ----- ----- +--> ?PR?MAIN?MAIN +--> ?C_INITSEG -?PR?MAIN?MAIN +?PR?MAIN?MAIN ----- ----- +--> ?PR?SYSTEM_INIT?INIT +--> ?PR?TIMER0_INIT?MAIN +--> ?PR?KEY_PROC?MAIN +--> ?PR?SEG_PROC?MAIN +--> ?PR?LED_PROC?MAIN -?PR?KEY_PROC?MAIN +?PR?KEY_PROC?MAIN ----- ----- +--> ?PR?KEY_READ?KEY +?PR?SEG_PROC?MAIN ----- ----- + +--> ?PR?TEMPR_READ?ONEWIRE + +?PR?TEMPR_READ?ONEWIRE ----- ----- + +--> ?PR?INIT_DS18B20?ONEWIRE + +--> ?PR?_WRITE_DS18B20?ONEWIRE + +--> ?PR?_DELAY_ONEWIRE?ONEWIRE + +--> ?PR?READ_DS18B20?ONEWIRE + +?PR?INIT_DS18B20?ONEWIRE 0020H.1 0000H.1 + +--> ?PR?_DELAY_ONEWIRE?ONEWIRE + +?PR?_WRITE_DS18B20?ONEWIRE ----- ----- + +--> ?PR?_DELAY_ONEWIRE?ONEWIRE + +?PR?READ_DS18B20?ONEWIRE ----- ----- + +--> ?PR?_DELAY_ONEWIRE?ONEWIRE + + + + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 3 SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) @@ -98,108 +138,118 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:00E8H PUBLIC P6 B:00A8H.7 PUBLIC EA D:00F8H PUBLIC P7 - C:0003H PUBLIC Led_Proc - D:0008H PUBLIC Seg_Point + C:06C2H PUBLIC Led_Proc + D:0021H PUBLIC Seg_Point D:00A8H PUBLIC IE - C:009AH PUBLIC Timer0_Server - C:0280H PUBLIC Seg_Proc + C:0362H PUBLIC Timer0_Server + C:0464H PUBLIC Seg_Proc D:00B8H PUBLIC IP - D:0010H PUBLIC Seg_Buf - C:025BH PUBLIC Key_Proc - D:0018H PUBLIC Seg_Slow_Down - D:001AH PUBLIC Seg_Show + D:0029H PUBLIC Seg_Buf + C:05E3H PUBLIC Key_Proc + D:0031H PUBLIC Seg_Slow_Down + D:0033H PUBLIC Seg_Show D:00D8H PUBLIC CCON - D:001BH PUBLIC Key_Down - C:02D4H PUBLIC main - C:02BFH PUBLIC Timer0_Init - D:001CH PUBLIC Key_Old - D:001DH PUBLIC Key_Slow_Down - D:001EH PUBLIC Key_Val - D:001FH PUBLIC Seg_Pos + D:0034H PUBLIC Key_Down + C:06B1H PUBLIC main + C:069CH PUBLIC Timer0_Init + D:0035H PUBLIC Key_Old + D:0036H PUBLIC Key_Slow_Down + D:0037H PUBLIC Key_Val + D:0038H PUBLIC Seg_Pos D:0098H PUBLIC SCON D:0089H PUBLIC TMOD D:0088H PUBLIC TCON - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 3 - - D:008EH PUBLIC AUXR + D:0039H PUBLIC Tempr_Show_10x B:00A8H.1 PUBLIC ET0 B:0088H.5 PUBLIC TF0 D:008CH PUBLIC TH0 - D:0020H PUBLIC Key_Up + D:003BH PUBLIC Key_Up D:008AH PUBLIC TL0 B:0088H.4 PUBLIC TR0 - D:0021H PUBLIC ucLed + D:003CH PUBLIC Relay_Flag + D:003DH PUBLIC Relay_Timer + D:003FH PUBLIC ucLed D:00D0H PUBLIC PSW ------- PROC KEY_PROC - C:025BH LINE# 29 - C:025BH LINE# 30 - C:025BH LINE# 31 - C:025FH LINE# 32 - C:0262H LINE# 34 - C:0267H LINE# 35 - C:0270H LINE# 36 - C:0276H LINE# 37 - C:0279H LINE# 39 - C:027DH LINE# 40 - C:027FH LINE# 41 + C:05E3H LINE# 32 + C:05E3H LINE# 33 + C:05E3H LINE# 34 + C:05E7H LINE# 35 + C:05EAH LINE# 37 + C:05EFH LINE# 38 + C:05F8H LINE# 39 + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 4 + + + C:05FEH LINE# 40 + C:0601H LINE# 42 + C:0605H LINE# 43 + C:0607H LINE# 44 ------- ENDPROC KEY_PROC ------- PROC SEG_PROC - C:0280H LINE# 43 - C:0280H LINE# 44 - C:0280H LINE# 45 - C:0286H LINE# 46 - C:028BH LINE# 48 - C:0298H LINE# 49 - C:02A1H LINE# 50 + C:0464H LINE# 46 + C:0464H LINE# 47 + C:0464H LINE# 48 + C:046AH LINE# 49 + C:046FH LINE# 51 + C:0483H LINE# 52 + C:0493H LINE# 53 + C:04A7H LINE# 54 + C:04AAH LINE# 55 + C:04B7H LINE# 56 ------- ENDPROC SEG_PROC ------- PROC LED_PROC - C:0003H LINE# 52 - C:0003H LINE# 53 - C:0003H LINE# 55 + C:06C2H LINE# 58 + C:06C2H LINE# 59 + C:06C2H LINE# 60 + C:06C5H LINE# 61 + C:06C8H LINE# 62 + C:06CAH LINE# 63 + C:06CDH LINE# 64 ------- ENDPROC LED_PROC ------- PROC TIMER0_INIT - C:02BFH LINE# 58 - C:02BFH LINE# 59 - C:02BFH LINE# 60 - C:02C2H LINE# 61 - C:02C5H LINE# 62 - C:02C8H LINE# 63 - C:02CBH LINE# 64 - C:02CDH LINE# 65 - C:02CFH LINE# 66 - C:02D1H LINE# 67 - C:02D3H LINE# 68 + C:069CH LINE# 67 + C:069CH LINE# 68 + C:069CH LINE# 69 + C:069FH LINE# 70 + C:06A2H LINE# 71 + C:06A5H LINE# 72 + C:06A8H LINE# 73 + C:06AAH LINE# 74 + C:06ACH LINE# 75 + C:06AEH LINE# 76 + C:06B0H LINE# 77 ------- ENDPROC TIMER0_INIT ------- PROC TIMER0_SERVER - C:009AH LINE# 70 - C:00B7H LINE# 72 - C:00C1H LINE# 73 - C:00D8H LINE# 74 - C:00E2H LINE# 75 - C:00F9H LINE# 76 - C:0107H LINE# 78 - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 4 - - + C:0362H LINE# 79 + C:037FH LINE# 81 + C:0389H LINE# 82 + C:03A0H LINE# 83 + C:03AAH LINE# 85 + C:03C1H LINE# 86 + C:03CFH LINE# 88 ------- ENDPROC TIMER0_SERVER ------- PROC MAIN - C:02D4H LINE# 80 - C:02D4H LINE# 81 - C:02D4H LINE# 82 - C:02D7H LINE# 83 - C:02DAH LINE# 84 - C:02DAH LINE# 85 - C:02DAH LINE# 86 - C:02DDH LINE# 87 - C:02E0H LINE# 88 - C:02E3H LINE# 89 + C:06B1H LINE# 90 + C:06B1H LINE# 91 + C:06B1H LINE# 92 + C:06B4H LINE# 93 + C:06B7H LINE# 94 + C:06B7H LINE# 95 + C:06B7H LINE# 96 + C:06BAH LINE# 97 + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 5 + + + C:06BDH LINE# 98 + C:06C0H LINE# 99 ------- ENDPROC MAIN ------- ENDMOD MAIN ------- MODULE INIT C:0000H SYMBOL _ICE_DUMMY_ - C:02A2H PUBLIC System_Init + C:064BH PUBLIC System_Init D:0080H PUBLIC P0 D:0090H PUBLIC P1 D:00A0H PUBLIC P2 @@ -215,20 +265,21 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:0088H PUBLIC TCON D:00D0H PUBLIC PSW ------- PROC SYSTEM_INIT - C:02A2H LINE# 3 - C:02A2H LINE# 4 - C:02A2H LINE# 5 - C:02AAH LINE# 6 - C:02ADH LINE# 7 - C:02B0H LINE# 9 - C:02B8H LINE# 10 - C:02BBH LINE# 11 - C:02BEH LINE# 12 + C:064BH LINE# 3 + C:064BH LINE# 4 + C:064BH LINE# 5 + C:0653H LINE# 6 + C:0656H LINE# 7 + C:0659H LINE# 9 + C:0661H LINE# 10 + C:0664H LINE# 11 + C:0667H LINE# 12 ------- ENDPROC SYSTEM_INIT ------- ENDMOD INIT ------- MODULE LED C:0000H SYMBOL _ICE_DUMMY_ + C:0608H PUBLIC Relay D:0080H PUBLIC P0 D:0090H PUBLIC P1 D:00A0H PUBLIC P2 @@ -237,11 +288,8 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:00C8H PUBLIC P5 D:00E8H PUBLIC P6 D:00F8H PUBLIC P7 - C:0220H PUBLIC _Led_Disp + C:0546H PUBLIC _Led_Disp D:00A8H PUBLIC IE - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 5 - - D:00B8H PUBLIC IP D:00D8H PUBLIC CCON D:0098H PUBLIC SCON @@ -251,23 +299,46 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:0007H SYMBOL addr D:0004H SYMBOL enable ------- DO - D:0042H SYMBOL temp - D:0043H SYMBOL temp_old + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 6 + + + D:0008H SYMBOL temp + D:0009H SYMBOL temp_old ------- ENDDO - C:0220H LINE# 3 - C:0220H LINE# 4 - C:0220H LINE# 7 - C:0224H LINE# 8 - C:0233H LINE# 10 - C:0241H LINE# 11 - C:0247H LINE# 12 - C:0247H LINE# 13 - C:024FH LINE# 14 - C:0254H LINE# 15 - C:0257H LINE# 17 - C:025AH LINE# 18 - C:025AH LINE# 20 + C:0546H LINE# 3 + C:0546H LINE# 4 + C:0546H LINE# 7 + C:054AH LINE# 8 + C:0559H LINE# 10 + C:0567H LINE# 11 + C:056DH LINE# 12 + C:056DH LINE# 13 + C:0575H LINE# 14 + C:057AH LINE# 15 + C:057DH LINE# 17 + C:0580H LINE# 18 + C:0580H LINE# 20 ------- ENDPROC _LED_DISP + ------- PROC RELAY + B:0020H.0 SYMBOL enable + ------- DO + D:000AH SYMBOL temp + D:000BH SYMBOL temp_old + ------- ENDDO + C:0608H LINE# 22 + C:0608H LINE# 23 + C:0608H LINE# 26 + C:060BH LINE# 27 + C:0610H LINE# 29 + C:0613H LINE# 30 + C:0619H LINE# 31 + C:0619H LINE# 32 + C:0621H LINE# 33 + C:0626H LINE# 34 + C:0629H LINE# 36 + C:062CH LINE# 37 + C:062CH LINE# 38 + ------- ENDPROC RELAY ------- ENDMOD LED ------- MODULE SEG @@ -280,36 +351,36 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:00C8H PUBLIC P5 D:00E8H PUBLIC P6 D:00F8H PUBLIC P7 - D:0029H PUBLIC Seg_Dula - D:003AH PUBLIC Seg_Wela + D:0047H PUBLIC Seg_Dula + D:0058H PUBLIC Seg_Wela D:00A8H PUBLIC IE - C:01DEH PUBLIC _Seg_Disp + C:0504H PUBLIC _Seg_Disp D:00B8H PUBLIC IP D:00D8H PUBLIC CCON D:0098H PUBLIC SCON D:0088H PUBLIC TCON + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 7 + + D:00D0H PUBLIC PSW ------- PROC _SEG_DISP D:0007H SYMBOL Wela D:0004H SYMBOL Dula D:0002H SYMBOL Point - C:01DEH LINE# 15 - C:01DEH LINE# 16 - C:01DEH LINE# 17 - C:01E6H LINE# 18 - C:01E9H LINE# 19 - C:01ECH LINE# 21 - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 6 - - - C:01F4H LINE# 22 - C:01FBH LINE# 23 - C:01FEH LINE# 25 - C:0202H LINE# 26 - C:020DH LINE# 28 - C:0214H LINE# 29 - C:021CH LINE# 30 - C:021FH LINE# 31 + C:0504H LINE# 15 + C:0504H LINE# 16 + C:0504H LINE# 17 + C:050CH LINE# 18 + C:050FH LINE# 19 + C:0512H LINE# 21 + C:051AH LINE# 22 + C:0521H LINE# 23 + C:0524H LINE# 25 + C:0528H LINE# 26 + C:0533H LINE# 28 + C:053AH LINE# 29 + C:0542H LINE# 30 + C:0545H LINE# 31 ------- ENDPROC _SEG_DISP ------- ENDMOD SEG @@ -323,7 +394,7 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) D:00C8H PUBLIC P5 D:00E8H PUBLIC P6 D:00F8H PUBLIC P7 - C:0122H PUBLIC Key_Read + C:03EAH PUBLIC Key_Read D:00A8H PUBLIC IE D:00B8H PUBLIC IP D:00D8H PUBLIC CCON @@ -343,38 +414,187 @@ SYMBOL TABLE OF MODULE: .\Objects\2025 (MAIN) ------- DO D:0007H SYMBOL temp ------- ENDDO - C:0122H LINE# 3 - C:0122H LINE# 4 - C:0122H LINE# 5 - C:0124H LINE# 6 - C:0126H LINE# 8 - C:012EH LINE# 9 - C:0133H LINE# 10 - C:0138H LINE# 11 - C:013DH LINE# 12 - C:0142H LINE# 14 - C:014AH LINE# 15 - C:014FH LINE# 16 - C:0154H LINE# 17 - C:0159H LINE# 18 - C:015EH LINE# 20 - C:0166H LINE# 21 - BL51 BANKED LINKER/LOCATER V6.22.4.0 04/13/2025 00:35:53 PAGE 7 + C:03EAH LINE# 3 + C:03EAH LINE# 4 + C:03EAH LINE# 5 + C:03ECH LINE# 6 + C:03EEH LINE# 8 + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 8 - C:016BH LINE# 22 - C:0170H LINE# 23 - C:0175H LINE# 24 - C:017AH LINE# 26 - C:0182H LINE# 27 - C:0187H LINE# 28 - C:018CH LINE# 29 - C:0191H LINE# 30 - C:0196H LINE# 32 - C:019BH LINE# 33 - C:019BH LINE# 34 + C:03F6H LINE# 9 + C:03FBH LINE# 10 + C:0400H LINE# 11 + C:0405H LINE# 12 + C:040AH LINE# 14 + C:0412H LINE# 15 + C:0417H LINE# 16 + C:041CH LINE# 17 + C:0421H LINE# 18 + C:0426H LINE# 20 + C:042EH LINE# 21 + C:0433H LINE# 22 + C:0438H LINE# 23 + C:043DH LINE# 24 + C:0442H LINE# 26 + C:044AH LINE# 27 + C:044FH LINE# 28 + C:0454H LINE# 29 + C:0459H LINE# 30 + C:045EH LINE# 32 + C:0463H LINE# 33 + C:0463H LINE# 34 ------- ENDPROC KEY_READ ------- ENDMOD KEY -Program Size: data=69.0 xdata=0 code=734 -LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) + ------- MODULE ONEWIRE + C:0000H SYMBOL _ICE_DUMMY_ + D:0080H PUBLIC P0 + D:0090H PUBLIC P1 + D:00A0H PUBLIC P2 + D:00B0H PUBLIC P3 + D:00C0H PUBLIC P4 + C:0682H PUBLIC Read_DS18B20 + D:00C8H PUBLIC P5 + D:00E8H PUBLIC P6 + D:00F8H PUBLIC P7 + D:00A8H PUBLIC IE + C:066CH PUBLIC _Delay_OneWire + B:0090H.4 PUBLIC DQ + C:062DH PUBLIC _Write_DS18B20 + D:00B8H PUBLIC IP + C:05BCH PUBLIC init_ds18b20 + D:00D8H PUBLIC CCON + D:0098H PUBLIC SCON + D:0088H PUBLIC TCON + C:0581H PUBLIC Tempr_Read + D:00D0H PUBLIC PSW + C:0668H SYMBOL L?0020 + ------- PROC L?0019 + ------- ENDPROC L?0019 + C:0668H SYMBOL L?0020 + ------- PROC _DELAY_ONEWIRE + D:0006H SYMBOL t + ------- DO + D:0005H SYMBOL i + ------- ENDDO + C:066CH LINE# 12 + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 9 + + + C:066CH LINE# 13 + C:066CH LINE# 15 + C:0676H LINE# 16 + C:0681H LINE# 17 + C:0681H LINE# 18 + ------- ENDPROC _DELAY_ONEWIRE + ------- PROC _WRITE_DS18B20 + D:0001H SYMBOL dat + ------- DO + D:0003H SYMBOL i + ------- ENDDO + C:062DH LINE# 21 + C:062FH LINE# 22 + C:062FH LINE# 24 + C:0631H LINE# 25 + C:0631H LINE# 26 + C:0633H LINE# 27 + C:0637H LINE# 28 + C:063AH LINE# 29 + C:063CH LINE# 30 + C:0640H LINE# 31 + C:0644H LINE# 32 + ------- ENDPROC _WRITE_DS18B20 + ------- PROC READ_DS18B20 + ------- DO + D:0003H SYMBOL i + D:0004H SYMBOL dat + ------- ENDDO + C:0682H LINE# 36 + C:0682H LINE# 37 + C:0682H LINE# 41 + C:0684H LINE# 42 + C:0684H LINE# 43 + C:0686H LINE# 44 + C:068AH LINE# 45 + C:068CH LINE# 46 + C:068FH LINE# 47 + C:068FH LINE# 48 + C:0692H LINE# 49 + C:0692H LINE# 50 + C:0695H LINE# 51 + C:0699H LINE# 52 + C:069BH LINE# 53 + ------- ENDPROC READ_DS18B20 + ------- PROC INIT_DS18B20 + ------- DO + B:0020H.1 SYMBOL initflag + ------- ENDDO + C:05BCH LINE# 56 + C:05BCH LINE# 57 + C:05BCH LINE# 58 + C:05BEH LINE# 60 + C:05C0H LINE# 61 + C:05C7H LINE# 62 + C:05C9H LINE# 63 + C:05D0H LINE# 64 + C:05D2H LINE# 65 + BL51 BANKED LINKER/LOCATER V6.22.4.0 04/15/2025 20:33:28 PAGE 10 + + + C:05D9H LINE# 66 + C:05DDH LINE# 67 + C:05E0H LINE# 69 + C:05E2H LINE# 70 + ------- ENDPROC INIT_DS18B20 + ------- PROC TEMPR_READ + ------- DO + D:0001H SYMBOL low + D:0007H SYMBOL high + ------- ENDDO + C:0581H LINE# 72 + C:0581H LINE# 73 + C:0581H LINE# 77 + C:0584H LINE# 78 + C:0589H LINE# 79 + C:058EH LINE# 80 + C:0595H LINE# 82 + C:0598H LINE# 83 + C:059DH LINE# 84 + C:05A2H LINE# 86 + C:05A7H LINE# 87 + C:05AAH LINE# 89 + ------- ENDPROC TEMPR_READ + ------- ENDMOD ONEWIRE + + ------- MODULE ?C?FPMUL + C:000EH PUBLIC ?C?FPMUL + ------- ENDMOD ?C?FPMUL + + ------- MODULE ?C?FPDIV + C:0117H PUBLIC ?C?FPDIV + ------- ENDMOD ?C?FPDIV + + ------- MODULE ?C?FCAST + C:01BEH PUBLIC ?C?FCASTC + C:01B9H PUBLIC ?C?FCASTI + C:01B4H PUBLIC ?C?FCASTL + ------- ENDMOD ?C?FCAST + + ------- MODULE ?C?CASTF + C:01F2H PUBLIC ?C?CASTF + ------- ENDMOD ?C?CASTF + + ------- MODULE ?C?UIDIV + C:0273H PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?LNEG + C:02C8H PUBLIC ?C?LNEG + ------- ENDMOD ?C?LNEG + +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?RELAY?LED + +Program Size: data=76.2 xdata=0 code=1734 +LINK/LOCATE RUN COMPLETE. 1 WARNING(S), 0 ERROR(S) diff --git a/2025/User/Listings/Init.lst b/2025/User/Listings/Init.lst index 6fc54c9..6eb1ba8 100644 --- a/2025/User/Listings/Init.lst +++ b/2025/User/Listings/Init.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.7.0 INIT 04/13/2025 00:35:53 PAGE 1 +C51 COMPILER V9.60.7.0 INIT 04/15/2025 20:33:28 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE INIT diff --git a/2025/User/Listings/Key.lst b/2025/User/Listings/Key.lst index fb4c743..c540776 100644 --- a/2025/User/Listings/Key.lst +++ b/2025/User/Listings/Key.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.7.0 KEY 04/13/2025 00:35:53 PAGE 1 +C51 COMPILER V9.60.7.0 KEY 04/15/2025 20:33:28 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE KEY diff --git a/2025/User/Listings/Led.lst b/2025/User/Listings/Led.lst index ae3a7e8..78aa1e2 100644 --- a/2025/User/Listings/Led.lst +++ b/2025/User/Listings/Led.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.7.0 LED 04/13/2025 00:35:53 PAGE 1 +C51 COMPILER V9.60.7.0 LED 04/15/2025 20:33:28 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE LED @@ -15,9 +15,9 @@ line level source 5 1 static unsigned char temp = 0x00,temp_old = 0xff; 6 1 7 1 if(enable) - 8 1 temp |= 0x01 << addr; + 8 1 temp = temp | (0x01 << addr); 9 1 else - 10 1 temp &= ~(0x01 << addr); + 10 1 temp = temp & (~(0x01 << addr)); 11 1 if(temp != temp_old) 12 1 { 13 2 P2 = P2 & 0x1f | 0x80; @@ -28,16 +28,34 @@ line level source 18 2 } 19 1 20 1 } + 21 + 22 void Relay(bit enable) + 23 { + 24 1 static unsigned char temp = 0xff; + 25 1 static unsigned char temp_old = 0x00; + 26 1 if(enable) + 27 1 temp |= 0x10; + 28 1 else + 29 1 temp &= ~0x10; + 30 1 if(temp != temp_old) + 31 1 { + 32 2 P2 = P2 & 0x1f | 0xA0; + 33 2 P0 = ~temp; + 34 2 P2 &= 0x1f; + 35 2 + 36 2 temp_old = temp; + 37 2 } + 38 1 } MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 59 ---- + CODE SIZE = 96 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- - DATA SIZE = 2 ---- + DATA SIZE = 4 ---- IDATA SIZE = ---- ---- - BIT SIZE = ---- ---- + BIT SIZE = ---- 1 END OF MODULE INFORMATION. diff --git a/2025/User/Listings/Seg.lst b/2025/User/Listings/Seg.lst index ee06493..0f2cccd 100644 --- a/2025/User/Listings/Seg.lst +++ b/2025/User/Listings/Seg.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.7.0 SEG 04/13/2025 00:35:53 PAGE 1 +C51 COMPILER V9.60.7.0 SEG 04/15/2025 20:33:28 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE SEG diff --git a/2025/User/Listings/main.lst b/2025/User/Listings/main.lst index 2d08115..70aeb46 100644 --- a/2025/User/Listings/main.lst +++ b/2025/User/Listings/main.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.7.0 MAIN 04/13/2025 00:35:53 PAGE 1 +C51 COMPILER V9.60.7.0 MAIN 04/15/2025 20:33:28 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN @@ -14,113 +14,125 @@ line level source 4 #include 5 #include 6 #include - 7 - 8 /* 变量申明*/ - 9 unsigned char Key_Slow_Down;//按键减速变量 - 10 unsigned char Key_Val,Key_Old,Key_Down,Key_Up; - 11 unsigned int Seg_Slow_Down; - 12 unsigned char Seg_Pos; - 13 unsigned char Seg_Buf[8]= - 14 { - 15 16,16,16,16,16,16,16,16 - 16 }; - 17 unsigned char Seg_Point[8]= - 18 { - 19 0,0,0,0,0,0,0,0 - 20 }; - 21 unsigned char ucLed[8]= - 22 { - 23 1,0,0,0,0,0,0,0 - 24 }; - 25 - 26 unsigned char Seg_Show; - 27 - 28 /* 处理函数(key,seg,led)*/ - 29 void Key_Proc() - 30 { - 31 1 if(Key_Slow_Down) return; - 32 1 Key_Slow_Down = 1; - 33 1 - 34 1 Key_Val = Key_Read(); - 35 1 Key_Down = Key_Val & (Key_Old ^ Key_Val); - 36 1 Key_Up = ~Key_Val & (Key_Old ^ Key_Val); - 37 1 Key_Old = Key_Val; - 38 1 - 39 1 if(Key_Down != 0) - 40 1 Seg_Show = Key_Down; - 41 1 } - 42 - 43 void Seg_Proc() - 44 { - 45 1 if(Seg_Slow_Down) return; - 46 1 Seg_Slow_Down = 1; - 47 1 - 48 1 Seg_Buf[0] = Seg_Show /10 %10; - 49 1 Seg_Buf[1] = Seg_Show %10; - 50 1 } - 51 - 52 void Led_Proc() - 53 { - 54 1 - C51 COMPILER V9.60.7.0 MAIN 04/13/2025 00:35:53 PAGE 2 + 7 #include + 8 + 9 /* 变量申明*/ + 10 unsigned char Key_Slow_Down;//按键减速变量 + 11 unsigned char Key_Val,Key_Old,Key_Down,Key_Up; + 12 unsigned int Seg_Slow_Down; + 13 unsigned char Seg_Pos; + 14 unsigned char Seg_Buf[8]= + 15 { + 16 16,16,16,16,16,16,16,16 + 17 }; + 18 unsigned char Seg_Point[8]= + 19 { + 20 0,0,0,0,0,0,0,0 + 21 }; + 22 unsigned char ucLed[8]= + 23 { + 24 1,0,1,0,0,0,0,0 + 25 }; + 26 + 27 unsigned char Seg_Show; + 28 unsigned int Tempr_Show_10x = 0,Relay_Timer; + 29 unsigned char Relay_Flag; + 30 + 31 /* 处理函数(key,seg,led)*/ + 32 void Key_Proc() + 33 { + 34 1 if(Key_Slow_Down) return; + 35 1 Key_Slow_Down = 1; + 36 1 + 37 1 Key_Val = Key_Read(); + 38 1 Key_Down = Key_Val & (Key_Old ^ Key_Val); + 39 1 Key_Up = ~Key_Val & (Key_Old ^ Key_Val); + 40 1 Key_Old = Key_Val; + 41 1 + 42 1 if(Key_Down != 0) + 43 1 Seg_Show = Key_Down; + 44 1 } + 45 + 46 void Seg_Proc() + 47 { + 48 1 if(Seg_Slow_Down) return; + 49 1 Seg_Slow_Down = 1; + 50 1 + 51 1 Tempr_Show_10x = Tempr_Read() * 10; + 52 1 Seg_Buf[0] = Tempr_Show_10x /100 %10; + 53 1 Seg_Buf[1] = Tempr_Show_10x /10 %10; + 54 1 Seg_Point[1] = 1; + C51 COMPILER V9.60.7.0 MAIN 04/15/2025 20:33:28 PAGE 2 - 55 1 } - 56 - 57 /* 定时器函数(初始化、中断函数)*/ - 58 void Timer0_Init(void) //1毫秒@12.000MHz + 55 1 Seg_Buf[2] = Tempr_Show_10x % 10; + 56 1 } + 57 + 58 void Led_Proc() 59 { - 60 1 AUXR &= 0x7F; //定时器时钟12T模式 - 61 1 TMOD &= 0xF0; //设置定时器模式 - 62 1 TL0 = 0x18; //设置定时初始值 - 63 1 TH0 = 0xFC; //设置定时初始值 - 64 1 TF0 = 0; //清除TF0标志 - 65 1 TR0 = 1; //定时器0开始计时 - 66 1 ET0 = 1; - 67 1 EA = 1; - 68 1 } - 69 - 70 void Timer0_Server() interrupt 1 - 71 { - 72 1 if(++Key_Slow_Down == 10) Key_Slow_Down = 0; - 73 1 if(++Seg_Slow_Down == 500) Seg_Slow_Down = 0; - 74 1 if(++Seg_Pos == 8) Seg_Pos = 0; - 75 1 Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos],Seg_Point[Seg_Pos]); - 76 1 Led_Disp(Seg_Pos,ucLed[Seg_Pos]); - 77 1 - 78 1 } - 79 /* 主函数*/ - 80 void main() - 81 { - 82 1 System_Init(); - 83 1 Timer0_Init(); - 84 1 while(1) - 85 1 { - 86 2 Key_Proc(); - 87 2 Seg_Proc(); - 88 2 Led_Proc(); - 89 2 } - 90 1 } - 91 - 92 - 93 - 94 - 95 - 96 - 97 - 98 - 99 - 100 + 60 1 ucLed[4] = 1; + 61 1 ucLed[5] = 0; + 62 1 ucLed[6] = 0; + 63 1 ucLed[7] = 1; + 64 1 } + 65 + 66 /* 定时器函数(初始化、中断函数)*/ + 67 void Timer0_Init(void) //1毫秒@12.000MHz + 68 { + 69 1 AUXR &= 0x7F; //定时器时钟12T模式 + 70 1 TMOD &= 0xF0; //设置定时器模式 + 71 1 TL0 = 0x18; //设置定时初始值 + 72 1 TH0 = 0xFC; //设置定时初始值 + 73 1 TF0 = 0; //清除TF0标志 + 74 1 TR0 = 1; //定时器0开始计时 + 75 1 ET0 = 1; + 76 1 EA = 1; + 77 1 } + 78 + 79 void Timer0_Server() interrupt 1 + 80 { + 81 1 if(++Key_Slow_Down == 10) Key_Slow_Down = 0; + 82 1 if(++Seg_Slow_Down == 500) Seg_Slow_Down = 0; + 83 1 if(++Seg_Pos == 8) Seg_Pos = 0; + 84 1 + 85 1 Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos],Seg_Point[Seg_Pos]); + 86 1 Led_Disp(Seg_Pos,ucLed[Seg_Pos]); + 87 1 + 88 1 } + 89 /* 主函数*/ + 90 void main() + 91 { + 92 1 System_Init(); + 93 1 Timer0_Init(); + 94 1 while(1) + 95 1 { + 96 2 Key_Proc(); + 97 2 Seg_Proc(); + 98 2 Led_Proc(); + 99 2 } + 100 1 } 101 102 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 246 ---- + C51 COMPILER V9.60.7.0 MAIN 04/15/2025 20:33:28 PAGE 3 + + CODE SIZE = 307 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- - DATA SIZE = 33 ---- + DATA SIZE = 38 ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. diff --git a/2025/User/Listings/onewire.lst b/2025/User/Listings/onewire.lst new file mode 100644 index 0000000..e1a679b --- /dev/null +++ b/2025/User/Listings/onewire.lst @@ -0,0 +1,130 @@ +C51 COMPILER V9.60.7.0 ONEWIRE 04/15/2025 20:33:28 PAGE 1 + + +C51 COMPILER V9.60.7.0, COMPILATION OF MODULE ONEWIRE +OBJECT MODULE PLACED IN .\Objects\onewire.obj +COMPILER INVOKED BY: C:\Users\ZBright\AppData\Local\Keil_v5\C51\BIN\C51.EXE ..\Driver\onewire.c OPTIMIZE(8,SPEED) BROWSE + - INCDIR(..\Driver) DEBUG OBJECTEXTEND PRINT(.\Listings\onewire.lst) OBJECT(.\Objects\onewire.obj) + +line level source + + 1 /* # 单总线代码片段说明 + 2 1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。 + 3 2. 参赛选手可以自行编写相关代码或以该代码为基础,根据所选单片机类型、 + -行速度和试题 + 4 中对单片机时钟频率的要求,进行代码调试和修改。 + 5 */ + 6 + 7 #include + 8 + 9 sbit DQ = P1^4; + 10 + 11 // + 12 void Delay_OneWire(unsigned int t) + 13 { + 14 1 unsigned char i; + 15 1 while(t--){ + 16 2 for(i=0;i<12;i++); + 17 2 } + 18 1 } + 19 + 20 // + 21 void Write_DS18B20(unsigned char dat) + 22 { + 23 1 unsigned char i; + 24 1 for(i=0;i<8;i++) + 25 1 { + 26 2 DQ = 0; + 27 2 DQ = dat&0x01; + 28 2 Delay_OneWire(5); + 29 2 DQ = 1; + 30 2 dat >>= 1; + 31 2 } + 32 1 Delay_OneWire(5); + 33 1 } + 34 + 35 // + 36 unsigned char Read_DS18B20(void) + 37 { + 38 1 unsigned char i; + 39 1 unsigned char dat; + 40 1 + 41 1 for(i=0;i<8;i++) + 42 1 { + 43 2 DQ = 0; + 44 2 dat >>= 1; + 45 2 DQ = 1; + 46 2 if(DQ) + 47 2 { + 48 3 dat |= 0x80; + 49 3 } + 50 2 Delay_OneWire(5); + 51 2 } + 52 1 return dat; + 53 1 } + C51 COMPILER V9.60.7.0 ONEWIRE 04/15/2025 20:33:28 PAGE 2 + + 54 + 55 // + 56 bit init_ds18b20(void) + 57 { + 58 1 bit initflag = 0; + 59 1 + 60 1 DQ = 1; + 61 1 Delay_OneWire(12); + 62 1 DQ = 0; + 63 1 Delay_OneWire(80); + 64 1 DQ = 1; + 65 1 Delay_OneWire(10); + 66 1 initflag = DQ; + 67 1 Delay_OneWire(5); + 68 1 + 69 1 return initflag; + 70 1 } + 71 + 72 float Tempr_Read() + 73 { + 74 1 unsigned char low; + 75 1 unsigned char high; + 76 1 + 77 1 init_ds18b20(); + 78 1 Write_DS18B20(0xcc); + 79 1 Write_DS18B20(0x44); + 80 1 Delay_OneWire(200); + 81 1 + 82 1 init_ds18b20(); + 83 1 Write_DS18B20(0xcc); + 84 1 Write_DS18B20(0xbe); + 85 1 + 86 1 low = Read_DS18B20(); + 87 1 high = Read_DS18B20(); + 88 1 + 89 1 return ((high << 8) | low) /16.0; + 90 1 + 91 1 } + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100 + 101 + 102 + 103 + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 180 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- 1 +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/2025/User/Objects/2025 b/2025/User/Objects/2025 index 9a8b63f..8d4edcb 100644 Binary files a/2025/User/Objects/2025 and b/2025/User/Objects/2025 differ diff --git a/2025/User/Objects/2025.build_log.htm b/2025/User/Objects/2025.build_log.htm index 9cb0c2c..5ae5972 100644 --- a/2025/User/Objects/2025.build_log.htm +++ b/2025/User/Objects/2025.build_log.htm @@ -18,8 +18,8 @@ Hex Converter: OH51.exe V2.7.0.0 CPU DLL: S8051.DLL V3.125.1.0 Dialog DLL: DP51.DLL V2.69.0.0

Project:

-D:\Git\2025\User\2025.uvproj -Project File Date: 04/12/2025 +D:\Git\Gitea\lanqiaobei_51_study\2025\User\2025.uvproj +Project File Date: 04/15/2025

Output:

Rebuild target '2025' @@ -28,10 +28,13 @@ compiling Init.c... compiling Led.c... compiling Seg.c... compiling Key.c... +compiling onewire.c... linking... -Program Size: data=69.0 xdata=0 code=734 +*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS + SEGMENT: ?PR?RELAY?LED +Program Size: data=76.2 xdata=0 code=1734 creating hex file from ".\Objects\2025"... -".\Objects\2025" - 0 Error(s), 0 Warning(s). +".\Objects\2025" - 0 Error(s), 1 Warning(s). Build Time Elapsed: 00:00:00 diff --git a/2025/User/Objects/2025.hex b/2025/User/Objects/2025.hex index ddbaa88..e6b9dc9 100644 --- a/2025/User/Objects/2025.hex +++ b/2025/User/Objects/2025.hex @@ -1,59 +1,133 @@ -:10019C0008101010101010101010080800000000AB -:0E01AC0000000000082101000000000000001B -:10025B00E51D7020751D011201228F1EE51C651E08 -:10026B00FF551EF51BE51EF45FF520851E1CE51BD7 -:05027B006002F51A22EB -:10028000E5194518701BF518751901E51A75F00A7E -:100290008475F00A8485F010E51A75F00A8485F0FB -:0202A000112229 -:0100030022DA -:1002BF00538E7F5389F0758A18758CFCC28DD28C42 -:0502CF00D2A9D2AF220C -:03000B0002009A56 -:10009A00C0E0C0F0C083C082C0D075D000C000C02C -:1000AA0001C002C003C004C005C006C007051DE5A3 -:1000BA001DB40A03751D000519E51970020518FF1C -:1000CA00AE18BE0109BFF406751800751900051FA0 -:1000DA00E51FB40803751F007410251FF8E6FD7CA0 -:1000EA00007408251FF8E6FB7A00AF1F1201DE74C0 -:1000FA0021251FF8E6FD7C00AF1F120220D007D091 -:10010A0006D005D004D003D002D001D000D0D0D080 -:08011A0082D083D0F0D0E03266 -:1002D4001202A21202BF12025B12028012000380F9 -:0102E400F524 -:1002A200E5A0541F4480F5A07580FF53A01FE5A070 -:0D02B200541F44A0F5A0E4F58053A01F22C6 -:0601BA000142000143FFB9 -:10022000ED4C600FA8077401088002C333D8FC426C -:1002300042800EA8077401088002C333D8FCF45230 -:1002400042E54265436013E5A0541F4480F5A0E5F4 -:0A02500042F4F58053A01F854243DD -:01025A002281 -:1001C0001129C0F9A4B0999282F880908883C6A1C1 -:0D01D000868EFF083A0102040810204080CE -:1001DE00E5A0541F44E0F5A07580FF53A01FE5A0D5 -:1001EE00541F44C0F5A0743A2FF8E6F58053A01FB3 -:1001FE00EB4A600B74292DF8E6547FF58080077466 -:10020E00292DF8E6F580E5A0541F44E0F5A053A093 -:02021E001F229D -:10012200E4FFC2A9C2C4D2C2D2B5D2B420B3027F04 -:100132000420B2027F0520B1027F0620B0027F07B1 -:10014200D2C4C2C2D2B5D2B420B3027F0820B20256 -:100152007F0920B1027F0A20B0027F0BD2C4D2C233 -:10016200C2B5D2B420B3027F0C20B2027F0D20B1FF -:10017200027F0E20B0027F0FD2C4D2C2D2B5C2B467 -:1001820020B3027F1020B2027F1120B1027F122021 -:09019200B0027F13D2A975B0FF81 -:01019B002241 -:0300000002000EED -:0C000E00787FE4F6D8FD758143020055B0 -:10001A000202D4E493A3F8E493A34003F68001F226 -:10002A0008DFF48029E493A3F85407240CC8C333E7 -:10003A00C4540F4420C8834004F456800146F6DFB6 -:10004A00E4800B010204081020408090019CE47EA9 -:10005A00019360BCA3FF543F30E509541FFEE493AB -:10006A00A360010ECF54C025E060A840B8E493A372 -:10007A00FAE493A3F8E493A3C8C582C8CAC583CA9D -:10008A00F0A3C8C582C8CAC583CADFE9DEE780BE55 -:0101DD000021 +:1004B800082910101010101010100821000000005A +:1004C80000000000083F01000100000000000239A0 +:0204D800000022 +:1005E300E53670207536011203EA8F37E535653736 +:1005F300FF5537F534E537F45FF53B853735E5349B +:050603006002F5332246 +:10046400E5324531704DF531753201120581E4FBF9 +:10047400FA7920784112000E1201F28E398F3A7CFB +:10048400007D641202737C007D0A1202738D29AE12 +:1004940039AF3A7C007D0A1202737C007D0A120295 +:1004A400738D2A752201AE39AF3A7C007D0A12029F +:0404B400738D2B22F7 +:0C06C200754301E4F544F545754601223E +:10069C00538E7F5389F0758A18758CFCC28DD28C61 +:0506AC00D2A9D2AF222B +:03000B000203628B +:10036200C0E0C0F0C083C082C0D075D000C000C061 +:1003720001C002C003C004C005C006C0070536E5BF +:1003820036B40A037536000532E53270020531FFD4 +:10039200AE31BE0109BFF406753100753200053871 +:1003A200E538B4080375380074292538F8E6FD7C71 +:1003B2000074212538F8E6FB7A00AF381205047480 +:1003C2003F2538F8E6FD7C00AF38120546D007D04D +:1003D20006D005D004D003D002D001D000D0D0D0B6 +:0803E20082D083D0F0D0E0329C +:1006B10012064B12069C1205E31204641206C28054 +:0106C100F543 +:10064B00E5A0541F4480F5A07580FF53A01FE5A0C3 +:0D065B00541F44A0F5A0E4F58053A01F2219 +:0C04DA000108000109FF010AFF010B00EE +:10054600ED4C600FA8077401088002C333D8FC4243 +:1005560008800EA8077401088002C333D8FCF45241 +:1005660008E50865096013E5A0541F4480F5A0E579 +:0A05760008F4F58053A01F85080962 +:010580002258 +:10060800300005430A108003530AEFE50A650B60C2 +:1006180013E5A0541F44A0F5A0E50AF4F58053A003 +:040628001F850A0B15 +:01062C0022AB +:1004E6001147C0F9A4B0999282F880908883C6A17A +:0D04F600868EFF0858010204081020408087 +:10050400E5A0541F44E0F5A07580FF53A01FE5A0AB +:10051400541F44C0F5A074582FF8E6F58053A01F6B +:10052400EB4A600B74472DF8E6547FF5808007741E +:10053400472DF8E6F580E5A0541F44E0F5A053A04C +:020544001F2274 +:1003EA00E4FFC2A9C2C4D2C2D2B5D2B420B3027F3A +:1003FA000420B2027F0520B1027F0620B0027F07E7 +:10040A00D2C4C2C2D2B5D2B420B3027F0820B2028B +:10041A007F0920B1027F0A20B0027F0BD2C4D2C268 +:10042A00C2B5D2B420B3027F0C20B2027F0D20B134 +:10043A00027F0E20B0027F0FD2C4D2C2D2B5C2B49C +:10044A0020B3027F1020B2027F1120B1027F122056 +:09045A00B0027F13D2A975B0FFB6 +:010463002276 +:040668007F057E008C +:10066C00EF1FAA0670011E4A600BE4FDEDC3940C4B +:05067C0050EE0D80F7B7 +:010681002256 +:02062D00A9071B +:10062F00E4FBC294E9139294120668D294E9C313BF +:0C063F00F90BBB08ED7F057E0002066C85 +:10068200E4FBC294ECC313FCD29430940343048081 +:090692001206680BBB08EBAF0473 +:01069B00223C +:1005BC00C201D2947F0C7E0012066CC2947F507ED6 +:1005CC000012066CD2947F0A7E0012066CA29492E2 +:0605DC0001120668A201F5 +:0105E20022F6 +:100581001205BC7FCC12062D7F4412062D7FC87E3A +:100591000012066C1205BC7FCC12062D7FBE12061E +:1005A1002D120682A907120682EFAD01FCEC1201A1 +:0B05B100B9E4FBFA79807841020117E1 +:10000E00EC4D6011E8497017ED33EC3304600DE4EC +:10001E00FCFFFEFD22E933E8330470F802025E12A3 +:10002E00022958046009E4CC2481500628500902A4 +:10003E000268284003020265C0E0EB4A7044B980B2 +:10004E0006D0E0FB020254EF4E701CBD8008EBFFA1 +:10005E00EAFEE9FD80EBE98DF0A4FEE5F00200F783 +:10006E00E9CDF9EAFEEBFFEF89F0A4FCE5F0CE89CD +:10007E00F0A42EFFE435F0CD89F0A42DFEE435F08A +:10008E008067EF4E7005BD80D780C3EF8BF0A4ACB8 +:10009E00F0EE8BF0A42CFCE435F0F8EF8AF0A42CF3 +:1000AE00E5F038FCE433CB8DF0A42CFCE5F03BF806 +:1000BE00EE8AF0A42CFCE5F038F8E433CF89F0A4F6 +:1000CE002CFCE5F038CF3400CE89F0A42FFFE5F0FC +:1000DE003EFEE433C98DF0A42EFEE5F039CD8AF054 +:1000EE00A42FFFE5F03EFEE43DFD33D0E0FB5007CC +:1000FE000BBB000F020268EC2CFCEF33FFEE33FE5D +:06010E00ED33FD0202408A +:10011400020268EC5D046005E85904700302025EA3 +:10012400120229580460F6EC4860F2EC7004FDFEFB +:10013400FF22C860DB2481C85009C39860025006BE +:100144000202659850CAF582E9294B4A7005AB82D0 +:1001540002025475F0007C1A7880C3EF9BEE9AED8E +:1001640099400DC3EF9BFFEE9AFEED99FDE842F036 +:10017400DC23ACF0D0E0FFD0E0FED0E0FDAB822089 +:10018400E7101BEB60BAEC2CFCEF33FFEE33FEED13 +:1001940033FD020240E803F830E705C0F075F000D3 +:1001A400EF2FFFEE33FEED33FD40B830E7C280AAF7 +:1001B40075F020800E75F010800575F0087D007EC6 +:1001C400007F003392D530D5031202C8EC334010BF +:1001D400EF33FFEE33FEED33FDEC33FCD5F0ED22CF +:0E01E400E5F0247EA2D513CC92E7CDCEFF220B +:1001F200EDD2E7CD33EC3392D524814006E4FFFE05 +:10020200FDFC22FCE4CFCECDCC24E0501174FF8063 +:10021200EDC3CC13CCCD13CDCE13CECF13CF047000 +:07022200F030D5DE0202C836 +:10022900E9D2E7C933E833F892D5EDD2E7CD33EC1B +:0702390033FC5002B2D52294 +:10024000EC30E7100FBF000C0EBE00080DBD00041F +:100250000BEB6014A2D5EB13FCED92E7FD2274FFCB +:10026000FCFDFEFF22E480F8A2D574FF13FC7D8024 +:03027000E480EF38 +:030000000202D623 +:0C02D600787FE4F6D8FD75815F02031DFF +:10027300BC000BBE0029EF8DF084FFADF022E4CC6F +:10028300F875F008EF2FFFEE33FEEC33FCEE9DEC38 +:10029300984005FCEE9DFE0FD5F0E9E4CEFD22ED7E +:1002A300F8F5F0EE8420D21CFEADF075F008EF2FC8 +:1002B300FFED33FD4007985006D5F0F222C398FDB9 +:0502C3000FD5F0EA2256 +:0E02C800C3E49FFFE49EFEE49DFDE49CFC2247 +:1002E2000206B1E493A3F8E493A34003F68001F27B +:1002F20008DFF48029E493A3F85407240CC8C3331D +:10030200C4540F4420C8834004F456800146F6DFEB +:10031200E4800B01020408102040809004B8E47EBF +:10032200019360BCA3FF543F30E509541FFEE493E0 +:10033200A360010ECF54C025E060A840B8E493A3A7 +:10034200FAE493A3F8E493A3C8C582C8CAC583CAD2 +:10035200F0A3C8C582C8CAC583CADFE9DEE780BE8A +:0105030000F7 :00000001FF diff --git a/2025/User/Objects/2025.lnp b/2025/User/Objects/2025.lnp index be79e44..f4bdac7 100644 --- a/2025/User/Objects/2025.lnp +++ b/2025/User/Objects/2025.lnp @@ -2,6 +2,7 @@ ".\Objects\Init.obj", ".\Objects\Led.obj", ".\Objects\Seg.obj", -".\Objects\Key.obj" +".\Objects\Key.obj", +".\Objects\onewire.obj" TO ".\Objects\2025" PRINT(".\Listings\2025.m51") RAMSIZE(256) diff --git a/2025/User/Objects/Init.obj b/2025/User/Objects/Init.obj index 0e73d21..e56e416 100644 Binary files a/2025/User/Objects/Init.obj and b/2025/User/Objects/Init.obj differ diff --git a/2025/User/Objects/Key.obj b/2025/User/Objects/Key.obj index 6e40c6c..e9e6733 100644 Binary files a/2025/User/Objects/Key.obj and b/2025/User/Objects/Key.obj differ diff --git a/2025/User/Objects/Led.obj b/2025/User/Objects/Led.obj index 1e996a8..672b52a 100644 Binary files a/2025/User/Objects/Led.obj and b/2025/User/Objects/Led.obj differ diff --git a/2025/User/Objects/Seg.obj b/2025/User/Objects/Seg.obj index f5ed873..7810073 100644 Binary files a/2025/User/Objects/Seg.obj and b/2025/User/Objects/Seg.obj differ diff --git a/2025/User/Objects/main.obj b/2025/User/Objects/main.obj index 59b8fc2..336d1b4 100644 Binary files a/2025/User/Objects/main.obj and b/2025/User/Objects/main.obj differ diff --git a/2025/User/Objects/onewire.obj b/2025/User/Objects/onewire.obj new file mode 100644 index 0000000..ad0a0ad Binary files /dev/null and b/2025/User/Objects/onewire.obj differ diff --git a/2025/User/main.c b/2025/User/main.c index 67fd67e..7c1d9ce 100644 --- a/2025/User/main.c +++ b/2025/User/main.c @@ -4,6 +4,7 @@ #include #include #include +#include /* 变量申明*/ unsigned char Key_Slow_Down;//按键减速变量 @@ -20,10 +21,12 @@ unsigned char Seg_Point[8]= }; unsigned char ucLed[8]= { - 1,0,0,0,0,0,0,0 + 1,0,1,0,0,0,0,0 }; unsigned char Seg_Show; +unsigned int Tempr_Show_10x = 0,Relay_Timer; +unsigned char Relay_Flag; /* 处理函数(key,seg,led)*/ void Key_Proc() @@ -45,13 +48,19 @@ void Seg_Proc() if(Seg_Slow_Down) return; Seg_Slow_Down = 1; - Seg_Buf[0] = Seg_Show /10 %10; - Seg_Buf[1] = Seg_Show %10; + Tempr_Show_10x = Tempr_Read() * 10; + Seg_Buf[0] = Tempr_Show_10x /100 %10; + Seg_Buf[1] = Tempr_Show_10x /10 %10; + Seg_Point[1] = 1; + Seg_Buf[2] = Tempr_Show_10x % 10; } void Led_Proc() { - + ucLed[4] = 1; + ucLed[5] = 0; + ucLed[6] = 0; + ucLed[7] = 1; } /* 定时器函数(初始化、中断函数)*/ @@ -72,6 +81,7 @@ void Timer0_Server() interrupt 1 if(++Key_Slow_Down == 10) Key_Slow_Down = 0; if(++Seg_Slow_Down == 500) Seg_Slow_Down = 0; if(++Seg_Pos == 8) Seg_Pos = 0; + Seg_Disp(Seg_Pos,Seg_Buf[Seg_Pos],Seg_Point[Seg_Pos]); Led_Disp(Seg_Pos,ucLed[Seg_Pos]); diff --git a/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/main.c b/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/main.c index b8398ed..9324f99 100644 --- a/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/main.c +++ b/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/main.c @@ -52,6 +52,7 @@ void Seg_Proc() if (Seg_Slow_Down) return; Seg_Slow_Down = 1; + temperature_value_10x = filter(rd_temperature() * 10); if (C_F_flag) temperature_value_10x = temperature_value_10x * 1.8 + 320; // ϶ diff --git a/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/zuolan.uvgui.ZBright b/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/zuolan.uvgui.ZBright index 9e579f8..1ce8df1 100644 --- a/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/zuolan.uvgui.ZBright +++ b/模板/蓝桥杯全模块测试例程/DS18B20温度模块/User/zuolan.uvgui.ZBright @@ -93,25 +93,25 @@ 0 1 - -32000 - -32000 + -1 + -1 -1 -1 - 87 - 320 - 2239 - 1313 + 57 + 779 + 2180 + 1398 0 - 634 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000400000002000000010000005C443A5C4769745C4769744875625C6C616E7169616F6265695F73747564792D6D61737465725CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C4C65642E6300000000054C65642E6300000000C5D4F200FFFFFFFF5C443A5C4769745C4769744875625C6C616E7169616F6265695F73747564792D6D61737465725CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C5365672E6300000000055365672E6300000000FFDC7800FFFFFFFF5C443A5C4769745C4769744875625C6C616E7169616F6265695F73747564792D6D61737465725CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C4B65792E6300000000054B65792E6300000000BECEA100FFFFFFFF5D443A5C4769745C4769744875625C6C616E7169616F6265695F73747564792D6D61737465725CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C496E69742E630000000006496E69742E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000008C020000C5000000B70800003E040000 + 842 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000000000000100000057443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C4C65642E6300000000054C65642E6300000000C5D4F200FFFFFFFF57443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C5365672E6300000000055365672E6300000000FFDC7800FFFFFFFF57443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C4B65792E6300000000054B65792E6300000000BECEA100FFFFFFFF58443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C496E69742E630000000006496E69742E6300000000F0A0A100FFFFFFFF5B443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C4472697665725C6F6E65776972652E6300000000096F6E65776972652E6300000000BCA8E100FFFFFFFF56443A5C4769745C47697465615C6C616E7169616F6265695F35315F73747564795CC4A3B0E55CC0B6C7C5B1ADC8ABC4A3BFE9B2E2CAD4C0FDB3CC5C44533138423230CEC2B6C8C4A3BFE95C557365725C6D61696E2E6300000000066D61696E2E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000057040000A70000007C08000093040000 @@ -134,7 +134,7 @@ 16 - 8C020000C5000000B808000089010000 + 57040000A7000000830A00006B010000 @@ -150,7 +150,7 @@ 0 16 - 03000000660000003D010000AF030000 + 03000000660000003D01000022040000 16 @@ -170,7 +170,7 @@ 0 16 - 03000000660000003D010000AF030000 + 03000000660000003D01000022040000 16 @@ -450,7 +450,7 @@ 0 16 - 03000000660000003D010000AF030000 + 03000000660000003D01000022040000 16 @@ -470,7 +470,7 @@ 0 16 - 03000000660000003D010000AF030000 + 03000000660000003D01000022040000 16 @@ -490,7 +490,7 @@ 0 16 - 00000000E00300006F07000090040000 + 00000000530400006905000003050000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000E30300006C07000077040000 + 030000005604000066050000EA040000 16 @@ -1150,7 +1150,7 @@ 0 16 - 03000000660000003D010000AF030000 + 03000000660000003D01000022040000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000E30300006C07000077040000 + 030000005604000066050000EA040000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000E30300006C07000077040000 + 030000005604000066050000EA040000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000E30300006C07000077040000 + 030000005604000066050000EA040000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000E30300006C07000077040000 + 030000005604000066050000EA040000 16 @@ -1730,7 +1730,7 @@ 0 16 - 00000000900400006F070000A3040000 + 00000000030500006905000016050000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000130100007007000017010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000008C020000C5000000B808000089010000440100004F00000070070000130100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F00000030060000FD020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000078070000C5000000B808000073030000300600004F00000070070000FD02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F00000044010000C8030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000048010000C5000000880200003E040000000000004F00000040010000C80300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E902000070070000ED02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000004801000063030000B80800003B04000000000000ED02000070070000C503000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000ED020000BC030000C503000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C80300006F070000CC030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000004801000042040000B70800000605000000000000CC0300006F070000900400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000130100007007000017010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000057040000A7000000830A00006B010000440100004F00000070070000130100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F00000030060000FD020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000043090000A7000000830A000055030000300600004F00000070070000FD02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100003B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000013030000A70000005304000093040000000000004F000000400100003B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E902000070070000ED02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000001303000045030000830A00001D04000000000000ED02000070070000C503000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000ED020000BC030000C503000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003B040000690500003F040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000013030000970400007C0800005B050000000000003F04000069050000030500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2537 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1862,10 +1862,10 @@ 0 100 - 2 + 0 ..\Driver\Led.c - 17 + 14 1 22 1 @@ -1885,7 +1885,7 @@ ..\Driver\Key.c 17 1 - 14 + 12 1 0 @@ -1899,6 +1899,24 @@ 0 + + ..\Driver\onewire.c + 1 + 26 + 98 + 1 + + 0 + + + .\main.c + 21 + 19 + 64 + 1 + + 0 +