找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9495|回复: 5
打印 上一主题 下一主题
收起左侧

51单片机串口发送汉字程序

  [复制链接]
跳转到指定楼层
#
ID:432548 发表于 2018-11-25 16:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include <reg52.h>
#include <stdio.h>


#define uint unsigned int
#define uchar unsigned char


//毫秒级延时函数定义
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);                 
}


//串口初始化
void UARTInit()
{
        SM0 = 0;        SM1 = 1;//串口工作方式1,8位UART波特率可变
        TR1 = 1;//启动定时器1
        TMOD |= 0x20;//定时器1,工作模式2 8位自动重装
        TH1 = 0xfd;
        TL1 = 0xfd;//设置比特率9600
}


void main()
{
        UARTInit(); //串口初始化
        while(1)
        {
                TI = 1;//发送请求标志位
                puts("大家好!欢迎学习单片机");//发送的汉字
                while(!TI);//判断是否发送完成  发送完成出循环
                TI = 0;
                delay(1000);//延迟1秒
        }        
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶1 踩
回复

使用道具 举报

5#
ID:960400 发表于 2021-8-13 17:28 | 只看该作者
2236744811 发表于 2021-7-13 09:02
为什么串口初始化不用打开接收位REN=1就可以接收发送的文字?

因为这里的REN=1,是打开接收串口,而这个程序只需要满足发送就可以了
回复

使用道具 举报

地板
ID:952401 发表于 2021-7-13 09:02 | 只看该作者
为什么串口初始化不用打开接收位REN=1就可以接收发送的文字?
回复

使用道具 举报

板凳
ID:66287 发表于 2019-1-22 09:08 | 只看该作者
测试过了,好用!不要用stc-isp内置的串口助手,会出现乱码!
回复

使用道具 举报

沙发
ID:383374 发表于 2019-1-22 01:37 来自手机 | 只看该作者
没问题这个代码,不行可以用printf
回复

使用道具 举报

楼主
ID:424598 发表于 2018-11-26 13:08 来自手机 | 只看该作者
不错。简单明了。有空测试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表