找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4633|回复: 16
收起左侧

STC8G单片机频率设置问题

[复制链接]
ID:188720 发表于 2022-4-28 10:19 | 显示全部楼层 |阅读模式
在STC8G的技术手册里有如下描述:
c7bf8bc13535c611a9ca792466dbf7b4.png
也就是说频率不需要用设置寄存器的方式来定义,只需要在下载的时候手动输入,即如下图:
52c5c1578e9772a5b7f6b9e3ac048dea.png
但是,在技术手册中还有提到如果要设置为11.0592MHz需要设置寄存器:
95a5c743bbd7305e58a7441fa7aa0ec8.png

这是什么意思呢?11.0592MHz这个频率必须要用这种方式才能得到吗?频率不是直接在烧录软件里面设置就行了吗?CLKDIV寄存器里面的值不是应该自动会调整的吗?

回复

使用道具 举报

ID:390416 发表于 2022-4-28 12:31 | 显示全部楼层
不用管,STCISP 直接设置就行了
回复

使用道具 举报

ID:161164 发表于 2022-4-28 13:21 | 显示全部楼层
可能只是一個例子
STC-ISP最小频率是6Mhz
如果想要更慢的速度就要用CLKDIV寄存器來分频
回复

使用道具 举报

ID:272119 发表于 2022-4-28 13:58 | 显示全部楼层
用户需要更低频率,反正我一般用22.1184匹配串口通讯速率,11.0592慢了一点,正常情况还是希望快一点啊.
回复

使用道具 举报

ID:624769 发表于 2022-4-28 16:58 来自触屏版 | 显示全部楼层
你一个频率从头用到底,就不用管寄存器,只要下载时候选一下。你想中途变频,就通过寄存器。
回复

使用道具 举报

ID:188720 发表于 2022-4-29 00:46 | 显示全部楼层
人人学会单片机 发表于 2022-4-28 12:31
不用管,STCISP 直接设置就行了

好的,谢谢。
回复

使用道具 举报

ID:188720 发表于 2022-4-29 00:46 | 显示全部楼层
188610329 发表于 2022-4-28 16:58
你一个频率从头用到底,就不用管寄存器,只要下载时候选一下。你想中途变频,就通过寄存器。

好的,谢谢
回复

使用道具 举报

ID:188720 发表于 2022-4-29 00:47 | 显示全部楼层
lkc8210 发表于 2022-4-28 13:21
可能只是一個例子
STC-ISP最小频率是6Mhz
如果想要更慢的速度就要用CLKDIV寄存器來分频

好的。
回复

使用道具 举报

ID:188720 发表于 2022-4-29 00:52 | 显示全部楼层
188610329 发表于 2022-4-28 16:58
你一个频率从头用到底,就不用管寄存器,只要下载时候选一下。你想中途变频,就通过寄存器。

在请教您一个问题:
在ADC的例程中,开头用sfr声明了很多特殊功能寄存器,如:
  1. sfr ADC_CONTR = 0xbc;
  2. sfr ADC_RES = 0xbd;
复制代码
但是ADCTIM却是用了宏定义:
  1. #define ADCTIM (*(unsigned char volatile xdata *)0xfea8)
复制代码
请问为什么会有这两种定义的差别呢?我目前唯一想到的区别是,ADCTIM是可以位寻址的寄存器,是因为这样的差别吗?
回复

使用道具 举报

ID:624769 发表于 2022-4-29 01:18 | 显示全部楼层
红烧鱼头 发表于 2022-4-29 00:52
在请教您一个问题:
在ADC的例程中,开头用sfr声明了很多特殊功能寄存器,如:
但是ADCTIM却是用了宏定 ...

sfr 是标准 寄存器设定, 比如:  sfr ADC_RES = 0xbd;   就是把  ADC_RES 指向 地址:0xbd
你程序中对  ADC_RES 的任何操作,都会被编译成  对 地址:0xbd 的操作。

而,标准寄存器地址 只有可怜的 0x80~0xff  一共128个地址,STC不断的给 51单片机增加功能,造成寄存器越来越多, 128个地址已经完全不够用, 所以,STC搞了一个 扩展寄存器 XFR 出来,地址是16位的,而XFR 是STC自创的,也不是STC读创吧,反正搞增强51的最终都是这样子解决地址不够用问题的,总之, KEIL是不认可的。所以,无法直接进行寄存器设置,所以,只能用宏定义, 让 你对 ADCTIM 的操作 指向16位地址:0xfea8 的操作。
回复

使用道具 举报

ID:188720 发表于 2022-4-29 08:23 | 显示全部楼层
188610329 发表于 2022-4-29 01:18
sfr 是标准 寄存器设定, 比如:  sfr ADC_RES = 0xbd;   就是把  ADC_RES 指向 地址:0xbd
你程序中对  A ...

谢谢您的回答!给我很大帮助。
回复

使用道具 举报

ID:624769 发表于 2022-4-29 16:42 | 显示全部楼层
红烧鱼头 发表于 2022-4-29 08:23
谢谢您的回答!给我很大帮助。

谢谢就不用了, 作为等价交换, 你教教我 你在51黑论坛发言的时候, 这个代码框是怎么出来的? 我玩了那么久, 都没搞出来代码框, 这个论坛也没有一个"帮助文档"啥的, 看着你们一个个的出代码框, 我却出不了,难受……
回复

使用道具 举报

ID:188720 发表于 2022-4-29 19:59 | 显示全部楼层
188610329 发表于 2022-4-29 16:42
谢谢就不用了, 作为等价交换, 你教教我 你在51黑论坛发言的时候, 这个代码框是怎么出来的? 我玩了那么久, ...

选中所需文字,再点击这个地方就行。
1.png
回复

使用道具 举报

ID:188720 发表于 2022-4-29 20:02 | 显示全部楼层
188610329 发表于 2022-4-29 16:42
谢谢就不用了, 作为等价交换, 你教教我 你在51黑论坛发言的时候, 这个代码框是怎么出来的? 我玩了那么久, ...

您看技术手册里写的,寄存器复位之后,默认值是“n”是什么意思?
b6e8c62e8dfca17e72485669b28f2087.png
b4495b8f490f68f640fa0c842788de87.png
回复

使用道具 举报

ID:624769 发表于 2022-4-29 23:01 | 显示全部楼层
红烧鱼头 发表于 2022-4-29 20:02
您看技术手册里写的,寄存器复位之后,默认值是“n”是什么意思?

n 比较特殊, 属于在 下载的时候, 可以通过下载设定而改变的项目, 比如串口, 看门狗,等等。
回复

使用道具 举报

ID:188720 发表于 2022-4-30 08:14 | 显示全部楼层
188610329 发表于 2022-4-29 23:01
n 比较特殊, 属于在 下载的时候, 可以通过下载设定而改变的项目, 比如串口, 看门狗,等等。

好的,谢谢。
代码框设置的地方找到了吗?
回复

使用道具 举报

ID:624769 发表于 2022-5-1 01:46 | 显示全部楼层
红烧鱼头 发表于 2022-4-30 08:14
好的,谢谢。
代码框设置的地方找到了吗?

找到了, 如果下面出现正确的代码,表示已经会用了.
  1. sfr P0 = 0x80;
  2. sbit P01 = P0^1;
复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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