标题: STC-ISP (v6.86D)中IRC频率设置,影响DS18B20温度数值 的显示,是什么原因? [打印本页]

作者: 51黑51    时间: 2017-9-4 16:29
标题: STC-ISP (v6.86D)中IRC频率设置,影响DS18B20温度数值 的显示,是什么原因?
STC-ISP (v6.86D)中IRC频率设置,影响DS18B20温度数值 的显示,是什么原因?

用的12864 显示 温度数值,温度DS18B20的程序里,

//#define MAIN_Fosc                22118400L                //主时钟
#define baud_rate                115200L                        //波特率
#define        Timer1_Reload        (65536UL -(MAIN_Fosc / 4 / baud_rate))                //Timer1重装值

剩下的函数是正常的温度DS18B20初始化函数,  写函数,读函数,读的数值处理函数,延时用的也是 22.1184M        //主时钟,可是下载时 选择STC-ISP 中IRC 为22.1184M,温度数值显示的不准,用 11.0592M温度数值就准确,这是什么原因?如何修改?十分感谢!

QQ截图20170904161715.png (37.64 KB, 下载次数: 144)

IRC频率为11.0592

IRC频率为11.0592

作者: 51黑51    时间: 2017-9-4 16:30
#define MAIN_Fosc                22118400L                //主时钟
#define baud_rate                115200L                        //波特率
#define        Timer1_Reload        (65536UL -(MAIN_Fosc / 4 / baud_rate))                //Timer1重装值
作者: cjjcjj1    时间: 2017-9-4 18:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 51黑51    时间: 2017-9-6 15:26
cjjcjj1 发表于 2017-9-4 18:17
你好!晶振频率不同,延时时间就会改变,传感器对时序有要求

首先谢谢你的回答。
我开始也是这么 怀疑的,检查程序了, 程序用的都是 22.1184M晶振精确延时多少微秒。可是选择STC-ISP 中IRC 为22.1184M,显示数值就不准,不对,是什么原因? 反而选择11.0592M温度数值就准确。
作者: wulin    时间: 2017-9-7 16:32
51黑51 发表于 2017-9-6 15:26
首先谢谢你的回答。
我开始也是这么 怀疑的,检查程序了, 程序用的都是 22.1184M晶振精确延时多少微秒 ...

用波特率计算器检查定时器1的设置是否正确:


无标题.jpg (195.67 KB, 下载次数: 116)

无标题.jpg

作者: 51黑51    时间: 2017-10-20 10:41
问题已解决




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1