數(shù)字電路:設(shè)計《BIN 到 BCD 碼的轉(zhuǎn)換電路》
要求:輸入4位二進(jìn)制碼(0~15),輸出為?BCD碼,BCD碼用數(shù)碼管顯示。
常識:
十進(jìn)制數(shù)是人們常用的數(shù)字。
而在數(shù)字電子技術(shù)、計算機(jī)技術(shù)中,卻常用二進(jìn)制代碼來表示數(shù)字。
最常見的二進(jìn)制碼是?8421?碼,它可以方便的進(jìn)行加減乘除運算,而不需要進(jìn)行什么轉(zhuǎn)換。
計算的結(jié)果,通常還是?8421?碼。
把計算的結(jié)果,顯示出來,就要照顧大多數(shù)人的水平。
因為大多數(shù)人,只是學(xué)過十進(jìn)制,讓他們看二進(jìn)制的數(shù)字,有點勉為其難。
用二進(jìn)制的代碼,代表十進(jìn)制數(shù)字,稱為?BCD?碼。
在?BCD?碼中,只用?0000~1001,代表?0~9。
它們的對應(yīng)關(guān)系如下表所示。
----------------------------------------
?十進(jìn)制數(shù)?|??二進(jìn)制碼??|?????BCD?碼
----------+------------+----------------
?????0????|????0000????|???0000??0000
?????1????|????0001????|???0000??0001
?????2????|????0010????|???0000??0010
?????3????|????0011????|???0000??0011
?????4????|????0100????|???0000??0100
?????5????|????0101????|???0000??0101
?????6????|????0110????|???0000??0110
?????7????|????0111????|???0000??0111
?????8????|????1000????|???0000??1000
?????9????|????1001????|???0000??1001
????10????|????1010????|???0001??0000
????11????|????1011????|???0001??0001
????12????|????1100????|???0001??0010
????13????|????1101????|???0001??0011
????14????|????1110????|???0001??0100
????15????|????1111????|???0001??0101
----------------------------------------
可以看出:
4位二進(jìn)制碼0~15,對應(yīng)的?BCD碼是?8?位二進(jìn)制數(shù)。
4位二進(jìn)制碼0~9,和?BCD碼的關(guān)系,非常簡單,幾乎沒有什么變化。
4位二進(jìn)制碼10~15,就應(yīng)該加上6,才能變成?BCD碼。
這就是說,要進(jìn)行轉(zhuǎn)換,關(guān)鍵是要判斷4位二進(jìn)制碼是否大于9,大于就加6,否則就不加。
這個過程稱為《十進(jìn)制調(diào)整》。
-------------------------------
電路設(shè)計:
設(shè)計這樣的轉(zhuǎn)換電路,需要使用一個加法器芯片,可以選用?74LS283。
283?的功能如下。
兩個加數(shù):A3A2A1A0、B3B2B1B0,各自都是四位二進(jìn)制數(shù)。
低位進(jìn)位:C0,一位二進(jìn)制數(shù)。
相加過程的豎式:
?????A3A2A1A0
?+???B3B2B1B0
?+?????????C0
--------------
?C4??S3S2S1S0
百度的排版太差了!字符的位置,對不齊。
把上面的豎式,復(fù)制到記事本再看,就能看清楚它們的關(guān)系了。
把4位二進(jìn)制碼當(dāng)做一個加數(shù)A3A2A1A0;0或6,當(dāng)做另一個加數(shù)B3B2B1B0。
是否大于?9,可用兩個與門、一個或門,來判斷。
或門輸出的0、1,送到B2B1,即可形成?0000?或?0110。
變換出來的?BCD碼,可以用七段碼譯碼器芯片(74LS48)和共陰數(shù)碼管來顯示。
做而論道設(shè)計的電路如下:
圖中的左邊,4位二進(jìn)制碼是?1101,右邊的顯示是?13。
-------------------------------
用硬件來實現(xiàn)這個轉(zhuǎn)換,有些浪費資金了,用單片機(jī)的軟件編程,就省錢了。
寫上:DA???A,這一條指令,即可完成二進(jìn)制代碼到BCD碼的轉(zhuǎn)換。