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

📄 logic_analyzer.c

📁 红外逻辑分析仪源程序
💻 C
字号:
/*'**********************************************************************************
'
'                          红外线逻辑分析器 ver 0.1
'
'                           Power By WJZ(广公男生)
'
'                           @2004.7

'                           QQ:185856085
'
'                           E-Mail:dddlzhu@163.com
'
'***********************************************************************************
*/
#include <at89x52.h>
#define byte unsigned char

/*************************************************
//线路连接定义。如电路有变直接修改就可以了
*************************************************/
#define WAY_0 P3_2
#define LED_RECIEVE P0_0

//XTAL 22.1184M
// serial rate=((xtal/12/t1_over_rate)/32)*2^pcon


byte bdata buffer=0;
sbit way0=buffer^0;

byte i=0;

bit start=0;

/*
void send_char(unsigned char word)
{	
	TI=0;
	SBUF=word;
	while(TI==0);
	TI=0;
	

}
*/

void t0_service(void) interrupt 1 using 1         
{

	way0=WAY_0;
	
	i++;
	if(i==8) 
	{
	TI=0;
	SBUF=buffer;
	i=0;
	}
	buffer=buffer<<1;
}



void main(void)
{

	SCON=0x40;  //串口方式1,8位
	TMOD=0x22;	//t1 t0 8位自动重装  THx->TLx
	TH1=0xFf;	
	TL1=0xFf;
	PCON=0x80;    //57600bps *2 22.1184M  115200bps 
					//2^smod/16 * fosc/(12*(256-X)
					//smod=1   x=255    fosc=22.1184M    

	TR1=1;			//产生串口时钟

	TH0=0xDb;			//~20us
	TL0=0xFD;
	EA=1;		//总中断允许

	WAY_0=1;
	ET0=1;		//T0 允许中断

	
	while(1)
	{
		if(!WAY_0)
		{
			TR0=1;
			LED_RECIEVE=0;

		}
		
	}


}

⌨️ 快捷键说明

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