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

📄 send.c

📁 51单片机通过rs232串口 向 上位机循环发送数据
💻 C
字号:
/***************************************************************
功能:实现单片机通过串口循环向上位机发送数据                             
作者:ZST                                                        
时间:2006-05                                                
版本:V1.0                                                       
***************************************************************/
#include "reg51.h"			//包函8051内部资源的定义

/*-------------------------------------------------------
功能:串口初始化,波特率9600 方式1 8 UART
-------------------------------------------------------*/
void Init_Com(void)
{
     TMOD = 0x20;//定时器1工作在方式2,8 bits reload
     PCON = 0x00;//SMOD=0;
     SCON = 0x50;//SM0=0,SM1=1,SM2=0,REN=1,			
     TH1 = 0xFd;//计数器初值设定  f0sc=11.0592
     TL1 = 0xFd;
     TR1 = 1;	//开定时器timer1			
}

/*-----------------------------------------
1MS延时子程序
-----------------------------------------*/
void Delay_xMs(unsigned int x)
{
    unsigned int i,j;
    for( i =0;i < x;i++ )
    {
        for( j =0;j<110;j++ );
    }
}

//字符输出函数
void putchar(unsigned char c)
{ 
	SBUF=c;                         //发送数据
	while(!TI); //判断上次发送有没有完成,完成后则进行下一步
	TI=0;
}


//带回车换行控制的字符串输出函数
int puts(char *s)
{
   while(*s) //当指针初值为1时执行下一条
         {putchar(*s);
	 s++;
	 }
	 putchar(0x0a);	//进行回车换行处理
	 putchar(0x0d);
	 return 1;
}

//不带回车换行控制的字符串输出函数
void putstr(char *s)
{
   while(*s)
     {putchar(*s);
	 s++;
	 }
}

/*-------------------------------------------------------
主程序
功能:实现接收数据并把接收到的数据发送出去
-------------------------------------------------------*/
void main()
{
   //unsigned char i;
   Init_Com();//初始化
   while(1)
   {   
      /*for(i=0;i<10;i++)
          {   SBUF =0X30+i; 			//发送数据
              Delay_xMs(100);//延时程序
          }*/
     puts("欢迎您使用Smart51实验开发套件!");
	 puts("本次实验的目的很简单就是进行单片机输出测试!");
	 //SBUF =0X32;
     Delay_xMs(1000);
   }
}

⌨️ 快捷键说明

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