鍍金池/ 教程/ 數(shù)據(jù)庫/ 15.1 BCD 碼介紹
18. RS485 通信與 Modbus 協(xié)議
17.5 A/D 差分輸入信號
15.8 C 語言復(fù)合數(shù)據(jù)類型(結(jié)構(gòu)體,共用體,枚舉類型)
16.3 NEC 協(xié)議紅外遙控器
13.1 單片機(jī)通信時(shí)序解析
14.4 單片機(jī) EEPROM 單字節(jié)讀寫操作時(shí)序
13.3 多個(gè) .c 文件的初步認(rèn)識
18.2 Modbus 通信協(xié)議介紹
15.1 BCD 碼介紹
18.3 單片機(jī) Modbus 多機(jī)通信程序設(shè)計(jì)
18.1 單片機(jī) RS485 通信接口、控制線、原理圖及程序?qū)嵗?/span>
15. 實(shí)時(shí)時(shí)鐘 DS1302
14.7 單片機(jī) I2C 和 EEPROM 的綜合編程
17. 模數(shù)轉(zhuǎn)換與數(shù)模轉(zhuǎn)換
16.2 紅外遙控通信原理
13.2 1602 液晶整屏移動(dòng)程序
17.6 D/A 輸出
17.7 單片機(jī)信號發(fā)生器程序
16.4 溫度傳感器 DS18B20
14.6 單片機(jī)EEPROM的頁寫入
13.4 單片機(jī)計(jì)算器程序設(shè)計(jì)[詳細(xì)]
17.2 A/D(模數(shù)轉(zhuǎn)換)的主要指標(biāo)
17.4 PCF8591 應(yīng)用程序
17.1 A/D 和 D/A 的基本概念
17.3 PCF8591硬件接口(電路圖引腳圖)
14.3 單片機(jī) EEPROM 簡介
13.5 單片機(jī)串口通信原理和控制程序
15.5 DS1302 寄存器介紹
15.2 單片機(jī) SPI 通信接口
15.6 DS1302 通信時(shí)序介紹
14.5 單片機(jī) EEPROM 多字節(jié)讀寫操作時(shí)序
16. 紅外通信與 DS18B20 溫度傳感器
14.1 單片機(jī) I2C 時(shí)序介紹
15.3 實(shí)時(shí)時(shí)鐘芯片 DS1302 介紹
15.9 單片機(jī)電子時(shí)鐘程序設(shè)計(jì)
16.1 紅外光的基本原理
15.4 DS1302 的硬件信息
15.7 DS1302 的 BURST 模式
14.2 單片機(jī) I2C 尋址模式
14. 單片機(jī) I2C 總線與 EEPROM
13. 單片機(jī) 1602 液晶與串口的應(yīng)用實(shí)例

15.1 BCD 碼介紹

在日常生產(chǎn)生活中用的最多的數(shù)字是十進(jìn)制數(shù)字,而單片機(jī)系統(tǒng)的所有數(shù)據(jù)本質(zhì)上都是二進(jìn)制的,所以聰明的前輩們就給我們創(chuàng)造了 BCD 碼。

BCD 碼(Binary-Coded Decimal)亦稱二進(jìn)碼十進(jìn)制數(shù)或二-十進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)字。是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代碼。BCD 碼這種編碼形式利用了四個(gè)位元來儲存一個(gè)十進(jìn)制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。我們前邊講過十六進(jìn)制和二進(jìn)制本質(zhì)上是一回事,十六進(jìn)制僅僅是二進(jìn)制的一種縮寫形式而已。而十進(jìn)制的一位數(shù)字,從0到9,最大的數(shù)字就是9,再加1就要進(jìn)位,所以用4位二進(jìn)制表示十進(jìn)制,就是從 0b0000 到 0b1001,不存在 0b1010、0b1011、0b1100、0b1101、0b1110、0b1111 這6個(gè)數(shù)字。BCD 碼如果到了 0b1001,再加1的話,數(shù)字就變成 0b00010000 這樣了,相當(dāng)于用了8位的二進(jìn)制數(shù)字表示了2位的十進(jìn)制數(shù)字。

BCD 碼的應(yīng)用還是非常廣泛的,比如我們這節(jié)課要學(xué)的實(shí)時(shí)時(shí)鐘,日期時(shí)間在時(shí)鐘芯片中的存儲格式就是 BCD 碼,當(dāng)我們需要把它記錄的時(shí)間轉(zhuǎn)換成可以直觀顯示的 ASCII 碼時(shí)(比如在液晶上顯示),就可以省去一步由二進(jìn)制的整型數(shù)到 ASCII 的轉(zhuǎn)換過程,而直接取出表示十進(jìn)制1位數(shù)字的4個(gè)二進(jìn)制位然后再加上 0x30 就可組成一個(gè) ASCII 碼字節(jié)了,這樣就會方便的多,在后面的實(shí)際例程中將看到這個(gè)簡單的轉(zhuǎn)換。