串口

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义                        

#include"delay.h"

/*------------------------------------------------

                   函数声明

------------------------------------------------*/

void SendStr(unsigned char *s);

/*------------------------------------------------

                    串口初始化

------------------------------------------------*/

void InitUART  (void)

{

 

    SCON  = 0x50;         // SCON: 模式 1, 8-bit UART, 使能接收  

    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装

    TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  

    TR1   = 1;                  // TR1:  timer 1 打开                         

    EA    = 1;                  //打开总中断

    //ES    = 1;                  //打开串口中断

}                            

/*------------------------------------------------

                    主函数

------------------------------------------------*/

void main (void)

{

 

InitUART();

 

 

 

while (1)                       

    {

    SendStr("UART test,技术论坛:www.doflye.net thank you!");

DelayMs(240);//延时循环发送

    DelayMs(240);

    }

}

 

/*------------------------------------------------

                    发送一个字节

------------------------------------------------*/

void SendByte(unsigned char dat)

{

 SBUF = dat;

 while(!TI);

      TI = 0;

}

/*------------------------------------------------

                    发送一个字符串

------------------------------------------------*/

void SendStr(unsigned char *s)

{

 while(*s!='\0')// \0 表示字符串结束标志,

                //通过检测是否字符串末尾

  {

  SendByte(*s);

  s++;

  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值