send.c

来自「单片机C语言应用100例光盘全部C语言源程序」· C语言 代码 · 共 51 行

C
51
字号
//实例57-1:数据发送程序
#include<reg51.h>       //包含单片机寄存器的头文件
sbit p=PSW^0;

unsigned char code Tab[ ]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
//流水灯控制码,该数组被定义为全局变量
/*****************************************************
函数功能:向PC发送一个字节数据
***************************************************/
void Send(unsigned char dat)
{
   ACC=dat;
	TB8=p;
  SBUF=dat;
   while(TI==0)
      ;
    TI=0;
}
/**************************************************************
函数功能:延时约150ms
**************************************************************/
 void delay(void)   
{
   unsigned char m,n;
	 for(m=0;m<200;m++)
	  for(n=0;n<250;n++)	   
           ;
 }
/*****************************************************
函数功能:主函数
***************************************************/
void main(void)
{
   unsigned char i;
   TMOD=0x20;  //TMOD=0010 0000B,定时器T1工作于方式2 
   SCON=0xc0;  //SCON=1100 0000B,串口工作方式3,
	            //SM2置0,不使用多机通信,TB8置0
   PCON=0x00;  //PCON=0000 0000B,波特率9600
   TH1=0xfd;    //根据规定给定时器T1赋初值
   TL1=0xfd;    //根据规定给定时器T1赋初值
   TR1=1;      //启动定时器T1   
  while(1)
   {
	  for(i=0;i<8;i++)   //模拟检测数据
	     {
		    Send(Tab[i]);        //发送数据i
			  delay();   //50ms发送一次检测数据			  
		  }		
   }
}	

⌨️ 快捷键说明

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