📄 com.c
字号:
/**********************************************
IO 口模拟232通讯程序
占用定时器0
**********************************************/
#include <reg51.h>
#define Fosc 11059200L
#define Baud 9600L
sbit BT_REC =P3^3;
/**********************************************************************************************************
** 函数名称 :Timer0_Interrupt()
** 函数功能 :定时器0中断服务程序
** 入口参数 :无
** 出口参数 :无
**********************************************************************************************************/
unsigned char status=8,Rec_Dat;
unsigned char Rec_Buf[32],rear;
void Timer0_Interrupt() interrupt 1
{
CY=BT_REC;
ACC=Rec_Dat;
CY=ACC&0x01;
Rec_Dat=ACC;
if (status==8)
{
TR0=0;
TL0=TH0=0xaa;
TR0=1;
}
if (--status==0)
{
status=8;
Rec_Buf[rear]=Rec_Dat;
rear++;
rear&=0x1f;
IE1=0;
EX1=1;
TR0=0;
}
}
/*
*********************************************************************************************************
** 函数名称 :Init_INT1()
** 函数功能 :初始化外部中断1
** 入口参数 :无
** 出口参数 :无
*********************************************************************************************************
*/
void Init_INT1(void)
{
IT1=1;
EX1=1;
}
/*
*********************************************************************************************************
** 函数名称 :INT1_Interrupt()
** 函数功能 :外部中断1中断
** 入口参数 :无
** 出口参数 :无
*********************************************************************************************************
*/
void INT1_Interrupt(void) interrupt 2
{
EX1=0; //收到起始位后,禁止INT1中断
TR0=0;
TL0=TH0=0x74;
TR0=1;
}
main()
{
Init_INT1();
TMOD=0x02;
ET0=1;
TR0=0;
EA=1;
while (1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -