?? interret.c
字號:
#include <w77e58.h>
#include <stdio.h>
#include<intrins.h>
unsigned char pns;//中斷次數
unsigned int pnztime;//PAL/NTSC 時間
bit pnds;//PAL/NTSC 判別完
bit p_n;//P/N標志
bit chan;//確定有電視信號
bit pal_ntsc();
void dely(unsigned int i);
void extern_int1() interrupt 2
{
pns++;
if(pns==1)
{
TH0=100;
TL0=100;
TR0=1;
ET0=1;
dely(800);
}
else if(pns==2){
TR0=0;
ET0=0;
pnds=1;
chan=1;
EX1=0;
}
else
{
pns=0;
pnds=0;
}
}
void time0() interrupt 1 using 1
{
pnztime++;
if(pnztime>0x500)
pnds=1;
}
bit pal_ntsc()
{unsigned int i;
i=0;
pns=0;
pnds=0;
chan=0;
pnztime=0;
PX1=1;
EX1=1;
while(!pnds)
{
i++;
if(i>60000)
pnds=1;
}
EX1=0;
PX1=0;
TR0=0;
ET0=0;
if(pnztime<0x145)
{
p_n=1;
printf("PAL/NTSC=%x,制式-NTSC\n",pnztime);
}
else {p_n=0;
printf("PAL/NTSC=%x,制式-PAL\n",pnztime);
}
if(chan)
return(1);
else return(0);
}
void dely(unsigned int i)
{
for (;i!=0;i--)
_nop_();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -