日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]通過本文介紹而制作完成后的BCD發(fā)生器可以提供4位BCD編碼輸出,方便地控制每位BCD輸出,可以快速地得到BCD編碼而完成測試或輸出BCD編碼接到集成電路的BCD編碼接口,無需頻繁跳線。

1 引言

BCD碼又稱二/十進制碼,即二進制編碼的十進制碼,在設計、測試數(shù)字電路硬件過程或是面對帶有BCD碼接口的集成電路時,常常希望方便、快速地產(chǎn)生BCD碼來完成當前的工作,檢驗硬件電路的正確性,例如鎖相頻率合成集成電路MC145163P帶有4位BCD編碼接口,用于設置環(huán)路N分頻器,通過本文介紹而制作完成后的BCD發(fā)生器可以提供4位BCD編碼輸出,方便地控制每位BCD輸出,可以快速地得到BCD編碼而完成測試或輸出BCD編碼接到集成電路的BCD編碼接口,無需頻繁跳線。

另外,BCD編碼有8421碼、2421碼、余3碼等多種形式,本文以常見的8421碼為例介紹電路的實現(xiàn)和程序的編寫。如果對程序略加修改則可以很方便地實現(xiàn)其他類型的編碼方式(如2421碼)。本電路以AT89C2051為核心設計了4×4的矩陣鍵盤(S0-S15),這樣只需在鍵盤上按下相應的按鍵(S0-S9)即可以產(chǎn)生一個對應(十進制0-9)的BCD碼,通過設置切換按鍵(S10-S13)可以隨意地控制4位中任意的一位,期間用數(shù)碼管實時地顯示當前BCD碼對應的十進制數(shù)。

電路功能和特點:

4位BCD編碼輸出,利用單片機口線可以擴展位數(shù)。

改變軟件中鍵號0-鍵號9(即S0-S9對應功能)的程序可以實現(xiàn)其他編碼形式(如2421碼)。參見軟件部分。

電路以常用的8421碼為例,并有數(shù)碼顯示出對應的十進制數(shù)(也可以省略)。

完整的4×4的矩陣鍵盤掃描執(zhí)行程序,可以移植到其他應用電路中。

BCD編碼由鎖存器實現(xiàn)信號鎖存,并引出接口,方便連接其他電路。

“位”控制和0-9編碼輸出互不影響,直接按下功能鍵就可以得到需要的BCD編碼輸出和“位數(shù)”選擇。

2 電路框圖

電路原理圖如圖1所示。

3 電路分析

AT89C2051的P1口組成4×4矩陣鍵盤(S0-S15),其中P1.0-P1.3作為行線,P1.4-P1.7作為列線,設計鍵盤掃描程序可以達到預先設想的功能(見軟件設計部分)。按下S0-S9可以產(chǎn)生0-9十進制數(shù)對應的BCD碼,S10-S13用作4位BCD碼的切換按鍵,S14、S15暫未使用,可以不安裝,P3.3-P3.0是BCD碼的數(shù)據(jù)輸出線,從電路中可以看出,因為功用鍵盤而實現(xiàn)4位BCD編碼輸出,顯然P3.3-P3.0作為數(shù)據(jù)總線而同時并接在4個D鎖存器(4042),通過S10-S13來切換,對于4個D鎖存器(U3-U6)每次只有一個有效而把P3.3-P3.0的數(shù)據(jù)“讀入”然后鎖存。實際上S10-S13控制P3.4和P3.5的狀態(tài)(P3.4和P3.5共有4種組合)并通過2-4線譯碼器(U2;74LS139)得到對應的U3-U6的有效信號,表1是S10-S13控制所對應的各芯片狀態(tài),可見,U3-U6中任意一個(例如U3)處于有效狀態(tài)而“讀入”P3.3-P3.0數(shù)據(jù)時,其余的(U4/U5/U6)處于鎖存狀態(tài),保留原來數(shù)據(jù),因此使用者可以在任意一位中改變所希望的BCD碼輸出。

U2(74LS139)是2-4線譯碼器,功能見表1,他的輸入端B,A分別接至P3.4,P3.5,輸出端Y0-Y3取決于輸入端的組合,每種組合下只有一個輸出端(Y0-Y3)以低電平有效輸出。U3-U6是D鎖存器,主要是其中的5腳和6腳關系決定他們的工作狀態(tài),查閱資料得知,當5腳和6腳邏輯電位相同時,該芯片可以把D3-D0數(shù)據(jù)輸出到Q3-Q0;當5腳和6腳邏輯電位不同時,該芯片處于鎖存原來數(shù)據(jù)的狀態(tài),而不會“讀入”當前的D3-D0數(shù)據(jù),電路中把U3-U6的6腳固定接低電位,而5腳分別用U2(74LS139)的輸出信號來控制,不難實現(xiàn)“可以單獨實現(xiàn)對各位BCD碼的設置”。4511是譯碼驅動,接共陰數(shù)碼管顯示當前每位的BCD碼所對應的十進制數(shù),方便觀察,顯示部分很簡單,此處不在贅述,同時,顯示部分在電路上不是必須的,可省略,BCD碼通過J3和J2引出,之所以用兩個鏈接器是為了更靈活、方便使用。

4 軟件設計

主要是實現(xiàn)鍵盤處理,程序中必須確認是哪一個按鍵被按下,然后轉到相應的處理程序中執(zhí)行,實際上該程序是一個完整的鍵盤掃描程序,如果改動其中的處理子程序完全可以應用到其他的控制電路中,下文附有詳細的程序和說明供參考,圖2是流程圖。

鍵盤掃描程序的任務簡單講就是:首先確認是否有按鍵按下,然后通過掃描判斷來得到是在哪一行的按鍵,最后通過比較預先設定的4行表格查找并計算得到具體的按鍵,從而轉到相應的功能程序。

(1)置列線為輸入狀態(tài)(P1.4-P1.7為1),行線(P1.0-P1.3)先為0,即設定的P1.7-P1.0等于F0H并把該狀態(tài)保存,接這讀入當前P1口狀態(tài),不難理解,只要有按鍵(任何一個)按下,P1口的狀態(tài)肯定不是原來設定的P1.7-P1.0等于F0H,通過判斷就可以實現(xiàn)第一步的目的:首先確認是否有按鍵按下?

(2)從第一行(P1.0行)開始一步步掃描,找出并確認按鍵在哪一行,掃描的方法步驟見表2。行線每次只有一個為0,例如第1次掃描時設定P1.0為0,而P1.1-P1.3為1,顯然,在當前掃描過程中按下按鍵如果不是P1.0行,那么P1口狀態(tài)始終是FEH,因此表2說明中強調“只有任一次比較P1口不等于該數(shù)值,說明當前按鍵就在該行”就是這樣的含義,其余各次比較也是一樣道理,通過這樣的判斷,可以實現(xiàn)查找按鍵所在得行數(shù)。

(3)程序中定義了4個表KEYVALTAB1-KEYVALTAB4,分別存放的數(shù)據(jù)用來為比較程序服務而指示出各行的按鍵具體位置,表3列出按鍵標號和比較數(shù)據(jù)對應關系,在R2中存放行號的起始值,R0用來存放在每一行中查到按鍵的具體位置(R0范圍是0-3),各行查找時比較的數(shù)據(jù)見表(3)。讀寫可以簡單分析就可以得到結果,假設通過程序先判斷按鍵在第一行,顯然如果S0按下,P1.7-P1.0的狀態(tài)是11101110(S1連接于P1.0和P1.4),也就是表3中S0→EEH。

(4)KEYCALCU子程序中通過乘3運算用于散轉指令JMP,注意LJMP是3字節(jié)指令,各按鍵對應的功能程序安排在一起串LJMP,所以通過乘3運算才能正確對應到各按鍵的執(zhí)行目標功能程序。

關于各鍵的相應處理功能就較簡單,只要對應不同的按鍵輸入相應的控制命令,對于S0-S9是控制P3.3-P3.0不同的狀態(tài)以得到所對應的BCD編碼,對于S10-S13則是控制P3.4,P3.5的狀態(tài)以實現(xiàn)對U3-U6的控制,限于篇幅,詳細內(nèi)容可以參見程序,程序開始執(zhí)行時是逐個控制4位BCD編碼輸出,對應的數(shù)碼管依次顯示,初始狀態(tài)為0001,0000,0000,0000 4位BCD碼分別從J3,J2引出,數(shù)碼管顯示為1,0,0,0。

5 4×4鍵盤掃描程序


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

通過本文,你將了解到什么是絕對值編碼器、絕對值編碼器的工作原理以及單圈/多圈絕對值編碼器的區(qū)別。

關鍵字: 絕對值編碼器 指數(shù) 編碼器

在上篇文章中,小編對增量式編碼器有所闡述。為增進大家對編碼器的認識,本文將對絕對式編碼器予以介紹。

關鍵字: 絕對式編碼器 指數(shù) 編碼器

為增進大家對編碼器的認識,本文將對增量式編碼器、增量式編碼器分類以及增量式編碼器的工作原理予以介紹。

關鍵字: 增量式編碼器 指數(shù) 編碼器

構建可靠的硬件要求我們在設計階段考慮所有公差。許多參考文獻討論了參數(shù)偏差導致的有源元件誤差——展示了如何計算運算放大器失調電壓、輸入電流和類似參數(shù)的影響——但很少有人考慮無源元件容差。確實考慮了組件容差的參考文獻是從科學...

關鍵字: 元件公差 電路設計

對于非比例電路,我們必須假設完整的電阻容差,因為容差不會分開。我們可以將輸出電壓計算為 V OUT =IR,其中 I 是理想的 1mA 電流源,R 是 5% 的電阻器(圖 1a)。V OUT =1 mA (1±0.05±...

關鍵字: 電路設計 非比例電路

我們是否設計了一個電源,后來才發(fā)現(xiàn)我們的布局效率低下?按照這些關鍵提示創(chuàng)建電源布局并避免調試壓力。什么是電源設計的布局?你知道嗎?一個完美的電路設計,電源布局顯得尤為重要。由于不同的設計方案的出發(fā)點不同,而有所差異,但是...

關鍵字: 電源布局 電路設計

2022年4月20日,宜科(天津)電子有限公司(下稱“宜科”)與世強先進簽署代理協(xié)議,授權世強先進代理其旗下傳感器、編碼器、I/O系統(tǒng)、連接系統(tǒng)、工業(yè)物聯(lián)網(wǎng)平臺等全線產(chǎn)品。

關鍵字: 世強 編碼器 傳感器

為增進大家對編碼器的了解,本文將對編碼器原理以及光電編碼器按其原理分類的方法予以介紹。

關鍵字: 光電編碼器 指數(shù) 編碼器

(全球TMT2022年6月9日訊)韓國唯一一家純晶圓代工公司啟方半導體(Key Foundry)宣布,將發(fā)布用于低功耗PMIC的0.18微米30V非外延BCD工藝。BCD是一種將雙極晶體管(Bipolar)、互補金屬氧...

關鍵字: BCD 低功耗 半導體 電源管理芯片

單片機

21600 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉