BCD碼的學(xué)習(xí)
在我們?nèi)粘Ia(chǎn)生活中用的最多的數(shù)字是十進制數(shù)字,而單片機系統(tǒng)的所有數(shù)據(jù)本質(zhì)上都是二進制的,所以聰明的前輩們就給我們創(chuàng)造了BCD碼。BCD碼(Binary-Coded Decimal)亦稱二進碼十進制數(shù)或二-十進制代碼。用4位二進制數(shù)來表示1位十進制數(shù)中的0~9這10個數(shù)字。是一種二進制的數(shù)字編碼形式,用二進制編碼的十進制代碼。BCD碼這種編碼形式利用了四個位元來儲存一個十進制的數(shù)碼,使二進制和十進制之間的轉(zhuǎn)換得以快捷的進行。我們前邊講過十六進制和二進制本質(zhì)上是一回事,十六進制僅僅是二進制的一種縮寫形式而已。而十進制的一位數(shù)字,從0到9,最大的數(shù)字就是9,再加1就要進位,所以用4位二進制表示十進制,就是從0000到1001,不存在1010、1011、1100、1101、1110、1111這6個數(shù)字。BCD碼如果到了1001,再加1的話,數(shù)字就變成了0001 0000這樣的數(shù)字了,相當(dāng)于用了8位的二進制數(shù)字表示了2位的十進制數(shù)字。
BCD碼的應(yīng)用還是非常廣泛的,比如我們這節(jié)課要學(xué)的實時時鐘,日期時間在時鐘芯片中的存儲格式就是BCD碼,當(dāng)我們需要把它記錄的時間轉(zhuǎn)換成可以直觀顯示的ASCII碼時(比如在液晶上顯示),就可以省去一步由二進制的整型數(shù)到ASCII的轉(zhuǎn)換過程,而直接取出表示十進制1位數(shù)字的4個二進制位然后再加上0x30就可組成一個ASCII碼字節(jié)了,這樣就會方便的多,在后面的實際例程中將看到這個簡單的轉(zhuǎn)換。
編輯:admin 最后修改時間:2018-05-08