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

📄 main.c

📁 中颖单片机SH88F516例程
💻 C
字号:
/***************************************************************************************************************************************
说明: 串口0转USB接口,需要安装PL2303驱动程序,驱动程序在同一目录中(PL2303USB.zip),安装完成后请查看该虚拟串口对应于哪个串口号COMx
在使用串口调试助手时选择该串口号(如COM3等).串口调试工具(serial V2.2.exe)位于UART1活页夹中
本程序的功能为:从串口接收一个数据,将此数据再发送回去

要求:打开拨码开关J10,使串口转USB接口有效
****************************************************************************************************************************************/
#include <sh88f516.h>

unsigned char RCV_NUM;
bit flag1;
void init();
void SendChar(unsigned char value);
void delay100ms(unsigned int delayvalue);

main()
{

	init();
					
    while(1)
	{	 
		if(flag1)
		{
			flag1 = 0;
	        SendChar(RCV_NUM);
			delay100ms(10);
		}

	}

}


void delay100ms(unsigned int delayvalue)
{
 

 unsigned int i;
 if (delayvalue)
 {
 delayvalue--;
 for (i=0;i<100;i++)
 {
 ;
 }

  }
}

void init()
{

	CLKCON = 0x00;		//时钟设置 

	RCAP2H=0xFF;		//9600
	RCAP2L=0xCC;
	TH2=0xFF;
	TL2=0xCC;
	T2CON=0x34;			//定时器2产生接收和发送波特率,开启定时器,工作在定时器方式,自动重装载
	SCON=0x50;			//SM0 SM1 SM2 REN TB8 RB8 TI RI 
						//工作在方式1(8位异步方式,可变波特率),允许接收,清0发送接收标志位
	ES0 = 1;			//打开串口中断 有时为 ES=1;
	EA = 1;				//开启总中断

}


void UART0_RCV_INT() interrupt 4  using 3  //串口0接收中断的中断号为4.
{

	ES0 = 0;
	RCV_NUM = SBUF;
	flag1 = 1;

	RI = 0;
	ES0 = 1;



}

void SendChar(unsigned char value)
{
	ES0 = 0;               //ES0=0;	
	delay100ms(10);	
	SBUF=value;			   //发送一个字节
	while(TI==0);  		   //等待TI置1
	TI=0;				   //清除TI
	ES0 = 1;               //ES0=1;		
}
















⌨️ 快捷键说明

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