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

📄 serial_zhongduan.c

📁 关于串行口中断方面的例子,仅供参考偶! 进来看看吧
💻 C
字号:
/*
****************************************************************************************************
*               沈阳市万柳塘路56号
*       (c)著作权2005,世信汇诚电子版权所有
*     世信汇诚电子的源代码是不公开, 属于世信汇诚电子的企业机密文件, 任何未经允许使用
* 或发表的行为都是违法行,任何个人或组织尝试或者参与修改源代码的行为,都应尽早得到世信
* 汇诚电子设计组的同意.
*             
* 版本号:1.0
* 作  者:linan4526
* 日  期:2005-05-08
*---------------------------------------------------------------------------------------------------
* 描  述:SXHC-I型MCU51实验
****************************************************************************************************
*/
#include <main.h>
/*********************************************************************************************
函数功能:串口中断函数
入口参数:无
出口参数:无
*********************************************************************************************/
void Serial_Int() interrupt 4
{
	byte bI;
	static byte bJ=0x01; 

	if(RI)
	{
		P1=~bJ;
		if (bJ==0x80)
		{
			bJ=1;
		}
		else
		{
			bJ<<=1;
		}
		RI=0;
		bI=SBUF;/*接收数据*/
		SBUF=bI;/*将接收的数据返回给发送方*/
	}
	else
	{
		TI = 0;
	}
}
/**********************************************************************
函数功能:	上电初始化函数
入口参数:	无
出口参数:	无
***********************************************************************/
void Power_Up(void)
{
	SCON=0x50;	/*串行口工作方式1 8位数据位*/
	/*****串行口设置(使用T2定时器作为波特率发生器)*****/
	TMOD = 0x20;/*Time1为8位重装载产生波特率*/
	TH1=0xfd;
	TL1=0xfd;	/*9600波特率*/
	TR1=1;
	P1=0;		/*点亮LED*/
	IE=0x90;	/*EA=1 ES=1*/
}
/**********************************************************************
函数功能:	主函数
入口参数:	无
出口参数:	无
***********************************************************************/
void main()
{
	Power_Up();
	while (1)
	{
		/*程序在此处死循环,单片机靠串口中断接收数据并把数据返回给发送方*/
	}
}

⌨️ 快捷键说明

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