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

📄 com.c

📁 很好的用io口模拟串口的程序
💻 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 + -