找回密码
 立即注册
查看: 1141|回复: 4

STC8C STC89C52定时器0 串口0 这些SRF一样?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:454
  • 最近打卡:2025-05-01 08:52:14

3

主题

109

回帖

857

积分

高级会员

积分
857
发表于 2023-5-12 22:15:50 | 显示全部楼层 |阅读模式
现在用STC8C32S2代替STC89C52RC   动作不正常  怀疑定时器0   串口0设置不对   ,有用到STC8C32S2大侠援助下,这两个芯片的相关寄存器是否一致?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-05-02 00:29:54

10

主题

1159

回帖

5121

积分

论坛元老

积分
5121
发表于 2023-5-15 20:05:02 | 显示全部楼层
这两个芯片的相关寄存器是一致的
不过一个STC89是12T另外一个STC8C是1T。
STC89Uart.png

STC8C_Uart.png

STC8C2K32S2 定时器0和串口0的设置

  1. #include "reg51.h"
  2. #include "intrins.h"
  3. sfr     T2L     =   0xd7;
  4. sfr     T2H     =   0xd6;
  5. sfr     AUXR    =   0x8e;
  6. sfr     P0M1    =   0x93;
  7. sfr     P0M0    =   0x94;
  8. sfr     P1M1    =   0x91;
  9. sfr     P1M0    =   0x92;
  10. sfr     P2M1    =   0x95;
  11. sfr     P2M0    =   0x96;
  12. sfr     P3M1    =   0xb1;
  13. sfr     P3M0    =   0xb2;
  14. sfr     P4M1    =   0xb3;
  15. sfr     P4M0    =   0xb4;
  16. sfr     P5M1    =   0xc9;
  17. sfr     P5M0    =   0xca;
  18. sfr     P_SW1   =   0xa2;
  19. sbit    P10     =   P1^0;
  20. sbit    P11     =   P1^1;
  21. sbit    P12     =   P1^2;
  22. void UART1_Isr() interrupt 4
  23. {
  24.     if (TI)
  25.     {
  26.         TI = 0;                                 //清中断标志
  27.         P10 = !P10;                             //测试端口
  28.     }
  29.     if (RI)
  30.     {
  31.         RI = 0;                                 //清中断标志
  32.         P11 = !P11;                             //测试端口
  33.     }
  34. }
  35. void TM0_Isr() interrupt 1  //1毫秒@11.0592MHz
  36. {
  37.     P12 = !P12;                                 //测试端口
  38. }
  39. void main()
  40. {
  41.     P0M0 = 0x00;            //设置P0.0~P0.7为双向口模式
  42.     P0M1 = 0x00;
  43.     P1M0 = 0x00;
  44.     P1M1 = 0x00;
  45.     P2M0 = 0x00;
  46.     P2M1 = 0x00;
  47.     P3M0 = 0x00;
  48.     P3M1 = 0x00;
  49.     P4M0 = 0x00;
  50.     P4M1 = 0x00;
  51.     P5M0 = 0x00;
  52.     P5M1 = 0x00;
  53.        
  54. //串口1切换
  55.     P_SW1 = 0x00;                               //RXD/P3.0, TXD/P3.1
  56. //  P_SW1 = 0x40;                               //RXD_2/P3.6, TXD_2/P3.7
  57. //  P_SW1 = 0x80;                               //RXD_3/P1.6, TXD_3/P1.7
  58. //  P_SW1 = 0xc0;                               //RXD_4/P4.3, TXD_4/P4.4
  59.         AUXR &= 0x7F;                        //定时器时钟12T模式
  60.         TMOD &= 0xF0;                        //设置定时器模式     //定时器0 模式0
  61.     TL0 = 0x66;                                 //65536-11.0592M/12/1000
  62.     TH0 = 0xfc;                    //设置定时初始值
  63.         TF0 = 0;                                //清除TF0标志
  64.     TR0 = 1;                                    //启动定时器 定时器0开始计时
  65.     ET0 = 1;                                    //使能定时器中断
  66.     SCON = 0x50;            //8位数据,可变波特率
  67.         AUXR |= 0x01;                    //串口1选择定时器2为波特率发生器
  68.         AUXR |= 0x04;                    //定时器时钟1T模式
  69.     T2L = 0xe8;                                 //65536-11059200/115200/4=0FFE8H
  70.     T2H = 0xff;                    //设置定时初始值    //115200bps@11.0592MHz
  71.         AUXR |= 0x10;                    //定时器2开始计时    //启动定时器                        
  72.     ES = 1;                                     //使能串口中断
  73.     EA = 1;
  74.     SBUF = 0x5a;                                //发送测试数据
  75.     while (1);
  76. }
复制代码







回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:454
  • 最近打卡:2025-05-01 08:52:14

3

主题

109

回帖

857

积分

高级会员

积分
857
发表于 2023-6-4 15:02:29 | 显示全部楼层
谢谢楼上!但感觉还是有不一样的 我89C52的程序  放8C上  串口0用定时器1  下载后没有输出
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2023-6-4 16:02:32 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-6-4 21:58:51 | 显示全部楼层
STC8C所有定时器都可以1T或12T,建议使用16位自动重装。串口波特率计算不同,定时器1T,16位自动重装。则16位重装值 = 65536 - fosc/4/Baudrate。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 12:53 , Processed in 0.148457 second(s), 81 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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