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

📄 int.c

📁 用TEA7567做的调频收音机,本人经测试通过的
💻 C
字号:
#include "global.h"
#include "int.h"
void Int_Ini(void)
{
	WatchDog;//启动看门狗
          TMOD = 0x11;//定时器1和0都是模式1,十六位计数器
          TH0 = 0xf0; //定时器0用来作为中断显示,定时5毫秒
          TL0 = 0x60; 
          TR0 = 0;   //关定时0
          TH1 = 0x5d;//定时25ms
          TL1 = 0x3d;
          TR1 = 0;   //关定时器1
          T2CON = 0x30;
//        T2MOD = 0x00;
          RCAP2H = 0xFE;
          TH2 = RCAP2H;
          RCAP2L = 0xFB;
          TL2 = RCAP2L;
          TR2 = 0;   //2400bps
          PCON = 0x00;
          SCON = 0xD0;
          IP = 0x00;
		  PT0=1;//定时器0的中断优先级最高
          EX0 = 0;
          IT0 = 0;
          ET0 = 1;//允许定时器0中断
          EX1 = 0;
          IT1 = 0;
          ES = 0;
          EA = 1;//开总中断
}
//定时器0服务字程序
	  void Timer1 (void) interrupt 1
	  {
//	   	TH0 = 0xf0; //赋初值,定时4毫秒
//      TL0 = 0x60; 
//		TR0=0;
		if(Auto_Search_Flag==1)//如果在自动搜频模式下,进行0.5s的时间计时
		{
			Count_500ms++;
			if(Count_500ms>80)
			{
				if(Flash_Times>0)
				{
					Flag_500ms=~Flag_500ms;//500ms标志取反
					Count_500ms=0;
					Flash_Times=Flash_Times-1;
					if(Flash_Times==0) 
					{
						//Auto_Search_Flag=0;

						Count_Auto_Search=0;
					}
				}
				
				
			}
		}
       	Led_Display();
		TH0 = 0xf0; //赋初值,定时4毫秒
        TL0 = 0x60; 
		
		//********************按键*********
		if(Key_Down==1)
		{
			CountTime_Key++;//计长按时间的
			if(Long_Click==0)
			{
				if(CountTime_Key>250)//计时大于1s后
				{
					Long_Click=1;
					CountTime_Key=0;
				}
			}
			if(Mode==0)//如果在频率模式下时
			{
				if(Auto_Search_Flag==0)
				{
					Count_Auto_Search++;
					if(Count_Auto_Search>500)//长按总共有2s了
					{
						Auto_Search_Flag=1;//表示开始自动搜索了
						Flash_Times=4;//表示开始自动搜索的计数了
						Flag_500ms=0;
						Count_500ms=0;
					}
				}
				
			}
		 }
		 /*
		 if(Mode==0)//如果在频率模式下时
		 {
			 if(Long_Click==1)//1秒后,检测是否到4s
		 	{
		 		if(Auto_Search_Flag==0)
				{
					Count_Auto_Search++;
					if(Count_Auto_Search>1000)//长按总共有5s了
					{
						Auto_Search_Flag=1;//表示开始自动搜索了
						Flash_Times=2;//表示开始自动搜索的计数了
						Count_500ms=0;
					}
				}
		 	}
		 }
		*/
		 if(Data_Change==1)
		 {
	 		Count_5s++;
		 	if(Count_5s>1250)//用于计数5秒时间的,5秒到后才存数据
			{	
				Count_5s=0;//清5秒计时值
				Save_Can=1;
				Data_Change=0;//清数据变化
			}
		 }
				

	  }

⌨️ 快捷键说明

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