單片機液晶屏顯示仿手機鍵盤按鍵字符_第1頁
單片機液晶屏顯示仿手機鍵盤按鍵字符_第2頁
單片機液晶屏顯示仿手機鍵盤按鍵字符_第3頁
單片機液晶屏顯示仿手機鍵盤按鍵字符_第4頁
單片機液晶屏顯示仿手機鍵盤按鍵字符_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、武漢理工大學單片機應用實踐課程設計課程設計任務書學生姓名: 專業(yè)班級:電 信 指導教師: 工作單位: 武 題目: 液晶屏顯示仿手機鍵盤按鍵字符初始條件:(1)Proteus軟件;(2)課程設計輔導書:單片機課程設計指導(3)先修課程:單片機原理,電子設計EDA。要求完成的主要任務:(包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)(1)課程設計時間: 1周;(2)課程設計題目:液晶屏顯示仿手機鍵盤按鍵字符;(3)本課程設計統(tǒng)一技術要求:按照要求題目進行邏輯分析,設計出各模塊邏輯功能,編寫C語言程序,上機調(diào)試、仿真,完成實物,對實驗結果進行分析;(4)課程設計說明書按學?!罢n程設計工作

2、規(guī)范”中的“統(tǒng)一書寫格式”撰寫,并標明參考文獻至少5篇;(5)寫出本次課程設計的心得體會(至少500字)。時間安排:第19周指導教師簽名:年月日系主任(或責任教師)簽名:年月日目錄1.課程設計原理11.1proteus軟件簡介11.2proteus功能特點11.3protues軟件資源豐富22.課程設計要求23. 設計原理及基本元器件介紹33.1 89C51芯片33.2 1602液晶顯示屏33.3矩陣鍵盤44.課程設計思路55.程序源代碼及仿真效果55.1鍵盤矩陣掃描程序55.2 1602液晶顯示仿手機按鍵字符75.3蜂鳴器及定時器設置7圖6(b)定時器流程圖85.4功能鍵處理程序85.4主程

3、序96.仿真及實物107.心得體會138.參考文獻14附錄1:矩陣鍵盤掃描程序15附錄2:1602液晶顯示放手機按鍵字符程序16附錄3:蜂鳴器及定時器程序17附錄4:功能鍵代碼171.課程設計原理1.1proteus軟件簡介Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真

4、正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。1.2proteus功能特點Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:1原理布圖2PCB自動或人工布線3SPICE電路仿真革命性的特點1互動的電路仿真用戶甚至可以實時

5、采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設計開發(fā)環(huán)境。1.3protues軟件資源豐富1Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫。2Proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號發(fā)生器、模式發(fā)生

6、器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調(diào)用。3除了現(xiàn)實存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結果的影響。4Proteus可提供的調(diào)試手段 Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。2.課程設計要求本次的課程設計我們做的是1602液晶屏顯示仿手機鍵盤按鍵字符,它的設計要求簡單來說如下所示。電路仿照手機鍵盤在每個按鍵上集成

7、了多個按鍵字符,可選擇輸入電話號碼或英文字符,當選擇號碼輸入時,屏幕顯示“TEL”,直接按下各按鍵時,各鍵位對應的數(shù)字字符將顯示在液晶屏上。當選擇英文輸入時,屏幕提示“ENG”,多數(shù)按鍵上都排有多個字符,當依次按下不同按鍵時,各按鍵的第一個英文字符將直接顯示在液晶屏上,在一個按鍵上連續(xù)按下時如果時間間隔小于1.5秒,可循環(huán)選擇該鍵中其他字符,如果同一按鍵按下時間間隔大于1.5秒,則最近顯示的字符將被確認顯示在液晶屏上,如果在某鍵上連續(xù)快速按下(1.5秒)選擇了某個字符,當快速按下鍵盤中其他的按鍵(1.5秒)時,該鍵上最后選擇的字符將被確認顯示在液晶屏上。3. 設計原理及基本元器件介紹3.1 8

8、9C51芯片(1)器件介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。(2)原件引腳圖如圖1所示:圖1 89C51芯片引腳圖3.2 1602液晶顯示屏(1)元件介紹1602液晶

9、也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。(2)引腳圖如圖2所示圖2 1602顯示屏引腳圖3.3矩陣鍵盤本實驗所用鍵盤為仿手機43鍵盤,所以采用的是43的矩陣鍵盤,橫向,縱向分別掃描從而可以引出7個輸入到P1口,矩陣鍵盤采用的復位按鍵有

10、四個管腳,分別為A、B、C、D,AB按下導通,CD按下導通,對角線的管腳按下導通但AC,BD不按下即導通,所以鍵盤的接線接線如圖3所示。圖3 矩陣鍵盤線路連接圖4.課程設計思路 本程序綜合了鍵盤矩陣掃描與1602字符液晶屏顯示功能,仿照手機鍵盤在同一按鍵上集成多個字符輸入功能時,其設計難點在于輸入英文字符時,同鍵時間間隔小于1.5秒的連按處理,而數(shù)字字符由于每鍵均為第一個且僅有一個,因而設計相對簡單的多。 對于英文字符輸入,每當所輸入字符屬同一按鍵時,隨即啟動定時器開始計時,每次計時超過1.5秒時停止計時,主程序中探測到同一按鍵再次按下時,代碼判斷兩次連按的時間間隔是否在1.5秒以內(nèi),如果在該

11、時間以內(nèi)則認為是循環(huán)選擇同一按鍵上的多個字符,否則將確認輸入最后選擇的字符。主程序在每次確認輸入一個字符后停止定時器且將計時間隔變量tSpan歸零,只有遇到同鍵按下時才啟動定時器。 定時器溢出中斷程序控制tSpan變量累加,當tSpan累加至50時,即超過2.5秒時禁止溢出中斷,如果此時不禁止中斷,繼續(xù)使之累加下去,可能使某次連按過程中一次較長的暫停使計時變量tSpan不斷累加而超過255后,再次從零開始累加計時,本來是一次較長的停頓因此將被誤判為一次較短的時間間隔。 對于鍵盤掃描程序的相關細節(jié),可參考程序后面所附詳細注釋仔細分析研究。5.程序源代碼及仿真效果5.1鍵盤矩陣掃描程序(1) 思路

12、分析:鍵盤采用的是43的矩陣鍵盤,采用掃描的方式檢測是否有鍵以及那個鍵按下,按行列串行掃描。最后得到結果。(2) 設計框圖如圖4所示:開始橫向掃描是否等于0xFFN縱向掃描是否等于0xFFN無按鍵按下根據(jù)掃描結果判斷按鍵結束圖4 鍵盤矩陣掃描程序設計框圖(3) 程序運行如附錄1所示。5.2 1602液晶顯示仿手機按鍵字符(1) 設計思路:1602液晶顯示采用查表的方式,首先按照鍵值,先進行英文數(shù)字判斷,再按同鍵位內(nèi)部字符索引,輸入緩沖空間。(2) 設計框圖如圖5:開始選擇英文/中文輸入按鍵值查找同一案件的內(nèi)部索引同鍵位連續(xù)按鍵的間隔判定輸出鍵值結束 圖5 按鍵字符顯示框圖(3)程序代碼運行如附

13、錄二所示。5.3蜂鳴器及定時器設置(1) 設計思路:蜂鳴器當按鍵按動時發(fā)出聲音,設定延時時,定時器 定時器溢出中斷程序控制tSpan變量累加,當tSpan累加至50時,即超過2.5秒時禁止溢出中斷,如果此時不禁止中斷,繼續(xù)使之累加下去,可能使某次連按過程中一次較長的暫停使計時變量tSpan不斷累加而超過255后,再次從零開始累加計時,本來是一次較長的停頓因此將被誤判為一次較短的時間間隔。開始(2) 設計流程如圖6所示:開始設置延時50ms有無鍵按下N將tSpan設定為50,即2.5msY報警按鍵間隔大于50?不報警Y結束不置零置零 圖6(a)蜂鳴器流程圖結束圖6(b)定時器流程圖(3)代碼如附

14、錄三所示。5.4功能鍵處理程序(1) 設計思路:設置及一個輸入內(nèi)容標識:標識為一輸入英文,否則為中文。中文英文標識為1?開始(2) 設計框圖如圖7:圖7 功能鍵處理框圖(3)設計程序鍵附錄四所示5.4主程序(1) 設計思路:先設置輸入方式,然后掃描鍵盤看哪個按鍵按下,經(jīng)過延時查表等操作判定輸入字符,然后通過液晶輸出。開始(2) 設計框圖:有按鍵按下時英文判定輸入方式及輸入字符輸出結束圖8 總程序框圖(3)主程序代碼如下所示6.仿真及實物仿真如圖9所示:圖9(2)實物如圖10所示:圖10(a)實物反面圖圖10(b)實物正面圖7.心得體會通過該課程設計,我對單片機這種簡單而又實用的工具有了更深刻的

15、了解,對于線路的焊接也更加的熟練,相對于從前,對于電路的設計也更加的熟練,在仿真開始時,對于proteus的運用十分不熟練,但隨著查閱資料以及詢問同學后,我慢慢的掌握了軟件的運用。在編程時,遇到了很大的問題,C語言運用的不熟練對于課設造成了很大的障礙,但在同學及書記的幫助下,我慢慢的克服了這個困難,將程序編譯出來。在本次課程設計過程中,我有很大的收獲,這不僅僅是理論知識上的完善,而且在自學能力和動手能力上有了新的飛躍,設計中,我感覺到自己知識極度匱乏,上網(wǎng)查閱資料,翻閱各類相關書籍,完全靠自己設計,這讓我的思維邏輯更加清晰。在操作中我基本掌握了proteus的基本知識,為以后進一步的深入學習做

16、好了鋪墊。通過這次的課程設計,我的實踐能力又加強了,對于綜合性的設計以及動手課程不再是那么畏懼了。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,但任何事情難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。通過本次課程設計,我基本上掌握了單片機的基本運用及編程思路,這對于我的成長的價值是非常大的,對于以后的學習也具有莫大的幫助,希望以后能更加努力,將自己的專業(yè)能力提高到更高的高度。8.參考文獻1李廣弟等.單片機基礎M.北京航空航天出版社,2001.2王東峰等.單片機C語言應用100例M.電子工業(yè)出版社,2009.3陳海宴.51單片機原理及應用M.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論