欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于ds12c887時鐘芯片單片機修改時間的問題 [打印本頁]

作者: 最高權限    時間: 2020-3-22 22:57
標題: 關于ds12c887時鐘芯片單片機修改時間的問題
由于是BCD格式,所以讀的時候除16分別得到個位與十位,但是當寫時間進去的時候應該怎樣將十位數轉換成時鐘芯片讀的懂的數呢?
作者: HC6800-ES-V2.0    時間: 2020-3-23 09:40
個人理解:
1、BCD碼,就是用四位二進制,表示一位十進制,也就是說:一個二位的十進制數,就要有八位二進制數。
2、舉例1——數據換算——靜態
例如要寫一個時間48秒,應該寫入芯片的數據就是0x48。那么:①48/10,得到4,賦值一個變量A②該變量A左移四位③48%10,得到8④與那個變量A相加,得到0x48。
3、舉例2——數據換算——動態
如果是在調節時間這個動態狀態下,就非常簡單了。
例如:時間變量A從0開始調節到11秒,那么一直加,即0x00,0x01,0x02......0x09,再加就會是0x0a,而a大于9,就加6,0x0a+0x06=0x10,就是BCD碼了,再加1,就是0x11,就是我們要的BCD時間碼。
這是我的理解,也是這樣編程的
只是不知道我講清楚沒有

作者: 最高權限    時間: 2020-3-23 09:58
HC6800-ES-V2.0 發表于 2020-3-23 09:40
個人理解:
1、BCD碼,就是用四位二進制,表示一位十進制,也就是說:一個二位的十進制數,就要有八位二進 ...

謝謝大神,解決了,是將兩位數分為個位與十位,然后十位×16加上個位,時鐘芯片就認識了。
作者: HC6800-ES-V2.0    時間: 2020-3-24 08:58
最高權限 發表于 2020-3-23 09:58
謝謝大神,解決了,是將兩位數分為個位與十位,然后十位×16加上個位,時鐘芯片就認識了。

其實就是讀取數據的逆運算嘛
作者: kz0018    時間: 2022-5-23 14:20
我剛開始學做ds12c887時鐘,走時和顯示都沒問題,但無法調整設置時間,就是只能讀取和顯示時間而不能重新寫入時間,按鍵加減不起作用,什么原因?請指教
作者: zdmjjp    時間: 2023-6-21 10:04
剛開始學習12C887,請各位老師多幫助,謝謝!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1