设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 624|回复: 0
收起左侧

C51/STC系列单片机 九九乘法口诀表生成器源码 调用硬件串口输出九九乘法表 (99乘法表)

[复制链接]
发表于 2022-11-30 17:07:08 | 显示全部楼层 |阅读模式
单片机型号:STC任意 (根据型号改头文件)
晶振频率:11.0592Mhz 波特率:9600 (必须有硬件串口,否则无法输出)

1.png
  1. #include "STC12C5A60S2.h"
  2. #include "intrins.h"
  3. #define u8 unsigned char
  4. #define u16 unsigned int
  5. #define u32 unsigned long

  6. void InitUART(){    //初始化串口(11.0592@9600bps)
  7.     TMOD = 0x20;
  8.     SCON = 0x50;
  9.     TH1 = 0xFD;
  10.     TL1 = TH1;
  11.     PCON = 0x00;
  12.     TR1 = 1;
  13. }

  14. void txd_byte(u8 c){        //串口发送1字节
  15.     SBUF = c;
  16.     while(!TI);
  17.     TI = 0;
  18. }

  19. void txd_char(u8 c){        //串口发送数字(0~255) 1~3字节
  20.     if(c >= 100){
  21.         txd_byte(0x30 | (c/100%10));
  22.     }
  23.     if(c >= 10){
  24.         txd_byte(0x30 | (c/10%10));
  25.     }
  26.     txd_byte(0x30 | (c%10));
  27. }

  28. void main(){
  29.     u8 a,b;
  30.     InitUART();
  31.     for(a=1;a<=9;a++){
  32.         for(b=1;b<=a;b++){
  33.             txd_char(b);
  34.             txd_byte('*');
  35.             txd_char(a);
  36.             txd_byte('=');
  37.             txd_char(a*b);
  38.             txd_byte(' ');
  39.         }
  40.         //回车(换行符)
  41.         txd_byte(0x0D);
  42.         txd_byte(0x0A);

  43.     }
  44.         while(1);
  45. }
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-22 10:44 , Processed in 0.585033 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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