本帖最后由 xxdcq 于 2021-5-26 10:25 编辑
11.0592M时钟频率1T下 T0 全时基(TH0=0,TL0=0)定时是3.6ms产生中断
而STC8A 8F是5.92ms, STC15系列也是5.92ms和STC8A 8F一致的
正确合理的应该是1T的时间是1/11.0592M=0.09us,全时基定时0.09*65536=5.92ms
STC8G 8H快了1.6倍左右,两种可能
1. STC8G 8H的时基并不是1T而是0.6T左右,十分怪异的数字!
2.烧进去的11.0592M并不是11.0592M而是18.204M,十分怪异的数字!
这就导致以时基为主要基调的实时控制程序和波特率串口通信全都崩溃!
不知道STC8G 8H为什么要这么设计?速度再快也得按标准来做呀!
另外测试中还发现,STC8A 8F指令运行速度是STC15系列的1.4倍,但定时器的时基是一致的
STC8G 8H指令运行速度又是STC8A 8F的1.6倍,定时器的时基也是STC8A 8F的1.6倍
感觉STC从12开始定时器时基和指令运行时基就不是统一的,感觉是分两条线走的
在STC8A 8F以及之前定时器的时基都是统一的,只有指令时基逐步加快了,但到了STC8G 8H连定时器时基都变了
STC12的程序可以不做修改直接在STC15上运行
STC15的程序只需要简单修改指令运行的延时参数而不需要改动庞杂的核心程序就可以在STC8A 8F上运行
到了STC8G 8H就全部失效了,EEPROM的访问均不正常,估计也与时基有关,核心程序因为时基问题走不下去间接导致EEPROM的访问不正常
现在还在摸索不知道里面要改些什么才能运行
|
没用过