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

📄 comm.h

📁 用于单片机读写24系列存储器的程序
💻 H
字号:


#define RELOAD_HIGH 0x3C
#define RELOAD_LOW 0xD2



unsigned char Com_buf;        //串口数据寄存器






/********************************************************************
函 数 名:INIT_SCI()
功    能:初始化串口
说    明:
调    用:
入口参数:
返 回 值:
设    计:hare 日 期:2008-09-28
修    改:      日   期:
***********************************************************************/
void INIT_SCI() 
{ 
	SCON=0X50;	//串口的工作方式,设置为方式1
				
	ES=1;       //开串口中断
	EA=1;       //开总中断
}




/********************************************************************
函 数 名:INIT_TMR()
功    能:初始化定时器
说    明:
调    用:
入口参数:
返 回 值:
设    计:hare 日 期:2008-09-28
修    改:      日   期:
***********************************************************************/
void INIT_TMR(void)
{
	TL2C=0XD8;  //AT89S52还有个定时器2,是16位定时计数器,我们这里就用定时器2来产生波特率,
				//为何我们不用定时器2呢,是因为我们用的晶振有关,你们可以计算下,12M的频率用定时器1是难以
				//产生我们串口软件所要的比如9600,4800等波特率,所以这里我们用到了定时计数器2
				//下面是产生9600波特率的初值,你们可以用工式计算下:16位计数为65536-12000000/12/32/9600	
	TH2C=0XFF;
	TL2=0XD8;
	TH2=0XFF;
	T2CON=0X34;	//此寄存器为设置定时器3做波特率发生器,
				//是一个开关,默认为定时器2,所以我们要设置它


	//初始化定时器0	
    ET0=1;
	TH0=RELOAD_HIGH; //设定重装值
	TL0=RELOAD_LOW;
	TMOD=0x11; //设置定时器模式
	TCON=0x11;
}


/********************************************************************
函 数 名:com_send()
功    能:通过串口发送字节
说    明:
调    用:
入口参数:sdata  要发送的字节
返 回 值:无
设    计:hare 日 期:2008-09-28
修    改:      日   期:
***********************************************************************/
void com_send(unsigned char sdata)
{
	SBUF=sdata;
	while(TI==0){}
	TI=0;
}





/********************************************************************
函 数 名:serial_int(void) interrupt 4
功    能:串口中断响应程序
说    明:接收数据帧,并判断是否是有效数据。
调    用:
入口参数:
返 回 值:无
设    计:hare 日 期:2008-09-28
修    改:      日   期:
***********************************************************************/
void serial_int(void) interrupt 4//中断4表示串口中断
{
	ES=0;

	if(RI==0)
	{
		while (1){}	
		RI=0;
		Com_buf=SBUF ;

		SBUF=0x0f;
		while(!TI){}
		TI=0;
	}

	ES=1;
	return;
}


⌨️ 快捷键说明

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