topc.c

来自「8051串口程序」· C语言 代码 · 共 44 行

C
44
字号
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define num 1
uchar idata buf[num];

void UartInit(unsigned int BandRate)
{
    TMOD&=0X0F;                           
	TMOD|=0x20;                 /*定时器1作为波特率发生器,工作于方式2,自动8位装载*/
	SCON=0x50;					/*工作方式 1*/
	PCON|=0x80;					/*波特率加倍*/
	TH1=255-57600/BandRate+1;;		/*按波特率计算初值  TH1=256-F*(SMOD+1)/(384*Band)=256-57600/Band*/
	TL1=TH1;
	TR1=1;

  }


void send(uchar idata *d)   /*发送子程序*/
{ uchar i;
     for(i=0;i<num;i++){       /*发送一个数据*/
     SBUF=d[i];
     while(TI==0);TI=0;
     }
     
   }
   

void receive(uchar idata *d) /*接收子程序*/
{uchar i;
        for(i=0;i<num;i++){         /*接收一个数据*/
        while(RI==0);RI=0;   
        d[i]=SBUF;
   //     d[i]++;
        }
    }

    
void main (void) {          /*主程序*/
      
      
      UartInit(6000);
      while(1){             /*当单片机从PC处接

⌨️ 快捷键说明

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