打印
[程序源码]

51单片机发送字符串的程序

[复制链接]
2549|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝