timer1.c

来自「不带字库LCD12864设计,在田老师的MINI51上测试」· C语言 代码 · 共 41 行

C
41
字号
//定时器1初始化,串口波特率初始化
#include "main.h"
#define CLOCK 22118400
#define Serial_Baud 115200
#define Mod_6T 0				

void timer1_init(void)
{
 //定时器1工作在模式2,8Bit自动重装载模式 
 TMOD = (TMOD & 0X0F) | 0X20;  
 SCON = 0x50;
 PCON = 0x00;
 #if (CLOCK/Serial_Baud/32) < 12
  TH1 = 256-(CLOCK/Serial_Baud/32/(12-6*Mod_6T)+0.5);
  TL1 = 256-(CLOCK/Serial_Baud/32/(12-6*Mod_6T)+0.5); 
 #else
  TH1 = 256-(CLOCK/Serial_Baud/32/(12-6*Mod_6T));
  TL1 = 256-(CLOCK/Serial_Baud/32/(12-6*Mod_6T)); 
 #endif
 TR1 =1;
 ES = 1; 
}

void Serial_int(void) interrupt 4 using 1
{ 
	unsigned char xdata *pbuf;
	static unsigned int i = 0;


	pbuf = 0;

   	if (RI) 	
   	{
		*(pbuf+i)=SBUF;
		if((++i)>1023) i=0 ;

	 	RI = 0;	 
   	} 
} 

⌨️ 快捷键说明

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