www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]單片機(jī)在消費(fèi)電子、自動(dòng)化儀表、工業(yè)控制等領(lǐng)域已得到廣泛的應(yīng)用,它以靈活的設(shè)計(jì)、低廉的成本、微小的功耗在電子器件市場(chǎng)中占有十分重要的地位。今天越來越多的芯片廠商在不遺余力地競(jìng)爭(zhēng)這個(gè)應(yīng)用空間,如INTEL、NEC、

單片機(jī)在消費(fèi)電子、自動(dòng)化儀表、工業(yè)控制等領(lǐng)域已得到廣泛的應(yīng)用,它以靈活的設(shè)計(jì)、低廉的成本、微小的功耗在電子器件市場(chǎng)中占有十分重要的地位。今天越來越多的芯片廠商在不遺余力地競(jìng)爭(zhēng)這個(gè)應(yīng)用空間,如INTEL、NEC、MICROCHIP等公司都已形成了自己強(qiáng)大的產(chǎn)品線,給產(chǎn)品的設(shè)計(jì)帶來了越來越多的選擇。

  幾乎在每一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,鍵盤都是必備的人機(jī)交互的主要輸入設(shè)備。傳統(tǒng)的按鍵識(shí)別方法是采用編碼式鍵盤芯片,如8279;或采用軟件控制多條I/O線掃描的方法。這種方法用到的I/O引腳數(shù)常常在4條以上。然而單片機(jī)I/O引腳資源有限,特別是在引腳數(shù)少、功耗低、系統(tǒng)成本敏感的場(chǎng)合,成本和功耗決定了設(shè)計(jì)人員不可能另外擴(kuò)充I/O空間,如采用ATMEL公司的AT89C1051/AT89C2051及AT90SXX系列、MICROCHIP公司的PIC16CXX系列的單片機(jī)時(shí)就是這樣。如何利用有限的I/O資源實(shí)現(xiàn)多個(gè)按鍵的識(shí)別是經(jīng)常遇到的問題。作者根據(jù)實(shí)際的開發(fā)經(jīng)驗(yàn),結(jié)合單片機(jī)自身的特點(diǎn),提出一種利用單片機(jī)的定時(shí)器/計(jì)數(shù)器和測(cè)頻原理、用一個(gè)I/O引腳實(shí)現(xiàn)多個(gè)按鍵識(shí)別的方法,并給出了 MCS-51單片機(jī)的匯編源程序。由于在各種型號(hào)的單片機(jī)中,定時(shí)器/計(jì)數(shù)器幾乎是一種必備的配置資源,因此其原理很容易移植到其它型號(hào)的單片機(jī)應(yīng)用系統(tǒng)中。

1 硬件電路的分析

  頻率編碼式鍵盤的硬件電路如圖1所示。由NE555定時(shí)器組成的多諧振蕩器產(chǎn)生一定頻率的方波[1],單片機(jī)利用其定時(shí)器/計(jì)數(shù)器對(duì)這個(gè)方波的頻率進(jìn)行測(cè)量。NE555定時(shí)器組成的多諧振蕩器的放電時(shí)間常數(shù)為:τ放=RS·C1,而充電時(shí)間常數(shù)為:τ充=(Ri+RS)C1,(i=1,2,···,n),n為按鍵的數(shù)目。

 當(dāng)不同的按鍵按下時(shí),NE555定時(shí)器組成的多諧振蕩器的充電時(shí)間常數(shù)不同,放電時(shí)間常數(shù)不變,因而輸出方波的頻率也不同,使得不同的鍵按下時(shí)對(duì)應(yīng)不同的輸出頻率。只要準(zhǔn)確地測(cè)量出NE555定時(shí)器的輸出頻率,就可以精確地識(shí)別出被按下的按鍵號(hào),這就是頻率編碼式鍵盤設(shè)計(jì)的理論依據(jù)。

  在實(shí)際應(yīng)用中,考慮到電阻阻值和電容容量的分散性以及電路的時(shí)間穩(wěn)定性和溫度穩(wěn)定性,在滿足單片機(jī)測(cè)量頻率的分辨率和量程的基礎(chǔ)上,應(yīng)盡量將各個(gè)鍵之間的頻率間隔拉大。這樣即使每一按鍵輸出的頻率有一定的誤差,但只要保證輸出的各個(gè)頻率互不相同,就可以通過軟件去判斷被測(cè)的頻率究竟落在了哪一個(gè)范圍,而不是判斷落在了哪一個(gè)頻點(diǎn)上。這樣使設(shè)計(jì)的軟件對(duì)電路產(chǎn)生的誤差具有一定的適應(yīng)性,從而擺脫了本電路對(duì)元器件參數(shù)的高度敏感性,大大加快了電路調(diào)試和批量生產(chǎn)的速度。

2 匯編程序的設(shè)計(jì)

  在作者設(shè)計(jì)的系統(tǒng)中,采用AT89C2051單片機(jī),外接晶振頻率為12MHz。單片機(jī)僅具有15個(gè)I/O線,由于系統(tǒng)采用電池供電,需要進(jìn)行低功耗設(shè)計(jì)。而采用本電路后,簡(jiǎn)化了系統(tǒng)的硬件,滿足了低功耗的要求,另外的14 個(gè)I/O線能滿足一般的便攜式應(yīng)用。本系統(tǒng)用到8個(gè)按鍵,鍵盤電路的中C1=C2=0.01μF,RS=150Ω,其余的阻容值和設(shè)計(jì)的中心頻率如表1所示。其中,中心頻率是指在電路參數(shù)誤差為零時(shí)對(duì)應(yīng)的頻率。由于實(shí)際電路中誤差總是存在的,所以頻率就落在此中心頻率附近。 

在軟件設(shè)計(jì)上要實(shí)現(xiàn)以下三個(gè)功能:(1)判斷有無鍵按下;(2)有鍵按下時(shí),進(jìn)行按鍵消抖;(3)正確識(shí)別被按下的按鍵編號(hào)。首先設(shè)置單片機(jī)定時(shí)器/計(jì)數(shù)器的工作方式,讓定時(shí)器/計(jì)數(shù)器T0設(shè)為外部計(jì)數(shù)方式,允許T0中斷;并給TL0、TH0賦初值FFH,一旦有鍵按下時(shí),T0便產(chǎn)生中斷,由此可以判斷是否有鍵按下;然后延時(shí)8ms實(shí)現(xiàn)按鍵抖動(dòng)的消除;接著將T1設(shè)為內(nèi)部定時(shí)方式,定時(shí)時(shí)間為50ms,T0在這50ms的時(shí)間里對(duì)NE555輸出頻率信號(hào)進(jìn)行計(jì)數(shù),通過對(duì)計(jì)數(shù)值的大小范圍的判斷就可以識(shí)別按鍵的編號(hào)。有關(guān)延時(shí)和測(cè)頻的程序很常見,讀者可以參考有關(guān)資料。按鍵識(shí)別這部分的匯編程序如下文?眼2?演。程序入口參數(shù)FRQH、FRQL分別是50ms定時(shí)時(shí)間內(nèi)對(duì)外部頻率計(jì)數(shù)的高位和低位,判斷結(jié)果放在KEYCODE中。

  KEYCODE     EQU 30H      ;存放鍵值(1-8 )有效;

                             ;0FFH無鍵按下,0EEH出錯(cuò)

  FRQH        EQU 32H      ;頻率測(cè)量值高位

  FRQL        EQU 31H      ;頻率測(cè)量值低位

  ORG 0000H

  MOV DPTR,#TABLE

  MOV R0,#0

  MOV KEYCODE,#0

NEXT:MOV A,R0

  MOVC A,@A+DPTR

  INC R0

  CJNE A,F(xiàn)RQH,J1

  MOV A,R0

  INC R0

  MOVC A,@A+DPTR

  CJNE A,F(xiàn)RQL,J2

  MOV KEYCODE,#0EEH  ?。活l率在邊界上出錯(cuò)

  LJMP WAIT

J1:JNC  WAIT

  INC R0

  NNT:INC KEYCODE

  LJMP NEXT

J2:JNC WAIT

    JMP NNT

WAIT:MOV A,KEYCODE

  ;  ...

  ;  ...      添加用戶應(yīng)用程序

 ??; 判斷頻率區(qū)間上下限的數(shù)據(jù)表:

TABLE: DB 00H,0FAH,01H,5EH,01H,0C2H

        DB 02H,26H,02H,8AH,02H,0EEH

        DB 03H,52H,03H,0B6H,04H,1AH

        DB 04H,7EH,0FFH,0FFH

3 特點(diǎn)及注意事項(xiàng)

  采用頻率編碼具有抗干擾力強(qiáng)、接口簡(jiǎn)單的優(yōu)點(diǎn),并且易于實(shí)現(xiàn)光電隔離。在鍵盤與主機(jī)分離的場(chǎng)合,還可以大大簡(jiǎn)化二者互連的電纜。另外,若將此信號(hào)去調(diào)制紅外發(fā)射組件,也可以實(shí)現(xiàn)遙控鍵盤而無需額外的編碼邏輯。但是它對(duì)多鍵的同時(shí)按下和單鍵的連擊檢測(cè)能力較差,在與實(shí)際應(yīng)用結(jié)合的時(shí)候,應(yīng)盡量避免這兩種情況的出現(xiàn)并恰當(dāng)?shù)剡M(jìn)行處理。同時(shí)NE555的上限工作頻率是500kHz,采用傳統(tǒng)的MCS-51單片機(jī)測(cè)量外部頻率時(shí),最高可測(cè)的頻率為晶振頻率的24分頻,設(shè)計(jì)中應(yīng)考慮可用的頻率范圍。采用其它型號(hào)的單片機(jī)時(shí),也應(yīng)注意這一點(diǎn)。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉