找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

STC8F2K08S2单片机可否有外部晶体振荡?

查看数: 6140 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-2-5 16:45

正文摘要:

这款单片机非常便宜,而且有两个uart,乘新年大假玩一下用跳线焊一个后,下载程序和UART实验都还行(虽然内部定是器与STC12有些不同,有待调整),但有个疑惑,究竟这款单片机是否能用外部振荡呢?根据说明书上提供 ...

回复

ID:94031 发表于 2019-2-7 09:34
dalaoshi 发表于 2019-2-7 00:48
谢谢各位指导,如此说来,STC12是只能用外部晶振的,STC15是能使用内部振荡器和外部晶振的,但在下载烧录时 ...

stc12可以使用内部时钟。
ID:213173 发表于 2019-2-7 09:07
楼主的晶振接错脚了。
ID:123289 发表于 2019-2-7 01:49
记住:遇到问题首先要看手册。
这样最靠谱。
ID:283954 发表于 2019-2-7 00:48
谢谢各位指导,如此说来,STC12是只能用外部晶振的,STC15是能使用内部振荡器和外部晶振的,但在下载烧录时必须选择好,运行时不能切换,STC8可以使用外部晶振,内部精密振荡器,内部低频振荡器,下载烧录时只能用内部精密振荡器,但运行时能自由切换,使用起来灵活许多,因此底板必须预留晶振位置备用,是这样吧。
ID:155507 发表于 2019-2-6 13:00
  1. #include "reg51.h"
  2. #include "intrins.h"

  3. #define CKSEL           (*(unsigned char volatile xdata *)0xfe00)
  4. #define CKDIV           (*(unsigned char volatile xdata *)0xfe01)
  5. #define IRC24MCR        (*(unsigned char volatile xdata *)0xfe02)
  6. #define XOSCCR          (*(unsigned char volatile xdata *)0xfe03)
  7. #define IRC32KCR        (*(unsigned char volatile xdata *)0xfe04)

  8. sfr     P_SW2       =   0xba;

  9. void main()
  10. {
  11.     P_SW2 = 0x80;
  12.     CKSEL = 0x00;                               //选择内部IRC ( 默认 )
  13.     P_SW2 = 0x00;

  14.     /*
  15.     P_SW2 = 0x80;
  16.     XOSCCR = 0xc0;                              //启动外部晶振
  17.     while (!(XOSCCR & 1));                      //等待时钟稳定
  18.     CKDIV = 0x00;                               //时钟不分频
  19.     CKSEL = 0x01;                               //选择外部晶振
  20.     P_SW2 = 0x00;
  21.     */

  22.     /*
  23.     P_SW2 = 0x80;
  24.     IRC32KCR = 0x80;                            //启动内部32K IRC
  25.     while (!(IRC32KCR & 1));                    //等待时钟稳定
  26.     CKDIV = 0x00;                               //时钟不分频
  27.     CKSEL = 0x03;                               //选择内部32K
  28.     P_SW2 = 0x00;
  29.     */
  30.     while (1);
  31. }

复制代码


STC8ClockSelect.png (112.79 KB, 下载次数: 33)

STC8ClockSelect.png
ID:94031 发表于 2019-2-6 11:40
看到这样一个帖子,有stc8的可以试试。
STC技术支持给的,一次成功!
void Sys_clk()
{
        P_SW2 |=  0x80;        // MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展SFR(XSFR)
        XOSCCR = 0xC0;                        //启动外部晶振
        while((XOSCCR & 1)==0);        //等待振荡稳定
        CKSEL = (CKSEL & ~0x03) | 0x01; /* 选择外部晶振或时钟 */
        CLKDIV = 1;                                //分频
        P_SW2 &= ~0x80;                // MOVX A,@DPTR/MOVX @DPTR,A指令的操作对象为扩展RAM(XRAM)
}
ID:94031 发表于 2019-2-6 11:30
jhczy 发表于 2019-2-6 10:03
请看STC8手册第93-95页,有个主时钟源的标志位

我考虑,下载程序总得用他们的软件吧,如果软件不让选外部晶振,你也无法用吧,至于有主时钟源的标志位,那也就是以不变应万变,实际产品并无此硬件功能。
ID:170318 发表于 2019-2-6 10:03
请看STC8手册第93-95页,有个主时钟源的标志位
ID:94031 发表于 2019-2-6 09:29
如果下载软件不能选外部晶振,估计就无法用外部晶振,至于图上有管脚估计是复制粘贴结果。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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