找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3646|回复: 16
打印 上一主题 下一主题
收起左侧

STC8G单片机频率设置问题

[复制链接]
跳转到指定楼层
楼主
在STC8G的技术手册里有如下描述:

也就是说频率不需要用设置寄存器的方式来定义,只需要在下载的时候手动输入,即如下图:

但是,在技术手册中还有提到如果要设置为11.0592MHz需要设置寄存器:


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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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慢了一点,正常情况还是希望快一点啊.
回复

使用道具 举报

5#
ID:624769 发表于 2022-4-28 16:58 来自手机 | 只看该作者
你一个频率从头用到底,就不用管寄存器,只要下载时候选一下。你想中途变频,就通过寄存器。
回复

使用道具 举报

6#
ID:188720 发表于 2022-4-29 00:46 | 只看该作者
人人学会单片机 发表于 2022-4-28 12:31
不用管,STCISP 直接设置就行了

好的,谢谢。
回复

使用道具 举报

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

好的,谢谢
回复

使用道具 举报

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

好的。
回复

使用道具 举报

9#
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是可以位寻址的寄存器,是因为这样的差别吗?
回复

使用道具 举报

10#
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 的操作。
回复

使用道具 举报

11#
ID:188720 发表于 2022-4-29 08:23 | 只看该作者
188610329 发表于 2022-4-29 01:18
sfr 是标准 寄存器设定, 比如:  sfr ADC_RES = 0xbd;   就是把  ADC_RES 指向 地址:0xbd
你程序中对  A ...

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

使用道具 举报

12#
ID:624769 发表于 2022-4-29 16:42 | 只看该作者
红烧鱼头 发表于 2022-4-29 08:23
谢谢您的回答!给我很大帮助。

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

使用道具 举报

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

选中所需文字,再点击这个地方就行。

1.png (2.4 KB, 下载次数: 72)

1.png
回复

使用道具 举报

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

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

b6e8c62e8dfca17e72485669b28f2087.png (4.03 KB, 下载次数: 73)

b6e8c62e8dfca17e72485669b28f2087.png

b4495b8f490f68f640fa0c842788de87.png (8.68 KB, 下载次数: 64)

b4495b8f490f68f640fa0c842788de87.png
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

17#
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 单片机教程网

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