国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種有效的中斷輸入和LED動態顯示方法

發布時間:2010-7-1 15:10    發布者:vinda
關鍵詞: LED , 動態顯示 , 中斷輸入
1 引 言

動態顯示多采用專用芯片8279擴展鍵盤和LED顯示器,該方式可實現鍵盤的中斷方式或查詢方式輸入,但體積和功耗都較大。其他方式的擴展則難以實現動態顯示,并且編程復雜,為克服以上缺陷,本文提出了在P1口的部分口線上實現2X8陣列的中斷方式鍵盤輸入和脫機硬件動態顯示的新方法。

2 原 理

2.1 硬件設計

硬件原理電路如圖1所示。在8031(1C1)的P1.0~P1.4低5位口線和外部中斷INTl上實現鍵盤輸入和LED顯示器的擴展,其他口線全部留給用戶使用。P1.0,P1.1分別為鍵盤擴展芯片74LSl64(1C2)和LED驅動芯片MCl4499(1C3)的公共時鐘和公共數據線,P1.2,P1.3分別連接IC3,IC4的使能端EN。EN=1時,IC3,IC4封閉,CPU可對IC2進行復位、搜索準備和搜索鍵號等操作,IC2的數據打人在軟件上保證為前沿觸發。



CPU欲對IC3操作時,令EN=0,打開IC3,然后采用后沿觸發的方式將數據寫入IC3,寫完后,再令EN=1,封閉IC3,IC3在封閉狀態下,內部的BCD-8段譯碼器自動地將內部的BCD代碼譯成LED段數據,并且自動、動態循環地驅動LED工作?诰P1.3,P1.4分別為鍵盤低8位和高8位的行線,2個行線分別接與門g5的2個輸入端。系統上電后,CPU首先運行初始化程序,將P1.3,P1.4分別置1,向IC2打人8個"0",即"全零狀態",確保任一鍵按下時,g5均輸出為0,從而使任一鍵盤輸入向CPU的中斷申請有效。

常用的鍵盤輸入多采用4×4陣列式16鍵輸入方式,如果需要顯示則需要擴展芯片,增加了設備的體積和復雜性。1×8的8鍵輸入,往往造成鍵數不夠使用,至于2×8的陣列,只是在一些文獻上提出采用多個74LSl64擴展1×8鍵盤和靜態顯示的設想,沒有論證和設計成形的東西,并且提出的是在串行口上擴展,用戶若需要使用串行口則較麻煩。

本方案在P1口部分口線上實現鍵盤和顯示的串行數據傳送,采用完全附合IC2和IC3時序要求的模擬編程時鐘實現串行通信,給用戶提供了較大的方便。并且體積小、功耗低、硬件簡單、容易編程、實用可靠。

IC3(MCl4499)是一種硬件動態LED顯示器驅動器件,在數據打入、使能端電平升起后,能自動地以動態方式驅動LED工作。顯然,他除了節省功耗,同時還節省機時,即只要不更換顯示數據,CPU就無需對IC3操作。本方案充分利用了動態顯示的主要特點。

IC2擴展鍵盤,采用中斷方式,無鍵按下時,CPU執行用戶程序,中斷處理一個鍵號,只需25ms左右,大大節省了機時。有關MCl4499的封裝、時序要求、數據格式及真值表請參考有關文獻。

2.2 軟件設計

主程序的基本流程如圖2所示。系統上電運行主程序,初始化時先向IC2寫人8個"0",即"全零狀態"。用戶按任意鍵,將使CPU進人中斷服務程序,此后,先將全"0"標志清零,再將IC2置為7個"1"、個位為。的"搜索狀態",然后采用循環移位方式搜索鍵號,求出鍵值,改寫顯示,最后返回主程序,并向主程序交付參數。從中斷返回時,主程序查得全零標志必然為0,因此運行一此全零初始化程序,使IC2重新置成全零狀態,以便響應再次的鍵盤中斷。接著查本次鍵值是否為執行鍵,不為執行鍵則返回,為執行鍵則前4位鍵必然已經得到,CPU便根據第1位功能鍵所鍵入的后3位參數執行用戶程序。

圖3是中斷服務程序流程圖。


R6是列查詢計數器,每查詢一列,R6自動減1,8列判斷完畢,沒得到鍵號則返回。對每一列,都要對兩行分別判斷是否為0,延遲12ms是消抖動,對一行、二行在同一列所得到的鍵采用不同的運算方法,從而準確地算出鍵值,等待到鍵釋放后,位標志自動增1,記住鍵位,以便數據處理子程序、顯示子程序能夠知道所得鍵值是一組數據的第幾位。

數據處理子程序根據中斷服務程序所指定的位數,將本次中斷所得到的數據按照要求排列在約定的顯示數據存儲單元相應的位上,以便顯示子程序提;并根據鍵值確定返回數據;并將反回數據放置在約定的返回數據存儲區相應單元內,以便主程序查閱。顯示子程序按照硬件時序要求將顯示數據打人LED驅動器IC3或IC4,然后,先返回數據處理子程序,接著再返回中斷服務程序。

最后再從中斷服務程序返回主程序。數據處理子程序流程圖,如圖4所示。


他被中斷服務程序調用,完成顯示數據的排序和反回數據的處理以及兩種數據的約定存儲。顯示子程序的流程如圖5所示。他被數據處理子程序調用,完成向LED驅動器IC3或IC4打人顯示數據。


在主程序中,根據用戶目標系統及外部情況變化,CPU執行用戶其他程序,只有從中斷服務程序返回后,第一次判別時,才執行一次全零初始化程序,將IC2清為"全零狀態",無鍵按下時,中斷服務程序、數據處理、數據顯示子程序均不執行。顯然,CPU在執行主程序過程中也總是跳過零初始化程序。

2.3 調 試

在圖1硬件電路中,應注意LED必須為共陰極的數碼管,根據LED大小不同,可適當減小陽極驅動電阻,或增加門電路驅動功率。Cost也要選擇合適,以顯示器LED不閃爍為準。

軟件調試應注意中斷觸發方式,原則上后沿觸發、電平觸發均可,但一定要注意后沿觸發時,中斷服務程序內就不必對中斷標志清零。

3 結 語

本文所提出的方法,在多個應用項目中使用用戶剩余的端口空間大,軟件移植方便,硬件變易掛接。
本文地址:http://m.qingdxww.cn/thread-14280-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • 無線充電基礎知識及應用培訓教程
  • FPGA設計流程培訓教程
  • Chiptorials——如何使用ATECC608 TrustFLEX實現公鑰輪換
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频 九九九 | 日本在线看片网站 | 国产日日操 | 精品久久久久久久久久久 | 亚洲小视频在线观看 | 黄色a大片 | 欧美一区二区免费 | 日本在线观看免费高清 | 欧美三级不卡在线观看视频 | 日韩网站免费 | 国产成人久久精品二区三区牛 | 欧美成人免费午夜影视 | 在线亚视频 | 国产亚洲欧美在线中文无广告 | 成人性一级视频在线观看 | 欧美日韩成人在线视频 | 中文国产欧美在线观看 | 亚洲日本欧美综合在线一 | 美女被爆羞羞视 | 91天堂国产在线 在线播放 | 中文有码 | 中国一级做a爰片久久毛片 中国一级特黄毛片 | 国产在线观看精品香蕉v区 国产在线观看精品 | 天天操比| 精品在线观看一区 | 射逼网 | 精品国产v | 狠狠入ady亚洲精品 狠狠热精品免费观看 | 国产一区二区不卡免费观在线 | 亚洲高清在线观看 | 亚洲国产一区视频 | 久久国产经典 | 96久久 | 厚颜无耻韩国动漫免费观看5 | 国产伦一区二区三区四区久久 | 草草线在成年免费视频网站 | 久久美女福利视频 | ww亚洲ww亚在线观看 | 久久综合香蕉久久久久久久 | 天天夜夜狠狠一区二区三区 | 最近手机中文字幕1页 |