專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實(shí)例 >> 瀏覽文章

STC12系列讀取DS1302間斷亂碼

作者:未知   來源:不詳   點(diǎn)擊數(shù):  更新時間:2014年07月27日   【字體:

同樣的程序,STC89系列可以正常讀取DS1302,換做1T的12系列就不能正常讀取,官方資料的解釋如下:
由于準(zhǔn)雙向口的上拉能力較弱,1T單片機(jī)速度又太快,導(dǎo)致軟件執(zhí)行端口拉高后,在兩個CPU時鐘延時后端口才十幾被拉高,如下圖:


解決辦法:
  1. 將有關(guān)端口全部接上拉電阻,增強(qiáng)其上拉能力。
  2. 將有關(guān)SPI通信的三個端口設(shè)置為強(qiáng)推挽輸出,增強(qiáng)端口上拉能力,但要注意與DS1302的數(shù)據(jù)口連接的端口不要設(shè)置為強(qiáng)推挽輸出,以免損壞1302芯片,此端口可以用上拉電阻解決。
  3. 將所有端口拉高的指令后增加一定延時,確保該端口上拉正確后再進(jìn)行其他操作。
關(guān)閉窗口

相關(guān)文章