历史上的今天
返回首页

历史上的今天

今天是:2025年02月28日(星期五)

正在发生

2020年02月28日 | 51单片机在Keil中使用printf进行串口输出

2020-02-28 来源:eefocus

最近有同学在51单片机的学习过程中困扰如何使用单片机串口在上位机串口助手上输出显示的问题,其实很多开发环境都支持使用C语言里面最常用的printf函数,Keil中也不例外,不仅仅是最常用的STC89C52、keil下其他51系列单片机如STC12、STC15等同样适用。具体步骤如下:


在Keil中建立一个空的工程,加入一个源文件,如main.c 粘贴以下代码,编译生成hex文件,下载到单片机即可。


需要注意的是:

1、需要包含stdio.h头文件 

2、串口初试化函数中需要有 TI = 1;


废话少说,直接上代码:


#include

#include

 

void InitUART(void)//使用定时器1作为串口波特率发生器

{

    TH1 = 0xFD; //晶振11.0592mhz 波特率设为9600

    TL1 = TH1;

    TMOD |= 0x20; //定时器1方式2

    SCON = 0x50; //串口接收使能

    ES = 1; //串口中断使能

    TR1 = 1; //定时器1使能

    TI = 1; //发送中断标记位,必须设置

}

//毫秒延时函数

void delay_ms(unsigned int t)

{

    unsigned char a,b;

    while(t--)

    {

      for(b=102;b>0;b--)

      for(a=3;a>0;a--);

    }

}

 

void main()

{

    InitUART(); //初始化串口

    EA = 1;   //开总中断

    while(1)

    {

        delay_ms(500);

        printf("Hello World!n");//串口打印结果

    }

}

推荐阅读

史海拾趣

潮州三环(Three-circle)公司的发展小趣事

潮州三环(集团)股份有限公司,最初成立于1970年,主要从事陶瓷基体及固定电阻器的制造和销售。然而,随着电子行业的快速发展,公司意识到单一产品已无法满足市场需求。因此,在1996年,三环集团开始投资生产片式电阻用的氧化铝陶瓷基片,这一决策标志着公司正式进入片式化元件制造领域。通过引进国外先进设备和技术,三环集团成功实现了电阻及瓷体的自动化生产,为公司后续的发展奠定了坚实基础。

Digital Equipment Corp公司的发展小趣事

1957年,麻省理工学院的工程师肯尼斯·奥尔森(Kenneth Olsen)和哈伯特·安德森(Harlan Anderson)共同创立了Digital Equipment Corporation(DEC)。他们最初的目标是开发和生产创新的数字计算设备。凭借他们在数字技术领域的专业知识和独特视角,DEC推出了首批数字实验室和数字系统组件,这些产品在市场上取得了初步的成功,为DEC的发展奠定了坚实的基础。

捷嘉电子(Chequers Electronic)公司的发展小趣事

捷嘉电子在成立初期面临着巨大的挑战。那是一个智能电子产品刚刚开始兴起的时代,市场竞争激烈。公司创始人余文跃凭借对电子行业的深刻理解和对技术创新的执着追求,决定投身于智能控制器的研发与生产。在初创阶段,资金紧张、人才短缺、市场推广困难重重。但余文跃凭借着坚韧不拔的毅力,带领团队攻克了一个又一个技术难题,逐渐在市场上站稳了脚跟。

Hitachi Metals公司的发展小趣事

自1956年成立以来,Hitachi Metals便逐步在电子材料领域建立了坚实的基础。公司早期便专注于研发和生产用于电子设备的核心部件,如磁性材料。随着电子行业的蓬勃发展,日立金属迅速抓住了市场机遇,推出了高性能的Nd-Fe-B系列烧结磁石和高性能铁氧体烧结磁石,这些材料广泛应用于计算机、半导体集成电路器件及平板显示屏等高科技产品中。凭借其卓越的产品质量和稳定的市场供应,Hitachi Metals在电子材料市场上赢得了广泛的认可。

Churod Electronics Co Ltd公司的发展小趣事

为了保证产品质量和客户满意度,中汇瑞德一直将质量管理体系的建设放在重要位置。公司引入了国际先进的质量管理理念和方法,建立了完善的质量管理体系,并通过了多项国际认证。同时,公司还加强了对供应商的管理和评估,确保原材料的质量符合公司要求。这些措施有效地提高了产品的质量稳定性和可靠性,赢得了客户的信任和认可。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司深知品质是企业生存和发展的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控。公司还建立了完善的质量检测体系,确保每一件产品都符合最高标准。这种对品质的执着追求使得ASSMANN WSW的产品在市场上赢得了良好的口碑。

问答坊 | AI 解惑

硅技术引领汽车设计时代

摘  要:随着科技的不断向前发展,汽车电子化程度也越来越高,半导体技术也随之崛起。本文详尽的描述了硅技术的进步,微控制器在汽车应用上的发展以及硅产品在汽车网络所发挥的巨大潜力。最后作者希望汽车制造商和半导体生产商能够密切合作为 ...…

查看全部问答>

FOCS在煤调自动化系统中的应用

湘潭钢铁集团公司(以下简称湘钢)煤气调度系统在改造前使用的都是 型淘汰仪表,截至改造前安装的 /0 块仪表因!电缆等原因已全部瘫痪。“六五”以来湘钢经过几次大的改造煤气用户大量增加,煤气测量点由原来的 12 多点已增至近/22 点,显然现有的煤 ...…

查看全部问答>

建议一点

建议把资料共享区和技术交流区分开,通常下资料的都只是灌水,和技术交流混在一起感觉不便于聚集人气!…

查看全部问答>

2009年基本仪器和主要元器件清单20090827

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 2009年基本仪器和主要元器件清单20090827  …

查看全部问答>

vxworks辅助时钟定时问题,急急急急

sysAuxClkRateSet(int rate)函数中,rate只能设成(2,4,8,16,32,64,128,..,1024等等),我想精确定时到1ms或5ms、10ms该怎么办,或者有其它方法吗,请大家帮忙!…

查看全部问答>

自己动手创建一个基于万利STM32板的IAR工程

    圈圈前面几个STM32的程序是直接拿例子来改的,但我们总不能每次都拿别人的例子来改吧?我们要学会如何自己来创建一个属于自己的IAR工程。    首先启动IAR开发环境。如果你的设置是在启动时出现Em ...…

查看全部问答>

TDK 8G U盘到啦!晒一下!

祝我们的论坛越办越好!! [ 本帖最后由 anananjjj 于 2012-4-23 13:16 编辑 ]…

查看全部问答>

关于PID运算,一种10个时钟周期的另一种算法。

首先是@dontium 。共同讨论C2000系列中的CLA的一个计算方法。 图片截取自网络。其中第一项是比例项,第二项是积分项,第三项是微分项。对应的系数是kp,ki,kd。然后根据这个表达式的恒等变换可以得到最后一个表达式。如果计算第一个表达式。每次 ...…

查看全部问答>

AD转换检测的问题

AD转换时怎么检测上升沿下降沿,我是想让电压上升的时候让灯亮着,下降的时候灯灭,电压变化范围在1.2V~2.0V,是把先后采集到的数据进行比较吗,怎么把采集到的电压值储存起来再比较 …

查看全部问答>