畢業(yè)論文---計算器模擬系統(tǒng)的設(shè)計與制作_第1頁
已閱讀1頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)設(shè)計論文</b></p><p>  題目:計算器模擬系統(tǒng)的設(shè)計與制作</p><p>  作者姓名 </p><p>  指導(dǎo)教師 </p><p>  專業(yè)班級

2、 </p><p>  學 院 </p><p>  提交日期 2011年6 月 10 日 </p><p>  Dissertation Submitted to Zhejiang University of Technology</p><p>  

3、for the Degree of Bachelor</p><p>  Design of calculator imitatesand</p><p>  畢業(yè)設(shè)計(論文)任務(wù)書</p><p>  專 業(yè) 班 級 學生姓名 </p><p>  一.設(shè)計(論文)題目:

4、 計算器模擬系統(tǒng)的設(shè)計與制作 </p><p>  二.原始資料:1、郭天祥.新概念51單片機C語言教程[J].電子工業(yè)出版社,2009.1;.2、林jie.單片機應(yīng)用實例與開發(fā)[M].西安電子科技大學出版,2009.4;3、邊海龍.單片機開發(fā)與典型工程項目實例詳解[J].電子工業(yè)出版社,2008.2:;4、于永.51單片機C語言常用模塊與綜合系統(tǒng)設(shè)計[J].電子工業(yè)出版社,200

5、8.5;5、張義和.例說51單片機(C語言版)[M].人民郵電出版社,2010.12</p><p>  三.設(shè)計(論文)要求:</p><p>  1、計算器能顯示8位數(shù)字,開機運行時,只有數(shù)碼管最低位顯示為“0”,其余位全部不顯示2、具有4×4鍵盤,分別表示0~9、+、-、×、/ 、=和清零鍵CL,輸入的數(shù)字從設(shè)計的鍵盤輸入;3、可對兩個無符號數(shù)進行加、減、乘、除運

6、算,并顯示計算結(jié)果。4、結(jié)果溢出時發(fā)出“嘀”報警聲。5、制作出實物,寫出合格的畢業(yè)論文。</p><p>  四.畢業(yè)設(shè)計(論文)內(nèi)容:</p><p>  1設(shè)計(論文)說明書(根據(jù)大綱要求) 一份 </p><p>  2 設(shè)計(論文)圖紙 單片機簡易計算器原理圖

7、 </p><p>  五.畢業(yè)設(shè)計(論文)工作期限:</p><p>  任務(wù)書發(fā)給日期 2011 年 4 月 25 日</p><p>  設(shè)計(論文)工作自 2011 年 4 月 25 日 至 2011 年 6 月 10 日</p><p>  指導(dǎo)教師

8、 </p><p>  系主任 </p><p>  主管院長 </p><p>  計算器模擬系統(tǒng)的設(shè)計與制作</p><p><b>  摘 要</b></p><p>  當今社會,隨著人們物質(zhì)生活的不斷提高

9、,電子產(chǎn)品已經(jīng)走進了家家戶戶,無論是生活或?qū)W習,還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為一種快速通用的計算工具方便了用戶的使用。而計算器是人們?nèi)粘7浅J煜さ囊豢铍娮赢a(chǎn)品,本設(shè)計著重在于分析計算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實踐經(jīng)驗出發(fā)對計算器設(shè)計做了詳細的分析和研究,</p><p>  單片機已逐漸成為電子產(chǎn)品研制和開發(fā)中首選的控制器,它的

10、應(yīng)用越來越成為人們關(guān)注的焦點,本設(shè)計基于STC89C51單片機以及MAX7219數(shù)碼管顯示驅(qū)動來設(shè)計簡易計算器。通過其他外圍模塊電路的設(shè)計,電源模塊,單片機程序下載模塊,蜂鳴器驅(qū)動模塊,單片機最小系統(tǒng)的設(shè)計,MAX7219驅(qū)動電路,組成簡易計算器。論文從設(shè)計要求出發(fā),通過對每個方案的分析和研究,最終確立最佳方案。論文分析簡易計算器模擬系統(tǒng)的設(shè)計過程,每個硬件模塊的設(shè)計詳情以及軟件部分的設(shè)計詳情,來闡述整個設(shè)計。最終根據(jù)設(shè)計方案,制作出實

11、物。</p><p>  關(guān)鍵詞:單片機 STC89C51 MAX7219 數(shù)碼管</p><p>  DESIGN OF CALCULATER IMITATESAND</p><p><b>  Abstract</b></p><p>  Is social nowadays, continuously raise

12、along with people's physical life, the electronics product has already walked into all families, regardless is life or study, is still that amusement and amusement almost and all everything can not get away from an e

13、lectronics product, the large and complicated calculation ability is a person brain not competent for of, and a little bit easily come amiss.The calculator is a kind of quickly in general use calculation tool convenience

14、 the customer's use.But t</p><p>  The list slice machine has already become an electronics product to develop gradually and develop medium head the controller for choosing, its application more and more

15、 becomes the focus that people pay attention to, this design according to STC89 C51 list slice the machine and MAX7219 figures tube shows to drive to design simple calculator.Pass the design of other outer circle mold pi

16、ece electric circuits, the power mold piece, the list slice machine procedure downloads a mold piece, the buzzer</p><p>  Keyword:Single-chip MCU STC89C51 MAX7219 Nixie tubu</p><p><b>  

17、目 錄</b></p><p><b>  摘 要i</b></p><p>  Abstractii</p><p>  第一章 緒 論1</p><p>  1.1 研究單片機簡易計算器的意義1</p><p>  1.2 計算器的發(fā)展趨勢1</p&g

18、t;<p>  1.3 本文研究思路與安排2</p><p>  第二章 計算器模擬系統(tǒng)的設(shè)計與制作總體方案3</p><p>  2.1 使用到的工具軟件4</p><p>  2.2 多個方案的對比4</p><p>  第三章 核心部分硬件仿真5</p><p>  第四章 模

19、塊電路設(shè)計詳解7</p><p>  4.1 電源部分的設(shè)計7</p><p>  4.2 程序下載模塊的設(shè)計8</p><p>  4.3 單片機最小系統(tǒng)的設(shè)計10</p><p>  4.4 時鐘電路模塊的設(shè)計。12</p><p>  4.5 復(fù)位電路模塊的設(shè)計。13</p>

20、<p>  4.6 鍵盤掃描模塊的設(shè)計。14</p><p>  4.7 顯示電路模塊的設(shè)計16</p><p>  4.8 更好的解決方案18</p><p>  第五章 硬件整體設(shè)計20</p><p>  第六章 軟件部分的總體設(shè)計20</p><p>  第七章 程序分模塊設(shè)計

21、21</p><p>  7.1 程序頭21</p><p>  7.2 延時子程序的設(shè)計21</p><p>  7.3 鍵盤掃描子程序22</p><p>  7.4 數(shù)據(jù)發(fā)送子程序23</p><p>  7.5 數(shù)據(jù)顯示子程序27</p><p>  7.6 主函數(shù)

22、28</p><p>  第八章 總結(jié)與展望29</p><p><b>  參考文獻30</b></p><p><b>  致 謝31</b></p><p>  附錄1.硬件仿真圖32</p><p>  附錄2.硬件原理圖和PCB圖34</p&g

23、t;<p>  附錄3.制作好的實物36</p><p>  附錄4.程序清單37</p><p><b>  緒 論</b></p><p>  當今社會,隨著人們物質(zhì)生活的不斷提高,電子產(chǎn)品已經(jīng)走進了家家戶戶,無論是生活或?qū)W習,還是娛樂和消遣幾乎樣樣都離不開電子產(chǎn)品,大型復(fù)雜的計算能力是人腦所不能勝任的,而且比較容易出錯。

24、計算器作為一種快速通用的計算工具方便了用戶的使用。計算器是人們普遍擁有電子產(chǎn)品之一。本設(shè)計著重在于分析計算器軟件和開發(fā)過程中的環(huán)節(jié)和步驟,并從實踐經(jīng)驗出發(fā)對計算器設(shè)計做了詳細的分析和研究。</p><p>  單片機已逐漸成為電子產(chǎn)品研制和開發(fā)中首選的控制器,它的應(yīng)用越來越成為人們關(guān)注的焦點,51單片機是對目前所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來

25、隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為目前應(yīng)用最廣泛的8位單片機之一,51單片機是基礎(chǔ)入門的一個單片機,還是應(yīng)用最廣泛的一種。</p><p>  本系統(tǒng)就是充分利用了51單片機的I/O引腳。本設(shè)計基于STC89C51單片機以及MAX7219數(shù)碼管顯示驅(qū)動來設(shè)計簡易計算器,周邊硬件環(huán)境設(shè)計有STC51系列單片機的程序下載模塊,電源模塊等。</p><p> 

26、 1.1 研究單片機簡易計算器的意義</p><p>  單片機已逐漸成為電子產(chǎn)品研制和開發(fā)中首選的控制器,它的應(yīng)用越來越成為人們關(guān)注的焦點,計算器在日常生活中是比較常見的電子產(chǎn)品之一。用單片機來實現(xiàn)計算器的基本功能這一課題不僅能與生活實際相結(jié)合,又能很好的驗證我們的基礎(chǔ)知識和動手能力。也是對整個大學所學習的知識的一個總結(jié)和回顧。</p><p>  1.2 計算器的發(fā)展趨勢</

27、p><p>  計算器只是簡單的計算工具,有些機型具備函數(shù)計算功能,有些機型具備一定的貯存功能,但一般只能存儲幾組數(shù)據(jù)。計算機能夠?qū)崿F(xiàn)數(shù)據(jù)的錄入、處理、存儲和輸出,但它所以 中國古老的計算器-算盤</p><p>  它不能自動地實現(xiàn)這些操作過程,必須由人來操作完成?,F(xiàn)在使用的計算器大部分都是由一塊IC和一塊LCD顯示屏,再加上電源模塊就可以完成復(fù)雜的運算。運行在計算機里的編寫好的程序有更好的

28、人機交互界面,更強大的計算能力,還可以完成一些特殊的運算,比如數(shù)制的轉(zhuǎn)換,復(fù)雜函數(shù)運算,甚至連很多軟件都帶有計算功能,比如OFFICE辦公軟件等等。同時,移動設(shè)備如手機,平板電腦都可以應(yīng)用相關(guān)應(yīng)用程序,或者本身有相關(guān)功能。也可以進行一些簡單或者復(fù)雜的運算。</p><p>  如今,掌上計算器也朝著更小型化,更多功能用途,更智能化發(fā)展,而且價格更便宜,連手機也有相關(guān)應(yīng)用程序可使用。</p><

29、p>  1.3 本文研究思路與安排</p><p>  本設(shè)計采用STC89C51作為設(shè)計的硬件基礎(chǔ),STC89C51與MCS-51單片機產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉

30、電標識符。完全符合設(shè)計所需的硬件標準。</p><p>  P1口作為顯示接口和AT89S51系列的ISP,我們預(yù)留了兩排的接插件,一排用于顯示接口,使用3個I/O口(P1.0,P1.1,P1.2,),加上VCC,GND電源端用于驅(qū)動顯示板顯示所顯示的內(nèi)容。</p><p>  P3口主要用于STC系列單片機的ISP,和驅(qū)動蜂鳴器的的發(fā)聲。其他I/O口閑置。</p><

31、p>  P0口加上103(10KΩ)上拉電阻,用于驅(qū)動鍵盤,進行鍵盤識別掃描。</p><p>  P2口在設(shè)計中沒有分配應(yīng)用,但是預(yù)留接插件,以便擴展使用。</p><p>  設(shè)計有針對于STC51系列單片機的程序下載模塊。</p><p>  設(shè)計有電源模塊和蜂鳴器驅(qū)動模塊。</p><p>  時鐘信號采用12MHZ的晶振,因為

32、未接外部ROM,所以EA腳接高電平,復(fù)位電路使用的是上電復(fù)位,同時加上手動復(fù)位。主板的硬件設(shè)計。</p><p>  由于考慮到顯示的穩(wěn)定性,硬件資源占用等因素,顯示板采用MAX7219驅(qū)動兩個四位七段共陰數(shù)碼管作為顯示板。</p><p>  計算器模擬系統(tǒng)的設(shè)計與制作總體方案</p><p>  設(shè)計要求基于51單片機設(shè)計出簡易計算器系統(tǒng),于是預(yù)選用STC89C

33、51,如果內(nèi)部ROM不足,可選用STC89C51或者其他兼容型號單片機。因為設(shè)計的是簡易計算器系統(tǒng),于是需要鍵盤輸入,所需鍵位為4*4鍵盤,于是可以使用4*4矩陣式鍵盤,由一個I/O口來驅(qū)動。結(jié)果的顯示采用兩個四位七段數(shù)碼管來實現(xiàn),可滿足要求,顯示驅(qū)動可使用74LS244,MAX7219,單片機最小系統(tǒng)設(shè)計比較固定,不需要更改太多,同時設(shè)計的時候,可以進行一些擴展,比如加入STCISP功能。</p><p>  

34、本設(shè)計采用STC89C51作為設(shè)計的硬件基礎(chǔ),STC89C51與MCS-51單片機產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符。完全符合設(shè)計所需的硬件標準。</p><p>  P1

35、口作為顯示接口和AT89S51系列的ISP,我們預(yù)留了兩排的接插件,一排用于顯示接口,使用3個I/O口(P1.0,P1.1,P1.2,),加上VCC,GND電源端用于驅(qū)動顯示板顯示所顯示的內(nèi)容。</p><p>  P3口主要用于STC系列單片機的ISP,和驅(qū)動蜂鳴器的的發(fā)聲。其他I/O口閑置。</p><p>  P0口加上103(10KΩ)上拉電阻,用于驅(qū)動鍵盤,進行鍵盤識別掃描。&l

36、t;/p><p>  P2口在設(shè)計中沒有分配應(yīng)用,但是預(yù)留接插件,以便擴展使用。</p><p>  設(shè)計有針對于STC51系列單片機的程序下載模塊。</p><p>  設(shè)計有電源模塊和蜂鳴器驅(qū)動模塊。</p><p>  時鐘信號采用12MHZ的晶振,因為未接外部ROM,所以EA腳接高電平,復(fù)位電路使用的是上電復(fù)位,同時加上手動復(fù)位。主板的硬

37、件設(shè)計,硬件布局如圖1-1所示。</p><p>  圖1-1 硬件分布圖 </p><p>  由于考慮到顯示的穩(wěn)定性,硬件資源占用等因素,顯示板采用MAX7219驅(qū)動兩個四位七段共陰數(shù)碼管作為顯示板。</p><p>  2.1 使用到的工具軟件</p><p>  使用到的工具:電烙鐵、可調(diào)電源、萬用表、鉆孔臺、示波器、計算機等。&

38、lt;/p><p>  使用到的軟件:Altium DXP、Proteus ISIS、KEIL、C-Free、MS Office、STC ISP、Atmel ISP、Adobe Photoshop等計算機應(yīng)用軟件。</p><p>  2.2多個方案的對比</p><p>  在設(shè)計之初,進行設(shè)計規(guī)劃的時候,通過自己的所學知識以及查閱一些書籍還有網(wǎng)上查找了很多資料,設(shè)計

39、了多個方案,綜合考慮各方面因素。進行對比分析,最終選擇最優(yōu)的設(shè)計方案。各方案的設(shè)計具體如下。</p><p>  方案一:在一開始設(shè)計的時候,我們采用了P0口( P0口加上10K上拉電阻)作為段碼驅(qū)動顯示,P2口作為位驅(qū)動,P1口作為鍵盤驅(qū)動識別,這樣,P0口作為段驅(qū)動,可以使數(shù)碼管更亮(通過調(diào)節(jié)上拉電阻的阻值,單片機其他準IO口內(nèi)部有30K的上拉電阻,這里采用10K的上拉電阻,可以比其他IO口輸出更大的電流)缺

40、點,鍵盤布局不適合使用操作,PCB布線較多的跳線。</p><p>  方案二:采用P1口段驅(qū)動顯示,P2口位驅(qū)動,在段驅(qū)動加上74LS244緩沖器,使顯示更穩(wěn)定,P0口加上10K上拉電阻作為鍵盤掃描識別。但是通過和方案四的對比,發(fā)現(xiàn)顯示依然不夠穩(wěn)定,PCB布線跳線較多,如果開發(fā)為兩塊板,導(dǎo)線需要較多,不夠穩(wěn)定。</p><p>  方案三:采用P0口加上10K上拉電阻作為段驅(qū)動顯示,P2

41、口位驅(qū)動,在P0口接74HC573作為段驅(qū)動。P2口接74LS138,作為位驅(qū)動,P1作為鍵盤掃描識別。PCB布線較為復(fù)雜,而且程序的設(shè)計也較為的復(fù)雜。</p><p>  方案四:最終確定使用顯示板使用MAX7219驅(qū)動兩個共陰四位七段紅色數(shù)碼管顯示數(shù)字。</p><p>  因為使用MAX7219驅(qū)動數(shù)碼管顯示,亮度穩(wěn)定,不閃爍,傳統(tǒng)數(shù)碼管顯示驅(qū)動電路占用的系統(tǒng)資源較多。若為動態(tài)顯示,

42、則8位數(shù)碼管顯示驅(qū)動電路一般由1 片8255 和4片5407構(gòu)成,不僅占用硬件資源多,而且需要通過軟件定時刷新,故占用軟件資源也不少;若為靜態(tài)顯示,則8 位數(shù)碼管顯示驅(qū)動電路一般由8片54LS164構(gòu)成,所占用硬件資源太多。MAX7219以其串行接口的傳輸速率可達10 MHz,獨立的發(fā)光二極管段控制,譯碼與非譯碼兩種顯示方式可選,數(shù)字、模擬兩種亮度控制方式,可以級聯(lián)使用,顯示接口簡單等特點,而采用1片MAX7219便可完成8位數(shù)碼管的顯

43、示驅(qū)動任務(wù)。</p><p>  方案四硬件設(shè)計思路為:P1口為顯示驅(qū)動,及AT89S系列單片機的ISP作用, P0口接上拉電阻(103,10KΩ),用于4*4鍵盤掃描,蜂鳴器由P34口驅(qū)動。單片機復(fù)位方式使用上電自動復(fù)位,時鐘部分使用12MHz外部晶振。P3.0,P3.1專用STC51單片機程序下載,其他I/O口未使用,P2口閑置,備以后擴展使用。J20其中三個引腳接到P1.0,P1.1,P1.2,分別為LOA

44、D(數(shù)據(jù)裝載輸入端),CLK(單片機提供給顯示驅(qū)動芯片MAX7219的時鐘信號),DIN(串行數(shù)據(jù)輸入),加上兩個電源端口,驅(qū)動顯示板。同時硬件電路還設(shè)計了電源部分(主要為穩(wěn)壓,限壓,濾波,開關(guān),與電源的接駁),集成STC51系列單片機的程序下載電路部分。設(shè)計蜂鳴器驅(qū)動電路,用于聲音提示(按鍵聲音,結(jié)果溢出提示聲音。單片機最小系統(tǒng),承載單片機的基礎(chǔ)應(yīng)用硬件環(huán)境。4*4鍵盤掃描模塊。MAX7219顯示板,及與單片機的接口方案。</p

45、><p>  確立好實現(xiàn)方案后,接下來使用Proteus進行仿真方案通過Proteus仿真環(huán)境進行修改、完善硬件和程序設(shè)計。</p><p><b>  核心部分硬件仿真</b></p><p>  Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外

46、圍器件。它是目前最好的仿真單片機及外圍器件的工具。</p><p>  Protues可以很方便的查找出所設(shè)計的軟件和硬件的缺陷和錯誤,及時的發(fā)現(xiàn)錯誤,并且更快的改正錯誤??梢源蟠蟮臏p少了開發(fā)一款產(chǎn)品的時間,同時也可以避免很多不必要的浪費(如果使用硬件來調(diào)試軟件,在修改設(shè)計的過程中可能要頻繁的對硬件的參數(shù),電路連接進行修改,耗時、費力,還會造成硬件的損壞,造成不必要的浪費)。</p><p&g

47、t;  啟動Proteus ISIS,設(shè)置好設(shè)計模板,查找設(shè)計所需的相關(guān)器件(七段八位數(shù)碼管、MAXIM 美信MAX7219、KEYPAD 4*4矩陣鍵盤、RESPACK 九針排阻、51單片機,這里選用AT89C51)按照規(guī)劃好的位置排列好,連接好電氣線路(這里為了整個圖的美觀,所以大部分使用總線、網(wǎng)絡(luò)標號的方式建立電氣連接)。完成仿真圖的設(shè)計。如下圖是本設(shè)計的所需的最主要的幾個器件。把器件擺放整齊,適合電氣連接。接下來就是連接電氣連

48、接線了。連接好后,認真檢查,最好的方法就是加載確認為正確的測試程序,測試各個模塊是否連接正確。</p><p>  設(shè)計好了的仿真電路圖,如圖2-1為設(shè)計好的仿真圖。</p><p>  圖2-1 畫好的仿真電路圖</p><p>  接下來就把寫好的,編譯好的程序加載,運行仿真,在仿真中找到程序,硬件中的問題,及時改正。如下圖,就是設(shè)計好的仿真圖。在左上角加上文

49、字框,可以讓別人更直觀的了解是什么設(shè)計,設(shè)計的要求是什么。</p><p>  軟件已經(jīng)設(shè)計好了,并且已經(jīng)仿真成功,如圖2-2就是正在仿真中的虛擬硬件。圖示顯示計算結(jié)果為334。在Proteus仿真的虛擬的環(huán)境下,軟件和硬件已經(jīng)達到了設(shè)計所要求。</p><p>  圖2-2 正在仿真的硬件圖</p><p>  仿真已經(jīng)達到了設(shè)計所要求的結(jié)果。接下來通過查找資料

50、、自己的所學知識以及通過Proteus仿真的正確結(jié)果,接下來可以進行實際的硬件設(shè)計環(huán)節(jié)了,接下來將在實際硬件環(huán)境中進行試驗。</p><p><b>  模塊電路設(shè)計詳解</b></p><p>  4.1 電源部分的設(shè)計</p><p><b>  4.1.1原理圖</b></p><p>  如

51、圖3-1為電源模塊原理圖</p><p>  圖3-1 電源模塊電路</p><p><b>  4.2.2原理說明</b></p><p>  當打開電源開關(guān),電源不穩(wěn),會產(chǎn)生雜波,而單片機對于電源電壓非常敏感,從而影響單片機的正常工作。為了避免與此,我們設(shè)計了濾波電路,起到濾波的作用,從而更好的避免不必要的故障發(fā)生。</p>

52、<p>  本設(shè)計的電源電路有電源接口,開關(guān),LED指示燈和濾波、穩(wěn)壓電路組成。</p><p>  濾波電路的原理:信號頻率越高,電容的容抗越小,而電感的感抗越大。利用電容和電感的這一特性,將電容與負載RL并聯(lián),或?qū)㈦姼信c負載RL串聯(lián),則能去掉或衰減脈動直流電壓中的高頻交流成分,保留直流成分。本電路的濾波是由電容濾波和RC濾波構(gòu)成。LED是用來指示電源接通的情況。</p><p&

53、gt;  電源部分的設(shè)計沒有涉及到變壓,整流部分,只是對器件BNC(DC頭)的直流5V電壓進行開關(guān)設(shè)計,電源指示,穩(wěn)壓,限壓,濾波作用,其中使用到了5.1V/1W穩(wěn)壓管,使供給單片機的和其他部分模塊的電源限制在5V,或低于5V。電源的輸入采用2.5mm口徑的DC頭,可使用計算機USB口供電,或者使用USB接口輸出5V電壓的MP3,MP4或者手機的電源適配器進行供電。既方便,又經(jīng)濟。</p><p><b&g

54、t;  程序下載模塊的設(shè)計</b></p><p><b>  原理圖</b></p><p>  程序下載模塊原理圖,如圖3-2所示。</p><p>  圖3-2 串口程序下載模塊</p><p><b>  原理說明</b></p><p>  上圖的原理

55、圖為STC51系列單片機的程序下載模塊,使用串口進行程序的下載。由J4串口接口連接到電腦的串口通信端口,使計算機能和單片機通信。通過STC ISP計算機端軟件,把編寫好的并編譯好的程序文件下載到單片機的內(nèi)部ROM中。RS232的供電由設(shè)計的主板統(tǒng)一供電。Atmel的89S51 P1口預(yù)留有接插件,方便程序下載,AT89S系列單片機下載板需另外制作,使用并口下載,較為麻煩。J4為DB9的九針串口接口,RS232為DIP16封裝的MAXIM

56、公司的MAX232EPE周邊電容為50V 1Uf的電解質(zhì)電容。</p><p>  MAX232芯片是美信公司專門為電腦的RS-232標準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。</p><p><b>  器件引腳介紹</b></p><p>  第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和

57、-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭

58、;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。如圖3-3所示引腳圖。</p><p>  圖3-3 MAX232引腳圖</p><p>  單片機最小系統(tǒng)的設(shè)計</p><p>  4.3.1引腳分布圖</p><p> 

59、 本設(shè)計采用的為DIP40封裝的STC89C51RC,如圖3-4所示</p><p>  圖3-4 STC89C51引腳圖</p><p><b>  各引腳功能說明</b></p><p> ?。謈c:+5V電源電壓。</p><p>  Vss:電路接地端。</p><p>  P0.0~P

60、0.7:通道0,它是8位漏極開路的雙向I/O通道,當擴展外部存貯器時,這也是低八位地址和數(shù)據(jù)總線,在編程和校驗期間,它輸入和輸出字節(jié)代碼,通道0吸收/發(fā)出二個TTL負載P1.0~P1.7:通道1是8位擬雙向I/O通道,在編程和校驗時,它發(fā)出低8位地址。</p><p>  通道1吸收/發(fā)出一個TTL負載。</p><p>  P2.0~P2.7:通道2是8位擬雙向I/O通道,當訪問外部存貯

61、器時,用作高8位地址總線。通道2能吸收/發(fā)出一個TTL負載。</p><p>  P3.0~P3.7:通道3準雙向I/O通道。通道3能吸收/發(fā)出一個TTL負載,P3通道的每一根線還有另一種功能:</p><p>  P3.0:RXD,串行輸入口。</p><p>  P3.1:TXD,串行輸出口。</p><p>  P3.2:INT0,外部

62、中斷0輸入口。</p><p>  P3.3:INT1,外部中斷1輸入口。</p><p>  P3.4:T0,定時器/計數(shù)器0外部事件脈沖輸入端。</p><p>  P3.5:T1,定時器/計數(shù)器1外部事件脈沖輸入端</p><p>  P3.6:WR,外部數(shù)據(jù)存貯器寫脈沖。</p><p>  P3.7:RD,外

63、部數(shù)據(jù)存貯器讀脈沖。</p><p>  RST/VpD:引腳9,復(fù)位輸入信號,振蕩器工作時,該引腳上2個機器周期的高電平可以實現(xiàn)復(fù)位操作,在掉電情況下(Vcc降到操作允許限度以下), 后備電源加到此引腳,將只給片內(nèi)RAM供電。</p><p>  ALE/PROG:引腳30,地址鎖存有效信號,其主要作用是提供一個適當?shù)亩〞r信號,在它的下降沿用于外部程序存儲器或外部數(shù)據(jù)存貯器的低8位地址鎖

64、存,使總線 P0輸出/輸入口分時用作地址總線(低8位)和數(shù)據(jù)總線, 此信號每個機器出現(xiàn)2次,只是在訪問外部數(shù)據(jù)存儲器期間才不輸出ALE。所以,在任何不使用外部數(shù)據(jù)存貯器的系統(tǒng)中,ALE以1/6振蕩頻率的固定速率輸出,因而它能用作外部時鐘或定時,8751內(nèi)的EPROM編程時,此端輸編程脈沖信號。</p><p>  PSEN:引腳29,程序選通有效信號,當從外部程序存貯器讀取指令時產(chǎn)生, 低電平時,指令寄存器的內(nèi)容

65、讀到數(shù)據(jù)總線上。</p><p>  EA/VPP:引腳31,當保持TTL高電平時,如果指令計數(shù)器小于4096,8051執(zhí)行內(nèi)部ROM的指令,8751執(zhí)行內(nèi)部EPROM的指令,當使TTL為低電平時,從外部程序存貯器取出所有指令,在8751內(nèi)的EPROM編程時,此端為21V編程電源輸入端。</p><p>  XTAL1:引腳18,內(nèi)部振蕩器外接晶振的一個輸入端,HMOS芯片使用外部振蕩源時

66、,此端必須接地。</p><p>  XTAL2:引腳19,內(nèi)部振蕩器外接晶振的另一個輸入端,HMOS芯片使用外部振蕩器時,此端用于輸入外部振蕩信號。</p><p><b>  單片機最小系統(tǒng)</b></p><p>  如圖3-5為設(shè)計好的單片機最小系統(tǒng)設(shè)計原理圖。</p><p>  圖3-5 單片機最小系統(tǒng)原理

67、圖</p><p><b>  設(shè)計說明</b></p><p>  在進行I/O口工作分配的時候,考慮到布線及產(chǎn)品的美觀性,以及操作的簡易性,P1口為顯示驅(qū)動,及AT89S系列單片機的ISP作用,P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)。P0口接上拉電阻(103,10KΩ),用于4*4鍵盤掃描,蜂鳴器由P3

68、4口驅(qū)動。單片機復(fù)位方式使用上電自動復(fù)位,時鐘部分使用12MHz外部晶振。P3.0,P3.1專用STC51單片機程序下載,其他I/O口未使用,P2口閑置,備以后擴展使用。J20其中三個引腳接到P1.0,P1.1,P1.2,分別為LOAD(數(shù)據(jù)裝載輸入端),CLK(單片機提供給顯示驅(qū)動芯片MAX7219的時鐘信號),DIN(串行數(shù)據(jù)輸入),加上兩個電源端口,驅(qū)動顯示板。</p><p>  4.4 時鐘電路模塊的

69、設(shè)計。</p><p><b>  原理圖</b></p><p>  如圖3-6為時鐘電路模塊的設(shè)計原理圖。</p><p>  圖3-6 時鐘電路圖</p><p><b>  原理說明</b></p><p>  單片機的最小系統(tǒng)有三部分組成,即電源,時鐘電路和復(fù)位電

70、路。其中單片機的電源引腳與5V電源連通即可,而時鐘電路和復(fù)位電路還需接口擴展,這也是單片機的基本電路操作。</p><p>  時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號,時序是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如同一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴格地按時序進行工作。在STC89C52單片機內(nèi)部帶有時鐘電路,因此,只需要在片外通過XTAL1和XTAL2引腳

71、接入定時控制元件(晶體振蕩器和電容),即可構(gòu)成一個穩(wěn)定的自激振蕩器。在STC89C52芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。在單片機的XTAL1腳和XTAL2腳之間并接一個晶體振蕩器就構(gòu)成了內(nèi)部振蕩方式。STC89C52單片機內(nèi)部有一個高增益的反相放大器,XTAL1為內(nèi)部反相放大器的輸入端,XTAL2為內(nèi)部反相放大器的輸出端,在其兩端接上晶振后,就構(gòu)成了自激振蕩電路,并產(chǎn)生振

72、蕩脈沖,振蕩電路輸出的脈沖信號的頻率就是晶振的固有頻率。在實際應(yīng)用中通常還需要在晶振的兩端和地之間各并上一個小電容。</p><p>  用晶振和電容構(gòu)成諧振電路。電容大小與晶振頻率和工作電壓有關(guān)。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本實驗板采用20pF的電容作為微調(diào)電容。在設(shè)計電路板時,晶振、電容等均應(yīng)盡可能靠近芯片,減小分布電容,以保證振蕩器振蕩的穩(wěn)定性。</p><

73、;p>  復(fù)位電路模塊的設(shè)計。</p><p><b>  原理圖</b></p><p>  如圖3-7為復(fù)位電路模塊的設(shè)計原理圖。</p><p>  圖3-7 上電手動復(fù)位電路原理圖</p><p><b>  原理說明</b></p><p>  復(fù)位是單片機

74、的初始化操作,其目的是使CPU和系統(tǒng)中各部分處于一個確定的狀態(tài),并從這一狀態(tài)開始工作。系統(tǒng)上電路或死機后都要進行復(fù)位操作。單片機的RST引腳為復(fù)位引腳,振蕩電路正常工作后,RST端加上持續(xù)兩個機器周期的高電平后,單片機就被復(fù)位。復(fù)位電路有3種基本方式:上電復(fù)位,開關(guān)復(fù)位和看門狗復(fù)位。</p><p>  本課題采用按鍵開關(guān)復(fù)位是指通過接通按鈕開關(guān),使單片機進入復(fù)位狀態(tài)。開關(guān)復(fù)位電路一般不單獨使用。在應(yīng)用系統(tǒng)設(shè)計中

75、,若需使用開關(guān)復(fù)位電路,一般的做法是將開關(guān)復(fù)位與上電復(fù)位組合在一起形成組合復(fù)位電路,上電復(fù)位電路完成上電復(fù)位功能,開關(guān)復(fù)位電路完成人工復(fù)位。</p><p>  圖中C7與R1構(gòu)成了上電復(fù)位電路。上電復(fù)位后,電源經(jīng)R2對C6充滿電源,C6等效于開路,RESET端為低電平;單片機正常工作。按開關(guān)后,C6兩端電荷經(jīng)R2迅速放電,開關(guān)斷開后,由C6、R2及電源完成對單片機的復(fù)位操作。在上述電路中C6、R2按上電復(fù)位電路

76、的設(shè)計而取值。 復(fù)位電路的作用非常重要,能否成功復(fù)位關(guān)系但單片機系統(tǒng)能否正常運行的問題。如果振蕩電路正常而單片機系統(tǒng)不能正常運行,其主要原因是單片機沒有完成正常復(fù)位,程序計數(shù)器的值沒有回0,特殊功能寄存器沒有回到初始狀態(tài)。這時可以適當?shù)卣{(diào)整上電復(fù)位電路的阻容值,增加其充電時間常數(shù)來解決問題。</p><p>  鍵盤掃描模塊的設(shè)計。</p><p><b>  原理圖<

77、/b></p><p>  如圖3-8為鍵盤掃描模塊設(shè)計原理圖。</p><p>  圖3-8 4*4鍵盤</p><p><b>  原理說明</b></p><p>  鍵盤是單片機系統(tǒng)中最常用的人機對話輸入設(shè)備,用戶通過鍵盤向單片機輸入數(shù)據(jù)或指令。鍵盤控制程序需完成的任務(wù)有:監(jiān)測是否有鍵按下,有鍵按下時,在

78、無硬件去抖的動電路時,應(yīng)用軟件延時方法消除按鍵抖動影響;當有多個鍵同時按下時,只處理一個按鍵,不管一次按鍵持續(xù)多長時間,僅執(zhí)行一次按鍵功能程序。本設(shè)計采用鍵盤掃描由P0口驅(qū)動。4*4鍵盤設(shè)計方案,鍵盤部分布線較為困難,在設(shè)計之初本采用4*4的鍵盤模組,不僅方便,布線也快,但是4*4鍵盤模組較難買到。所以最后采用16顆規(guī)格為(0.6cm*0.6cm=邊長*寬)。滿足設(shè)計要求的所有功能。</p><p><b&

79、gt;  鍵盤布局</b></p><p>  如圖3-9是鍵盤鍵位布局。</p><p>  圖3-9 4*4鍵盤鍵位布局</p><p>  矩陣按鍵掃描程序是一種節(jié)省IO口的方法,按鍵數(shù)目越多節(jié)省IO口就越可觀。</p><p><b>  顯示電路模塊的設(shè)計</b></p><p

80、><b>  原理圖</b></p><p>  如圖3-10所示為MAX7219驅(qū)動電路原理圖。</p><p>  圖3-10 顯示板原理圖</p><p><b>  原理說明</b></p><p>  顯示板使用MAX7219驅(qū)動數(shù)碼管,它將單片機傳送過來的顯示信號進行解碼,驅(qū)動數(shù)

81、碼管顯示。具有亮度穩(wěn)定,不閃爍,可達10MHz的掃描頻率。顯示信號傳輸用線少,適合把主板和顯示板分開設(shè)計。接口定義為(只有VCC 5V電源輸入,可以和單片機同源供電,GND端,LOAD數(shù)據(jù)裝載輸入端,CLK時鐘輸入端,和DIN串行數(shù)據(jù)輸入端)。</p><p>  其中J5為連接單片機主板的數(shù)據(jù)傳輸導(dǎo)線以及電源導(dǎo)線,數(shù)碼管采用兩個四位七段共陰紅色數(shù)碼管,段掃描接有1K限流電阻,而位掃描則采用100Ω的限流電阻。同

82、時,通過調(diào)節(jié)接在ISET電阻的大小來調(diào)節(jié)最大段電流,從而也可以調(diào)節(jié)數(shù)碼管的顯示亮度。</p><p><b>  MAX7219介紹</b></p><p>  MAX7219 是一種高集成化的串行輸入/輸出共陰極顯示驅(qū)動器, 可實現(xiàn)微處理器與7段碼的接口, 可以顯示8 位或64 位單一LED。芯片上包括BCD 碼譯碼器、多位掃描電路、段驅(qū)動器、位驅(qū)動器、內(nèi)含8

83、15;8位靜態(tài)RAM ,用于存放顯示數(shù)據(jù)。只需外接一個電阻就可為所有的L ED 提供段電流。MAX7219 的三線串行接口適用于所有微處理器,單一位數(shù)據(jù)可被尋址和修正,無需重寫整個顯示器。MAX7219 具有軟件譯碼和硬件譯碼兩種功能, 軟件譯碼是根據(jù)各段筆劃與數(shù)據(jù)位的對應(yīng)關(guān)系進行編碼, 硬件譯碼采用BCD碼(簡稱B 碼) 譯碼。MAX7219 工作模式包括150μA 低壓電源關(guān)閉模式、模擬數(shù)字亮度控制、限掃寄存器(允許用戶從第1 位數(shù)

84、字顯示到第8 位) 及測試模式(點亮所有L ED)。</p><p>  MAX1279 引腳說明及功能</p><p>  MAX1279 引腳排列如圖1 所示, 引腳功能如表1 所列。MAX7219 功能框圖如圖2 所示。串行輸入數(shù)據(jù)在時鐘上升沿時移入內(nèi)部的16 位移位寄存器在裝載的上升沿時數(shù)據(jù)被鎖存在每一位或寄存器中。裝載信號必須在第16 個時鐘上升沿發(fā)生時或之后達到高電平, 但要在

85、下一個時鐘的上升沿和數(shù)據(jù)丟失之前到達。串行輸入數(shù)據(jù)通過移位寄存器傳輸, 在以后數(shù)據(jù)輸出的16. 5 個時鐘循環(huán)出現(xiàn),數(shù)據(jù)在時鐘的下降沿記錄下來。數(shù)據(jù)各位記錄為D0~D15 (如表2 所列) , D8~D11 為移位寄存器地址, D0~D7 為數(shù)據(jù), D12~D15 是無關(guān)位。第一位接收到的位是最高位D15。D7 為數(shù)據(jù)最高有效位,D0 為數(shù)據(jù)最低有效位。</p><p>  如圖3-11為MAX7219的引腳分布

86、圖。</p><p>  圖3-11 MAX7219引腳圖</p><p>  表3-1 MAX7219的引腳功能 </p><p>  4.7.5 四位七段數(shù)碼管引腳圖</p><p>  七段四位共陰數(shù)碼管引腳如圖3-12所示。</p><p>  圖3-12 四位七段數(shù)碼管引腳圖</p><

87、;p><b>  更好的解決方案</b></p><p><b>  電源部分</b></p><p>  電源部分更好解決方案如圖3-13所示。</p><p>  圖3-13 開關(guān)電源模塊</p><p>  電源部分采用開關(guān)電源設(shè)計,并有整流作用,接入電源可以不用注意極性,接入電源為D

88、C +6V,輸出也可以調(diào)壓(通過調(diào)節(jié)變阻器W1的阻值)。在無輸出時,按下S2,C4正極點為高電位,給Q2基極以高電位,Q2導(dǎo)通,使Q1基極低電位,Q1導(dǎo)通。VCC輸出。VCC輸出,通過W1,給Q2高電位,Q2持續(xù)導(dǎo)通,通過R5給Q3基極高電位,Q3導(dǎo)通。C4正極低電位。若VCC過載,電源自動關(guān)斷。VCC有輸出,再次按下S2,電源關(guān)斷。此電源的優(yōu)點為:可過載保護,不用注意輸入電源的極性??烧{(diào)電壓,精準輸出。按鈕控制,更方便。</p&

89、gt;<p><b>  鍵盤模塊的優(yōu)化方案</b></p><p>  鍵盤部分可以使用4*4鍵盤模組模組可以大大的縮小設(shè)計的體積,也使設(shè)計實物更加的美觀,同時PCB的布線也更加的簡單。</p><p><b>  硬件整體設(shè)計</b></p><p>  接下來可以進行PCB的設(shè)計了。畫板采用的軟件為Al

90、tium DXP 10(Protel的最新版本),可以很大的限度提高設(shè)計效率和設(shè)計效果。</p><p>  啟動DXP,新建PCB工程文件,新建schematic原理圖文件,根據(jù)設(shè)計的方案,以及仿真修改后的仿真圖。查找加載元器件,更改屬性,封裝……,如果找不到器件,需要自己畫器件。將器件排列,放置恰當。然后連接電氣線。由于原理圖較大,所以分為多副原理圖來畫。</p><p>  接下來更

91、改封裝,沒封裝的自己通過實物測量,畫出封裝。將原理圖導(dǎo)入新建的PCB文件中,對器件進行布局,連線,PCB布線所花時間較多,前期布線好后需要進行調(diào)整,以期達到最佳、最合理、最美觀的PCB文件。設(shè)計畫的PCB板采用單面板,20mil的最小電氣間隔,線徑有15mil,25mil,40mil,50mil等規(guī)格。</p><p>  接下來把畫好的PCB板進行打樣了。同時通過設(shè)計工程的BOM表來購買元器件。</p&g

92、t;<p>  PCB板打樣好后。接下來在PCB板得焊盤上根據(jù)器件引腳大小選擇鉆頭,使用鉆臺打通孔,然后根據(jù)PCB設(shè)計工程選擇正確器件型號,插件,確保方向、位置正確,然后焊接。接下來進行檢驗調(diào)試,用到的工具有電烙鐵、萬用表、可調(diào)電源,示波器、剪鉗等等。上電后,并沒有出現(xiàn)太多曲折,實物一步成功。如圖1.5為打樣好的PCB板。</p><p>  接下來使用STC ISP軟件對單片機進行程序的下載。工具

93、軟件提示的操作步驟,連接好串口線,查看串口通信端口,選擇好單片機型號,打開編譯好的*.HEX或*.BIN文件,設(shè)置好COM通信端口,選擇好波特率(一般默認115200),不打開單片機電源,點擊下載,當提示MCU上電時再給單片機上電。稍等一會,下載成功。</p><p><b>  軟件部分的總體設(shè)計</b></p><p>  Keil C51是美國Keil Soft

94、ware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。</p><p>  單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A

95、51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。</p><p>  在編寫程序的時候,先考慮硬件分布,以及要達到的設(shè)計效果,理清好思路,對

96、每一塊程序小模塊進行規(guī)劃設(shè)計。最后全局的設(shè)計規(guī)劃。</p><p>  由于KEIL編寫程序沒有Cfree好用,所以首先使用Cfree,把軟件整體編寫出來。然后到Keil中進行調(diào)試修改。同時應(yīng)用Proteus仿真環(huán)境。查找軟件的錯誤和缺陷,達到設(shè)計所要求的結(jié)果。如圖5-1是系統(tǒng)軟件設(shè)計流程圖。</p><p>  圖5-1 整體程序流程圖圖</p><p><

97、;b>  程序分模塊設(shè)計</b></p><p><b>  程序頭</b></p><p>  程序頭,定義顯示驅(qū)動端口,串行數(shù)據(jù)輸入DIN為P1.0腳,同步時鐘為P1.1引腳,數(shù)據(jù)輸入使能端為P1.2引腳。方便接下來的編程,便于修改程序以及更清晰地閱讀理解程序。</p><p><b>  延時子程序的設(shè)計<

98、;/b></p><p>  如圖6-1為延時子程序的程序框圖。</p><p>  圖6-1 延時程序模塊</p><p>  延時子程序,用于鍵盤掃描的防抖動,顯示發(fā)送子程序的延時,蜂鳴器響聲長度的定時等。使用到for循環(huán),總共執(zhí)行次數(shù)為,a*b*c=10*20*100=20000;若是在主頻為12MHZ的電路中,單片機執(zhí)行一條語句時間大約為1us,那么

99、這個延時為2400us,大約為20ms。</p><p><b>  鍵盤掃描子程序</b></p><p>  如圖6-2是鍵盤掃描子程序的設(shè)計流程圖,簡述鍵盤掃描程序的一個工作過程。</p><p>  圖6-2 鍵盤掃描</p><p>  按鍵掃描子程序,首先定義鍵盤端口為P0,將P0讀入的值進行分析鍵值。再將

100、鍵值轉(zhuǎn)換成數(shù)值寄存。同時當按鍵按下,還要驅(qū)動接在P3.4的蜂鳴器短響,以示按鍵已經(jīng)按下。</p><p><b>  數(shù)據(jù)發(fā)送子程序</b></p><p><b>  端口時序圖</b></p><p>  如圖6-3 MAX7219顯示驅(qū)動端口時序圖</p><p>  圖6-3 驅(qū)動端口時序

101、圖</p><p>  MAX7219寄存器</p><p>  MAX7219 有14 個可尋址的控制字寄存器(如表3) , 控制字寄存器由芯片的8×8 雙端口SRAM 識別,SRAM 直接尋址, 這樣單一的位能被更改或保留, 條件是電源電壓明顯大于2V 。控制字寄存器包括譯碼模式、顯示強度、掃描限制(被掃描位的個數(shù)) 、關(guān)閉模式、顯示測試(點亮所有的L ED) 。另外還有一個

102、空操作寄存器, 該寄存器允許數(shù)據(jù)從DIN 直送DOU T , 在設(shè)備串接情況下不會改變顯示或影響任何控制寄存器。</p><p><b>  關(guān)閉模式</b></p><p>  當MAX7219 處于關(guān)閉模式時, 掃描振蕩器停止工作,所有的段電流源接地,所有的位驅(qū)動器上拉為高電平,顯示器為消隱狀態(tài),寄存器的數(shù)據(jù)保持不變。關(guān)閉模式寄存器數(shù)據(jù)的16 進制碼為X0 ,正常

103、工作的16 進制碼為X1。系統(tǒng)上電時MAX7219 進入關(guān)閉模式,這樣,用戶必須在使用MAX7219 之前為顯示驅(qū)動器編程,否則, 它一開始就置位掃描, 數(shù)據(jù)寄存器不譯碼,強度寄存器也將置于最小值。</p><p><b>  譯碼模式</b></p><p>  寄存器可對譯碼模式寄存器的每位進行硬件譯碼(B 碼) 或軟件譯碼操作, 寄存器的每位字對應(yīng)一個數(shù), 邏輯

104、高電平選擇B 碼譯碼??刂萍拇嫫髯g碼模式如表4 所列。當選擇軟件譯碼方式時, 數(shù)據(jù)D7~D0 對應(yīng)的MAX7219 碼的各段筆劃如表5 所列。當工作于硬件(B 碼) 譯碼模式時, 譯碼器只選擇數(shù)據(jù)寄存器中較低的幾位(D3~D0) ,不考慮D4~D6 位。D7 位顯示十進制小數(shù)點,獨立于譯碼器, 當D7 = 1 時, 十進制小數(shù)DP 點亮。字符0~9 對應(yīng)的16 進制碼為X0~ X9 ,字符- 、E、H、L 、P 和消隱分別對應(yīng)的16 進

105、制碼為XA~ XF 。</p><p><b>  亮度控制</b></p><p>  MAX7219 允許用一個接于電源輸入( V +) 和段電源( Iset ) 端之間外部電阻控制顯示亮度,并且利用強度寄存器,調(diào)節(jié)面板亮度。段電流常為37mA ,最大值為40mA ,由于L ED的電壓降為2. 5 V , 故調(diào)節(jié)亮度電阻的電壓降V + - VL ED 為2. 5V

106、 (設(shè)V + = 5V) , 故7 段碼全部點亮的總電流7 ×37mA = 259mA , 外部調(diào)節(jié)亮度電阻Rset 最小值是2. 5V/ 259mA = 9. 53kΩ。段電流的位控制由一個內(nèi)部脈寬控制的DAC 提供。DAC 從強度寄存器的低位載入,D段電流的調(diào)整可分成16 階, 從31/ 32 減到1/32 ,每步減少2/ 31。當循環(huán)到31/ 32 時最亮,此時內(nèi)部位消隱時間為一個周期的1/ 32 , 消隱時間的增加則減

107、少了工作周期。31/ 32 對應(yīng)的16進制碼為×F , 隨著亮度的降低對應(yīng)的16 進制碼依次減1 ,1/ 32 對應(yīng)的16 進制碼為×0。</p><p><b>  限掃描寄存器</b></p><p>  限掃寄存器設(shè)定顯示幾個數(shù)字(1~8) , 8位顯示時的典型掃描頻率為1300Hz ,有多種顯示方式, 。如果想顯示較少的位數(shù),掃描頻率是8f

108、osc/ N ,其中N 是被掃描位的個數(shù)。由于掃描的位數(shù)影響顯示亮度, 限掃寄存器不適用于顯示消隱部分(如先行清零) 。掃描7 位時對應(yīng)的16 進制碼為X7 , 隨著掃描位數(shù)的減少對應(yīng)的16 進制碼依次減1 ,僅掃描0 位時對應(yīng)的16 進制碼為X0。</p><p>  工作周期是31/ 32。正常測試的16 進制碼為X0 ,顯示測試的16 進制碼為X1。</p><p><b>

109、;  空操作寄存器</b></p><p>  空操作寄存器在MAX7219 串接時使用,把所有芯片的LOAD 端連在一起, 并將DOU T 連接到下一個MAX7219 的DIN 上。DOU T 是CMOS 輸出, 可以驅(qū)動后邊的串接MAX7219 。例如,4 個MAX7219 串聯(lián),然后寫第4 個片子, 再送入設(shè)想的16 位字, 緊跟3 個空操作碼( X0 XX) ,當LOAD 升高時,所有裝置的數(shù)

110、據(jù)被鎖存,前3 個芯片接到空操作命令,第4 個芯片接到設(shè)想的數(shù)據(jù)。</p><p><b>  顯示檢測寄存器</b></p><p>  顯示檢測寄存器有兩種操作模式: 一般測試和顯示測試。顯示測試模式時所有的L ED點亮,方法是將所有控制字寄存器(包括關(guān)閉寄存器) 置成無效。在顯示測試模式下掃描8 位的工作周期是31/ 32。正常測試的16 進制碼為X0 ,顯示測

溫馨提示

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

評論

0/150

提交評論