⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 此程序是用CYPRESS单片机编写
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0104 7613              inc [_KEY_COU]
 0106                   .dbline 155
 0106           ;               if(KEY_COU>=2)
 0106 3C1302            cmp [_KEY_COU],2
 0109 C06F              jc L28
 010B           X2:
 010B                   .dbline 156
 010B           ;               {
 010B                   .dbline 157
 010B           ;                       KEY_COU=5;
 010B 551305            mov [_KEY_COU],5
 010E                   .dbline 158
 010E           ;                       if(KEY_CODE==0x01)
 010E 3C1401            cmp [_KEY_CODE],1
 0111 B013              jnz L31
 0113                   .dbline 159
 0113           ;                       {
 0113                   .dbline 160
 0113           ;                               KEY_NEW=1;                      // 工作/待机键
 0113 551201            mov [_KEY_NEW],1
 0116                   .dbline 161
 0116           ;                               T_ON_OFF_4S++;
 0116 7611              inc [_T_ON_OFF_4S]
 0118                   .dbline 162
 0118           ;                               if(T_ON_OFF_4S>=250)
 0118 3C11FA            cmp [_T_ON_OFF_4S],-6
 011B C05D              jc L28
 011D           X3:
 011D                   .dbline 163
 011D           ;                               {
 011D                   .dbline 164
 011D           ;                                       T_ON_OFF_4S=250;
 011D 5511FA            mov [_T_ON_OFF_4S],-6
 0120                   .dbline 165
 0120           ;                                       KEY_SET=5;              // 童锁键,即按下工作/待机键>4s
 0120 551005            mov [_KEY_SET],5
 0123                   .dbline 166
 0123           ;                               }
 0123                   .dbline 167
 0123           ;                       }
 0123 8055              xjmp L28
 0125           L31:
 0125                   .dbline 168
 0125           ;                       else if(KEY_CODE==0x02) KEY_NEW=2;      // 预约使用键
 0125 3C1402            cmp [_KEY_CODE],2
 0128 B006              jnz L35
 012A                   .dbline 168
 012A 551202            mov [_KEY_NEW],2
 012D 804B              xjmp L28
 012F           L35:
 012F                   .dbline 169
 012F           ;                       else if(KEY_CODE==0x04)
 012F 3C1404            cmp [_KEY_CODE],4
 0132 B00E              jnz L37
 0134                   .dbline 170
 0134           ;                       {
 0134                   .dbline 171
 0134           ;                               KEY_NEW=3;                      // 时钟/温度键
 0134 551203            mov [_KEY_NEW],3
 0137                   .dbline 172
 0137           ;                               if(KEY_SERIES_NEW==0)
 0137 3C0F00            cmp [_KEY_SERIES_NEW],0
 013A B03E              jnz L28
 013C                   .dbline 173
 013C           ;                               {
 013C                   .dbline 174
 013C           ;                                       KEY_SERIES_NEW=1;
 013C 550F01            mov [_KEY_SERIES_NEW],1
 013F                   .dbline 175
 013F           ;                               }
 013F                   .dbline 176
 013F           ;                       }
 013F 8039              xjmp L28
 0141           L37:
 0141                   .dbline 177
 0141           ;                       else if(KEY_CODE==0x08) KEY_NEW=4;      // 即时加热键
 0141 3C1408            cmp [_KEY_CODE],8
 0144 B006              jnz L41
 0146                   .dbline 177
 0146 551204            mov [_KEY_NEW],4
 0149 802F              xjmp L28
 014B           L41:
 014B                   .dbline 178
 014B           ;                       else                    KEY_NEW=0;
 014B 551200            mov [_KEY_NEW],0
 014E                   .dbline 179
 014E           ;               }
 014E                   .dbline 180
 014E           ;       }
 014E 802A              xjmp L28
 0150           L27:
 0150                   .dbline 182
 0150           ;       else            //***无键按下***
 0150           ;       {
 0150                   .dbline 183
 0150           ;               if(T_ON_OFF_4S<250&&KEY_COU>=5&&KEY_SERIES_NEW<2)
 0150 3C11FA            cmp [_T_ON_OFF_4S],-6
 0153 D010              jnc L43
 0155           X4:
 0155 3C1305            cmp [_KEY_COU],5
 0158 C00B              jc L43
 015A           X5:
 015A 3C0F02            cmp [_KEY_SERIES_NEW],2
 015D D006              jnc L43
 015F           X6:
 015F                   .dbline 184
 015F           ;               {
 015F                   .dbline 185
 015F           ;                       KEY_SET=KEY_NEW;        // 不是童锁键,并且其它按键有效,在释放时工作
 015F 5F1012            mov [_KEY_SET],[_KEY_NEW]
 0162                   .dbline 186
 0162           ;               }
 0162 8004              xjmp L44
 0164           L43:
 0164                   .dbline 187
 0164           ;               else    KEY_SET=0;
 0164 551000            mov [_KEY_SET],0
 0167           L44:
 0167                   .dbline 188
 0167           ;               KEY_COU=0;
 0167 551300            mov [_KEY_COU],0
 016A                   .dbline 189
 016A           ;               KEY_NEW=0;
 016A 551200            mov [_KEY_NEW],0
 016D                   .dbline 190
 016D           ;               T_ON_OFF_4S=0;
 016D 551100            mov [_T_ON_OFF_4S],0
 0170                   .dbline 191
 0170           ;               FLAG0&=0xFC;    // FLAG0.0/FLAG0.1=0
 0170 2630FC            and [_FLAG0],-4
 0173                   .dbline 192
 0173           ;               KEY_SERIES_NEW=0;
 0173 550F00            mov [_KEY_SERIES_NEW],0
 0176                   .dbline 193
 0176           ;               KEY_SERIES_COU=0;
 0176 550E00            mov [_KEY_SERIES_COU],0
 0179                   .dbline 194
 0179           ;       }
 0179           L28:
 0179                   .dbline 197
 0179           ;       //PRT0GS=0;
 0179           ;       //PRT0DM2=0x01;
 0179           ;       PRT0DM1=0x01;
 0179 7110              or F,0x10  ; iopage = 1
 017B 620101            mov REG[0x1],1
 017E                   .dbline 198
 017E           ;       PRT0DM0=0xFE;   // 将P0.2/P0.4/P0.6/P0.7置为输出口
 017E 6200FE            mov REG[ 0],-2
 0181 70EF              and F,0xEF ; iopage = 0
 0183                   .dbline -2
 0183                   .dbline 199
 0183           ; }
 0183           L15:
 0183                   .dbline 0 ; func end
 0183 7F                ret
 0184                   .dbend
 0184                   .dbfunc e key_deal _key_deal fV
 0184           _key_deal::
 0184                   .dbline -1
 0184                   .dbline 207
 0184           ; 
 0184           ; 
 0184           ; //*************************************
 0184           ; //
 0184           ; // 函数key_deal()为:按键处理子程序
 0184           ; //
 0184           ; void key_deal()
 0184           ; {
 0184                   .dbline 208
 0184           ;       if(KEY_SET==0)  return;
 0184 3C1000            cmp [_KEY_SET],0
 0187 B003              jnz L46
 0189                   .dbline 208
 0189 804C              xjmp L45
 018B           L46:
 018B                   .dbline 209
 018B           ;       if((FLAG0&0x08)!=0&&KEY_SET!=5) return; // FLAG0.3=1或非童锁键退出
 018B 473008            tst [_FLAG0],8
 018E A008              jz L48
 0190 3C1005            cmp [_KEY_SET],5
 0193 A003              jz L48
 0195                   .dbline 209
 0195 8040              xjmp L45
 0197           L48:
 0197                   .dbline 210
 0197           ;       if((FLAG0&0x01)==0)
 0197 473001            tst [_FLAG0],1
 019A B038              jnz L50
 019C                   .dbline 211
 019C           ;       {
 019C                   .dbline 212
 019C           ;               FLAG0|=0x01;            // FLAG0.0=1
 019C 2E3001            or [_FLAG0],1
 019F                   .dbline 213
 019F           ;               if(KEY_SET==1)          //*****工作/待机键*****
 019F 3C1001            cmp [_KEY_SET],1
 01A2 B013              jnz L52
 01A4                   .dbline 214
 01A4           ;               {
 01A4                   .dbline 215
 01A4           ;                       FLAG0&=0xDF;    // FLAG0.5=0;
 01A4 2630DF            and [_FLAG0],-33
 01A7                   .dbline 216
 01A7           ;                       if(POWER_EN==0) POWER_EN=1;
 01A7 3C0500            cmp [_POWER_EN],0
 01AA B006              jnz L54
 01AC                   .dbline 216
 01AC 550501            mov [_POWER_EN],1
 01AF 8023              xjmp L53
 01B1           L54:
 01B1                   .dbline 217
 01B1           ;                       else            POWER_EN=0;
 01B1 550500            mov [_POWER_EN],0
 01B4                   .dbline 218
 01B4           ;               }
 01B4 801E              xjmp L53
 01B6           L52:
 01B6                   .dbline 219
 01B6           ;               else if(KEY_SET==2)     //*****预约使用键*****
 01B6 3C1002            cmp [_KEY_SET],2
 01B9 B003              jnz L56
 01BB                   .dbline 220
 01BB           ;               {
 01BB                   .dbline 222
 01BB           ;                       
 01BB           ;               }
 01BB 8017              xjmp L57
 01BD           L56:
 01BD                   .dbline 223
 01BD           ;               else if(KEY_SET==3)     //*****时钟/温度键*****
 01BD 3C1003            cmp [_KEY_SET],3
 01C0 B003              jnz L58
 01C2                   .dbline 224
 01C2           ;               {
 01C2                   .dbline 226
 01C2           ;                       
 01C2           ;               }
 01C2 8010              xjmp L59
 01C4           L58:
 01C4                   .dbline 227
 01C4           ;               else if(KEY_SET==4)     //*****即时加热键*****
 01C4 3C1004            cmp [_KEY_SET],4
 01C7 B003              jnz L60
 01C9                   .dbline 228
 01C9           ;               {
 01C9                   .dbline 230
 01C9           ;                       
 01C9           ;               }
 01C9 8009              xjmp L61
 01CB           L60:
 01CB                   .dbline 231
 01CB           ;               else if(KEY_SET==5)     //*****童锁键*****
 01CB 3C1005            cmp [_KEY_SET],5
 01CE B004              jnz L62
 01D0                   .dbline 232
 01D0           ;               {
 01D0                   .dbline 233
 01D0           ;                       FLAG0^=0x08;    // FLAG0.3取反
 01D0 363008            xor [_FLAG0],8
 01D3                   .dbline 234
 01D3           ;               }
 01D3           L62:
 01D3           L61:
 01D3           L59:
 01D3           L57:
 01D3           L53:
 01D3                   .dbline 235
 01D3           ;       }
 01D3           L50:
 01D3                   .dbline 236
 01D3           ;       KEY_SET=0;
 01D3 551000            mov [_KEY_SET],0
 01D6                   .dbline -2
 01D6                   .dbline 237
 01D6           ; }
 01D6           L45:
 01D6                   .dbline 0 ; func end
 01D6 7F                ret
 01D7                   .dbend
 01D7                   .dbfunc e delay_deal _delay_deal fV
 01D7           _delay_deal::
 01D7                   .dbline -1
 01D7                   .dbline 245
 01D7           ; 
 01D7           ; 
 01D7           ; //*************************************
 01D7           ; //
 01D7           ; // 函数delay_deal()为:延时处理程序
 01D7           ; //
 01D7           ; void delay_deal()
 01D7           ; {
 01D7                   .dbline 246
 01D7           ;       if((FLAG0&0x40)!=0)     //*****闪烁显示500ms计时(FLAG0.6)*****
 01D7 473040            tst [_FLAG0],64
 01DA A00E              jz L65
 01DC                   .dbline 247
 01DC           ;       {
 01DC                   .dbline 248
 01DC           ;               T_FLASH_500MS++;
 01DC 7628              inc [_T_FLASH_500MS]
 01DE                   .dbline 249
 01DE           ;               if(T_FLASH_500MS>=31)
 01DE 3C281F            cmp [_T_FLASH_500MS],31
 01E1 C007              jc L67
 01E3           X7:
 01E3                   .dbline 250
 01E3           ;               {
 01E3                   .dbline 251
 01E3           ;                       T_FLASH_500MS=0;
 01E3 552800            mov [_T_FLASH_500MS],0
 01E6                   .dbline 252
 01E6           ;                       FLAG0^=0x04;    // FLAG0.2取反
 01E6 363004            xor [_FLAG0],4
 01E9                   .dbline 253
 01E9           ;               }
 01E9           L67:
 01E9                   .dbline 254
 01E9           ;       }
 01E9           L65:
 01E9                   .dbline 256
 01E9           ;       
 01E9           ;       if((FLAG0&0x80)==0)     //*****时钟运行(FLAG0.7==0)*****
 01E9 473080            tst [_FLAG0],-128
 01EC B012              jnz L69
 01EE                   .dbline 257
 01EE           ;       {
 01EE                   .dbline 258
 01EE           ;               T_CLOCK_500MS++;        //***时钟小数点闪烁500ms计时***
 01EE 7627              inc [_T_CLOCK_500MS]
 01F0                   .dbline 259
 01F0           ;               if(T_CLOCK_500MS>=31)
 01F0 3C271F            cmp [_T_CLOCK_500MS],31
 01F3 C011              jc L70
 01F5           X8:
 01F5                   .dbline 260
 01F5           ;               {
 01F5                   .dbline 261
 01F5           ;                       T_CLOCK_500MS=0;
 01F5 552700            mov [_T_CLOCK_500MS],0
 01F8                   .dbline 262
 01F8           ;                       FLAG1^=0x01;    // FLAG1.0取反
 01F8 362F01            xor [_FLAG1],1
 01FB 512F              mov A,[_FLAG1]
 01FD                   .dbline 263

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -