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

一種有效的中斷輸入和LED動(dòng)態(tài)顯示方法

發(fā)布時(shí)間:2010-7-1 15:10    發(fā)布者:vinda
1 引 言

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

2 原 理

2.1 硬件設(shè)計(jì)

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



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

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

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

IC3(MCl4499)是一種硬件動(dòng)態(tài)LED顯示器驅(qū)動(dòng)器件,在數(shù)據(jù)打入、使能端電平升起后,能自動(dòng)地以動(dòng)態(tài)方式驅(qū)動(dòng)LED工作。顯然,他除了節(jié)省功耗,同時(shí)還節(jié)省機(jī)時(shí),即只要不更換顯示數(shù)據(jù),CPU就無需對(duì)IC3操作。本方案充分利用了動(dòng)態(tài)顯示的主要特點(diǎn)。

IC2擴(kuò)展鍵盤,采用中斷方式,無鍵按下時(shí),CPU執(zhí)行用戶程序,中斷處理一個(gè)鍵號(hào),只需25ms左右,大大節(jié)省了機(jī)時(shí)。有關(guān)MCl4499的封裝、時(shí)序要求、數(shù)據(jù)格式及真值表請(qǐng)參考有關(guān)文獻(xiàn)。

2.2 軟件設(shè)計(jì)

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

圖3是中斷服務(wù)程序流程圖。


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

數(shù)據(jù)處理子程序根據(jù)中斷服務(wù)程序所指定的位數(shù),將本次中斷所得到的數(shù)據(jù)按照要求排列在約定的顯示數(shù)據(jù)存儲(chǔ)單元相應(yīng)的位上,以便顯示子程序提取;并根據(jù)鍵值確定返回?cái)?shù)據(jù);并將反回?cái)?shù)據(jù)放置在約定的返回?cái)?shù)據(jù)存儲(chǔ)區(qū)相應(yīng)單元內(nèi),以便主程序查閱。顯示子程序按照硬件時(shí)序要求將顯示數(shù)據(jù)打人LED驅(qū)動(dòng)器IC3或IC4,然后,先返回?cái)?shù)據(jù)處理子程序,接著再返回中斷服務(wù)程序。

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


他被中斷服務(wù)程序調(diào)用,完成顯示數(shù)據(jù)的排序和反回?cái)?shù)據(jù)的處理以及兩種數(shù)據(jù)的約定存儲(chǔ)。顯示子程序的流程如圖5所示。他被數(shù)據(jù)處理子程序調(diào)用,完成向LED驅(qū)動(dòng)器IC3或IC4打人顯示數(shù)據(jù)。


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

2.3 調(diào) 試

在圖1硬件電路中,應(yīng)注意LED必須為共陰極的數(shù)碼管,根據(jù)LED大小不同,可適當(dāng)減小陽極驅(qū)動(dòng)電阻,或增加門電路驅(qū)動(dòng)功率。Cost也要選擇合適,以顯示器LED不閃爍為準(zhǔn)。

軟件調(diào)試應(yīng)注意中斷觸發(fā)方式,原則上后沿觸發(fā)、電平觸發(fā)均可,但一定要注意后沿觸發(fā)時(shí),中斷服務(wù)程序內(nèi)就不必對(duì)中斷標(biāo)志清零。

3 結(jié) 語

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

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 無線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程2
  • 了解一下Microchip強(qiáng)大的PIC18-Q24 MCU系列
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 無線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程3
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产精品青草app | 国产日韩欧美在线观看不卡 | 日韩福利在线视频 | 国产在线啪 | 欧美精品无需播放器在线观看 | 欧美成人a大片 | 高清不卡毛片 | 亚洲国产精品成人久久 | 国产一区二区三区亚洲综合 | 欧美成人在线观看 | 国产精华推荐20212 | 国产国语对白精品视频 | 国产极品在线观看视频 | 国产成人毛片毛片久久网 | 日本一区网站 | 日本成人免费在线 | 特黄a三级三级三级 | 曰批免费动漫视频播放免费 | 国产麻豆高清在线观看 | 五月婷婷之综合激情 | 日韩免费影院 | 99久久精品免费精品国产 | 色男人的天堂久久综合 | 不卡在线视频 | 亚洲精品天堂自在久久77 | 欧美日韩亚洲一区二区精品 | 久久中文字幕网 | 亚洲国产欧洲 | 亚洲一区二区三区高清网 | 亚洲综合香蕉 | 成年女人在线观看片免费视频 | 卡一卡二卡三精品app下载 | 青青久久精品国产免费看 | 一二三四社区在线视频社区3 | 91在线观 | 国产精品久久久久久一区二区三区 | 国产一级视频在线观看网站 | 国产精品亚洲欧美一级久久精品 | 天天干人人 | 欧美91在线| 成人午夜无人区一区二区 |