Ⅰ 51單片機 1602顯示DS1302時鍾
先用你的程序
在
Proteus
上
模擬一下
確保
程序
正確
後
更換一下
時鍾晶元
或者
在時鍾晶元電源處
並聯
兩個
103P
電容
試試
Ⅱ ds1302為什麼每次讀取都是 0 或者85
出現是0或秒為85一般是你初始化沒成功,估計你IIC時序可能有點問題,建議檢查下那部分。
Ⅲ 最近在做DS1302的單片機程序,寫好了但老是出錯,不論怎麼改都顯示85,這是我寫的程序,麻煩高手檢查下
你的數轉換好象錯了吧,DS1302讀出的是BCD碼,不是16進的
secondtime=read_ds1302(0x81);//讀秒
second=(secondtime>>4)*10+secondtime & 0x0F;轉換成10進
還有 ds1302初始化 秒寫0才能啟到DS1302
Ⅳ ds1302 用led顯示 秒一直顯示的是85,分會跳動,但每隔一分鍾顯示一次85。
ds1302的三個I/O口全部接上10K上拉電阻就行了(5-7引腳)
這是由於51單片機的高電平驅動能力太差造成的
Ⅳ DS1302老顯示85 怎麼回事
18B20測溫吧,如果 開機顯示85正常。如果一直顯示85,就是18B20的程序有問題
Ⅵ 怎麼讀DS1302的秒位顯示85
有一種情況:
你讀取的數沒有錯誤,85轉換成十六進制為0x55,DS1302的寄存器里的數字為BCD碼,因為你沒有將其轉換成正常數字,所以出現錯誤val=((read_data>>4)*10+(read_data&0x0f));
OK?