找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1591|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機DS3231時鐘程序的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:978416 發(fā)表于 2022-11-14 17:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在論壇看了一個關(guān)于DS3231時鐘芯片數(shù)碼管顯示的程序有這么一段,有沒有懂的幫忙說一下是什么意思嗎,還有就是為什么要加這個轉(zhuǎn)換

單片機源程序如下:
uchar BCD2HEX(uchar val)    //BCD轉(zhuǎn)換為Byte
{
   return    ((val>>4)*10)+(val&0x0f);
}
uchar HEX2BCD(uchar val)    //B碼轉(zhuǎn)換為BCD碼
{
   return  (((val%100)/10)<<4)|(val%10);
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2022-11-14 18:03 | 只看該作者
BCD轉(zhuǎn) HEX  方便計算,   HEX轉(zhuǎn) BCD 方便顯示。而,DS3231的存儲格式,就是符合方便顯示的 BCD 格式。具體是否要 互轉(zhuǎn),主要看你有沒有需要計算,否則就 直接BCD即可。
回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2022-11-15 09:28 | 只看該作者
工程問題要了解輸入是什么?輸出需要長什么樣子。
程序中的目的,就是將輸出的樣子,變換成輸出所需要的樣子。
回復(fù)

使用道具 舉報

地板
ID:584814 發(fā)表于 2022-11-17 18:28 | 只看該作者
就是進制的轉(zhuǎn)換。
具體要看全部程序才能說清
回復(fù)

使用道具 舉報

5#
ID:883242 發(fā)表于 2022-11-17 19:57 | 只看該作者
BCD碼0x99表示99
hex十六進制0x63表示99
然后你自己算,怎么處理才能正確顯示。
回復(fù)

使用道具 舉報

6#
ID:784227 發(fā)表于 2022-11-17 21:11 | 只看該作者
bcd碼轉(zhuǎn)換為hex進行計算
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表