bcd碼是二進(jìn)制編碼的十進(jìn)制數(shù)的英語單詞縮寫,用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。4位二進(jìn)制數(shù)共有16種組合,有6種(1010~1111)沒有在bcd碼中使用。bcd碼每位的數(shù)值范圍為2#0000~2#1001,對應(yīng)于十進(jìn)制數(shù)0~9。
bcd碼的最高4位二進(jìn)制數(shù)用來表示符號,負(fù)數(shù)的最高位為1,正數(shù)為0,其余3位可以取0或1,一般取1。bcd碼字(16位二進(jìn)制數(shù))的范圍為-999~+999。bcd碼雙字(32位二進(jìn)制數(shù))的范圍為-9 999 999~+9 999 999。bcd碼各位之間的關(guān)系是逢十進(jìn)一,圖1中的bcd碼為-862,圖2是7位bcd碼的格式。
圖1 3位bcd碼的格式
圖2 7位bcd碼的格式
撥碼開關(guān)(見圖3)的圓盤圓周面上有0~9這10個數(shù)字,用按鈕來增、減各位要輸入的數(shù)字。它用內(nèi)部的硬件將10個數(shù)字轉(zhuǎn)換為4位二進(jìn)制數(shù)。plc用數(shù)字量輸入點讀取的多位撥碼開關(guān)輸出的值就是bcd碼,需要用數(shù)據(jù)轉(zhuǎn)換指令將它轉(zhuǎn)換為整數(shù)或雙整數(shù)。
用plc的4個輸出點給一片譯碼驅(qū)動芯片4547提供輸入信號,可以用led七段顯示器顯示一位十進(jìn)制數(shù)。需要用數(shù)據(jù)轉(zhuǎn)換指令,將plc中的整數(shù)轉(zhuǎn)換為bcd碼,然后分別送給各個譯碼驅(qū)動芯片。
圖3撥碼開關(guān)
bcd碼的表示方式與十六進(jìn)制數(shù)相同,例如用數(shù)字量輸入模塊讀取的圖3中的撥碼開關(guān)的數(shù)值為16#829。到底是bcd碼還是十六進(jìn)制數(shù),取決于數(shù)據(jù)的來源或用途。bcd碼主要用于plc的輸入和輸出。