[程序源码] 51单片机发送字符串的程序

[复制链接]
 楼主| wrr360661326 发表于 2016-1-18 16:56 | 显示全部楼层 |阅读模式
这有一个发送字符串程序,
请大家帮忙给看看对不对啊~!

想发送'abcdef',就用send_str('abcdef'),
发‘helloworld’就用send_str(‘helloworld’),
写一个通用版本的函数接口

#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!");
DelayMs(2400);//延时循环发送
    DelayMs(2040);
    }
}
/*------------------------------------------------
                    发送一个字节
------------------------------------------------*/
void SendByte(unsigned char dat)
{
SBUF = dat;
while(!TI);
      TI = 0;
}
/*------------------------------------------------
                    发送一个字符串
------------------------------------------------*/
void SendStr(unsigned char *s)
{
while(*s!='\0')// \0 表示字符串结束标志,
                //通过检测是否字符串末尾
  {
  SendByte(*s);
  s++;
  }
}
 楼主| wrr360661326 发表于 2016-1-19 09:32 | 显示全部楼层
这个问题也不难吧
 楼主| wrr360661326 发表于 2016-1-21 15:45 | 显示全部楼层
hzocce 发表于 2016-1-20 09:04
这个简单,你可以参考 STC的例程,上面都有现成的,你直接用就可以!
拷贝你想要的,(版权归STC所有,请 ...

像是那么回事!多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

23

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部