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

📄 dispfinal.lst

📁 视频字符叠加系统、采用89系列单片机开发
💻 LST
📖 第 1 页 / 共 5 页
字号:
1244   3      				black2=!black2;
1245   3      				}
1246   2      		  	}
1247   1      	 	}
1248          
1249          //----------------------------------------------------------------------------
1250          //timer0 count 25ms,be used to speech output              
1251          void timer0(void) interrupt 1 
1252          		{
1253   1      			TL0=0x00;
1254   1      			TH0=0xb2;
1255   1      			if(++real_clock.microseconds>=100)
1256   1      				{
1257   2      				real_clock.microseconds=0;
1258   2      				second=1;
1259   2      				if(++real_clock.seconds>=60)
1260   2      					{
1261   3      					real_clock.seconds=0;
1262   3      					if(++real_clock.minutes>=60)
1263   3      						{
1264   4      						real_clock.minutes=0;
1265   4      						if(++real_clock.hours>=24)
1266   4      							{
1267   5      							real_clock.hours=0;
1268   5      							oneday=1;
1269   5      							if(leap)
1270   5      								{
1271   6      								if(++real_clock.dates>month2_dates[real_clock.months])
1272   6      									{
1273   7      									real_clock.dates=1;
1274   7      									if(++real_clock.months>12)
1275   7      										{
1276   8      										real_clock.months=1;
1277   8      										++real_clock.years;
1278   8       									    leap=0;
1279   8      										}
1280   7      								  	}
1281   6      								}
1282   5      							else	   		 
1283   5      								{
1284   6      								if(++real_clock.dates>month1_dates[real_clock.months])
1285   6      									{
1286   7      									real_clock.dates=1;
1287   7      									if(++real_clock.months>12)
1288   7      										{
1289   8      										real_clock.months=1;
1290   8      										if(++real_clock.years%4==0&&real_clock.years%100!=0||real_clock.years%400==0)
1291   8      										leap=1;										  
1292   8      								 	  	}
1293   7      							  	 	}
1294   6      						   		}
1295   5      						  	}
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 22  

1296   4      					 	}
1297   3      				  	}
1298   2      			   	}
1299   1      									
1300   1      		}
1301           
1302          //-----------------------------------------------------------------------
1303          void receive_send() interrupt 4
1304          		{
1305   1      		ES=0;
1306   1      		if(RI)
1307   1      			{
1308   2      			RI=0;
1309   2      			if(command)
1310   2      				{
1311   3      				if(receive_count==REC_LENGTH)
1312   3      					{
1313   4      					if(SBUF==receive_bcc) 
1314   4      						{
1315   5      				   	receive_flag=1;
1316   5      						command=0;
1317   5      						addr_mark=0;
1318   5      						for(receive_count=0;receive_count<29;receive_count++)
1319   5      							{
1320   6      								receive_buf2[receive_count]=receive_buf1[receive_count];
1321   6      							}
1322   5      						}
1323   4      					else 
1324   4      						{
1325   5      						receive_flag=0;
1326   5      						command=0;
1327   5      						addr_mark=0;
1328   5      						}
1329   4      					}
1330   3      				else
1331   3      					{
1332   4      					receive_buf1[receive_count++]=SBUF;
1333   4      					receive_bcc=receive_bcc^SBUF;
1334   4      					}
1335   3      				}
1336   2      			else
1337   2      				{
1338   3      				if(addr_mark)
1339   3      					{
1340   4      					addr_mark=0;
1341   4      					if(SBUF==LOCAL_PORT) 
1342   4      						{
1343   5      						command=1;							
1344   5      						receive_bcc=0;
1345   5      						receive_count=0;
1346   5      						}
1347   4      					else 
1348   4      						{
1349   5      						command=0;
1350   5      						}	
1351   4      					}	
1352   3      				else 
1353   3      					{
1354   4      					if(SBUF==0xff) 	addr_mark=1;																
1355   4      					else			addr_mark=0;
1356   4      					}
1357   3      				}
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 23  

1358   2      			}
1359   1      		else if(TI)
1360   1      			{
1361   2      			TI=0;
1362   2      			if(receive_count>=4);
1363   2      			else
1364   2      				{
1365   3      				if(receive_count++==3) 
1366   3      				SBUF=receive_bcc;
1367   3      				else
1368   3      				SBUF=receive_buf[receive_count];
1369   3      				}
1370   2      			}
1371   1      		ES=1;
1372   1      		}
1373          		 
1374          //----------------------------------------------------------------------------
1375          void extern_interrupt1() interrupt 2
1376          		{
1377   1      		// 	second=!second;
1378   1       		;
1379   1      	   	}
1380          
1381          //-----------------------------------------------------------------------------
1382          
1383          
1384          
1385          
1386            
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 24  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 212
                                           ; SOURCE LINE # 213
                                           ; SOURCE LINE # 214
0000 C294              CLR     osd_reset
                                           ; SOURCE LINE # 215
0002 7F14              MOV     R7,#014H
0004 120000      R     LCALL   _delay
                                           ; SOURCE LINE # 216
0007 D294              SETB    osd_reset
                                           ; SOURCE LINE # 217
0009 120000      R     LCALL   system_init
                                           ; SOURCE LINE # 218
000C 020000      R     LJMP    monitor
             ; FUNCTION main (END)

             ; FUNCTION _delay (BEGIN)
;---- Variable 'n' assigned to Register 'R1' ----
0000 A907              MOV     R1,AR7
                                           ; SOURCE LINE # 221
                                           ; SOURCE LINE # 222
                                           ; SOURCE LINE # 224
;---- Variable 'i' assigned to Register 'R4/R5' ----
0002 E4                CLR     A
0003 FD                MOV     R5,A
0004 FC                MOV     R4,A
0005         ?C0002:
0005 E9                MOV     A,R1
0006 75F0C8            MOV     B,#0C8H
0009 A4                MUL     AB
000A FF                MOV     R7,A
000B C3                CLR     C
000C ED                MOV     A,R5
000D 9F                SUBB    A,R7
000E EC                MOV     A,R4
000F 95F0              SUBB    A,B
0011 5008              JNC     ?C0005
                                           ; SOURCE LINE # 225
0013 00                NOP     
0014 0D                INC     R5
0015 BD0001            CJNE    R5,#00H,?C0541
0018 0C                INC     R4
0019         ?C0541:
0019 80EA              SJMP    ?C0002
                                           ; SOURCE LINE # 226
001B         ?C0005:
001B 22                RET     
             ; FUNCTION _delay (END)

             ; FUNCTION system_init (BEGIN)
                                           ; SOURCE LINE # 229
                                           ; SOURCE LINE # 230
                                           ; SOURCE LINE # 232
0000 758921            MOV     TMOD,#021H
                                           ; SOURCE LINE # 234
0003 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 235
0006 438780            ORL     PCON,#080H
                                           ; SOURCE LINE # 236
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 25  

0009 D200        R     SETB    leap
                                           ; SOURCE LINE # 237
000B D28E              SETB    TR1
                                           ; SOURCE LINE # 238
000D 758BF3            MOV     TL1,#0F3H
0010 758DF3            MOV     TH1,#0F3H
                                           ; SOURCE LINE # 240
0013 758CF8            MOV     TH0,#0F8H
                                           ; SOURCE LINE # 241
0016 758A30            MOV     TL0,#030H
                                           ; SOURCE LINE # 242
0019 120000      R     LCALL   osd_control
                                           ; SOURCE LINE # 243
001C 120000      R     LCALL   clear_disp
                                           ; SOURCE LINE # 244
001F 75A892            MOV     IE,#092H
                                           ; SOURCE LINE # 245
0022 D28C              SETB    TR0
                                           ; SOURCE LINE # 246
0024 22                RET     
             ; FUNCTION system_init (END)

             ; FUNCTION monitor (BEGIN)
                                           ; SOURCE LINE # 248
                                           ; SOURCE LINE # 249
0000         ?C0007:
                                           ; SOURCE LINE # 250
                                           ; SOURCE LINE # 251
                                           ; SOURCE LINE # 252
0000 300003      R     JNB     receive_flag,?C0009
0003 120000      R     LCALL   detemine_command
0006         ?C0009:
                                           ; SOURCE LINE # 253
0006 20B206            JB      sw1,?C0010
                                           ; SOURCE LINE # 254
                                           ; SOURCE LINE # 255
0009 C295              CLR     k_4053c
                                           ; SOURCE LINE # 256
000B C297              CLR     alarm
                                           ; SOURCE LINE # 257
000D 8007              SJMP    ?C0011
000F         ?C0010:
                                           ; SOURCE LINE # 259
                                           ; SOURCE LINE # 260
000F 20B304            JB      sw2,?C0011
                                           ; SOURCE LINE # 261
                                           ; SOURCE LINE # 262
0012 D295              SETB    k_4053c
                                           ; SOURCE LINE # 263
0014 C297              CLR     alarm
                                           ; SOURCE LINE # 264
                                           ; SOURCE LINE # 265
0016         ?C0011:
                                           ; SOURCE LINE # 266
0016 300021      R     JNB     second,?C0013
                                           ; SOURCE LINE # 267
                                           ; SOURCE LINE # 268
0019 C200        R     CLR     second
                                           ; SOURCE LINE # 269
001B 300004      R     JNB     close1,?C0014
001E D293              SETB    osd1_cs
0020 8002              SJMP    ?C0015
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 26  

0022         ?C0014:
                                           ; SOURCE LINE # 270
0022 C293              CLR     osd1_cs
0024         ?C0015:
                                           ; SOURCE LINE # 271
0024 300004      R     JNB     close2,?C0016
0027 D296              SETB    osd2_cs
0029 8002              SJMP    ?C0018
002B         ?C0016:
                                           ; SOURCE LINE # 272
002B C296              CLR     osd2_cs
002D         ?C0018:
                                           ; SOURCE LINE # 273
002D 2090FD            JB      osd_busy,?C0018
0030         ?C0019:
                                           ; SOURCE LINE # 274
0030 120000      R     LCALL   write_osd_time
0033         ?C0020:
                                           ; SOURCE LINE # 275
0033 2090FD            JB      osd_busy,?C0020
0036         ?C0021:
                                           ; SOURCE LINE # 276
0036 D293              SETB    osd1_cs
                                           ; SOURCE LINE # 277
0038 D296              SETB    osd2_cs
                                           ; SOURCE LINE # 278
003A         ?C0013:
                                           ; SOURCE LINE # 279
003A 3000C3      R     JNB     oneday,?C0007
                                           ; SOURCE LINE # 280
                                           ; SOURCE LINE # 281
003D C200        R     CLR     oneday
                                           ; SOURCE LINE # 282
003F 200009      R     JB      close1,?C0023
                                           ; SOURCE LINE # 283
                                           ; SOURCE LINE # 284
0042 300004      R     JNB     closedate1,?C0024
0045 D293              SETB    osd1_cs
0047 8002              SJMP    ?C0023
0049         ?C0024:
                                           ; SOURCE LINE # 285
0049 C293              CLR     osd1_cs
                                           ; 

⌨️ 快捷键说明

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