📄 project.lst
字号:
0134 B788 IN R24,0x38
0135 6180 ORI R24,0x10
0136 BF88 OUT 0x38,R24
(0136) TCNT1 = 0x00;
0137 2422 CLR R2
0138 2433 CLR R3
0139 BC3D OUT 0x2D,R3
013A BC2C OUT 0x2C,R2
(0137) if(ControllerMode == cSelfTestMode)
013B 9020006A LDS R2,_ControllerMode
013D 2022 TST R2
013E F009 BEQ 0x0140
013F C07D RJMP 0x01BD
(0138) {
(0139) TimeCount++;
0140 91800065 LDS R24,__idata_end+1
0142 5F8F SUBI R24,0xFF
0143 93800065 STS __idata_end+1,R24
(0140) if(TimeCount == 1)
0145 3081 CPI R24,1
0146 F469 BNE 0x0154
(0141) {
(0142) LED_ON_OFF(cR_LED_V,cLED_ON);
0147 E021 LDI R18,1
0148 2700 CLR R16
0149 940E027B CALL _LED_ON_OFF
(0143) LED_ON_OFF(cG_LED_V,cLED_ON);
014B E021 LDI R18,1
014C E002 LDI R16,2
014D 940E027B CALL _LED_ON_OFF
(0144) LED_ON_OFF(cY_LED_V,cLED_ON);
014F E021 LDI R18,1
0150 E001 LDI R16,1
0151 940E027B CALL _LED_ON_OFF
(0145) }
0153 C0F4 RJMP 0x0248
(0146) else if(TimeCount == 2)
0154 91800065 LDS R24,__idata_end+1
0156 3082 CPI R24,2
0157 F431 BNE 0x015E
(0147) {
(0148) mSet_Data_V(0xFF);
0158 EF8F LDI R24,0xFF
0159 BB8B OUT 0x1B,R24
(0149) mSelect_VA();
015A B388 IN R24,0x18
015B 7C8F ANDI R24,0xCF
015C BB88 OUT 0x18,R24
(0150) }
015D C0EA RJMP 0x0248
(0151) else if(TimeCount == 3)
015E 91800065 LDS R24,__idata_end+1
0160 3083 CPI R24,3
0161 F469 BNE 0x016F
(0152) {
(0153) LED_ON_OFF(cR_LED_H,cLED_ON);
0162 E021 LDI R18,1
0163 E003 LDI R16,3
0164 940E027B CALL _LED_ON_OFF
(0154) LED_ON_OFF(cG_LED_H,cLED_ON);
0166 E021 LDI R18,1
0167 E005 LDI R16,5
0168 940E027B CALL _LED_ON_OFF
(0155) LED_ON_OFF(cY_LED_H,cLED_ON);
016A E021 LDI R18,1
016B E004 LDI R16,4
016C 940E027B CALL _LED_ON_OFF
(0156) }
016E C0D9 RJMP 0x0248
(0157) else if(TimeCount == 4)
016F 91800065 LDS R24,__idata_end+1
0171 3084 CPI R24,4
0172 F431 BNE 0x0179
(0158) {
(0159) mSet_Data_H(0xFF);
0173 EF8F LDI R24,0xFF
0174 BB82 OUT 0x12,R24
(0160) mSelect_HA();
0175 B388 IN R24,0x18
0176 738F ANDI R24,0x3F
0177 BB88 OUT 0x18,R24
(0161) }
0178 C0CF RJMP 0x0248
(0162) else if(TimeCount == 5)
0179 91800065 LDS R24,__idata_end+1
017B 3085 CPI R24,5
017C F469 BNE 0x018A
(0163) {
(0164) LED_ON_OFF(cR_LED_V,cLED_OFF);
017D 2722 CLR R18
017E 2700 CLR R16
017F 940E027B CALL _LED_ON_OFF
(0165) LED_ON_OFF(cG_LED_V,cLED_OFF);
0181 2722 CLR R18
0182 E002 LDI R16,2
0183 940E027B CALL _LED_ON_OFF
(0166) LED_ON_OFF(cY_LED_V,cLED_OFF);
0185 2722 CLR R18
0186 E001 LDI R16,1
0187 940E027B CALL _LED_ON_OFF
(0167) }
0189 C0BE RJMP 0x0248
(0168) else if(TimeCount == 6)
018A 91800065 LDS R24,__idata_end+1
018C 3086 CPI R24,6
018D F421 BNE 0x0192
(0169) {
(0170) mSelect_VN();
018E B388 IN R24,0x18
018F 6380 ORI R24,0x30
0190 BB88 OUT 0x18,R24
(0171) }
0191 C0B6 RJMP 0x0248
(0172) else if(TimeCount == 7)
0192 91800065 LDS R24,__idata_end+1
0194 3087 CPI R24,7
0195 F469 BNE 0x01A3
(0173) {
(0174) LED_ON_OFF(cR_LED_H,cLED_OFF);
0196 2722 CLR R18
0197 E003 LDI R16,3
0198 940E027B CALL _LED_ON_OFF
(0175) LED_ON_OFF(cG_LED_H,cLED_OFF);
019A 2722 CLR R18
019B E005 LDI R16,5
019C 940E027B CALL _LED_ON_OFF
(0176) LED_ON_OFF(cY_LED_H,cLED_OFF);
019E 2722 CLR R18
019F E004 LDI R16,4
01A0 940E027B CALL _LED_ON_OFF
(0177) }
01A2 C0A5 RJMP 0x0248
(0178) else if(TimeCount == 8)
01A3 91800065 LDS R24,__idata_end+1
01A5 3088 CPI R24,0x8
01A6 F421 BNE 0x01AB
(0179) {
(0180) mSelect_HN();
01A7 B388 IN R24,0x18
01A8 6C80 ORI R24,0xC0
01A9 BB88 OUT 0x18,R24
(0181) }
01AA C09D RJMP 0x0248
(0182) else if(TimeCount == 9)
01AB 91800065 LDS R24,__idata_end+1
01AD 3089 CPI R24,0x9
01AE F009 BEQ 0x01B0
01AF C098 RJMP 0x0248
(0183) {
(0184) TimeCount = 0;
01B0 2422 CLR R2
01B1 92200065 STS __idata_end+1,R2
(0185) ControllerMode = cNormalMode;
01B3 E081 LDI R24,1
01B4 9380006A STS _ControllerMode,R24
(0186) SetTrafficStatus(cTraffic_V,cAllow);
01B6 E023 LDI R18,3
01B7 2700 CLR R16
01B8 DEA6 RCALL _SetTrafficStatus
(0187) SetTrafficStatus(cTraffic_H,cForbidden);
01B9 E021 LDI R18,1
01BA E001 LDI R16,1
01BB DEA3 RCALL _SetTrafficStatus
(0188) }
(0189) }
01BC C08B RJMP 0x0248
(0190) else if(ControllerMode == cNormalMode)
01BD 9180006A LDS R24,_ControllerMode
01BF 3081 CPI R24,1
01C0 F009 BEQ 0x01C2
01C1 C086 RJMP 0x0248
(0191) {
(0192) if(TrafficStatus_V == cAllow)
01C2 91800069 LDS R24,_TrafficStatus_V
01C4 3083 CPI R24,3
01C5 F469 BNE 0x01D3
(0193) {
(0194) if(Time_V-- == 0)
01C6 90200067 LDS R2,_Time_V
01C8 2433 CLR R3
01C9 2D82 MOV R24,R2
01CA 5081 SUBI R24,1
01CB 93800067 STS _Time_V,R24
01CD 2022 TST R2
01CE F5B1 BNE 0x0205
(0195) {
(0196) SetTrafficStatus(cTraffic_V,cBuffer1);
01CF E022 LDI R18,2
01D0 2700 CLR R16
01D1 DE8D RCALL _SetTrafficStatus
(0197) }
(0198) }
01D2 C032 RJMP 0x0205
(0199) else if(TrafficStatus_V == cBuffer1)
01D3 91800069 LDS R24,_TrafficStatus_V
01D5 3082 CPI R24,2
01D6 F469 BNE 0x01E4
(0200) {
(0201) if(Time_V-- == 0)
01D7 90200067 LDS R2,_Time_V
01D9 2433 CLR R3
01DA 2D82 MOV R24,R2
01DB 5081 SUBI R24,1
01DC 93800067 STS _Time_V,R24
01DE 2022 TST R2
01DF F529 BNE 0x0205
(0202) {
(0203) SetTrafficStatus(cTraffic_V,cForbidden);
01E0 E021 LDI R18,1
01E1 2700 CLR R16
01E2 DE7C RCALL _SetTrafficStatus
(0204) }
(0205) }
01E3 C021 RJMP 0x0205
(0206) else if(TrafficStatus_V == cForbidden)
01E4 91800069 LDS R24,_TrafficStatus_V
01E6 3081 CPI R24,1
01E7 F469 BNE 0x01F5
(0207) {
(0208) if(Time_V-- == 0)
01E8 90200067 LDS R2,_Time_V
01EA 2433 CLR R3
01EB 2D82 MOV R24,R2
01EC 5081 SUBI R24,1
01ED 93800067 STS _Time_V,R24
01EF 2022 TST R2
01F0 F4A1 BNE 0x0205
(0209) {
(0210) SetTrafficStatus(cTraffic_V,cBuffer2);
01F1 E024 LDI R18,4
01F2 2700 CLR R16
01F3 DE6B RCALL _SetTrafficStatus
(0211) }
(0212) }
01F4 C010 RJMP 0x0205
(0213) else if(TrafficStatus_V == cBuffer2)
01F5 91800069 LDS R24,_TrafficStatus_V
01F7 3084 CPI R24,4
01F8 F461 BNE 0x0205
(0214) {
(0215) if(Time_V-- == 0)
01F9 90200067 LDS R2,_Time_V
01FB 2433 CLR R3
01FC 2D82 MOV R24,R2
01FD 5081 SUBI R24,1
01FE 93800067 STS _Time_V,R24
0200 2022 TST R2
0201 F419 BNE 0x0205
(0216) {
(0217) SetTrafficStatus(cTraffic_V,cAllow);
0202 E023 LDI R18,3
0203 2700 CLR R16
0204 DE5A RCALL _SetTrafficStatus
(0218) }
(0219) }
(0220)
(0221) if(TrafficStatus_H == cAllow)
0205 91800068 LDS R24,_TrafficStatus_H
0207 3083 CPI R24,3
0208 F469 BNE 0x0216
(0222) {
(0223) if(Time_H-- == 0)
0209 90200066 LDS R2,_Time_H
020B 2433 CLR R3
020C 2D82 MOV R24,R2
020D 5081 SUBI R24,1
020E 93800066 STS _Time_H,R24
0210 2022 TST R2
0211 F5B1 BNE 0x0248
(0224) {
(0225) SetTrafficStatus(cTraffic_H,cBuffer1);
0212 E022 LDI R18,2
0213 E001 LDI R16,1
0214 DE4A RCALL _SetTrafficStatus
(0226) }
(0227) }
0215 C032 RJMP 0x0248
(0228) else if(TrafficStatus_H == cBuffer1)
0216 91800068 LDS R24,_TrafficStatus_H
0218 3082 CPI R24,2
0219 F469 BNE 0x0227
(0229) {
(0230) if(Time_H-- == 0)
021A 90200066 LDS R2,_Time_H
021C 2433 CLR R3
021D 2D82 MOV R24,R2
021E 5081 SUBI R24,1
021F 93800066 STS _Time_H,R24
0221 2022 TST R2
0222 F529 BNE 0x0248
(0231) {
(0232) SetTrafficStatus(cTraffic_H,cForbidden);
0223 E021 LDI R18,1
0224 E001 LDI R16,1
0225 DE39 RCALL _SetTrafficStatus
(0233) }
(0234) }
0226 C021 RJMP 0x0248
(0235) else if(TrafficStatus_H == cForbidden)
0227 91800068 LDS R24,_TrafficStatus_H
0229 3081 CPI R24,1
022A F469 BNE 0x0238
(0236) {
(0237) if(Time_H-- == 0)
022B 90200066 LDS R2,_Time_H
022D 2433 CLR R3
022E 2D82 MOV R24,R2
022F 5081 SUBI R24,1
0230 93800066 STS _Time_H,R24
0232 2022 TST R2
0233 F4A1 BNE 0x0248
(0238) {
(0239) SetTrafficStatus(cTraffic_H,cBuffer2);
0234 E024 LDI R18,4
0235 E001 LDI R16,1
0236 DE28 RCALL _SetTrafficStatus
(0240) }
(0241) }
0237 C010 RJMP 0x0248
(0242) else if(TrafficStatus_H == cBuffer2)
0238 91800068 LDS R24,_TrafficStatus_H
023A 3084 CPI R24,4
023B F461 BNE 0x0248
(0243) {
(0244) if(Time_H-- == 0)
023C 90200066 LDS R2,_Time_H
023E 2433 CLR R3
023F 2D82 MOV R24,R2
0240 5081 SUBI R24,1
0241 93800066 STS _Time_H,R24
0243 2022 TST R2
0244 F419 BNE 0x0248
(0245) {
(0246) SetTrafficStatus(cTraffic_H,cAllow);
0245 E023 LDI R18,3
0246 E001 LDI R16,1
0247 DE17 RCALL _SetTrafficStatus
(0247) }
(0248) }
(0249) }
(0250) }
0248 940E0303 CALL pop_lset
024A 9518 RETI
FILE: E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\交通灯控制系统设计\app.c
(0001) //***************************************************************
(0002) // File Name : Gpio.c
(0003) // Author : Steaven
(0004) // Created : 2008-06-09
(0005) // Modified :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -