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

📄 interret.c

📁 全数字高清电视数字调谐器
💻 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 + -