一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 6453|回复: 5
收起左侧

[51单片机] 【求教】STC12C5A60S2不能显示温度(修改延时后,问题已解决)

[复制链接]
发表于 2010-9-27 21:44 | 显示全部楼层 |阅读模式
本帖最后由 hzxin 于 2010-10-20 09:53 编辑

为了仿制杜洋老师的未来钟,进了2片STC12C5A60S2,仿制成功。
近来,在坛子里和网上抄了几个制作万年历的程序,用STC89Cxx系列的片子制作显示一切正常。
后来采用STC12C5A60S2烧录下载后,发现温度不能正常显示,不知何故,望高手不吝赐教。
谢谢!



附上对比图

仿杜洋未来钟显示正常

仿杜洋未来钟显示正常


温度不能显示(STC12C5A60S2)

温度不能显示(STC12C5A60S2)

温度显示正常(STC89C52RC)

温度显示正常(STC89C52RC)

STC12C5AS2       STC89C52RC

温度不能显示(STC12C5A60S2)

温度不能显示(STC12C5A60S2)

温度显示正常(STC89C58RD+)

温度显示正常(STC89C58RD+)

STC12C5AS2       STC89C58RD+
发表于 2010-9-27 23:53 | 显示全部楼层
c系列的是6t,STC12C5A60S2是1T的,估计是时序问题,延时时间短
发表于 2010-9-28 00:12 | 显示全部楼层
对的,主要是时序问题,像STC11F,12F系列等1T的单片机均存在此类问题,冯老师提供的短信铃的HEX文件也存在这个问题,如有源程序,可修改延时时间;如只有机器码。可减低晶振频率试一试。
 楼主| 发表于 2010-9-29 18:11 | 显示全部楼层
谢谢二位前辈的指点,试试修改延时时间看能否解决。
 楼主| 发表于 2010-10-13 19:39 | 显示全部楼层
修改了延时函数,问题已经解决,可以正常显示温度。
原来函数:void delay_18B20(uint i) { while(i--); }
修改后的函数:
void delay_18B20(uint del) {
        uchar i,j;
        for(i=0;i<del;i++)
                for(j=0;j<127;j++)
        ;
}
发表于 2010-10-22 00:21 | 显示全部楼层
我的12864驱动也是这样问题,调 下延时才可以!STC12C的速度实在太快了.LCD跟不上!

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-4-28 16:20 , Processed in 0.056968 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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