📄 c3.c
字号:
#include <reg51.h>
//#include <AT89X52.h>
#include <stdio.h>
#define RX_PAN_UP 0x40 //
#define RX_PAN_DOWN 0x41 //
#define RX_PAN_LEFT 0x42 //
#define RX_PAN_RIGHT 0x43 //
#define uchar unsigned char
#define uint unsigned int
data uchar buffer[5]; //
data uchar ReadIndex; //
data uchar point; //
Uar_Init();
sbit P20=0xA0;
sbit P21=0xA1;
sbit P33=0xB3;
void Translate_RxByte(uchar RxByte);
bit Change_Flag;
void Update_LED();
bit read_flag=0;
Uart_Init()
{
SCON=0x50;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
ES=1;
EA=1;
P33=0;
P21=0;
}
void Serial_int() interrupt 4 using 3
{
uchar ch;
if(RI==1)
{
RI=0;
ch=SBUF;
if(ch==0xFF)
{
point=0;
buffer[point]=ch;
}
else
{
point++;
buffer[point]=ch;
if(point==4)
{
read_flag=1;
}
}
}
if(TI==1)
{
TI=0;
}
}
void send_char(uchar ch)
{
P33=1;
SBUF=ch;
TI=0;
P33=0;
}
main()
{
P0=0xFF;
P1=0xFF;
P2=0xFF;
P3=0xFF;
ReadIndex=0;
point=0;
Uart_Init();
while(1)
{
uchar ach;
if(read_flag==1)
{
read_flag=0;
if((buffer[1]==0xFD) && (buffer[0]==0xFF))// && (buffer[3]==(buffer[1]+buffer[2])))
{
Translate_RxByte(buffer[2]);
ach=buffer[1];
send_char(ach);
}
}
}
}
void Translate_RxByte(uchar RxByte)
{
switch(RxByte)
{
case RX_PAN_UP:
P20=0;
break;
case RX_PAN_DOWN:
P20=1;
break;
case RX_PAN_LEFT:
P20=0;
break;
case RX_PAN_RIGHT:
P20=1;
break;
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -