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

📄 project.lst

📁 AVR单片机C语言程序设计实例精粹
💻 LST
📖 第 1 页 / 共 3 页
字号:
    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 + -