📄 interret.lst
字号:
C51 COMPILER V7.01 INTERRET 08/17/2003 17:24:36 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE INTERRET
OBJECT MODULE PLACED IN .\interret.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\interret.c LARGE MODDP2 DEBUG OBJECTEXTEND
stmt level source
1 #include <w77e58.h>
2 #include <stdio.h>
3 #include<intrins.h>
4
5 unsigned char pns;//中断次数
6 unsigned int pnztime;//PAL/NTSC 时间
7 bit pnds;//PAL/NTSC 判别完
8 bit p_n;//P/N标志
9 bit chan;//确定有电视信号
10
11 bit pal_ntsc();
12 void dely(unsigned int i);
13
14 void extern_int1() interrupt 2
15 {
16 1 pns++;
17 1 if(pns==1)
18 1 {
19 2 TH0=100;
20 2 TL0=100;
21 2 TR0=1;
22 2 ET0=1;
23 2 dely(800);
24 2 }
25 1 else if(pns==2){
26 2 TR0=0;
27 2 ET0=0;
28 2 pnds=1;
29 2 chan=1;
30 2 EX1=0;
31 2 }
32 1 else
33 1 {
34 2 pns=0;
35 2 pnds=0;
36 2 }
37 1 }
38
39 void time0() interrupt 1 using 1
40 {
41 1 pnztime++;
42 1 if(pnztime>0x500)
43 1 pnds=1;
44 1 }
45
46 bit pal_ntsc()
47 {unsigned int i;
48 1 i=0;
49 1 pns=0;
50 1 pnds=0;
51 1 chan=0;
52 1 pnztime=0;
53 1 PX1=1;
54 1 EX1=1;
55 1 while(!pnds)
C51 COMPILER V7.01 INTERRET 08/17/2003 17:24:36 PAGE 2
56 1 {
57 2 i++;
58 2 if(i>60000)
59 2 pnds=1;
60 2 }
61 1 EX1=0;
62 1 PX1=0;
63 1 TR0=0;
64 1 ET0=0;
65 1 if(pnztime<0x145)
66 1 {
67 2 p_n=1;
68 2 printf("PAL/NTSC=%x,制式-NTSC\n",pnztime);
69 2 }
70 1 else {p_n=0;
71 2 printf("PAL/NTSC=%x,制式-PAL\n",pnztime);
72 2 }
73 1 if(chan)
74 1 return(1);
75 1 else return(0);
76 1 }
77
78 void dely(unsigned int i)
79 {
80 1 for (;i!=0;i--)
81 1 _nop_();
82 1
83 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 342 ----
CONSTANT SIZE = 47 ----
XDATA SIZE = 3 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -