STC12系列读取DS1302间断乱码
时间:04-08 15:08 阅读:1405次
*温馨提示:点击图片可以放大观看高清大图
简介:由于准双向口的上拉能力较弱,1T单片机速度又太快,导致软件执行端口拉高后,在两个CPU时钟延时后端口才十几被拉高。将所有端口拉高的指令后增加一定延时,确保该端口上拉正确后再进行其他操作。
同样的程序,STC89系列可以正常读取DS1302,换做1T的12系列就不能正常读取,官方资料的解释如下:
由于准双向口的上拉能力较弱,1T单片机速度又太快,导致软件执行端口拉高后,在两个CPU时钟延时后端口才十几被拉高,如下图:
解决办法:
将有关端口全部接上拉电阻,增强其上拉能力。
将有关SPI通信的三个端口设置为强推挽输出,增强端口上拉能力,但要注意与DS1302的数据口连接的端口不要设置为强推挽输出,以免损坏1302芯片,此端口可以用上拉电阻解决。
将所有端口拉高的指令后增加一定延时,确保该端口上拉正确后再进行其他操作。