畢業論文之單片機簡易計算器C51MAX_第1頁
畢業論文之單片機簡易計算器C51MAX_第2頁
畢業論文之單片機簡易計算器C51MAX_第3頁
畢業論文之單片機簡易計算器C51MAX_第4頁
畢業論文之單片機簡易計算器C51MAX_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 . PAGE44 / NUMPAGES52本科畢業設計論文題目:計算器模擬系統的設計與制作作者 指導教師專業班級 學 院 提交日期 2011年6 月 10 日 工業大學本科畢業設計論文計算器模擬系統的設計與制作指導教師: 工業大學成教學院2010年6月Dissertation Submitted to ZhejiangUniversity of Technologyfor the Degree of BachelorDesign of calculator imitatesandStudent: Wu Le-pingAdvisor: Fan LingzhiAdult education co

2、llege ZhejiangUniversity of TechnologyJun 2011浙 江 工 業 大 學畢業設計(論文)任務書專 業 班 級 學生一設計(論文)題目: 計算器模擬系統的設計與制作 二原始資料:1、郭天祥.新概念51單片機C語言教程J.電子工業,2009.1;.2、林jie.單片機應用實例與開發M.電子科技大學出版,2009.4;3、邊海龍.單片機開發與典型工程項目實例詳解J.電子工業,2008.2:;4、于永.51單片機C語言常用模塊與綜合系統設計J.電子工業,2008.5;5、義和.例說51單片機(C語言版)M.人民郵電,2010.12三設計(論文)要求:1、計算器

3、能顯示8位數字,開機運行時,只有數碼管最低位顯示為“0”,其余位全部不顯示2、具有44鍵盤,分別表示09、/ 、和清零鍵CL,輸入的數字從設計的鍵盤輸入;3、可對兩個無符號數進行加、減、乘、除運算,并顯示計算結果。4、結果溢出時發出“嘀”報警聲。5、制作出實物,寫出合格的畢業論文。四畢業設計(論文)容: 1設計(論文)說明書(根據大綱要求) 一份 2 設計(論文)圖紙 單片機簡易計算器原理圖 五畢業設計(論文)工作期限: 任務書發給日期 2011 年 4 月 25 日 設計(論文)工作自 2011 年 4 月 25 日 至 2011 年 6 月 10 日 指導教師 系主任 主管院長 計算器模擬

4、系統的設計與制作摘 要當今社會,隨著人們物質生活的不斷提高,電子產品已經走進了家家戶戶,無論是生活或學習,還是娛樂和消遣幾乎樣樣都離不開電子產品,大型復雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為一種快速通用的計算工具方便了用戶的使用。而計算器是人們日常非常熟悉的一款電子產品,本設計著重在于分析計算器軟件和開發過程中的環節和步驟,并從實踐經驗出發對計算器設計做了詳細的分析和研究,單片機已逐漸成為電子產品研制和開發中首選的控制器,它的應用越來越成為人們關注的焦點,本設計基于STC89C51單片機以與MAX7219數碼管顯示驅動來設計簡易計算器。通過其他外圍模塊電路的設計,電源模塊

5、,單片機程序下載模塊,蜂鳴器驅動模塊,單片機最小系統的設計,MAX7219驅動電路,組成簡易計算器。論文從設計要求出發,通過對每個方案的分析和研究,最終確立最佳方案。論文分析簡易計算器模擬系統的設計過程,每個硬件模塊的設計詳情以與軟件部分的設計詳情,來闡述整個設計。最終根據設計方案,制作出實物。關鍵詞:單片機 STC89C51 MAX7219 數碼管DESIGN OF CALCULATER IMITATESANDAbstractIs social nowadays, continuously raise along with peoples physical life, the electro

6、nics 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 electronics product, the large and complicated calculation ability is a person brain not competent for of, and a little bit easily

7、come amiss.The calculator is a kind of quickly in general use calculation tool convenience the customers use.But the calculator is a style of electronics product that acquaint with really everyday of people, this design emphasizes to lie in analyze calculator software and development process in of t

8、he link and the step, and from practiced experience to set out to do a detailed analysis and research to the calculator design,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 beco

9、mes 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 piece electric circuits, the power mold piece, the list slice machine procedure downloa

10、ds a mold piece, the buzzer drives a mold piece, list the design of the slice machines minimum system, the MAX7219 drives electric circuit and constitutes simple calculator.The thesis requests to set out from the design, passes the analysis to each project and research and finally establishes the be

11、st project.The thesis is analytical the simple calculator imitate the design process of system, the design detail of each hardware mold piece and the design detail of the software part, elaborate the whole design.Finally according to the design project, create a real object.Keyword:Single-chip MCU S

12、TC89C51 MAX7219 Nixie tubu目 錄TOC o 1-2 h u HYPERLINK l _Toc295484591摘要i HYPERLINK l _Toc295484592 Abstract PAGEREF _Toc295484592 h ii HYPERLINK l _Toc295484593 第一章 緒論 PAGEREF _Toc295484593 h 1HYPERLINK l _Toc2954845941.1研究單片機簡易計算器的意義 PAGEREF _Toc295484594 h 1 HYPERLINK l _Toc295484595 1.2 計算器的發展趨勢 P

13、AGEREF _Toc295484595 h 1 HYPERLINK l _Toc295484596 1.3 本文研究思路與安排 PAGEREF _Toc295484596 h 2 HYPERLINK l _Toc295484597 第二章 計算器模擬系統的設計與制作總體方案 PAGEREF _Toc295484597 h 3 HYPERLINK l _Toc295484598 2.1 使用到的工具軟件 PAGEREF _Toc295484598 h 4 HYPERLINK l _Toc295484599 2.2 多個方案的對比 PAGEREF _Toc295484599 h 4 HYPERL

14、INK l _Toc295484604 第三章 核心部分硬件仿真 PAGEREF _Toc295484604 h 5 HYPERLINK l _Toc295484605 第四章 模塊電路設計詳解 PAGEREF _Toc295484605 h 7 HYPERLINK l _Toc295484606 4.1 電源部分的設計 PAGEREF _Toc295484606 h 7 HYPERLINK l _Toc295484609 4.2 程序下載模塊的設計 PAGEREF _Toc295484609 h 8 HYPERLINK l _Toc295484613 4.3 單片機最小系統的設計 PAGER

15、EF _Toc295484613 h 10 HYPERLINK l _Toc295484618 4.4 時鐘電路模塊的設計。 PAGEREF _Toc295484618 h 12 HYPERLINK l _Toc295484621 4.5 復位電路模塊的設計。 PAGEREF _Toc295484621 h 13 HYPERLINK l _Toc295484624 4.6 鍵盤掃描模塊的設計。 PAGEREF _Toc295484624 h 14 HYPERLINK l _Toc295484628 4.7 顯示電路模塊的設計 PAGEREF _Toc295484628 h 16 HYPERLI

16、NK l _Toc295484634 4.8 更好的解決方案 PAGEREF _Toc295484634 h 18 HYPERLINK l _Toc295484637 第五章 硬件整體設計 PAGEREF _Toc295484637 h 20 HYPERLINK l _Toc295484638 第六章 軟件部分的總體設計 PAGEREF _Toc295484638 h 20 HYPERLINK l _Toc295484639 第七章 程序分模塊設計 PAGEREF _Toc295484639 h 21 HYPERLINK l _Toc295484640 7.1 程序頭 PAGEREF _Toc

17、295484640 h 21 HYPERLINK l _Toc295484641 7.2 延時子程序的設計 PAGEREF _Toc295484641 h 21 HYPERLINK l _Toc295484642 7.3 鍵盤掃描子程序 PAGEREF _Toc295484642 h 22 HYPERLINK l _Toc295484643 7.4 數據發送子程序 PAGEREF _Toc295484643 h 23 HYPERLINK l _Toc295484653 7.5 數據顯示子程序 PAGEREF _Toc295484653 h 27 HYPERLINK l _Toc29548465

18、4 7.6 主函數 PAGEREF _Toc295484654 h 28 HYPERLINK l _Toc295484655 第八章 總結與展望 PAGEREF _Toc295484655 h 29 HYPERLINK l _Toc295484656 參考文獻 PAGEREF _Toc295484656 h 30 HYPERLINK l _Toc295484657 致 PAGEREF _Toc295484657 h 31 HYPERLINK l _Toc295484658 附錄1.硬件仿真圖 PAGEREF _Toc295484658 h 32 HYPERLINK l _Toc29548465

19、9 附錄2.硬件原理圖和PCB圖 PAGEREF _Toc295484659 h 34 HYPERLINK l _Toc295484660 附錄3.制作好的實物 PAGEREF _Toc295484660 h 36 HYPERLINK l _Toc295484661 附錄4.程序清單 PAGEREF _Toc295484661 h 37緒 論當今社會,隨著人們物質生活的不斷提高,電子產品已經走進了家家戶戶,無論是生活或學習,還是娛樂和消遣幾乎樣樣都離不開電子產品,大型復雜的計算能力是人腦所不能勝任的,而且比較容易出錯。計算器作為一種快速通用的計算工具方便了用戶的使用。計算器是人們普遍擁有電子產

20、品之一。本設計著重在于分析計算器軟件和開發過程中的環節和步驟,并從實踐經驗出發對計算器設計做了詳細的分析和研究。單片機已逐漸成為電子產品研制和開發中首選的控制器,它的應用越來越成為人們關注的焦點,51單片機是對目前所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術的發展,8031單片機取得了長足的進展,成為目前應用最廣泛的8位單片機之一,51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。本系統就是充分利用了51單片機的I/O引腳。本設計基于STC89C51單片機以與MAX7219數碼管顯示驅動來設計簡易計算器

21、,周邊硬件環境設計有STC51系列單片機的程序下載模塊,電源模塊等。1.1 研究單片機簡易計算器的意義單片機已逐漸成為電子產品研制和開發中首選的控制器,它的應用越來越成為人們關注的焦點,計算器在日常生活中是比較常見的電子產品之一。用單片機來實現計算器的基本功能這一課題不僅能與生活實際相結合,又能很好的驗證我們的基礎知識和動手能力。也是對整個大學所學習的知識的一個總結和回顧。1.2 計算器的發展趨勢計算器只是簡單的計算工具,有些機型具備函數計算功能,有些機型具備一定的貯存功能,但一般只能存儲幾組數據。計算機能夠實現數據的錄入、處理、存儲和輸出,但它所以 中國古老的計算器-算盤它不能自動地實現這些

22、操作過程,必須由人來操作完成。現在使用的計算器大部分都是由一塊IC和一塊LCD顯示屏,再加上電源模塊就可以完成復雜的運算。運行在計算機里的編寫好的程序有更好的人機交互界面,更強大的計算能力,還可以完成一些特殊的運算,比如數制的轉換,復雜函數運算,甚至連很多軟件都帶有計算功能,比如OFFICE辦公軟件等等。同時,移動設備如手機,平板電腦都可以應用相關應用程序,或者本身有相關功能。也可以進行一些簡單或者復雜的運算。如今,掌上計算器也朝著更小型化,更多功能用途,更智能化發展,而且價格更便宜,連手機也有相關應用程序可使用。1.3 本文研究思路與安排本設計采用STC89C51作為設計的硬件基礎,STC8

23、9C51與MCS-51單片機產品兼容、8K字節在系統可編程Flash存儲器、1000次擦寫周期、全靜態操作:0Hz33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數據指針、掉電標識符。完全符合設計所需的硬件標準。P1口作為顯示接口和AT89S51系列的ISP,我們預留了兩排的接插件,一排用于顯示接口,使用3個I/O口(P1.0,P1.1,P1.2,),加上VCC,GND電源端用于驅動顯示板顯示所顯示的容。P3口主要用于STC系列單片機的ISP,和驅動蜂鳴器的的發聲。其他I/

24、O口閑置。P0口加上103(10K)上拉電阻,用于驅動鍵盤,進行鍵盤識別掃描。P2口在設計中沒有分配應用,但是預留接插件,以便擴展使用。設計有針對于STC51系列單片機的程序下載模塊。設計有電源模塊和蜂鳴器驅動模塊。時鐘信號采用12MHZ的晶振,因為未接外部ROM,所以EA腳接高電平,復位電路使用的是上電復位,同時加上手動復位。主板的硬件設計。由于考慮到顯示的穩定性,硬件資源占用等因素,顯示板采用MAX7219驅動兩個四位七段共陰數碼管作為顯示板。計算器模擬系統的設計與制作總體方案設計要求基于51單片機設計出簡易計算器系統,于是預選用STC89C51,如果部ROM不足,可選用STC89C51或

25、者其他兼容型號單片機。因為設計的是簡易計算器系統,于是需要鍵盤輸入,所需鍵位為4*4鍵盤,于是可以使用4*4矩陣式鍵盤,由一個I/O口來驅動。結果的顯示采用兩個四位七段數碼管來實現,可滿足要求,顯示驅動可使用74LS244,MAX7219,單片機最小系統設計比較固定,不需要更改太多,同時設計的時候,可以進行一些擴展,比如加入STCISP功能。本設計采用STC89C51作為設計的硬件基礎,STC89C51與MCS-51單片機產品兼容、8K字節在系統可編程Flash存儲器、1000次擦寫周期、全靜態操作:0Hz33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數器八個中斷源

26、、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數據指針、掉電標識符。完全符合設計所需的硬件標準。P1口作為顯示接口和AT89S51系列的ISP,我們預留了兩排的接插件,一排用于顯示接口,使用3個I/O口(P1.0,P1.1,P1.2,),加上VCC,GND電源端用于驅動顯示板顯示所顯示的容。P3口主要用于STC系列單片機的ISP,和驅動蜂鳴器的的發聲。其他I/O口閑置。P0口加上103(10K)上拉電阻,用于驅動鍵盤,進行鍵盤識別掃描。P2口在設計中沒有分配應用,但是預留接插件,以便擴展使用。設計有針對于STC51系列單片機的程序下載模塊。設計有電源模塊和蜂

27、鳴器驅動模塊。時鐘信號采用12MHZ的晶振,因為未接外部ROM,所以EA腳接高電平,復位電路使用的是上電復位,同時加上手動復位。主板的硬件設計,硬件布局如圖1-1所示。圖1-1 硬件分布圖 由于考慮到顯示的穩定性,硬件資源占用等因素,顯示板采用MAX7219驅動兩個四位七段共陰數碼管作為顯示板。2.1使用到的工具軟件使用到的工具:電烙鐵、可調電源、萬用表、鉆孔臺、示波器、計算機等。使用到的軟件:Altium DXP、Proteus ISIS、KEIL、C-Free、MS Office、STC ISP、Atmel ISP、Adobe Photoshop等計算機應用軟件。2.2多個方案的對比在設計

28、之初,進行設計規劃的時候,通過自己的所學知識以與查閱一些書籍還有網上查找了很多資料,設計了多個方案,綜合考慮各方面因素。進行對比分析,最終選擇最優的設計方案。各方案的設計具體如下。方案一:在一開始設計的時候,我們采用了P0口( P0口加上10K上拉電阻)作為段碼驅動顯示,P2口作為位驅動,P1口作為鍵盤驅動識別,這樣,P0口作為段驅動,可以使數碼管更亮(通過調節上拉電阻的阻值,單片機其他準IO口部有30K的上拉電阻,這里采用10K的上拉電阻,可以比其他IO口輸出更大的電流)缺點,鍵盤布局不適合使用操作,PCB布線較多的跳線。方案二:采用P1口段驅動顯示,P2口位驅動,在段驅動加上74LS244

29、緩沖器,使顯示更穩定,P0口加上10K上拉電阻作為鍵盤掃描識別。但是通過和方案四的對比,發現顯示依然不夠穩定,PCB布線跳線較多,如果開發為兩塊板,導線需要較多,不夠穩定。方案三:采用P0口加上10K上拉電阻作為段驅動顯示,P2口位驅動,在P0口接74HC573作為段驅動。P2口接74LS138,作為位驅動,P1作為鍵盤掃描識別。PCB布線較為復雜,而且程序的設計也較為的復雜。方案四:最終確定使用顯示板使用MAX7219驅動兩個共陰四位七段紅色數碼管顯示數字。因為使用MAX7219驅動數碼管顯示,亮度穩定,不閃爍,傳統數碼管顯示驅動電路占用的系統資源較多。若為動態顯示,則8位數碼管顯示驅動電路

30、一般由1 片8255 和4片5407構成,不僅占用硬件資源多,而且需要通過軟件定時刷新,故占用軟件資源也不少;若為靜態顯示,則8 位數碼管顯示驅動電路一般由8片54LS164構成,所占用硬件資源太多。MAX7219以其串行接口的傳輸速率可達10 MHz,獨立的發光二極管段控制,譯碼與非譯碼兩種顯示方式可選,數字、模擬兩種亮度控制方式,可以級聯使用,顯示接口簡單等特點,而采用1片MAX7219便可完成8位數碼管的顯示驅動任務。方案四硬件設計思路為:P1口為顯示驅動,與AT89S系列單片機的ISP作用, P0口接上拉電阻(103,10K),用于4*4鍵盤掃描,蜂鳴器由P34口驅動。單片機復位方式使

31、用上電自動復位,時鐘部分使用12MHz外部晶振。P3.0,P3.1專用STC51單片機程序下載,其他I/O口未使用,P2口閑置,備以后擴展使用。J20其中三個引腳接到P1.0,P1.1,P1.2,分別為LOAD(數據裝載輸入端),CLK(單片機提供給顯示驅動芯片MAX7219的時鐘信號),DIN(串行數據輸入),加上兩個電源端口,驅動顯示板。同時硬件電路還設計了電源部分(主要為穩壓,限壓,濾波,開關,與電源的接駁),集成STC51系列單片機的程序下載電路部分。設計蜂鳴器驅動電路,用于聲音提示(按鍵聲音,結果溢出提示聲音。單片機最小系統,承載單片機的基礎應用硬件環境。4*4鍵盤掃描模塊。MAX7

32、219顯示板,與與單片機的接口方案。確立好實現方案后,接下來使用Proteus進行仿真方案通過Proteus仿真環境進行修改、完善硬件和程序設計。核心部分硬件仿真Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機與外圍器件。它是目前最好的仿真單片機與外圍器件的工具。Protues可以很方便的查找出所設計的軟件和硬件的缺陷和錯誤,與時的發現錯誤,并且更快的改正錯誤。可以大大的減少了開發一款產品的時間,同時也可以避免很多不必要的浪費(如果使用硬件來調試軟件,在修改設計的過程中可能要頻繁的對硬件的參數,電

33、路連接進行修改,耗時、費力,還會造成硬件的損壞,造成不必要的浪費)。啟動Proteus ISIS,設置好設計模板,查找設計所需的相關器件(七段八位數碼管、MAXIM 美信MAX7219、KEYPAD 4*4矩陣鍵盤、RESPACK 九針排阻、51單片機,這里選用AT89C51)按照規劃好的位置排列好,連接好電氣線路(這里為了整個圖的美觀,所以大部分使用總線、網絡標號的方式建立電氣連接)。完成仿真圖的設計。如下圖是本設計的所需的最主要的幾個器件。把器件擺放整齊,適合電氣連接。接下來就是連接電氣連接線了。連接好后,認真檢查,最好的方法就是加載確認為正確的測試程序,測試各個模塊是否連接正確。設計好了

34、的仿真電路圖,如圖2-1為設計好的仿真圖。圖2-1 畫好的仿真電路圖接下來就把寫好的,編譯好的程序加載,運行仿真,在仿真中找到程序,硬件中的問題,與時改正。如下圖,就是設計好的仿真圖。在左上角加上文字框,可以讓別人更直觀的了解是什么設計,設計的要什么。軟件已經設計好了,并且已經仿真成功,如圖2-2就是正在仿真中的虛擬硬件。圖示顯示計算結果為334。在Proteus仿真的虛擬的環境下,軟件和硬件已經達到了設計所要求。圖2-2 正在仿真的硬件圖仿真已經達到了設計所要求的結果。接下來通過查找資料、自己的所學知識以與通過Proteus仿真的正確結果,接下來可以進行實際的硬件設計環節了,接下來將在實際硬

35、件環境中進行試驗。模塊電路設計詳解4.1 電源部分的設計4.1.1原理圖如圖3-1為電源模塊原理圖圖3-1 電源模塊電路4.2.2原理說明當打開電源開關,電源不穩,會產生雜波,而單片機對于電源電壓非常敏感,從而影響單片機的正常工作。為了避免與此,我們設計了濾波電路,起到濾波的作用,從而更好的避免不必要的故障發生。本設計的電源電路有電源接口,開關,LED指示燈和濾波、穩壓電路組成。濾波電路的原理:信號頻率越高,電容的容抗越小,而電感的感抗越大。利用電容和電感的這一特性,將電容與負載RL并聯,或將電感與負載RL串聯,則能去掉或衰減脈動直流電壓中的高頻交流成分,保留直流成分。本電路的濾波是由電容濾波

36、和RC濾波構成。LED是用來指示電源接通的情況。電源部分的設計沒有涉與到變壓,整流部分,只是對器件BNC(DC頭)的直流5V電壓進行開關設計,電源指示,穩壓,限壓,濾波作用,其中使用到了5.1V/1W穩壓管,使供給單片機的和其他部分模塊的電源限制在5V,或低于5V。電源的輸入采用2.5mm口徑的DC頭,可使用計算機USB口供電,或者使用USB接口輸出5V電壓的MP3,MP4或者手機的電源適配器進行供電。既方便,又經濟。程序下載模塊的設計原理圖程序下載模塊原理圖,如圖3-2所示。圖3-2 串口程序下載模塊原理說明上圖的原理圖為STC51系列單片機的程序下載模塊,使用串口進行程序的下載。由J4串口

37、接口連接到電腦的串口通信端口,使計算機能和單片機通信。通過STC ISP計算機端軟件,把編寫好的并編譯好的程序文件下載到單片機的部ROM中。RS232的供電由設計的主板統一供電。Atmel的89S51 P1口預留有接插件,方便程序下載,AT89S系列單片機下載板需另外制作,使用并口下載,較為麻煩。J4為DB9的九針串口接口,RS232為DIP16封裝的MAXIM公司的MAX232EPE周邊電容為50V 1Uf的電解質電容。MAX232芯片是美信公司專門為電腦的RS-232標準串口設計的單電源電平轉換芯片,使用+5v單電源供電。器件引腳介紹第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電

38、容構成。功能是產生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數據轉換通道。由7、8、9、10、11、12、13、14腳構成兩個數據通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數據通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數據通道。TTL/CMOS數據從T1IN、T2IN輸入轉換成RS-232數據從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數據從R1IN、R2IN輸入轉換成TTL/CMOS數據后從R1OUT、R2OUT輸出。第三部分是供電。15

39、腳GND、16腳VCC(+5v)。如圖3-3所示引腳圖。圖3-3 MAX232引腳圖 單片機最小系統的設計4.3.1引腳分布圖本設計采用的為DIP40封裝的STC89C51RC,如圖3-4所示圖3-4 STC89C51引腳圖各引腳功能說明cc:+5V電源電壓。ss:電路接地端。P0.0P0.7:通道0,它是8位漏極開路的雙向I/O通道,當擴展外部存貯器時,這也是低八位地址和數據總線,在編程和校驗期間,它輸入和輸出字節代碼,通道0吸收/發出二個TTL負載P1.0P1.7:通道1是8位擬雙向I/O通道,在編程和校驗時,它發出低8位地址。通道吸收/發出一個TTL負載。P2.0P2.7:通道2是8位擬

40、雙向I/O通道,當訪問外部存貯器時,用作高8位地址總線。通道2能吸收/發出一個TTL負載。P3.0P3.7:通道3準雙向I/O通道。通道3能吸收/發出一個TTL負載,P3通道的每一根線還有另一種功能:P3.0:RXD,串行輸入口。P3.1:TXD,串行輸出口。P3.2:INT0,外部中斷0輸入口。P3.3:INT1,外部中斷1輸入口。P3.4:T0,定時器/計數器0外部事件脈沖輸入端。P3.5:T1,定時器/計數器1外部事件脈沖輸入端P3.6:WR,外部數據存貯器寫脈沖。P3.7:RD,外部數據存貯器讀脈沖。RST/VpD:引腳9,復位輸入信號,振蕩器工作時,該引腳上2個機器周期的高電平可以實

41、現復位操作,在掉電情況下(Vcc降到操作允許限度以下), 后備電源加到此引腳,將只給片RAM供電。ALE/PROG:引腳30,地址鎖存有效信號,其主要作用是提供一個適當的定時信號,在它的下降沿用于外部程序存儲器或外部數據存貯器的低8位地址鎖存,使總線 P0輸出/輸入口分時用作地址總線(低8位)和數據總線, 此信號每個機器出現2次,只是在訪問外部數據存儲器期間才不輸出ALE。所以,在任何不使用外部數據存貯器的系統中,ALE以1/6振蕩頻率的固定速率輸出,因而它能用作外部時鐘或定時,8751的EPROM編程時,此端輸編程脈沖信號。PSEN:引腳29,程序選通有效信號,當從外部程序存貯器讀取指令時產

42、生, 低電平時,指令寄存器的容讀到數據總線上。EA/VPP:引腳31,當保持TTL高電平時,如果指令計數器小于4096,8051執行部ROM的指令,8751執行部EPROM的指令,當使TTL為低電平時,從外部程序存貯器取出所有指令,在8751的EPROM編程時,此端為21V編程電源輸入端。XTAL1:引腳18,部振蕩器外接晶振的一個輸入端,HMOS芯片使用外部振蕩源時,此端必須接地。XTAL2:引腳19,部振蕩器外接晶振的另一個輸入端,HMOS芯片使用外部振蕩器時,此端用于輸入外部振蕩信號。單片機最小系統如圖3-5為設計好的單片機最小系統設計原理圖。圖3-5 單片機最小系統原理圖設計說明在進行

43、I/O口工作分配的時候,考慮到布線與產品的美觀性,以與操作的簡易性,P1口為顯示驅動,與AT89S系列單片機的ISP作用,P1.5 MOSI(在系統編程用)P1.6 MISO(在系統編程用)P1.7 SCK(在系統編程用)。P0口接上拉電阻(103,10K),用于4*4鍵盤掃描,蜂鳴器由P34口驅動。單片機復位方式使用上電自動復位,時鐘部分使用12MHz外部晶振。P3.0,P3.1專用STC51單片機程序下載,其他I/O口未使用,P2口閑置,備以后擴展使用。J20其中三個引腳接到P1.0,P1.1,P1.2,分別為LOAD(數據裝載輸入端),CLK(單片機提供給顯示驅動芯片MAX7219的時鐘

44、信號),DIN(串行數據輸入),加上兩個電源端口,驅動顯示板。4.4 時鐘電路模塊的設計。原理圖如圖3-6為時鐘電路模塊的設計原理圖。圖3-6 時鐘電路圖原理說明單片機的最小系統有三部分組成,即電源,時鐘電路和復位電路。其中單片機的電源引腳與5V電源連通即可,而時鐘電路和復位電路還需接口擴展,這也是單片機的基本電路操作。時鐘電路用于產生單片機工作所需的時鐘信號,時序是指令執行中各信號之間的相互關系。單片機本身就如同一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。在STC89C52單片機部帶有時鐘電路,因此,只需要在片外通過XTAL1和XTA

45、L2引腳接入定時控制元件(晶體振蕩器和電容),即可構成一個穩定的自激振蕩器。在STC89C52芯片部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調電容。在單片機的XTAL1腳和XTAL2腳之間并接一個晶體振蕩器就構成了部振蕩方式。STC89C52單片機部有一個高增益的反相放大器,XTAL1為部反相放大器的輸入端,XTAL2為部反相放大器的輸出端,在其兩端接上晶振后,就構成了自激振蕩電路,并產生振蕩脈沖,振蕩電路輸出的脈沖信號的頻率就是晶振的固有頻率。在實際應用常還需要在晶振的兩端和地之間各并上一個小電容。用晶振和電容構成諧振電路。電容大小與晶振頻率和工作

46、電壓有關。但電容的大小影響振蕩器的穩定性和起振的快速性,為了提高精度,本實驗板采用20pF的電容作為微調電容。在設計電路板時,晶振、電容等均應盡可能靠近芯片,減小分布電容,以保證振蕩器振蕩的穩定性。 復位電路模塊的設計。原理圖如圖3-7為復位電路模塊的設計原理圖。C6CDS18SW SPSTVCC1KR2Res2RESET圖3-7 上電手動復位電路原理圖原理說明復位是單片機的初始化操作,其目的是使CPU和系統中各部分處于一個確定的狀態,并從這一狀態開始工作。系統上電路或死機后都要進行復位操作。單片機的RST引腳為復位引腳,振蕩電路正常工作后,RST端加上持續兩個機器周期的高電平后,單片機就被復

47、位。復位電路有3種基本方式:上電復位,開關復位和看門狗復位。本課題采用按鍵開關復位是指通過接通按鈕開關,使單片機進入復位狀態。開關復位電路一般不單獨使用。在應用系統設計中,若需使用開關復位電路,一般的做法是將開關復位與上電復位組合在一起形成組合復位電路,上電復位電路完成上電復位功能,開關復位電路完成人工復位。圖中C7與R1構成了上電復位電路。上電復位后,電源經R2對C6充滿電源,C6等效于開路,RESET端為低電平;單片機正常工作。按開關后,C6兩端電荷經R2迅速放電,開關斷開后,由C6、R2與電源完成對單片機的復位操作。在上述電路中C6、R2按上電復位電路的設計而取值。 復位電路的作用非常重

48、要,能否成功復位關系但單片機系統能否正常運行的問題。如果振蕩電路正常而單片機系統不能正常運行,其主要原因是單片機沒有完成正常復位,程序計數器的值沒有回0,特殊功能寄存器沒有回到初始狀態。這時可以適當地調整上電復位電路的阻容值,增加其充電時間常數來解決問題。鍵盤掃描模塊的設計。原理圖如圖3-8為鍵盤掃描模塊設計原理圖。圖3-8 4*4鍵盤原理說明鍵盤是單片機系統中最常用的人機對話輸入設備,用戶通過鍵盤向單片機輸入數據或指令。鍵盤控制程序需完成的任務有:監測是否有鍵按下,有鍵按下時,在無硬件去抖的動電路時,應用軟件延時方法消除按鍵抖動影響;當有多個鍵同時按下時,只處理一個按鍵,不管一次按鍵持續多長

49、時間,僅執行一次按鍵功能程序。本設計采用鍵盤掃描由P0口驅動。4*4鍵盤設計方案,鍵盤部分布線較為困難,在設計之初本采用4*4的鍵盤模組,不僅方便,布線也快,但是4*4鍵盤模組較難買到。所以最后采用16顆規格為(0.6cm*0.6cm=邊長*寬)。滿足設計要求的所有功能。鍵盤布局如圖3-9是鍵盤鍵位布局。圖3-9 4*4鍵盤鍵位布局矩陣按鍵掃描程序是一種節省IO口的方法,按鍵數目越多節省IO口就越可觀。顯示電路模塊的設計原理圖如圖3-10所示為MAX7219驅動電路原理圖。圖3-10 顯示板原理圖原理說明顯示板使用MAX7219驅動數碼管,它將單片機傳送過來的顯示信號進行解碼,驅動數碼管顯示。

50、具有亮度穩定,不閃爍,可達10MHz的掃描頻率。顯示信號傳輸用線少,適合把主板和顯示板分開設計。接口定義為(只有VCC 5V電源輸入,可以和單片機同源供電,GND端,LOAD數據裝載輸入端,CLK時鐘輸入端,和DIN串行數據輸入端)。其中J5為連接單片機主板的數據傳輸導線以與電源導線,數碼管采用兩個四位七段共陰紅色數碼管,段掃描接有1K限流電阻,而位掃描則采用100的限流電阻。同時,通過調節接在ISET電阻的大小來調節最大段電流,從而也可以調節數碼管的顯示亮度。MAX7219介紹MAX7219 是一種高集成化的串行輸入/輸出共陰極顯示驅動器, 可實現微處理器與7段碼的接口, 可以顯示8 位或6

51、4 位單一LED。芯片上包括BCD 碼譯碼器、多位掃描電路、段驅動器、位驅動器、含88位靜態RAM ,用于存放顯示數據。只需外接一個電阻就可為所有的L ED 提供段電流。MAX7219 的三線串行接口適用于所有微處理器,單一位數據可被尋址和修正,無需重寫整個顯示器。MAX7219 具有軟件譯碼和硬件譯碼兩種功能, 軟件譯碼是根據各段筆劃與數據位的對應關系進行編碼, 硬件譯碼采用BCD碼(簡稱B 碼) 譯碼。MAX7219 工作模式包括150A 低壓電源關閉模式、模擬數字亮度控制、限掃寄存器(允許用戶從第1 位數字顯示到第8 位) 與測試模式(點亮所有L ED)。MAX1279 引腳說明與功能M

52、AX1279 引腳排列如圖1 所示, 引腳功能如表1 所列。MAX7219 功能框圖如圖2 所示。串行輸入數據在時鐘上升沿時移入部的16 位移位寄存器在裝載的上升沿時數據被鎖存在每一位或寄存器中。裝載信號必須在第16 個時鐘上升沿發生時或之后達到高電平, 但要在下一個時鐘的上升沿和數據丟失之前到達。串行輸入數據通過移位寄存器傳輸, 在以后數據輸出的16. 5 個時鐘循環出現,數據在時鐘的下降沿記錄下來。數據各位記錄為D0D15 (如表2 所列) , D8D11 為移位寄存器地址, D0D7 為數據, D12D15 是無關位。第一位接收到的位是最高位D15。D7 為數據最高有效位,D0 為數據最

53、低有效位。如圖3-11為MAX7219的引腳分布圖。圖3-11 MAX7219引腳圖表3-1 MAX7219的引腳功能 引腳名稱功能1DIN串行數據輸入端,時鐘上升沿時,數據存入部的16 位移位寄存器2 ,32、3、5、6、7、8、10、11DIG07數碼管位驅動線(8 位)4、9GND地線(兩腳必須相連)12LOAD輸入數據裝載端。在裝載的上升沿,串行輸入的最后一個16 位數據被鎖存13CL K時鐘輸入端。最大頻率10MHz ,時鐘上升沿時數據移入,時鐘下降沿時數據從串行數據輸出口輸出1417,223AG,DP數碼管段驅動線(8 段)18Iset段電流輸入端。通過連接在V + 端與Iset

54、端之間的電阻Rset 設置段電流的大小19V +電源20DOUT串行數據輸出端。從DIN 端輸入的數據經過16. 5 個時鐘周期后輸出到DOUT 端4.7.5 四位七段數碼管引腳圖七段四位共陰數碼管引腳如圖3-12所示。圖3-12 四位七段數碼管引腳圖 更好的解決方案電源部分電源部分更好解決方案如圖3-13所示。圖3-13 開關電源模塊電源部分采用開關電源設計,并有整流作用,接入電源可以不用注意極性,接入電源為DC +6V,輸出也可以調壓(通過調節變阻器W1的阻值)。在無輸出時,按下S2,C4正極點為高電位,給Q2基極以高電位,Q2導通,使Q1基極低電位,Q1導通。VCC輸出。VCC輸出,通過

55、W1,給Q2高電位,Q2持續導通,通過R5給Q3基極高電位,Q3導通。C4正極低電位。若VCC過載,電源自動關斷。VCC有輸出,再次按下S2,電源關斷。此電源的優點為:可過載保護,不用注意輸入電源的極性。可調電壓,精準輸出。按鈕控制,更方便。鍵盤模塊的優化方案鍵盤部分可以使用4*4鍵盤模組模組可以大大的縮小設計的體積,也使設計實物更加的美觀,同時PCB的布線也更加的簡單。硬件整體設計接下來可以進行PCB的設計了。畫板采用的軟件為Altium DXP 10(Protel的最新版本),可以很大的限度提高設計效率和設計效果。啟動DXP,新建PCB工程文件,新建schematic原理圖文件,根據設計的

56、方案,以與仿真修改后的仿真圖。查找加載元器件,更改屬性,封裝,如果找不到器件,需要自己畫器件。將器件排列,放置恰當。然后連接電氣線。由于原理圖較大,所以分為多副原理圖來畫。接下來更改封裝,沒封裝的自己通過實物測量,畫出封裝。將原理圖導入新建的PCB文件中,對器件進行布局,連線,PCB布線所花時間較多,前期布線好后需要進行調整,以期達到最佳、最合理、最美觀的PCB文件。設計畫的PCB板采用單面板,20mil的最小電氣間隔,線徑有15mil,25mil,40mil,50mil等規格。接下來把畫好的PCB板進行打樣了。同時通過設計工程的BOM表來購買元器件。PCB板打樣好后。接下來在PCB板得焊盤上

57、根據器件引腳大小選擇鉆頭,使用鉆臺打通孔,然后根據PCB設計工程選擇正確器件型號,插件,確保方向、位置正確,然后焊接。接下來進行檢驗調試,用到的工具有電烙鐵、萬用表、可調電源,示波器、剪鉗等等。上電后,并沒有出現太多曲折,實物一步成功。如圖1.5為打樣好的PCB板。接下來使用STC ISP軟件對單片機進行程序的下載。工具軟件提示的操作步驟,連接好串口線,查看串口通信端口,選擇好單片機型號,打開編譯好的*.HEX或*.BIN文件,設置好COM通信端口,選擇好波特率(一般默認115200),不打開單片機電源,點擊下載,當提示MCU上電時再給單片機上電。稍等一會,下載成功。軟件部分的總體設計Keil

58、 C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是目前最流行開發MCS-51系列單片機的軟件,Keil

59、提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。在編寫程序的時候,先考慮硬件分布,以與要達到的設計效果,理清好思路,對每一塊程序小模塊進行規劃設計。最后全局的設計規劃。由于KEIL編寫程序沒有Cfree好用,所以首先使用Cfree,把軟件整體編寫出來。然后到Keil中進行調試修改。同時應用Proteus仿真環境。查找軟件的錯誤和缺陷,達到設計所要求的結果。如圖5-1是系統軟件設計流程圖。圖5-1 整體程序流程圖圖程序分模塊設計程序頭程序頭,定義顯示驅動端口,串行數據輸入DIN為P1.0腳,同步時

60、鐘為P1.1引腳,數據輸入使能端為P1.2引腳。方便接下來的編程,便于修改程序以與更清晰地閱讀理解程序。延時子程序的設計如圖6-1為延時子程序的程序框圖。圖6-1 延時程序模塊延時子程序,用于鍵盤掃描的防抖動,顯示發送子程序的延時,蜂鳴器響聲長度的定時等。使用到for循環,總共執行次數為,a*b*c=10*20*100=20000;若是在主頻為12MHZ的電路中,單片機執行一條語句時間大約為1us,那么這個延時為2400us,大約為20ms。鍵盤掃描子程序如圖6-2是鍵盤掃描子程序的設計流程圖,簡述鍵盤掃描程序的一個工作過程。圖6-2 鍵盤掃描按鍵掃描子程序,首先定義鍵盤端口為P0,將P0讀入

溫馨提示

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

評論

0/150

提交評論