scom.c

来自「51MCU检测按键动作,实现软件去抖,很好用」· C语言 代码 · 共 38 行

C
38
字号

#include <common.h>
#include <scom.h>

#ifdef T1AsBaudGN	//T1 as UART's BaudGenerator
void UARTInit_T1(void)
{
	PCON |= 0x80;  	//SMOD==PCON.7,double SerialPort0 BaudRate
	SCON |= 0xd0;	//SerialPort Model 3(SM0=1,SM1=1,SM2=0),enable SerialPort receive		
	TMOD |= 0x20;   //T/C1 Mode 2:8-bit with auto-reload from TH1
	TH1 = T1BAUD;	//T1 as UART BaudGenerator
	TR1 = 1;		//start Timer1
}
#endif


#ifdef T2AsBaudGN	//T2 as UART's BaudGenerator
void UARTInit_T2(void)
{
	uint temp;

	//RCLK = 0;	//RCLK==T2CON.5 , designate T1 as SPORT0 Receive baudrate generator
	//TCLK = 0;	//RCLK==T2CON.4 , designate T1 as SPORT0 Transmit baudrate generator
	RCLK = 1;	//RCLK==T2CON.5 , designate T2 as SerialPort0Receive baudrate generator
	TCLK = 1;	//RCLK==T2CON.4 , designate T2 as SerialPort0Transmit baudrate generator

	PCON |= 0x80;  	//SMOD==PCON.7,double SerialPort0 BaudRate
	SCON |= 0xd0;	//SerialPort Model 3(SM0=1,SM1=1,SM2=0),enable SerialPort receive
					//9-bit UART(exist RB8/TB8),1-bit StartBit and 1-bit EndBit,RB8==0 or RB8==1
	temp = T2BAUD;	// - XTAL /(32L * BAUDRATE2);
	RCAP2H = temp /256;
	RCAP2L = temp %256;
	TR2 = 1;		//start Timer2
}
#endif


⌨️ 快捷键说明

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