[導(dǎo)讀]通過(guò)本文介紹而制作完成后的BCD發(fā)生器可以提供4位BCD編碼輸出,方便地控制每位BCD輸出,可以快速地得到BCD編碼而完成測(cè)試或輸出BCD編碼接到集成電路的BCD編碼接口,無(wú)需頻繁跳線(xiàn)。
|
1 引言
BCD碼又稱(chēng)二/十進(jìn)制碼,即二進(jìn)制編碼的十進(jìn)制碼,在設(shè)計(jì)、測(cè)試數(shù)字電路硬件過(guò)程或是面對(duì)帶有BCD碼接口的集成電路時(shí),常常希望方便、快速地產(chǎn)生BCD碼來(lái)完成當(dāng)前的工作,檢驗(yàn)硬件電路的正確性,例如鎖相頻率合成集成電路MC145163P帶有4位BCD編碼接口,用于設(shè)置環(huán)路N分頻器,通過(guò)本文介紹而制作完成后的BCD發(fā)生器可以提供4位BCD編碼輸出,方便地控制每位BCD輸出,可以快速地得到BCD編碼而完成測(cè)試或輸出BCD編碼接到集成電路的BCD編碼接口,無(wú)需頻繁跳線(xiàn)。
另外,BCD編碼有8421碼、2421碼、余3碼等多種形式,本文以常見(jiàn)的8421碼為例介紹電路的實(shí)現(xiàn)和程序的編寫(xiě)。如果對(duì)程序略加修改則可以很方便地實(shí)現(xiàn)其他類(lèi)型的編碼方式(如2421碼)。本電路以AT89C2051為核心設(shè)計(jì)了4×4的矩陣鍵盤(pán)(S0-S15),這樣只需在鍵盤(pán)上按下相應(yīng)的按鍵(S0-S9)即可以產(chǎn)生一個(gè)對(duì)應(yīng)(十進(jìn)制0-9)的BCD碼,通過(guò)設(shè)置切換按鍵(S10-S13)可以隨意地控制4位中任意的一位,期間用數(shù)碼管實(shí)時(shí)地顯示當(dāng)前BCD碼對(duì)應(yīng)的十進(jìn)制數(shù)。
電路功能和特點(diǎn):
4位BCD編碼輸出,利用單片機(jī)口線(xiàn)可以擴(kuò)展位數(shù)。
改變軟件中鍵號(hào)0-鍵號(hào)9(即S0-S9對(duì)應(yīng)功能)的程序可以實(shí)現(xiàn)其他編碼形式(如2421碼)。參見(jiàn)軟件部分。
電路以常用的8421碼為例,并有數(shù)碼顯示出對(duì)應(yīng)的十進(jìn)制數(shù)(也可以省略)。
完整的4×4的矩陣鍵盤(pán)掃描執(zhí)行程序,可以移植到其他應(yīng)用電路中。
BCD編碼由鎖存器實(shí)現(xiàn)信號(hào)鎖存,并引出接口,方便連接其他電路。
“位”控制和0-9編碼輸出互不影響,直接按下功能鍵就可以得到需要的BCD編碼輸出和“位數(shù)”選擇。
2 電路框圖
電路原理圖如圖1所示。
 |
3 電路分析
AT89C2051的P1口組成4×4矩陣鍵盤(pán)(S0-S15),其中P1.0-P1.3作為行線(xiàn),P1.4-P1.7作為列線(xiàn),設(shè)計(jì)鍵盤(pán)掃描程序可以達(dá)到預(yù)先設(shè)想的功能(見(jiàn)軟件設(shè)計(jì)部分)。按下S0-S9可以產(chǎn)生0-9十進(jìn)制數(shù)對(duì)應(yīng)的BCD碼,S10-S13用作4位BCD碼的切換按鍵,S14、S15暫未使用,可以不安裝,P3.3-P3.0是BCD碼的數(shù)據(jù)輸出線(xiàn),從電路中可以看出,因?yàn)楣τ面I盤(pán)而實(shí)現(xiàn)4位BCD編碼輸出,顯然P3.3-P3.0作為數(shù)據(jù)總線(xiàn)而同時(shí)并接在4個(gè)D鎖存器(4042),通過(guò)S10-S13來(lái)切換,對(duì)于4個(gè)D鎖存器(U3-U6)每次只有一個(gè)有效而把P3.3-P3.0的數(shù)據(jù)“讀入”然后鎖存。實(shí)際上S10-S13控制P3.4和P3.5的狀態(tài)(P3.4和P3.5共有4種組合)并通過(guò)2-4線(xiàn)譯碼器(U2;74LS139)得到對(duì)應(yīng)的U3-U6的有效信號(hào),表1是S10-S13控制所對(duì)應(yīng)的各芯片狀態(tài),可見(jiàn),U3-U6中任意一個(gè)(例如U3)處于有效狀態(tài)而“讀入”P(pán)3.3-P3.0數(shù)據(jù)時(shí),其余的(U4/U5/U6)處于鎖存狀態(tài),保留原來(lái)數(shù)據(jù),因此使用者可以在任意一位中改變所希望的BCD碼輸出。
 |
U2(74LS139)是2-4線(xiàn)譯碼器,功能見(jiàn)表1,他的輸入端B,A分別接至P3.4,P3.5,輸出端Y0-Y3取決于輸入端的組合,每種組合下只有一個(gè)輸出端(Y0-Y3)以低電平有效輸出。U3-U6是D鎖存器,主要是其中的5腳和6腳關(guān)系決定他們的工作狀態(tài),查閱資料得知,當(dāng)5腳和6腳邏輯電位相同時(shí),該芯片可以把D3-D0數(shù)據(jù)輸出到Q3-Q0;當(dāng)5腳和6腳邏輯電位不同時(shí),該芯片處于鎖存原來(lái)數(shù)據(jù)的狀態(tài),而不會(huì)“讀入”當(dāng)前的D3-D0數(shù)據(jù),電路中把U3-U6的6腳固定接低電位,而5腳分別用U2(74LS139)的輸出信號(hào)來(lái)控制,不難實(shí)現(xiàn)“可以單獨(dú)實(shí)現(xiàn)對(duì)各位BCD碼的設(shè)置”。4511是譯碼驅(qū)動(dòng),接共陰數(shù)碼管顯示當(dāng)前每位的BCD碼所對(duì)應(yīng)的十進(jìn)制數(shù),方便觀(guān)察,顯示部分很簡(jiǎn)單,此處不在贅述,同時(shí),顯示部分在電路上不是必須的,可省略,BCD碼通過(guò)J3和J2引出,之所以用兩個(gè)鏈接器是為了更靈活、方便使用。
4 軟件設(shè)計(jì)
主要是實(shí)現(xiàn)鍵盤(pán)處理,程序中必須確認(rèn)是哪一個(gè)按鍵被按下,然后轉(zhuǎn)到相應(yīng)的處理程序中執(zhí)行,實(shí)際上該程序是一個(gè)完整的鍵盤(pán)掃描程序,如果改動(dòng)其中的處理子程序完全可以應(yīng)用到其他的控制電路中,下文附有詳細(xì)的程序和說(shuō)明供參考,圖2是流程圖。
 |
鍵盤(pán)掃描程序的任務(wù)簡(jiǎn)單講就是:首先確認(rèn)是否有按鍵按下,然后通過(guò)掃描判斷來(lái)得到是在哪一行的按鍵,最后通過(guò)比較預(yù)先設(shè)定的4行表格查找并計(jì)算得到具體的按鍵,從而轉(zhuǎn)到相應(yīng)的功能程序。
(1)置列線(xiàn)為輸入狀態(tài)(P1.4-P1.7為1),行線(xiàn)(P1.0-P1.3)先為0,即設(shè)定的P1.7-P1.0等于F0H并把該狀態(tài)保存,接這讀入當(dāng)前P1口狀態(tài),不難理解,只要有按鍵(任何一個(gè))按下,P1口的狀態(tài)肯定不是原來(lái)設(shè)定的P1.7-P1.0等于F0H,通過(guò)判斷就可以實(shí)現(xiàn)第一步的目的:首先確認(rèn)是否有按鍵按下?
(2)從第一行(P1.0行)開(kāi)始一步步掃描,找出并確認(rèn)按鍵在哪一行,掃描的方法步驟見(jiàn)表2。行線(xiàn)每次只有一個(gè)為0,例如第1次掃描時(shí)設(shè)定P1.0為0,而P1.1-P1.3為1,顯然,在當(dāng)前掃描過(guò)程中按下按鍵如果不是P1.0行,那么P1口狀態(tài)始終是FEH,因此表2說(shuō)明中強(qiáng)調(diào)“只有任一次比較P1口不等于該數(shù)值,說(shuō)明當(dāng)前按鍵就在該行”就是這樣的含義,其余各次比較也是一樣道理,通過(guò)這樣的判斷,可以實(shí)現(xiàn)查找按鍵所在得行數(shù)。
(3)程序中定義了4個(gè)表KEYVALTAB1-KEYVALTAB4,分別存放的數(shù)據(jù)用來(lái)為比較程序服務(wù)而指示出各行的按鍵具體位置,表3列出按鍵標(biāo)號(hào)和比較數(shù)據(jù)對(duì)應(yīng)關(guān)系,在R2中存放行號(hào)的起始值,R0用來(lái)存放在每一行中查到按鍵的具體位置(R0范圍是0-3),各行查找時(shí)比較的數(shù)據(jù)見(jiàn)表(3)。讀寫(xiě)可以簡(jiǎn)單分析就可以得到結(jié)果,假設(shè)通過(guò)程序先判斷按鍵在第一行,顯然如果S0按下,P1.7-P1.0的狀態(tài)是11101110(S1連接于P1.0和P1.4),也就是表3中S0→EEH。
 |
(4)KEYCALCU子程序中通過(guò)乘3運(yùn)算用于散轉(zhuǎn)指令JMP,注意LJMP是3字節(jié)指令,各按鍵對(duì)應(yīng)的功能程序安排在一起串LJMP,所以通過(guò)乘3運(yùn)算才能正確對(duì)應(yīng)到各按鍵的執(zhí)行目標(biāo)功能程序。
關(guān)于各鍵的相應(yīng)處理功能就較簡(jiǎn)單,只要對(duì)應(yīng)不同的按鍵輸入相應(yīng)的控制命令,對(duì)于S0-S9是控制P3.3-P3.0不同的狀態(tài)以得到所對(duì)應(yīng)的BCD編碼,對(duì)于S10-S13則是控制P3.4,P3.5的狀態(tài)以實(shí)現(xiàn)對(duì)U3-U6的控制,限于篇幅,詳細(xì)內(nèi)容可以參見(jiàn)程序,程序開(kāi)始執(zhí)行時(shí)是逐個(gè)控制4位BCD編碼輸出,對(duì)應(yīng)的數(shù)碼管依次顯示,初始狀態(tài)為0001,0000,0000,0000 4位BCD碼分別從J3,J2引出,數(shù)碼管顯示為1,0,0,0。
5 4×4鍵盤(pán)掃描程序
|
|
|
|
|
|
|
|
|
|
|
|
|
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
通過(guò)本文,你將了解到什么是絕對(duì)值編碼器、絕對(duì)值編碼器的工作原理以及單圈/多圈絕對(duì)值編碼器的區(qū)別。
關(guān)鍵字:
絕對(duì)值編碼器
指數(shù)
編碼器
在上篇文章中,小編對(duì)增量式編碼器有所闡述。為增進(jìn)大家對(duì)編碼器的認(rèn)識(shí),本文將對(duì)絕對(duì)式編碼器予以介紹。
關(guān)鍵字:
絕對(duì)式編碼器
指數(shù)
編碼器
為增進(jìn)大家對(duì)編碼器的認(rèn)識(shí),本文將對(duì)增量式編碼器、增量式編碼器分類(lèi)以及增量式編碼器的工作原理予以介紹。
關(guān)鍵字:
增量式編碼器
指數(shù)
編碼器
構(gòu)建可靠的硬件要求我們?cè)谠O(shè)計(jì)階段考慮所有公差。許多參考文獻(xiàn)討論了參數(shù)偏差導(dǎo)致的有源元件誤差——展示了如何計(jì)算運(yùn)算放大器失調(diào)電壓、輸入電流和類(lèi)似參數(shù)的影響——但很少有人考慮無(wú)源元件容差。確實(shí)考慮了組件容差的參考文獻(xiàn)是從科學(xué)...
關(guān)鍵字:
元件公差
電路設(shè)計(jì)
對(duì)于非比例電路,我們必須假設(shè)完整的電阻容差,因?yàn)槿莶畈粫?huì)分開(kāi)。我們可以將輸出電壓計(jì)算為 V OUT =IR,其中 I 是理想的 1mA 電流源,R 是 5% 的電阻器(圖 1a)。V OUT =1 mA (1±0.05±...
關(guān)鍵字:
電路設(shè)計(jì)
非比例電路
我們是否設(shè)計(jì)了一個(gè)電源,后來(lái)才發(fā)現(xiàn)我們的布局效率低下?按照這些關(guān)鍵提示創(chuàng)建電源布局并避免調(diào)試壓力。什么是電源設(shè)計(jì)的布局?你知道嗎?一個(gè)完美的電路設(shè)計(jì),電源布局顯得尤為重要。由于不同的設(shè)計(jì)方案的出發(fā)點(diǎn)不同,而有所差異,但是...
關(guān)鍵字:
電源布局
電路設(shè)計(jì)
2022年4月20日,宜科(天津)電子有限公司(下稱(chēng)“宜科”)與世強(qiáng)先進(jìn)簽署代理協(xié)議,授權(quán)世強(qiáng)先進(jìn)代理其旗下傳感器、編碼器、I/O系統(tǒng)、連接系統(tǒng)、工業(yè)物聯(lián)網(wǎng)平臺(tái)等全線(xiàn)產(chǎn)品。
關(guān)鍵字:
世強(qiáng)
編碼器
傳感器
為增進(jìn)大家對(duì)編碼器的了解,本文將對(duì)編碼器原理以及光電編碼器按其原理分類(lèi)的方法予以介紹。
關(guān)鍵字:
光電編碼器
指數(shù)
編碼器
(全球TMT2022年6月9日訊)韓國(guó)唯一一家純晶圓代工公司啟方半導(dǎo)體(Key Foundry)宣布,將發(fā)布用于低功耗PMIC的0.18微米30V非外延BCD工藝。BCD是一種將雙極晶體管(Bipolar)、互補(bǔ)金屬氧...
關(guān)鍵字:
BCD
低功耗
半導(dǎo)體
電源管理芯片
摘要:基于攝像機(jī)遠(yuǎn)程操作技術(shù),利用單片機(jī)控制步進(jìn)電機(jī),建立攝像鏡頭的電力驅(qū)動(dòng)系統(tǒng)。此系統(tǒng)節(jié)約了經(jīng)濟(jì)成本,通過(guò)人機(jī)交互閉環(huán)系統(tǒng)、模塊化等方法,進(jìn)一步提高了系統(tǒng)的通用性,使其可以應(yīng)用于工程。
關(guān)鍵字:
步進(jìn)電機(jī)
單片機(jī)
電路設(shè)計(jì)
一直以來(lái),智能硬件都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)智能功率模塊的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。
關(guān)鍵字:
智能功率模塊
IPM
電路設(shè)計(jì)
與傳統(tǒng)聚合物電容器相比,多層陶瓷電容器 (MLCC) 在電力電子設(shè)計(jì)中很受歡迎,原因有很多:
MLCC 提供:
· 具有相對(duì)較高電容的小輪廓。
· 非常低的等效串聯(lián)電阻 (ESR)。
· 非常低的等效串聯(lián)電感 (...
關(guān)鍵字:
MLCC電容
電路設(shè)計(jì)
PEC11D 系列提供高度可靠的解決方案,可滿(mǎn)足空間受限的各種應(yīng)用設(shè)計(jì)要求
關(guān)鍵字:
Bourns
編碼器
傳感器
在這篇文章中,小編將對(duì)工業(yè)機(jī)器人對(duì)伺服電機(jī)、編碼器的要求的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)工業(yè)機(jī)器人的了解程度,和小編一起來(lái)閱讀以下內(nèi)容吧。
關(guān)鍵字:
工業(yè)機(jī)器人
伺服電機(jī)
編碼器
許多同步降壓轉(zhuǎn)換器設(shè)計(jì)人員面臨一個(gè)共同的問(wèn)題:如何最好地連接開(kāi)漏電源良好標(biāo)志,也稱(chēng)為電源良好 (PGOOD) 引腳。在這篇文章中,我將探討電源良好與各種不同的上拉源相關(guān)聯(lián)時(shí)的預(yù)期行為。有一些錯(cuò)誤信息四處流傳,希望這篇文章...
關(guān)鍵字:
降壓轉(zhuǎn)換器
電路設(shè)計(jì)
絕對(duì)型旋轉(zhuǎn)光電編碼器,因其每一個(gè)位置絕對(duì)唯一、抗干擾、無(wú)需掉電記憶,已經(jīng)越來(lái)越廣泛地應(yīng)用于各種工業(yè)系統(tǒng)中的角度、長(zhǎng)度測(cè)量和定位控制。
關(guān)鍵字:
編碼器
定位控制
長(zhǎng)度測(cè)量
編碼器(encoder)是將信號(hào)(如比特流)或數(shù)據(jù)進(jìn)行編制、轉(zhuǎn)換為可用以通訊、傳輸和存儲(chǔ)的信號(hào)形式的設(shè)備。編碼器把角位移或直線(xiàn)位移轉(zhuǎn)換成電信號(hào),前者稱(chēng)為碼盤(pán),后者稱(chēng)為碼尺。
關(guān)鍵字:
編碼器
數(shù)據(jù)
信號(hào)
通過(guò)信道編碼器和譯碼器實(shí)現(xiàn)的用于提高信道可靠性的理論和方法。信息論的內(nèi)容之一。信道編碼大致分為兩類(lèi) :①信道編碼定理,從理論上解決理想編碼器、譯碼器的存在性問(wèn)題,也就是解決信道能傳送的最大信息率的可能性和超過(guò)這個(gè)最大值時(shí)...
關(guān)鍵字:
信道
編碼器
譯碼器