|
1 引言
BCD 碼又稱二/十進(jìn)制碼,即二進(jìn)制編碼的十進(jìn)制碼,在設(shè)計、測試數(shù)字電路硬件過程或是面對帶有BCD碼接口的集成電路時,常常希望方便、快速地產(chǎn)生BCD碼來完成當(dāng)前的工作,檢驗(yàn)硬件電路的正確性,例如鎖相頻率合成集成電路MC145163P帶有4位BCD編碼接口,用于設(shè)置環(huán)路N分頻器,通過本文介紹而制作完成后的BCD發(fā)生器可以提供4位BCD編碼輸出,方便地控制每位BCD輸出,可以快速地得到BCD編碼而完成測試或輸出BCD編碼接到集成電路的BCD 編碼接口,無需頻繁跳線。
另外,BCD編碼有8421碼、2421碼、余3碼等多種形式,本文以常見的8421碼為例介紹電路的實(shí)現(xiàn)和程序的編寫。如果對程序略加修改則可以很方便地實(shí)現(xiàn)其他類型的編碼方式(如2421碼)。本電路以AT89C2051為核心設(shè)計了4×4的矩陣鍵盤(S0- S15),這樣只需在鍵盤上按下相應(yīng)的按鍵(S0-S9)即可以產(chǎn)生一個對應(yīng)(十進(jìn)制0-9)的BCD碼,通過設(shè)置切換按鍵(S10-S13)可以隨意地控制4位中任意的一位,期間用數(shù)碼管實(shí)時地顯示當(dāng)前BCD碼對應(yīng)的十進(jìn)制數(shù)。
電路功能和特點(diǎn):
4位BCD編碼輸出,利用單片機(jī)口線可以擴(kuò)展位數(shù)。
改變軟件中鍵號0-鍵號9(即S0-S9對應(yīng)功能)的程序可以實(shí)現(xiàn)其他編碼形式(如2421碼)。參見軟件部分。
電路以常用的8421碼為例,并有數(shù)碼顯示出對應(yīng)的十進(jìn)制數(shù)(也可以省略)。
完整的4×4的矩陣鍵盤掃描執(zhí)行程序,可以移植到其他應(yīng)用電路中。
BCD編碼由鎖存器實(shí)現(xiàn)信號鎖存,并引出接口,方便連接其他電路。
“位”控制和0-9編碼輸出互不影響,直接按下功能鍵就可以得到需要的BCD編碼輸出和“位數(shù)”選擇。
2 電路框圖
電路原理圖如圖1所示。 |