[其它应用] 内部晶振

[复制链接]
 楼主| songqian17 发表于 2019-8-24 22:54 | 显示全部楼层 |阅读模式
只要确认串口能工作。T2波特率发送器,串口工作方式1,代码如下。
时钟初始化
void ClockInit (void)
{
      uint16 i;

     CLKCON &= 0x9F;                                 // 不分频
      CLKCON |= 0x08;                                 // 打开高频振荡器
      for (i = 0; i < 1000; i++);                     // 延时2ms以上
      CLKCON |= 0x04;                                 // 选择内部16.6MHz高频振荡器
}

串口初始化
void UartInit (void)
{
      P1CR = 0x04;
      P1PCR = 0x02;
      P1 |= 0x04;
      TR2 = 0;
      T2MOD = 0x80;
      T2CON = 0x30;
      PCON = 0x00;
      SCON = 0x50;
      TH2 = 0xFF;
      TL2 = 0xCA;
      RCAP2H = 0xFF;
      RCAP2L = 0xCA;
      TR2 = 1;
}

发生一字节函数
void UartSendOne (uint8 dat)
{
      SBUF = dat;
      while (TI == 0);
      TI = 0;
}


主程序

     while (1)
      {
          UartSendOne('z');
      }

串口调试助手没有任何反应:
是不是内部晶振不稳定?
chenho 发表于 2019-8-24 22:58 | 显示全部楼层
IO口配置错误?
 楼主| songqian17 发表于 2019-8-24 23:02 | 显示全部楼层

啊? 不是定时器、串口的寄存器配置错误?
huwr 发表于 2019-8-24 23:06 | 显示全部楼层


我觉得发送函数有问题
gongche 发表于 2019-8-24 23:09 | 显示全部楼层
有仿真器么?
huanghuac 发表于 2019-8-24 23:12 | 显示全部楼层
while (TI == 0); 后面加一个断点试试?
wenfen 发表于 2019-8-24 23:15 | 显示全部楼层
配置没有办法看。
tian111 发表于 2019-8-24 23:18 | 显示全部楼层


不知道哪颗IC
tian111 发表于 2019-8-24 23:20 | 显示全部楼层

应该不是不稳的的问题吧
 楼主| songqian17 发表于 2019-8-24 23:28 | 显示全部楼层

IO配置OK;
Uart好像也行的,timer2也行啊
chenho 发表于 2019-8-24 23:32 | 显示全部楼层
嗯,你用示波器看看有否波形?
gongche 发表于 2019-8-24 23:35 | 显示全部楼层
测试过中颖内建振荡,很准确,不漂移,但我没试很久
huwr 发表于 2019-8-24 23:38 | 显示全部楼层
首先内部不是晶振,是RC振荡。
huanghuac 发表于 2019-8-24 23:41 | 显示全部楼层
主要受环境温度及电压变化的影响
 楼主| songqian17 发表于 2019-8-24 23:44 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

463

主题

5749

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部