找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

帮看一下小的单片机串口程序 字符显示不对

查看数: 2492 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-5-23 15:28

正文摘要:

显示的两个结果如图,为什么字符显示就不对????? 这是显示字符的程序 #include<stc12c5a60s2.h> void InitUSART()   {    SCON=0x50;    TMOD=0x20; &nb ...

回复

ID:151348 发表于 2017-5-23 16:54
给你优化了一下

#include<reg52.h>    //包含单片机寄存器的头文件
#include <intrins.h>
#define XTAL 11059200L //System frequency
#define BAUD 9600 //UART baudrate

void InitUSART()
  {
    SCON  = 0x50;                        // SCON: 模式 1, 8-bit UART, 使能接收  
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
        TH1 = (unsigned char)(256 - XTAL/12/32/BAUD);
    TL1 = TH1;     //初值等于重载值
    ET1 = 0;       //禁止T1中断
    ES  = 1;       //使能串口中断
    TR1 = 1;       //启动T1
        EA    = 1;   
  }

//串口1发送数据
void UartPrintf(unsigned char *p)                                //发送字符串
{        
         while(*p)
         {
                 SBUF=*(p++);
                while(TI==0)
                {

                };
                TI=0;
        }   
}

void main()
{
  while(1)
  {
    char c=9;
    InitUSART();

     UartPrintf("chuan kou ce shi");
   }
}
ID:114987 发表于 2017-5-23 15:38
没有人吗

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

Powered by 单片机教程网

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