📄 logic_analyzer.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 + -