taihang 发表于 2022-12-21 21:36:44

51单片机使用printf()函数显示数据

在测试单片机的时候,经常用到最小系统来,但是最小系统没有显示部分,增加了测试的困难,我们可以用printf()函数借助串口助手窗口显示数据,非常方便。如图:


taihang 发表于 2022-12-21 21:37:45

程序如下:

#include "reg51.h"
#include "intrins.h"
#include <stdio.h>
            
#define FOSC      11059200UL
#define BRT         (65536 - FOSC / 115200 / 4)// 115200波特率
sfr   P0M1    =   0x93;
sfr   P0M0    =   0x94;
sfr   P1M1    =   0x91;
sfr   P1M0    =   0x92;
sfr   P2M1    =   0x95;
sfr   P2M0    =   0x96;
sfr   P3M1    =   0xb1;
sfr   P3M0    =   0xb2;
sfr   P4M1    =   0xb3;
sfr   P4M0    =   0xb4;
sfr   P5M1    =   0xc9;
sfr   P5M0    =   0xca;
sfr   AUXR    =   0x8e;
sfr   T2H   =   0xd6;
sfr   T2L   =   0xd7;

void UartInit()
{
   SCON = 0x5a;
   T2L = BRT;
   T2H = BRT >> 8;
   AUXR = 0x15;
}


void main()
{
   P0M0 = 0x00;
   P0M1 = 0x00;
   P1M0 = 0x00;
   P1M1 = 0x00;
   P2M0 = 0x00;
   P2M1 = 0x00;
   P3M0 = 0x00;
   P3M1 = 0x00;
   P4M0 = 0x00;
   P4M1 = 0x00;
   P5M0 = 0x00;
   P5M1 = 0x00;
   UartInit();
   while (1)
{
   unsigned int a=2588;
   unsigned int b=3699;
   unsigned int c=38888;
       TI = 1;   
      
      printf("大家好!学习单片机\n");
   printf("%u\n",a);
   printf("%u\n",b);
   printf("%u\n",c);
      TI = 0;
   while (1);
      }
}

taihang 发表于 2022-12-21 21:38:22

此程序15w408as,8g1k08(16),8h1k08测试通过。

神农鼎 发表于 2022-12-21 21:59:06

好建议,现在还有强大的 调试接口 帮助大家,虚拟键盘,虚拟显示

神农鼎 发表于 2022-12-21 22:00:33



工具软件-深圳国芯人工智能有限公司 (stcai.com)    STC-ISP V6.91C 版本

taihang 发表于 2022-12-21 22:10:08

谢谢,我去下载!

国学芯用 发表于 2022-12-22 08:22:49

在这看32位8051教学视频,送USB转双串口, 6M bps下载速度
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=323

国学芯用 发表于 2022-12-22 08:53:47

STC32+STC-USB Link1D 仿真流程介绍
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=210

taihang 发表于 2022-12-22 08:56:47

谢谢,去学习.

康辉55AA 发表于 2022-12-22 09:11:57

再加上串口接收模块,键值解释模块,利用虚拟键盘,就可以上位机与下位机互动调试程序了。很美,很强大。:D
页: [1] 2
查看完整版本: 51单片机使用printf()函数显示数据