版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)(論文)材料之二(1)機(jī)電學(xué)院本科畢業(yè)設(shè)計(jì)(論文)專 業(yè): 電子信息工程 題 目: 基于液晶顯示的乘法 口訣測試儀的設(shè)計(jì) 作 者 姓 名: 導(dǎo)師及職稱: (講師) 導(dǎo)師所在單位: 電氣工程系 年 月 日機(jī)電學(xué)院本科畢業(yè)設(shè)計(jì)(論文)任務(wù)書 2008 屆 電氣工程 系 電子信息工程 專業(yè)學(xué)生姓名: 畢業(yè)設(shè)計(jì)(論文)題目中文: 基于液晶顯示的乘法口訣測試儀的設(shè)計(jì)英文: Design of Multiplication Table Tester Based on LCD 原始資料1 宋浩,田豐單片機(jī)原理與應(yīng)用M清華大學(xué)出版社,北京交通大學(xué)出版社,20052 韓志軍,沈晉源,王振波單片機(jī)入門向?qū)?/p>
2、與設(shè)計(jì)實(shí)例J計(jì)算機(jī)學(xué),2005,10 (04):2-63 史延齡,李漢軍點(diǎn)陣液晶顯示模塊在某一檢測系統(tǒng)中應(yīng)用M北京航天航空大學(xué)出版社,19984 劉樹中,孫書鷹,王春平單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)J微計(jì)算機(jī)信息,2007,13 (02):10-205 黃惠媛,李潤國單片機(jī)-原理與接口技術(shù)M 海軍出版社,2006 畢業(yè)設(shè)計(jì)(論文)任務(wù)內(nèi)容題目:基于液晶顯示的乘法口訣測試儀的設(shè)計(jì)近幾年有關(guān)學(xué)齡兒童教育的電子設(shè)備快速發(fā)展,市面上出現(xiàn)了很多學(xué)習(xí)機(jī)、電子詞典等電子輔助教學(xué)與測試產(chǎn)品。乘法口訣表在小學(xué)數(shù)學(xué)教育中具有重要的地位。本課題要求基于單片機(jī)和液晶顯示器設(shè)計(jì)一個(gè)乘法口訣測試儀。要求能對(duì)測試的結(jié)
3、果給出正確的判決。要求學(xué)生獨(dú)立選擇芯片、設(shè)計(jì)電路、編制程序、調(diào)試,完成整個(gè)系統(tǒng)的功能。技術(shù)指標(biāo)及功能要求:1. 采用矩陣鍵盤輸入;2. 用液晶顯示器件顯示輸入和計(jì)算的結(jié)果;3. 能隨機(jī)產(chǎn)生測試題目,通過鍵盤接收輸入的結(jié)果,并判定結(jié)果的對(duì)錯(cuò);4. 要求獨(dú)立選擇芯片、設(shè)計(jì)電路、編制程序、仿真、調(diào)試,完成整個(gè)系統(tǒng)的功能。課題完成形式:1. 提交畢業(yè)論文(設(shè)計(jì)報(bào)告書)一本;2. 電路原理圖;3. 完整的單片機(jī)源程序。指導(dǎo)教師(簽字) 教研室主任(簽字)批 準(zhǔn) 日 期 2008年1月7日接受任務(wù)書日期 2008年1月14日完 成 日 期 2008年6月10日接受任務(wù)書學(xué)生(簽字)基于液晶顯示的乘法口訣測
4、試儀的設(shè)計(jì)摘 要用單片機(jī)和液晶顯示設(shè)計(jì)一個(gè)乘法口訣測試儀,能對(duì)測試的結(jié)果給出正確的判決。應(yīng)用的范圍可以給我國的基礎(chǔ)小學(xué)教育提供技術(shù)支持。隨著兒童教育電子設(shè)備的快速發(fā)展,市場上需求的學(xué)習(xí)機(jī)、電子詞典輔助教學(xué)與測試產(chǎn)品也在增長。通過使用芯片,使我們所學(xué)到更多的專業(yè)知識(shí)。研究電子教學(xué)產(chǎn)品能大大提高我們國家的教育教學(xué)水平,突破現(xiàn)階段的固有的教學(xué)模式。電子產(chǎn)品的應(yīng)用更會(huì)激發(fā)中小學(xué)生對(duì)科學(xué)知識(shí)的熱愛,通過設(shè)計(jì)一個(gè)完整的單片機(jī)控制乘法口訣測試儀使我們對(duì)單片機(jī)如何實(shí)現(xiàn)功能擴(kuò)展,如何節(jié)約設(shè)計(jì)資源,以及怎樣使設(shè)計(jì)方便、快速有了進(jìn)一步了解,以便于將來設(shè)計(jì)更多的智能儀器。多個(gè)角度分析問題,從而解決困難自主開發(fā)研究單片
5、機(jī),把科學(xué)知識(shí)應(yīng)用到現(xiàn)實(shí)生活中來,并給社會(huì)帶來好的效益,是當(dāng)代大學(xué)生的驕傲,更能突破現(xiàn)階段的我們國家固有的教學(xué)模式。我們國家既是一個(gè)人口大國,又是一個(gè)教育大國,只有通過我們自己的研究和開發(fā)來滿足國內(nèi)的特殊需要。設(shè)計(jì)一個(gè)簡單的乘法口訣測試儀雖然只是一個(gè)很小方面的事例,但是我們通過這樣的開發(fā)和設(shè)計(jì)為我們將來積累更多的有關(guān)單片機(jī)開發(fā)方面知識(shí),更可以為國家的兒童教育事業(yè)做一番事業(yè)。關(guān)鍵詞:單片機(jī);液晶顯示;乘法口訣;測試儀。 畢業(yè)設(shè)計(jì)(論文)網(wǎng) QQ: 優(yōu)秀畢業(yè)設(shè)計(jì)網(wǎng) 計(jì)算機(jī)畢業(yè)設(shè)計(jì)網(wǎng) 畢業(yè)設(shè)計(jì)資料網(wǎng) 畢業(yè)設(shè)計(jì)論文網(wǎng) Design of Multiplication Table Tester Base
6、d on LCDAbstractMultiplication table tester based on SCM and LCD SCM can test and correct results. The scope of application can give our basic primary education technical sustain. Along with the rapid development of electronic devices for education, on the market the demand of learning machines, ele
7、ctronic dictionaries in teaching and testing products is growing. By using the SCM, we can learn more expertise of SCM knowledge.On e-learning products will greatly enhance our countrys level of education, and breakthrough this stage of the inherent teaching mode. The application of electronic produ
8、cts will stimulate primary and secondary school students to love scientific knowledge, By designing a Multiplication table tester, we will get more understanding about how to extend I extend the function of SCM, how to save the source of design, also how to make the design convenient and more rapid,
9、 in order to design more intelligent machines, and analysis the problem from various angles, in order to resolve difficulties.The independent development of SCM and researching can bring the application of scientific knowledge to real life, and give good benefits to the community, that is the pride
10、of our contemporary college students, also can break through the stage of our country inherent in the teaching mode. Our country is a country with a large population, also is a big education country, so only by our own research and development to meet the special needs of domestic. Design a simple M
11、ultiplication Table Tester only a small area of examples, but by the development and design we can accumulate more knowledge of the SCM for the future, but also can give more benefits for our countrys children education career.Key words: SCM; Liquid Crystal Display; Multiplication Table; Tester目 錄摘
12、要IAbstractII插圖清單V表格清單VI引 言1第1章 緒論21.1 單片機(jī)的發(fā)展歷史和未來展望21.2 單片機(jī)發(fā)展過程存在的問題31.3 單片機(jī)設(shè)計(jì)液晶顯示的乘法口訣測試儀的任務(wù)與意義4第2章 總體方案設(shè)計(jì)52.1 課題設(shè)計(jì)內(nèi)容52.1.1 硬件設(shè)計(jì)模塊選擇52.1.2 硬件設(shè)計(jì)模塊與原始方案比較52.1.3 軟件設(shè)計(jì)選擇52.2 設(shè)計(jì)方案總體框圖62.2.1 方案總體框圖62.2.2 設(shè)計(jì)框圖原理說明6第3章 硬件設(shè)計(jì)73.1 主芯片AT89S52介紹73.1.1 引腳功能特性描述73.1.2 AT89S52的引腳圖83.1.3 AT89S52存儲(chǔ)器結(jié)構(gòu)93.1.4 AT89S52定
13、時(shí)、振蕩分析93.1.5AT89S52 節(jié)電模式93.1.6 AT89S52編程與中斷103.2 矩陣鍵盤簡介103.2.1 矩陣鍵盤的電路和外觀圖113.2.2 44矩陣鍵盤的工作原理113.2.3 矩陣鍵盤鍵值查找程序設(shè)計(jì)的思路123.2.4 如何掃描矩陣鍵盤按鍵123.2.5 鍵盤的防抖動(dòng)技術(shù)在設(shè)計(jì)里的應(yīng)用123.3 單片機(jī)復(fù)位電路133.4 LCD1602液晶模塊功能133.4.1 LCD1602主要參數(shù)介紹133.4.2 LCD1602基本操作程序133.4.3 LCD1602引腳在設(shè)計(jì)中如何應(yīng)用143.4.4 LCD1602指令系統(tǒng)143.4.5 LCD1602液晶顯示特性153.
14、4.6 1602LCD的RAM地址映射和復(fù)位(初始化)過程153.4.7 LCD1602液晶顯示器與AT89S52接線分析163.4.8 如何在LCD1602上顯示顯示數(shù)字163.4.9 對(duì)測試者輸入的結(jié)果判斷173.5 蜂鳴器173.6 本章設(shè)計(jì)總結(jié)17第4章 軟件設(shè)計(jì)194.1 主程序194.1.1 主程序流程圖194.2 子程序204.2.1 數(shù)據(jù)比較子程序流程圖204.2.2 寫指令數(shù)據(jù)到LCD子程序流程圖214.2.3 寫顯示數(shù)據(jù)到LCD流程圖224.2.4 檢測LCD控制器忙狀態(tài),讀數(shù)據(jù)流程圖224.2.5 LCD初始化設(shè)定子程序流程圖234.2.6 發(fā)送字符串子程序流程圖244.
15、2.7 矩陣鍵盤鍵值查找程序流程圖264.2.8 延時(shí)120ms子程序流程圖274.2.9 延時(shí)5ms子程序使LCD初始化流程圖274.2.10 數(shù)據(jù)轉(zhuǎn)換子程序流程圖284.2.11 模擬出題器子程序流程圖284.3 程序調(diào)試29結(jié)論與展望31致 謝32參考文獻(xiàn)33附錄A 電路原理圖34附錄B 一篇引用的外文文獻(xiàn)及其譯文35附錄C 主要參考文獻(xiàn)的題錄及摘要40附錄D 總程序清單42插圖清單圖2-1 設(shè)計(jì)總框圖6圖3-1 AT89S52芯片引腳圖8圖3-2振蕩電路圖9圖3-3 矩陣鍵盤電路11圖3-4 矩陣按鍵排列11圖3-5 開關(guān)復(fù)位與上電復(fù)位13圖3-6 1602LCD內(nèi)部顯示地址15圖3-
16、7 LCD1602液晶顯示器與AT89S52接線圖16圖4-1 主程序流程圖19圖4-2 數(shù)據(jù)比較子程序圖20圖4-3 寫指令數(shù)據(jù)到LCD流程圖21圖4-4 寫顯示數(shù)據(jù)到LCD流程圖22圖4-5 LCD忙檢測、讀數(shù)據(jù)流程圖23圖4-6 LCD初始化設(shè)定子程序流程圖24圖4-7 發(fā)送字符串子程序流程圖25圖4-8 矩陣鍵盤鍵值查找程序流程圖26圖4-9 延時(shí)子程序流程圖27圖4-10 延時(shí)5ms子程序使LCD初始化流程圖27圖4-11 數(shù)據(jù)轉(zhuǎn)換子程序流程圖28圖4-12 模擬出題器子程序流程圖29圖4-13 調(diào)試程序圖30表格清單表3-1 LCD1602主要技術(shù)參數(shù)13表3-2 寄存器選擇功能1
17、4引 言在生活和生產(chǎn)的各領(lǐng)域中,凡是有自動(dòng)控制要求的地方都會(huì)有單片機(jī)的身影出現(xiàn);從簡單到復(fù)雜,從空中、地面到地下,凡是能想象到的地方幾乎都有使用單片的需求?,F(xiàn)在盡管單片機(jī)的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機(jī)控制而尚未實(shí)現(xiàn)的項(xiàng)目,因此,單片機(jī)的應(yīng)用大有想象和拓展空間。單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動(dòng)效率,減輕勞動(dòng)強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。 但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來的經(jīng)濟(jì)效益上,更重要的意義還在于:單片機(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須有模擬電路或數(shù)字電路實(shí)現(xiàn)
18、的大部分功能,現(xiàn)在已能使用單片機(jī)通過軟件(編程序)方法實(shí)現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對(duì)傳統(tǒng)控制技術(shù)的一次革命。隨著單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實(shí)。應(yīng)用到利用單片機(jī)和液晶顯示設(shè)計(jì)一個(gè)乘法口訣測試儀,更有其很大的空間效率。幾年來被普遍認(rèn)為只有幾十億市場規(guī)模的電子辭典、PDA等教育電子產(chǎn)業(yè),隨著技術(shù)的更新與數(shù)碼時(shí)代的來臨,吸引了更多的消費(fèi)人群,市場規(guī)模已經(jīng)擴(kuò)充到200億左右。這樣既可以發(fā)展國家經(jīng)濟(jì),有可以促進(jìn)我們的兒童教育事業(yè)發(fā)展,其前景意義是非常長遠(yuǎn)的,只有教育好了下一代人,我們的國
19、家才能更快、更好的立足于世界之林。第1章 緒論縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑?,我們只需要在單片機(jī)外圍接一點(diǎn)簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成 本也降低了,長期使
20、用也不會(huì)擔(dān)心精度達(dá)不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會(huì)有更多的人來接受它、使用它1。基于單片機(jī)設(shè)計(jì)一個(gè)乘法口訣測試儀可以說是單片機(jī)應(yīng)用的一個(gè)小小的分支,但是它卻可以映射到單片機(jī)很多方面的知識(shí),既是基本的應(yīng)用,又可以通過設(shè)計(jì)來更好的開發(fā)單片機(jī),使之更好的為我們的生活和學(xué)習(xí)服務(wù)。所以我們學(xué)習(xí)單片機(jī)就要求我們更好的掌握它的歷史和未來的發(fā)展情況,以及其學(xué)術(shù)背景和理論與實(shí)際的情況。1.1 單片機(jī)的發(fā)展歷史和未來展望電子計(jì)算機(jī)的發(fā)展經(jīng)歷了從電子管,晶體管,集成電路到大(超大)規(guī)模集成電路共四個(gè)階段,即通常所說的第一代,第二代,第三代和第四代計(jì)算機(jī)?,F(xiàn)在廣泛使用的微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展
21、的產(chǎn)物,因此它屬于第四代計(jì)算機(jī),而單片機(jī)則是微型計(jì)算機(jī)的一個(gè)分支。從1971年微型計(jì)算機(jī)問世以來,由于實(shí)際應(yīng)用的需要,微型計(jì)算機(jī)向著兩個(gè)不同的方向發(fā)展;一個(gè)是向高速度,大容量,高性能的高檔微機(jī)方向發(fā)展;而另一個(gè)則是向穩(wěn)定可靠、體積小和價(jià)格廉價(jià)的單片機(jī)方向發(fā)展。但是兩者在原理和技術(shù)上是緊密聯(lián)系的。1971年微處理器的研制成功不久,就出現(xiàn)了單片的微型計(jì)算機(jī)即單片機(jī),但最早出現(xiàn)的單片機(jī)是一位的,1976年Intel公司推出了8位的MCS-48系列單片機(jī),它以體積小、控制功能全、價(jià)格低等特點(diǎn),贏得了廣泛的應(yīng)用和好評(píng),為單片機(jī)的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ),成為單片機(jī)發(fā)展史上一個(gè)重要階段,其后,在MCS-48成
22、功的刺激下,許多半導(dǎo)體芯片在生產(chǎn)廠商競相研制和發(fā)展自己的單片機(jī)系列9。80年代末,世界各地已相繼研制出大約50個(gè)系列300多個(gè)品種的單片機(jī)產(chǎn)品,其中包括Motorola公司的6801,6802,Zilog公司的Z-8系列,Rockwell公司的6501,6502等,此外,日本的NEC公司,日立公司等也不甘落后,相繼推出了各自的單片機(jī)品種。盡管目前單片機(jī)的品種很多,但是我過使用最多的是Intel公司的MCS-51單片機(jī)系列。MCS-51系列是在MCS-48的基礎(chǔ)上于20世紀(jì)80年代初發(fā)展起來的,雖然它是8位的單片機(jī),但其功能較MCS-48有很大的增強(qiáng)。此外,它還具有品種全,兼容性強(qiáng),軟硬件資料豐
23、富等特點(diǎn),因此應(yīng)用愈加廣泛,成為比MCS-48更重要的單片機(jī)品種,直到現(xiàn)在,MCS-51仍不失為單片機(jī)的主流系列。繼8位單片機(jī)之后,又出現(xiàn)了16位單片機(jī),1983年Intel公司推出的MCS-96系列單片機(jī)就是其中的典型代表。與MCS-51相比,MCS-96不但字長增加一倍,而且在其他性能方面也有很大的提高,特別是芯片內(nèi)還增加了一個(gè)4路或8路的10位A/D轉(zhuǎn)換器,使其具有A/D轉(zhuǎn)換的功能??v觀單片機(jī)近30年的發(fā)展歷程,單片機(jī)今后將向多功能、高性能、高速度、低電壓、低功耗、低價(jià)格、外圍電路簡單化以及片內(nèi)存儲(chǔ)器容量增加的方向發(fā)展。但其位數(shù)不一定會(huì)繼續(xù)增加,盡管現(xiàn)在已經(jīng)有了32位單片機(jī),但使用的并不
24、多5。自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了近20年的發(fā)展路程??v觀20年來單片機(jī)發(fā) 展歷程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā) 展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動(dòng),表現(xiàn)出較微處理器更具個(gè)性的發(fā)展趨勢。可以預(yù)言,今后的單片機(jī)將是功能更強(qiáng),集成度和可靠性更高而功耗更低,以及使用更方便等特點(diǎn)。此外,專用化也是單片機(jī)的一個(gè)發(fā)展方向,針對(duì)單一用途的專用單片機(jī)將會(huì)越來越多。現(xiàn)在單片機(jī)的應(yīng)用已經(jīng)很廣泛:工業(yè)自動(dòng)化方面自動(dòng)化能使工業(yè)系統(tǒng)處于最佳狀態(tài),提高經(jīng)濟(jì)效益,改善產(chǎn)品質(zhì)量和減輕勞動(dòng)強(qiáng)度。因此,自動(dòng)化技術(shù)廣泛應(yīng)用于機(jī)械、電子、電力、石油、化工、紡織、食品等輕重工業(yè)領(lǐng)域中,
25、而在工業(yè)自動(dòng)化技術(shù)中,無論是過程控制技術(shù),數(shù)據(jù)采集和測控技術(shù),還是生產(chǎn)線上的機(jī)器人技術(shù),都需要要有單片機(jī)的參與3。在工業(yè)自動(dòng)化的領(lǐng)域中,機(jī)電一體化技術(shù)將發(fā)揮愈來愈重要的作用,在這種集機(jī)械、微電子和計(jì)算機(jī)技術(shù)于一體的綜合技術(shù)中,單片機(jī)將發(fā)揮越來越大的作用;儀器儀表方面 現(xiàn)在儀器儀表的自動(dòng)化和智能化要求越來越高,對(duì)此最好使用單片機(jī)來實(shí)現(xiàn),而單片機(jī)的使用又將加速儀器儀表向數(shù)字化,智能化,多功能化和柔性化方向發(fā)展。此外,單片機(jī)的使用還有助于提高儀器儀表的精度和準(zhǔn)確度,簡化結(jié)構(gòu)、減小體積及重量而易于攜帶和使用,并具有降低成本,增強(qiáng)抗干擾的能力,便于增加顯示、報(bào)警和自診斷等功能;家用電器方面,家用電器產(chǎn)品
26、的一個(gè)重要發(fā)展趨勢是不斷提高其智能化程度,而家電智能化的進(jìn)一步提高就需要有單片機(jī)的參與,所以生產(chǎn)廠家常標(biāo)榜“電腦控制”以提高其產(chǎn)品的檔次,例如洗衣機(jī),電冰箱,空調(diào)機(jī),微波爐,電視機(jī)和音像視頻設(shè)備等,這里說的電腦實(shí)際上是單片機(jī)。智能化家用電器將給我們帶來更大的舒適和方便,進(jìn)一步改善我們的生活質(zhì)量,把我們的生活變的更加豐富多彩;信息和通信產(chǎn)品方面信息和通信產(chǎn)品的自動(dòng)化和智能化程度很高,這絕對(duì)離不開單片機(jī)的參與。1.2 單片機(jī)發(fā)展過程存在的問題自單片機(jī)出現(xiàn)至今,單片機(jī)技術(shù)已走過了近20年的發(fā)展路程??v觀20年來單片機(jī)發(fā)展里程可以看出,單片機(jī)技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)
27、展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動(dòng),表現(xiàn)出較微處理器更具個(gè)性的發(fā)展趨勢。今天還很難有一家中國大陸的公司能在如此浩大的單片機(jī)市場上占有一席之地,這不能不說是我國電子工業(yè)的悲哀。另一方面,如此琳瑯滿目、讓人眼花繚亂的單片機(jī)品種,著實(shí)給單片機(jī)應(yīng)用的工程師提供了巨大的選擇空間。這么多種單片機(jī)能進(jìn)入中國市場,這一事實(shí)就說明了我們的應(yīng)用工程師已經(jīng)能夠綜合各類單片機(jī)的性能、價(jià)格等方面的因素,并結(jié)合實(shí)用對(duì)象進(jìn)行選擇。較過去以剖析、復(fù)制外國產(chǎn)品為主的思路有了相當(dāng)?shù)母倪M(jìn)。隨著我國經(jīng)濟(jì)實(shí)力的增長,開發(fā)新產(chǎn)品的思路上過去那種過多注重價(jià)格因素而使新產(chǎn)品開發(fā)上不了檔次的弱點(diǎn)有所改善,開始注意使用當(dāng)前最先進(jìn)的單片機(jī)開發(fā)高檔次產(chǎn)
28、品。由于單片機(jī)的開發(fā)手段目前仍以仿真器為主,公司能否提供廉價(jià)的仿真器,提供方便的技術(shù)服務(wù)與培訓(xùn),較之能否提供高性能、低價(jià)位的單片機(jī)有著同等重要性。各單片機(jī)廠商在開發(fā)工具以及技術(shù)服務(wù)方面也進(jìn)行著激烈的競爭,這種競爭與推出新型的單片機(jī)以顯示高技術(shù)方面的優(yōu)勢是相輔相成的。競爭的結(jié)果是為單片機(jī)應(yīng)用工程師提供更廣闊的選擇空間,而最終受益的是單片機(jī)產(chǎn)品的消費(fèi)者。由于單片機(jī)對(duì)各行各業(yè)都有用,這種電子技術(shù)的進(jìn)步導(dǎo)致各行各業(yè)的進(jìn)步,也帶動(dòng)了人類文明的進(jìn)步。1.3 單片機(jī)設(shè)計(jì)液晶顯示的乘法口訣測試儀的任務(wù)與意義用單片機(jī)和液晶顯示器、矩陣鍵盤設(shè)計(jì)一個(gè)乘法口訣測試儀要求我們?cè)O(shè)計(jì)者對(duì)目的很明確,那就要求我們?nèi)プ灾鬟x擇芯
29、片,獨(dú)立完成軟件和硬件設(shè)計(jì),軟件不但是包括源程序,而且要有很明晰的流程圖。硬件圖設(shè)計(jì)合理,力求明確,實(shí)用,操作簡單明了。能準(zhǔn)確判斷結(jié)果的正誤,并迅速給出正確的答案,達(dá)到兒童學(xué)習(xí)乘法口訣和對(duì)乘法口訣的熟練掌握。通過設(shè)計(jì)測試儀我們一來鞏固了知識(shí),從理論走到了應(yīng)用,二來可以開發(fā)更多的學(xué)習(xí)字典,滿足我們國家的學(xué)齡兒童的需要,只有通過科學(xué)的教育辦法我們的教育才可以實(shí)現(xiàn)最優(yōu)最充分的發(fā)展。對(duì)我們國家和整個(gè)民族發(fā)展起著舉足輕重的作用。第2章 總體方案設(shè)計(jì)基于單片機(jī)的液晶顯示乘法口訣測試儀的設(shè)計(jì)總體有單片機(jī)模塊、矩陣鍵盤輸入模塊、LCD液晶顯示模塊、一個(gè)基本的復(fù)位電路和用于提示的蜂鳴電路,各部分組合完成基礎(chǔ)的電
30、路硬件模塊。需要的乘法口訣軟件設(shè)計(jì)用的程序?yàn)閰R編語言,并通過程序合理的編寫完成要求,最后達(dá)到調(diào)試,仿真。2.1 課題設(shè)計(jì)內(nèi)容基于單片機(jī)和液晶顯示設(shè)計(jì)一個(gè)乘法口訣測試儀,其核心部分是單片機(jī),顯示模塊為一個(gè)液晶顯示LCD。單片機(jī)在生產(chǎn)中應(yīng)用及其廣泛,涉及生活的每個(gè)角落,尤其為電子和計(jì)算機(jī)發(fā)展提供了技術(shù)實(shí)踐。設(shè)計(jì)的乘法口訣測試儀即可隨機(jī)產(chǎn)生測試題目,又可以對(duì)測試人通過鍵盤輸入的結(jié)果給出判斷,并能對(duì)錯(cuò)的結(jié)果給出正確的答案。2.1.1 硬件設(shè)計(jì)模塊選擇單片機(jī)是設(shè)計(jì)的核心關(guān)鍵部分,在此次設(shè)計(jì)里考慮到要求功能,達(dá)到理想的效果,選擇了AT89S52主芯片。該芯片從抗干擾和經(jīng)濟(jì)出發(fā)最理想的選擇。液晶顯示部分從目
31、前的市場用得最多的原器件來選擇,更從為了達(dá)到最佳的顯示效果,給測試者清晰的圖像出發(fā),選擇LCD1602型號(hào)液晶顯示器。鍵盤輸入考慮到是要用矩陣鍵盤,又因?yàn)槌朔谠E要從1*1-9*9,并要能隨機(jī)出題,然后如果測試者輸入的結(jié)果有錯(cuò)誤,通過按一個(gè)鍵盤來查看正確的結(jié)果,所以從以上各要求滿足點(diǎn)出發(fā)使用了4*4鍵盤矩陣。單片機(jī)必要的是復(fù)位電路,設(shè)計(jì)用開關(guān)復(fù)位電路給單片機(jī)進(jìn)行復(fù)位,簡單而且實(shí)用。為了對(duì)測試者答題的結(jié)果正確如否給出提示,硬件電路外加了一個(gè)蜂鳴器,當(dāng)測試者的答案與正確答案一致的時(shí)候,電路會(huì)發(fā)出蜂鳴聲,用以告訴測試者所鍵入的答案數(shù)值為正確。 2.1.2 硬件設(shè)計(jì)模塊與原始方案比較上述方案為最佳選擇
32、方案,而與原始方案比較有其實(shí)用和合理性,芯片原始選擇是80C51,該芯片的其他主要保密特性僅為二級(jí)保密位,中斷源為5個(gè),而AT89S52有三級(jí)保密位,8個(gè)中斷源,主要是有其獨(dú)特的“看門狗”技術(shù),軟件控制的復(fù)位方式,設(shè)計(jì)中用到了多次的復(fù)位技術(shù),這一特殊的復(fù)位方式更給設(shè)計(jì)帶來了很多方便。原始的單行LCD液晶顯示給設(shè)計(jì)帶來了很多的誤區(qū),當(dāng)比較結(jié)果的時(shí)候,如果也在第一行出現(xiàn)的時(shí)候,就會(huì)給測試者帶來誤解,不便觀察。所以選擇了1602型的LCD顯示技術(shù),16字符點(diǎn)陣,兩行顯示,給測試人很明白的答案,提高了工作效益,解決了視覺上的混亂。原始的鍵盤考慮是3*3的矩陣鍵盤來設(shè)計(jì)按鍵,但是后來想到問題就是:從0-
33、9已經(jīng)占領(lǐng)了10個(gè)按鍵位,剩下就兩個(gè)可以選擇的按鍵,一個(gè)出題按鍵,一個(gè)確認(rèn)按鍵,一個(gè)給正確答案提示測試人的,那么這樣一來就不可以用3*3的矩陣鍵盤了,最后從實(shí)用和合理的角度出發(fā)選擇了4*4的矩陣鍵盤,完全可滿足設(shè)計(jì)一個(gè)乘法口訣答題儀設(shè)計(jì)的要求。所以經(jīng)過一段時(shí)間的綜合比較就完成了一套比較合理的整體設(shè)計(jì)方案。2.1.3 軟件設(shè)計(jì)選擇程序是設(shè)計(jì)的軟件部分,考慮到設(shè)計(jì)用的是單片機(jī)AT89S52,所以就回避了用C語言的辦法去實(shí)現(xiàn)其要求的功能。用匯編語言,可以達(dá)到設(shè)計(jì)的要求。匯編語言里包括了各模塊的子程序,并在難懂的關(guān)鍵地方注明了文字?jǐn)⑹?,是讀者看后就很清楚明白。2.2 設(shè)計(jì)方案總體框圖設(shè)計(jì)方案總體框圖可
34、以是設(shè)計(jì)思路變得簡單化、清楚化。給讀者以很明亮的設(shè)計(jì)規(guī)劃,便于設(shè)計(jì)者參考??傮w框圖設(shè)計(jì)的合理性更是很重要的,如果設(shè)計(jì)合理,不但是可以節(jié)省設(shè)計(jì)者寶貴的時(shí)間更能達(dá)到設(shè)計(jì)的合理化,操作簡單,使用效益高。單片機(jī)設(shè)計(jì)電路要考慮的問題更是繁多,所以有個(gè)清晰的設(shè)計(jì)總體框圖是相當(dāng)重要的。2.2.1 方案總體框圖圖2-1 設(shè)計(jì)總框圖2.2.2 設(shè)計(jì)框圖原理說明該測試儀設(shè)計(jì)簡單,占用硬件資源少,有良好的人機(jī)對(duì)話功能,便于攜帶、操作, 能夠滿足課程教學(xué)實(shí)驗(yàn)的要求,性能穩(wěn)定、可靠。按照芯片測試插座旁邊的指向,插入待測的數(shù)字芯片或按鍵;通過鍵盤輸入指令或數(shù)字,單片機(jī)經(jīng)過鍵盤掃描讀入鍵值,根據(jù)輸入值來執(zhí)行相應(yīng)的子程序。首
35、先,由單片機(jī)設(shè)定的隨機(jī)程序在液晶顯示器LCD1602上顯出被測試的題目如:9x9=_測試者通過鍵盤輸入自己算的結(jié)果,當(dāng)結(jié)果為正確值(81)則蜂鳴器發(fā)出幾聲響聲;若不為正確值,則沒有上述情況;此時(shí)如果測試者想知道正確的結(jié)果,就可以按事先設(shè)定好的鍵盤,比如設(shè)定更正鍵為“C”,按此鍵就可以示出正確的結(jié)果。復(fù)位一次單片機(jī)又可以重新產(chǎn)生測試題目。第3章 硬件設(shè)計(jì)電路硬件設(shè)計(jì)包括AT89S52主芯片、LCD1602顯示電路、矩陣鍵盤電路、單片機(jī)復(fù)位電路,外加一個(gè)蜂鳴器。3.1 主芯片AT89S52介紹AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atm
36、el公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級(jí)加密程序存儲(chǔ)器
37、、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符15。3.1.1 引腳功能特性描述AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有
38、內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。引腳號(hào)第二功能:P1.0 T2定時(shí)器/計(jì)數(shù)器T2
39、的外部計(jì)數(shù)輸入,時(shí)鐘輸出;P1.1 T2EX定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制;P1.5 MOSI在系統(tǒng)編程用;P1.6 MISO在系統(tǒng)編程用;P1.7 SCK在系統(tǒng)編程用;P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器,P2口送出高八位地址。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。
40、對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。端口引腳的第二功能:P3.0 RXD 串行輸入口;P3.1 TXD 串行輸出口;P3.2 INTO 外中斷0;P3.3 INT1 外中斷1;P3.4 TO 定時(shí)/計(jì)數(shù)器0;P3.5 T1 定時(shí)/計(jì)數(shù)器1;P3.6 WR 外部數(shù)據(jù)存儲(chǔ)器寫選通;P3.7 RD 外部數(shù)據(jù)存儲(chǔ)器讀選通;此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)6。AL
41、E/PROG當(dāng)訪問外部存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(
42、地址為0000H-FFFFH),EA端必需保持低電平(接地)。RST:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。VCC:電源。GND:接地。3.1.2 AT89S52的引腳圖圖3-1 AT89S52芯片引腳圖3.1.3 AT89S52存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu):MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址2。程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開始。對(duì)于AT89S52,如EA接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為000
43、0H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址。3.1.4 AT89S52定時(shí)、振蕩分析看門狗定時(shí)器:WDT是一種需要軟件控制的復(fù)位方式。WDT由13位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。定時(shí)器0和定時(shí)器1:在AT89S52中,定時(shí)器0和定時(shí)器1的操作與AT89C51和AT89C52一樣。定時(shí)器2:定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又
44、可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。工作模式由T2CON中的相關(guān)位選擇。定時(shí)器2有2個(gè)8位寄存器,分別是TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。時(shí)鐘振蕩器:AT89S52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器在一起構(gòu)成自激振蕩器。用戶也可以采用外部時(shí)鐘。在這種情況下,
45、外接石英晶體(或陶瓷振蕩器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低,振蕩器工作的穩(wěn)定性,起振部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。圖3-3 振蕩電路圖tu 圖3-2 振蕩電路圖由于外部時(shí)鐘信號(hào)是通過一個(gè)2分鐘觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間產(chǎn)品技術(shù)條件的要求。3.1.5AT89S52 節(jié)電模式空閑節(jié)電模式:AT89S52有兩種可用軟件編程的省電模式,它們是空閑模式和掉點(diǎn)工作模式。這兩
46、種方式是控制專用寄存器PCON(即電源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位來實(shí)現(xiàn)的。PD是掉電模式,當(dāng)PD=1時(shí),激活掉電工作模式,單片機(jī)模式,即PD和IOL同時(shí)為1,則先激活掉電模式。在空閑工作模式狀態(tài),CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止11。3.1.6 AT89S52編程與中斷編程方法:1在地址線上輸入編程單元地址信號(hào)。2在數(shù)據(jù)線上輸入正確的數(shù)據(jù)。3激活相應(yīng)的控制信號(hào)。4把EA/Vpp升至12V。5每給Flash寫入一個(gè)字節(jié)或程序加密位
47、時(shí),都要給ALE/PROG一次脈沖。字節(jié)寫周期時(shí)自身定制的,典型值僅僅50us。改變地址、數(shù)據(jù)重復(fù)第1步到第5步,知道全部文件結(jié)束。中斷原理:AT89S52有6個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷每個(gè)中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。3.2 矩陣鍵盤簡介矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵的個(gè)數(shù)是44個(gè)。這種行列
48、式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。相比較獨(dú)立式鍵盤占用大量的I/O系統(tǒng)資源而言,矩陣鍵盤是很普及得到應(yīng)用的,一般應(yīng)用到按鍵較多的系統(tǒng)之中。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鈕加以連接。這樣,一個(gè)端口(如P1口)就能組成4*4=16個(gè)按鈕,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,若再多加一條線就能組成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來做鍵盤是合理的。3.2.1 矩陣鍵盤的電路和外觀圖圖3-3 矩陣鍵盤電路上圖已經(jīng)明確了該鍵盤電路和AT89S52的接線原理了,從
49、P1.0到P1.7按順序連接,與之對(duì)應(yīng)的是鍵盤外觀排列圖,如圖3-4所示:圖3-4 矩陣按鍵排列3.2.2 44矩陣鍵盤的工作原理先從AT89S52單片機(jī)的P1口的高四位輸出低電平,低四位輸出高電平,從P1口的低四位讀取鍵盤狀態(tài)。再從P1口的低四位輸出低電平,高四位輸出高電平,從P1口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。使用上述方法我們得到16個(gè)鍵的特征編碼。舉例說明如何得到按鍵的特征編碼:假設(shè)“1”鍵被按下,找其按鍵的特征編碼。從單片機(jī)AT89S52的P1口的高四位輸出低電平,即P1.4P1.7為輸出口。低四位輸出高電平,即P1.0P1.3為輸入口。讀P
50、1口的低四位狀態(tài)為“1101”,其值為“0DH”。再從P1口的高四位輸出高電平,即P1.4P1.7為輸入口。低四位輸出低電平,即P1.0P1.3為輸出口,讀P1口的高四位狀態(tài)為“1110”,其值為“E0H”。將兩次讀出的P0口狀態(tài)值進(jìn)行邏輯或運(yùn)算就得到其按鍵的特征編碼為“EDH”。用同樣的方法可以得到其它15個(gè)按鍵的特征編碼。根據(jù)按鍵的特征編碼,查表得到按鍵的順序編碼:將用上述方法得到的16個(gè)按鍵的特征編碼依照按鍵排列的順序排成一張?zhí)卣骶幋a與順序編碼的對(duì)應(yīng)關(guān)系表,然后用當(dāng)前讀得的特征編碼來查表,當(dāng)表中有該特征編碼時(shí),它所在的位置就是對(duì)應(yīng)的順序。3.2.3 矩陣鍵盤鍵值查找程序設(shè)計(jì)的思路識(shí)別鍵盤
51、有無按鍵按下,若無鍵按下返回。如果有鍵按下,找出具體的按鍵值,通過查找程序我們就可以知道那個(gè)案件按下去了,并可以通過具體公式計(jì)算出來。掃描一個(gè)按鍵通常為幾微妙,而測試者用手來按鍵盤時(shí)候大概需要零點(diǎn)幾秒來完成,所以在每次掃描鍵盤時(shí)候就得看看先前的那個(gè)按下的按鈕是否有放開。3.2.4 如何掃描矩陣鍵盤按鍵從總電路圖接線上可以看到鍵盤設(shè)計(jì)的09,ABCDFE,16個(gè)鍵依次順序排列,第一行為:0-3,第二行為:4-7,第三行為:8、9、A、B,第四行為C、D、E、F。當(dāng)掃描第一行0、1、2、3四個(gè)按鍵:此時(shí)使單片機(jī)AT89S52P的P1.4輸出“0”,當(dāng)P1.4輸出“0”時(shí),只要把0、1、2、3四個(gè)鍵
52、中任意一鍵按下,那么從P1口輸入到ACC(累加器)的值的高4位D4-D7中就會(huì)有“0”出現(xiàn)。此時(shí)把ACC值依次送入進(jìn)位信號(hào)中檢查,每送入檢查一次后,將R0的值加1。R0最先值為00H,所以第一次掃描“0”號(hào)鍵時(shí),R0為00H,再掃描“1”號(hào)鍵時(shí),R0的值為01H。當(dāng)4個(gè)鍵盤都掃描完后,如果有鍵盤按下,則跳轉(zhuǎn)到KEYIN處執(zhí)行,在判斷有鍵閉合時(shí),調(diào)用軟件延時(shí)程序去除鍵盤抖動(dòng),若該鍵仍然處于閉合狀態(tài),則該鍵按下。用同樣的依次方法去掃描確定第二、第三、第四行鍵盤。但是如何識(shí)別鍵盤鍵值是設(shè)計(jì)乘法口訣鍵盤的關(guān)鍵地方,其識(shí)別公式是:鍵值N=所在行的首鍵號(hào)+列號(hào)(0-3)。如第二行的第一列的按鍵被按下,我們
53、可以判斷,第二行的首鍵號(hào)是4,列號(hào)是1,所以鍵值N=4+1=5,與設(shè)計(jì)吻合。3.2.5 鍵盤的防抖動(dòng)技術(shù)在設(shè)計(jì)里的應(yīng)用一般情況下,鍵盤采用機(jī)械彈力開關(guān)來反映一個(gè)電壓信號(hào)的開、斷。由于機(jī)械觸點(diǎn)的彈性作用,在閉合和斷開會(huì)發(fā)生有抖動(dòng)現(xiàn)象。抖動(dòng)時(shí)間的長短由按鍵的機(jī)械特性決定,一般在5-10ms之間。為保證按鍵不發(fā)生誤動(dòng)作,在編寫按鍵處理程序中必須有防抖動(dòng)措施。防抖動(dòng)措施有軟件和硬件兩種方法。硬件防抖動(dòng)電路的典型辦法是采用RS觸發(fā)器,構(gòu)成雙穩(wěn)態(tài)消抖電路,一般在用對(duì)按鍵的操作過程中要求比較嚴(yán)格。對(duì)于初學(xué)者而言,采用上面那個(gè)方法去抖動(dòng)的技術(shù)難度較大,因此使用軟件消抖的辦法是很簡單的。它的工作原理是:當(dāng)軟件檢
54、測到第一次按鈕按下時(shí),執(zhí)行一個(gè)10-20ms的軟件延時(shí)程序,之后再檢測該鍵電平是否仍然維持在閉合狀態(tài),若仍然保持,則確認(rèn)此按鍵真正按下,從而消去了抖動(dòng)的影響。根據(jù)如小程序,就可以算出鍵盤抖動(dòng)的時(shí)間:DELAY: MOV R7,#240 DEL4: MOV R6,#250 DEL5: DJNZ R6,DEL5 DJNZ R7,DEL4 結(jié)合設(shè)計(jì)要求,使矩陣鍵盤的抖動(dòng)時(shí)間成為了120ms,當(dāng)晶體的頻率為12MHz時(shí),其計(jì)算值為:2502402=us=120ms。3.3 單片機(jī)復(fù)位電路復(fù)位是單片機(jī)的初始化操作,其作用是使CPU中的各個(gè)部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。當(dāng)MCS-5l
55、系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位,單片機(jī)的復(fù)位是由RESET引腳來控制的,此引腳與高電平相接超過24個(gè)振蕩周期后,51單片機(jī)即進(jìn)入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部程序。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵S1后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。其電路圖3-5如示:圖3-5 開關(guān)復(fù)位與上電復(fù)位其中VCC接+5v電壓,RST接單片機(jī)的復(fù)位端口RST,具體參數(shù)見總原理圖。在這種復(fù)位電路中,干擾容易串入復(fù)位端,在大多數(shù)情況下不會(huì)造成單片機(jī)錯(cuò)誤復(fù)位,但是會(huì)引起內(nèi)部某些寄存器錯(cuò)誤復(fù)位,這時(shí)可在復(fù)位引腳上一個(gè)去
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣田水質(zhì)安全評(píng)價(jià)-洞察分析
- 游樂園線上線下融合策略-洞察分析
- 特殊教育政策研究-洞察分析
- 循環(huán)經(jīng)濟(jì)與企業(yè)可持續(xù)發(fā)展-洞察分析
- 液體活檢在肺纖維化病變鑒別診斷中的應(yīng)用-洞察分析
- 河南省新未來2024-2025學(xué)年高二上學(xué)期1月期末考試 政治 含答案
- 水產(chǎn)動(dòng)物免疫基因組學(xué)-洞察分析
- 2024年05月廣西廣西壯族自治區(qū)農(nóng)村信用社聯(lián)合社公開招考任職前(第一批)筆試歷年參考題庫附帶答案詳解
- 《私人財(cái)富管理》課件
- 2024年棗強(qiáng)縣醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 儲(chǔ)備林建設(shè)項(xiàng)目施工組織設(shè)計(jì)方案
- 采工作面初采、初放安全技術(shù)措施
- erdas2015操作手冊(cè)給客戶imagine
- 裝配式鋼筋混凝土簡支T梁設(shè)計(jì)
- COMMERCIAL INVOICE 商業(yè)發(fā)票
- 大氣課程設(shè)計(jì)-—袋式除塵器
- 普天超五類檢測報(bào)告
- 會(huì)計(jì)師事務(wù)所業(yè)務(wù)培訓(xùn)制度
- CMM2-18錨桿機(jī)(新)說明書
- 12噸汽車起重機(jī)基本技術(shù)規(guī)格資料
- WEB開發(fā)基礎(chǔ)-2021秋本-計(jì)算機(jī)科學(xué)與技術(shù)本復(fù)習(xí)資料-國家開放大學(xué)2022年1月期末考試復(fù)習(xí)資料
評(píng)論
0/150
提交評(píng)論