標(biāo)題: 關(guān)于51單片機(jī)DS3231時(shí)鐘程序的問(wèn)題 [打印本頁(yè)]

作者: egsresrhtrhrtst    時(shí)間: 2022-11-14 17:24
標(biāo)題: 關(guān)于51單片機(jī)DS3231時(shí)鐘程序的問(wèn)題
在論壇看了一個(gè)關(guān)于DS3231時(shí)鐘芯片數(shù)碼管顯示的程序有這么一段,有沒(méi)有懂的幫忙說(shuō)一下是什么意思嗎,還有就是為什么要加這個(gè)轉(zhuǎn)換

單片機(jī)源程序如下:
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);
}
作者: 188610329    時(shí)間: 2022-11-14 18:03
BCD轉(zhuǎn) HEX  方便計(jì)算,   HEX轉(zhuǎn) BCD 方便顯示。而,DS3231的存儲(chǔ)格式,就是符合方便顯示的 BCD 格式。具體是否要 互轉(zhuǎn),主要看你有沒(méi)有需要計(jì)算,否則就 直接BCD即可。
作者: yzwzfyz    時(shí)間: 2022-11-15 09:28
工程問(wèn)題要了解輸入是什么?輸出需要長(zhǎng)什么樣子。
程序中的目的,就是將輸出的樣子,變換成輸出所需要的樣子。

作者: man1234567    時(shí)間: 2022-11-17 18:28
就是進(jìn)制的轉(zhuǎn)換。
具體要看全部程序才能說(shuō)清
作者: Hephaestus    時(shí)間: 2022-11-17 19:57
BCD碼0x99表示99
hex十六進(jìn)制0x63表示99
然后你自己算,怎么處理才能正確顯示。
作者: 清炒苦瓜絲    時(shí)間: 2022-11-17 21:11
bcd碼轉(zhuǎn)換為hex進(jìn)行計(jì)算




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