




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 序號(學號):0121109320426學生實習報告書實習類別單片機應用實習實習地址武漢理工大學信息工程學院學 院信息工程學院專 業通信工程班 級通信1104班姓 名張亞男指導教師尹勇2014年1月9日武漢理工大學單片機應用實習報告書實 習 執 行 大 綱一、實習目的1、鞏固單片機原理與應用理論課的理論知識;2、熟悉單片機應用系統的硬件設計及軟件設計的基本方法;3、將單片機原理與應用理論課的理論知識應用于實際的應用系統中;4、訓練單片機應用技術,鍛煉實際動手能力。二、實習紀律與要求1、實習紀律1)參加實習的學生必須按照實習大綱的要求,在指導教師的指導下,全面完成實習任務;2)聽從指導教師安排
2、,嚴格遵守實習紀律;3)因故在實習期間缺勤累計超過規定時間的三分之一,不得參加本次實習考核,但可在補足所缺天數后再給予考核并評定實習成績。2、基本要求1)利用PROTEL等軟件進行硬件設計;2)利用Keil uV2軟件完成應用系統軟件設計;3)利用PROTEUS軟件進行仿真設計;4)完成單片機最小系統和應用系統電路板的焊接;5)對電路進行調試;6)利用stc-isp軟件完成在系統編程、下載,并完成系統軟件調試;7)題目由指導教師提供;8)要求每個學生單獨完成硬件軟件設計、仿真、焊接、調試任務;9)寫出實習報告,實習報告主要包括以下內容:目錄、摘要、關鍵詞、基本原理、方案論證、硬件設計、軟件設計
3、(帶流程圖、程序清單)、仿真結果、實物運行結果照片、結論、參考文獻等;10)實習完成后通過答辯;11)答辯時交實習報告電子文檔,通過答辯后根據修改意見修改并打印、裝訂成冊。三、實習地點武漢理工大學信息工程學院通信實驗室(鑒主15樓)。四、實習時間2013年12月25日-2014年1月9日。實習單位: 武漢理工大學信息工程學院 參觀考察單位:(1)武漢理工大學信息工程學院國創課題小組 (2) 武漢理工大學信息工程學院開放實驗室 (3) 武漢理工大學電工電子實習中心 (4) (5) (6) 實習開始時間:20 13 年 12 月 25 日,實習時間共 14 天。 完成實習報告時間:20 14 年
4、1 月 9 日。目 錄摘要Abstract1 總體設計任務11.1硬件部分設計任務11.2軟件部分設計任務12 硬件單元電路設計22.1 中央控制單元-單片機最小系統22.1.1 STC89C52的介紹22.1.2 51系列單片機最小系統的介紹42.2 矩陣鍵盤單元52.3 數碼管顯示單元62.4 串口通信單元82.5 總體原理電路圖93 軟件設計103.1 軟件簡介103.1.1 Keil 簡介103.1.2 Proteus 簡介103.2 程序設計123.2.1 總體設計流程. 123.2.2 數碼管顯示設計流程. 133.3.3 串口通信設計流程. 134 Proteus 仿真結果及分析
5、145 實物焊接及調試175.1 實物焊接及調試圖175.2 調試過程中出現的問題186 總結及體會197 參考文獻21附錄1:元件清單22附錄2:源程序23摘要本文詳細介紹了單片機最小系統及其外圍電路的功能實現方案、硬件選擇、軟件規劃和編寫,并重點描述了單片機最小系統的工作原理、功能設計以及軟件編程的思路。這次課程設計主要包括單片機最小系統和供電系統這一基本模塊,以及三個功能模塊,即4*4矩陣鍵盤模塊、由6個七段LED數碼管組成的顯示電路模塊、串行通信接口電路模塊。此外,本次課設利用keil軟件進行程序的編寫和編譯,并用Proteus軟件進行電路圖繪制并完成仿真,最后根據原理電路焊接實物并調
6、試。關鍵詞: 單片機 矩陣鍵盤 數碼管顯示 串口通信AbstractThis paper introduces the minimum system of the MCU and its peripheral circuit design, hardware selection, software planning and preparation, and focus on describing the working principle of the minimum system of the MCU, function design, software programming mental
7、ity. The curriculum design mainly includes the basic module of SCM system and power supply system, and three functional modules, namely the 4*4 matrix keyboard module, composed of 6 LED seven segment digital tube display interface circuit module, serial communication module. In addition, the system
8、program uses keil software to prepare and compile procedures, and Proteus software is used for simulation. At last, the material object is welded and debugged according to the schema circuit.Keywords: SCM Matrix Keyboard Digital Display Serial CommunicationII1 總體設計任務1.1 硬件部分設計任務首先完成包含鍵盤、顯示電路和串口通信等功能
9、組件的單片機最小系統的設計、焊接及調試。其中鍵盤電路是一個4*4的矩陣鍵盤,10個按鍵是09數字鍵;另外6個是功能鍵,用于功能選擇和控制,分別為“數據輸入”、“數據顯示”、“串行通信”三個功能選擇鍵,以及“回車”、“清除”、“初始化”三個控制鍵。顯示電路是由6個7段LED數碼管組成的顯示電路。串口串行通信電路是利用51單片機的串口實現的。此外,還要完成ISP下載電路的設計和焊接。1.2 軟件部分設計任務完成系統軟件的設計,包括程序結構設計、流程圖繪制和程序設計,主要實現三個功能。通過功能選擇鍵,使得單片機處于不同的工作狀態并通過LED顯示相應的內容;可選擇的功能包括:數據輸入,數據顯示,串口通
10、信。(1)數據輸入功能:通過功能選擇鍵選擇“數據輸入”后,可分次輸入10個4位十進制數據,并將輸入的數據保存在內部RAM中。數據輸入要求:第一步輸入序號09,表明輸入的是第幾個4位十進制數據;第二步按下回車鍵,完成序號輸入;第三步輸入最多4位的十進制數據;第四步按下回車鍵,完成數據輸入;重復第一步,開始新數據的輸入;輸入數據的顯示格式是:最左邊是序號,然后是空格,之后是從右到左的最多4位十進制數;若在輸入過程中(第一步或第三步)出現錯誤,按“清除”鍵,重新從第一步開始輸入數據。(2)數據顯示功能:通過功能選擇鍵選擇“數據顯示”后,可顯示之前輸入的10個4位十進制數據中的任一個,要求:第一步輸入
11、序號09,表明顯示的是第幾個4位十進制數據;第二步顯示相應的數據;重復第一步、第二步,顯示其他的數據;數據的顯示格式是:最左邊是序號,然后是空格,之后是要顯示的數據,從右到左最多4位十進制數。(3)串口通信功能:將兩個單片機最小系統通過串口連接起來,其中一個作為主系統,另一個作為輔系統。當通過功能選擇鍵選擇“串行通信”后,當在主系統上按下數字鍵后主系統的LED按從左向右移動的方式顯示按鍵輸入的數字,同時輔系統的LED上顯示與主系統同樣的內容。2 硬件單元電路設計2.1 中央控制單元-單片機最小系統2.1.1 STC89C52的介紹STC89C52是一種帶8K字節閃爍可編程可擦除只讀存儲器的低電
12、壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制作技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。其引腳圖如下圖所示。圖2-1 STC89C52引腳圖STC89C52RC引腳功能說明:VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0P0.7,3932引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅動8個TTL負載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數據存儲器時,P0口也可以提供低8位地址和8位數據的復用總線。此時,P0口內部上拉電阻有效。在Flash ROM編程時,P0端口
13、接收指令字節;而在校驗程序時,則輸出指令字節。驗證時,要求外接上拉電阻。P1端口(P1.0P1.7,18引腳):P1口是一個帶內部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內部上拉電阻,那些被外部拉低的引腳會輸出一個電流。在對Flash ROM編程和程序校驗時,P1接收低8位地址。P2端口(P2.0P2.7,2128引腳):P2口的基本功能和P1端口相同。在訪問外部程序存儲器和16位地址的外部數據存儲器時,P2送出高8位地址。在訪問8位地址的外部數據
14、存儲器時,P2口引腳上的內容在整個訪問期間不會改變。在對Flash ROM編程和程序校驗期間,P2也接收高位地址和一些控制信號。P3端口(P3.0P3.7,1017引腳):P3口的基本功能和P1端口相同。在對Flash ROM編程或程序校驗時,P3還接收一些控制信號。RST(9引腳):復位輸入。當輸入連續兩個機器周期以上高電平時為有效,用來完成單片機單片機的復位初始化操作。看門狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。ALE/(30引腳):地址鎖存控制信號(ALE)是訪問外部程
15、序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳()也用作編程輸入脈沖。(29引腳):外部程序存儲器選通信號()是外部程序存儲器選通信號。當AT89C51RC從外部程序存儲器執行外部代碼時,在每個機器周期被激活兩次,而訪問外部數據存儲器時,將不被激活。/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,必須接GND。注意加密方式1時,將內部鎖定位RESET。為了執行內部程序指令,應該接VCC。在Flash編程期間,也接收12伏VPP電壓。XTAL1(19引腳):振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2(18引腳
16、):振蕩器反相放大器的輸入端。2.1.2 51系列單片機最小系統的介紹單片機最小系統是能補足單片機工作的最簡單電路,它由單片機、電源、晶體振蕩器、復位電路等構成。它是本系統的處理單元也是控制單元,負責處理信號、外設的接口與控制,同時它也是所有軟件的載體。對51系列單片機來說,最小系統一般應該包括:單片機、時鐘電路、復位電路、輸入/ 輸出設備等。51系列單片機最小系統見下圖。圖2-2 51系列單片機最小系統(1)時鐘電路:XTAL1(19 腳) :芯片內部振蕩電路輸入端。XTAL2(18 腳) :芯片內部振蕩電路輸出端。XTAL1 和XTAL2 是獨立的輸入和輸出反相放大器,它們可以被配置為使用
17、石英晶振的片內振蕩器,或者是器件直接由外部時鐘驅動。圖2-2 中采用的是內時鐘模式,即采用利用芯片內部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時元件(一個石英晶體和兩個電容),內部振蕩器便能產生自激振蕩。一般來說晶振可以在1.2 12MHz 之間任選,甚至可以達到24MHz 或者更高,但是頻率越高功耗也就越大。在本實驗套件中采用的11.0592M 的石英晶振。和晶振并聯的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調作用。當采用石英晶振時,電容可以在20 40pF 之間選擇(本實驗套件使用30pF)。(2)復位電路:在單片機系統中,復位電路是非常關鍵的,當程序跑飛(運行不正常
18、)或死機(停止運行)時,就需要進行復位。5l 系列單片機的復位引腳RST( 第9 管腳) 出現2個機器周期以上的高電平時,單片機就執行復位操作。如果RST 持續為高電平,單片機就處于循環復位狀態。復位操作通常有兩種基本形式:上電自動復位和開關復位。圖2-2 中所示的復位電路就包括了這兩種復位方式。上電瞬間,電容兩端電壓不能突變,此時電容的負極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯在電容的兩端為復位按鍵,當復位按鍵沒有被按下的時候電路實現上電復位,在芯片正常工作后,通過按下按鍵
19、使RST管腳出現高電平達到手動復位的效果。一般來說,只要RST 管腳上保持10ms 以上的高電平,就能使單片機有效的復位。圖中所示的復位電阻和電容為經典值,實際制作是可以用同一數量級的電阻和電容代替。EA/VPP(31 腳) 的功能和接法:51 單片機的EA/VPP(31 腳) 是內部和外部程序存儲器的選擇管腳。當EA 保持高電平時,單片機訪問內部程序存儲器;當EA 保持低電平時,則不管是否有內部程序存儲器,只訪問外部存儲器。在本實驗套件中,EA 管腳接到了VCC 上,只使用內部的程序存儲器。P0 口外接上拉電阻:51 單片機的P0 端口為開漏輸出,內部無上拉電阻。所以在當做普通I/O 輸出數
20、據時,由于V2 截止,輸出級是漏極開路電路,要使“1”信號(即高電平)正常輸出,必須外接上拉電阻。2.2 矩陣鍵盤單元本設計中的鍵盤電路是一個4*4的矩陣鍵盤,其中10個按鍵是09數字鍵;另外6個是功能鍵,用于功能選擇和控制,分別為“輸入”、“顯示”、“串口通信”三個功能選擇鍵,以及“回車”、“清除”、“初始化”三個控制鍵。原理電路圖見圖2-3。圖2-3 矩陣鍵盤單元電路圖如圖所示,4*4矩陣鍵盤的行和列分別與單片機的P1口的高四位和低四位相連,然后采用程序逐行逐列掃描來識別具體是哪一個按鍵按下,從而實現相應的功能。2.3 數碼管顯示單元本次設計的顯示單元是由6個共陰的7段LED數碼管組成的顯
21、示電路。原理電路圖見圖2-4。圖2-4 數碼管顯示單元電路圖如上圖所示,6個數碼管的段選和位選都是由單片機的P0口控制的,因此用了兩個鎖存器74HC573分別來實現6個數碼管的段選和位選。由于此時用的P0口作為輸出口,因此要在P0.0-P0.7上各接一個10k的上拉電阻,才能保證共陰數碼管正常工作。一、元件選取:顯示電路選取六個共陰的7段LED數碼管,并用兩個鎖存器74HC573分別實現段選和位選。二、元件介紹:(1)鎖存器74HC573 74HC573包含八進制3態非反轉透明鎖存器,是一種高性能硅門CMOS器件。器件的輸入是和標準CMOS輸出兼容的,加上拉電阻時能和LS/ALSTTL輸出兼容
22、。當鎖存使能端LE為高時,這些器件的鎖存史輸出同步的。當鎖存時能變低時,符合建立時間和保持時間的數據會被鎖存。三態總線驅動輸出,置數全行并行存取,緩沖控制輸入,使能輸入有改善抗擾度的滯后作用。74HC573的引腳圖見圖2-5。 圖2-5 74HC573的引腳圖原理說明:74HC573的八個鎖存器都是透明的D型鎖存器,當使能(G)為高時,Q輸出將隨數據(D)輸入而變。當使能為低時,輸出將鎖存在已建立的數據電平上。輸出控制不影響鎖存器的內部工作,即老數據可以保持,甚至當輸出被關閉時,新的數據也可以置入。這種電路可以驅動大電容或低阻抗負載,可以直接與系統總線接口并驅動總線,而不需要外接口。特別適用于
23、緩沖寄存器,I/O 通道,雙向總線驅動器和工作寄存器。數據鎖存時,當輸入的數據消失,在芯片的輸出端,數據仍然保持。表2-1列出了74HC573的功能表。表2-1 74HC573功能表(2)七段LED數碼顯示管七段LED數碼顯示管是多種顯示器中的一種,它可以直接顯示出鎖存器輸出的十進制數。七段LED顯示器有共陽接法和共陰接法兩種。共陰接法就是把發光二極管的陽極都連在一起接到高電平上,輸入高電平有效。2.4 串口通信單元串口是計算機上一種非常通用的設備。串口通信的概念非常簡單,串口按位bit發送和接收字節。通信使用3根線完成1地線2發送3接收。由于串口通信是異步的,端口能夠在一根線上發送數據同時在
24、另一根線上接收數據。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。MAX232是電平轉換芯片。要實現利用串口與單片機進行通信就要進行電平轉換把標準轉化成單片機可以識別的。串口通信單元電路原理圖如圖2-6所示。 圖2-6 串口通信單元電路圖2.5 總體原理電路圖用中央控制單元-單片機最小系統控制矩陣鍵盤輸入模塊,數碼管顯示模塊和串行串口通信模塊,設計出整體原理電路圖如圖2-7。圖2-7 整體原理電路圖如圖所示,左邊的單片機最小系統為主系統,控制矩陣鍵盤輸入,并實現數據輸入和數據顯示功能。右邊的單片機最小系統為輔系統,主要是與主系統聯合起來實現串行串口通信功能。3 軟件設計3.1 軟件簡
25、介3.1.1 Keil 簡介Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發
26、大型軟件時更能體現高級語言的優勢。下面詳細介紹Keil C51開發系統各部分功能和使用。C51工具包的整體結構,uVision與Ishell分別是C51 for Windows和for Dos的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可
27、由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。3.1.2 Proteus 簡介Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、
28、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:(1)原理布圖(2)PCB自動或人工布線(3)SPICE電路仿真另
29、外,Proteus還有以下功能(1)互動的電路仿真,用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真處理器及其外圍電路:可以仿真51系列、AVR、PIC、ARM、等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設計開發環境。其功能模塊有4部分組成:智能原理圖設計(ISIS);完善的電路仿真功能(Prospice);Prospice混合仿真;獨特的單片機協同仿真功能(VSM)在Proteus繪制好原
30、理圖后,調入已編譯好的目標代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實物運行狀態和過程。Proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統的單片機實驗硬件高度對應。這在相當程度上替代了傳統的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。課程設計、畢業設計是學生走向就業的重要實踐環節。由于PROTEUS提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數量、質量上
31、難以相比的虛擬儀器、儀表,因而也提供了培養學生實踐精神、創造精神的平臺使用Proteus 軟件進行單片機系統仿真設計, 是虛擬仿真技術和計算機多媒體技術相結合的綜合運用,有利于培養學生的電路設計能力及仿真軟件的操作能力;在課程設計和全國大學生電子設計競賽中,我們使用 Proteus 開發環境進行培訓,在不需要硬件投入的條件下,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統仿真成功之后再進行實際制作,能極大提高單片機系統設計效率。3.2 程序設計在軟件設計過程中,首先要了解滿足要求的程序流程圖,然后根據流程圖寫出對應的C51程序,利用prote
32、us進行仿真,通過一步步的調試,使設計達到目標。根據流程圖編寫的源程序見附錄2。3.2.1 總體設計流程本次程序設計的總體設計流程圖如圖3-1所示,所有任務函數初始化,通過按鍵進行任務的切換,實時的更新數碼管的顯示。 圖3-1 總體設計流程圖3.2.2 數碼管顯示設計流程圖3-2 數碼管顯示設計流程圖圖3-2 數碼管顯示設計流程圖3.2.3 串口通信設計流程圖3-3 發送數據的流程圖 圖3-4 接收數據的流程圖4 Proteus 仿真結果及分析1.數據輸入模式仿真圖如下:圖4-1 數據輸入模式仿真圖仿真結果分析:此時,按下矩陣鍵盤的“輸入”再“回車”進入數據輸入模式,按“1”再“回車”依次輸入
33、數字“3037”。如上圖顯示結果為輸入第一組數據3037,符合設計要求。2.數據顯示模式仿真圖如下:圖4-2 數據顯示模式仿真圖圖4-3 數據顯示模式仿真圖仿真結果分析:此時,按下矩陣鍵盤的“顯示”再“回車”進入數據顯示模式。圖4-2為按下“1”再“回車”后所顯示的第一組數據,圖4-3為按下“7”再“回車”后所顯示的第七組數據。分析可知,符合設計要求。3.串口通信模式仿真圖如下:圖4-4 串口通信模式仿真圖仿真結果分析:本次設計沒有實現報告書中串口通信的全部功能。不能實現在主系統上按下數字鍵后主系統的LED按從左向右移動的方式顯示按鍵輸入的數字,同時輔系統的LED上顯示與主系統同樣的內容,只能
34、用串口實現一位數據的傳輸。仿真顯示結果如上圖所示。后來將P0口同時位選與段選改為用P0口段選,用P2口位選,可以實現串口通信的仿真,但是此時仿真圖與焊接的實物不匹配。而換回P0口位選和段選后,串口通信的仿真一直不能實現。多次更改仿真并調試,還是沒能完全實現串口通信功能。5 實物焊接及調試5.1 實物焊接與調試圖圖5-1 輸入與顯示調試圖圖5-2 串口通信調試圖5.2 調試過程中出現的問題1、將實物焊接好后,首次調試時,按動按鍵無效。經檢查發現我所使用的單片機萬能板上的矩陣鍵盤接在P3口,與串口通信相矛盾。因此,我又自己焊接了一個矩陣鍵盤擴展出來,并與P1口相連來實現按鍵功能。但是實物還是不能實
35、現功能。2、再次檢查電路,發現六個數碼管的段選與位選都由P0口來控制,這與我們的程序不一致,于是更改程序再次調試。此時功能基本可以實現,但是數碼管顯示時陰影太重。3、更改程序里面的延時時間,陰影變淡,調試結果較理想。數據輸入和數據顯示功能都能夠實現,但是串口通信功能不能完全實現。6 總結及體會通過此次課程設計,使我更加扎實的掌握了有關單片機方面的知識,在設計過程中雖然遇到了一些問題,但經過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。通過親自動手制作,使我們掌握的知識不再是紙上談兵。回顧起此課程設計,至今我仍感慨頗多,從理論到實踐,在這段日
36、子里,可以說得是苦多于甜,但是可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。過沒想到這項看起來不需要多少技術的工作卻是非常需要耐心和精力在這么多天我已明白課程設計對我來說的意義,它是讓我們把所學的理論知識與實踐相結合起來,提高自己的實際動手能力和獨立思考的能力。 要做好一個課程設計,
37、就必須做到:在設計程序之前,對所用單片機的內部結構有一個系統的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;同時要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設計課程過程中遇到問題是很正常德,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設計結束了,但是從中學到的知識會讓我受益終身。 本次課設,我使用KEIL進行編程測試,proteus軟件進行仿真分析。剛接觸這些軟
38、件的時候,根本不會去用,對于設計的電路也無從下手。在此過程中,我們通過查找大量資料,以及不懈的努力,終于會運用這些軟件進行仿真與測試。此次課設讓我受益良多,這段時間內不僅培養了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在課設中,我們學會了很多學習的方法,而這也是日后最實用的。課程設計誠然是一門專業課,給我很多專業知識以及專業技能上的提升,同時又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時,設計讓我感觸很深。使我對抽象的理論有了具體的認識。我認為,在這學期的實驗中,不僅培養了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的
39、是,在實驗課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發現其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實驗結束之后變的更加成熟,會面對需要面對的事情。不管怎樣,這些都是一種鍛煉,一種知識的積累,能力的提高。完全可以把這個當作基礎東西,只有掌握了這些最基礎的,才可以更進一步,取得更好的成績。很少有人會一步登天,永不言棄才是最重要的。而且,這對于我們的將來也有很大的幫助。7 參考文獻1 尹勇,撒繼銘.單片計算機原理及應用
40、(第1版).科學出版社, 2013年2 謝自美.電子線路設計·實驗·測試(第三版).武漢:華中科技大學出版社3 李群芳.單片微型計算機與接口技術(第3版).電子工業出版社,20084 劉教瑜.單片機原理及應用.武漢理工大學出版社,20115 張東亮.單片機原理與應用.人民郵電出版社,20096 Meehan Joanne, Muir Lindsey. SCM in Merseyside SMEs: Benefits and barriersJ. TQM Journal. 20087 Behzad Razavi. Design of Analog CMOS Integrate
41、d CircuitsM. 20018 V. Yu. Teplov, A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier EffectJ .2002附錄1: 元件清單1.單片機最小系統部分序號名稱數量1萬能實驗電路板1塊2單片機STC89C521只3晶振12MHz1只430PF瓷片電容2只510k/0.25W電阻1只610uF/16V電解電容1只72k/0.25W電阻1只810k/9腳排阻1只95V/500mA
42、直流電源1個10排針、按鈕、LED、導線等若干2.下載電路部分序號名稱數量1萬能實驗電路板1塊2MAX232 1片30.1uF瓷片電容 4只4DB9插座 1只5RS-232C串口電纜(9針)1根3.功能實現電路部分序號名稱數量1七段LED數碼顯示管6個2矩陣鍵盤1個3鎖存器74HC573 2個附錄2:源程序1.主程序#include"reg52.h"void delay(unsigned char s);void keyscan(void);void keydown(void);void input(void);void screen(int smode);int test
43、 = 0;unsigned char int_on = 0; /用于剛進入通信模式時的初始化 只有在通信模式下需要打開中斷1為中斷已開化unsigned char temp; /讀按鍵用的測試變量 unsigned char key;/按鍵序號 unsigned char MODE = 3; /模式選擇,0為輸入模式,1為顯示模式,2為串口通信模式 unsigned char FUNC = 0;/功能選擇,1為回車,2為清除 unsigned char reg104; /輸入內容存放的數組 unsigned char dis_buf6;/顯示緩存 unsigned char inputmode
44、;/通過回車鍵來判斷輸入模式,0為輸入序號,1為輸入4位十進制數據 unsigned char group,datpos;/分別存儲數據的組數和十進制數據位數 unsigned char LedNum=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71 ;sbit weia=P27;sbit dula=P26;void delay(unsigned char s) /延時函數 int i,j;for(j=s;j>=0;j-)for(i=125;i>0;i-);void scr
45、een(int smode) /對數碼管操作的函數 1為清空顯示0號位光標int p; if(smode=1)for(p=0;p<6;p+) dis_bufp = 0x00; /清屏 dis_buf0 = 0x08;/帶輸入光標 /else if(smode=2)/for(p=5;p>0;p-)/顯示緩存移位 /dis_bufp = dis_bufp-1;/void keyscan(void)/按鍵掃描函數 /int p;/for循環變量 用于置空顯示緩存 P1=0x0F; /低四位輸入列為高電平行為低電平 temp=P1; /讀P1口 temp=temp&0x0F;tem
46、p=(temp|0xF0);switch(temp)case 1: key = 0; break; / p1.0 被拉低 case 2: key = 1; break; / p1.1 被拉低 case 4: key = 2; break; / p1.2 被拉低 case 8: key = 3; break; / p1.3 被拉低 default: key = 16;temp = 0;P1=0xF0; /高四位輸入行為高電平列為低電平 /delay(1);temp=P1; /讀P1口 temp=temp&0xF0; /屏蔽低四位temp=(temp>>4)|0xF0);swi
47、tch(temp)case 1:break; / p1.4 被拉低 case 2:key = key+4; break; / p1.5被拉低 case 4:key = key+8; break; /p1.6 被拉低 case 8:key = key+12;break; / p1.7 被拉低 default:key = 16;switch(key)case 10: /模式選擇為輸入 MODE = 0;inputmode=0; /從數據序號開始輸入 key=16; /鍵盤序號置空 FUNC=0; /功能鍵置空 screen(1);break; case 11: /模式選擇為顯示 MODE = 1;key=16; /鍵盤序號置空 screen(1);break;case 12: MODE = 2;break;case 13: FUNC = 1;break;/按鍵功能選擇 case 14: FUNC = 2;break;case 15: MODE = 3;break; /模式3為空余模式,可自定義或歡迎界面 default: datpos+; /存數位數加一 if(datpos=4) datpos = 0; P1 = 0xf0;while(P1!=0xf0); /保證按鍵彈起后再跳出程序 void keydown(void) P1=0xF0;/del
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙方解除購房合同協議書
- 前期合作合同協議書模板
- 茶地租賃合同協議書1
- 換貨差價合同協議書范文
- 會計聘用合同協議書范本
- 購銷合同及技術協議書
- 拆遷合同解除協議書范本
- 和平解除租賃合同協議書
- 租房合同協議書安全條款
- 項目合作合同終止協議書
- 家具維保服務投標方案
- 環保管家服務投標方案(技術標)
- 財經素養知識考試題庫(濃縮500題)
- 離婚協議書電子版標準模板10篇
- 心理健康教育概論智慧樹知到課后章節答案2023年下南昌大學
- 電氣工程概論-肖登明
- 民間個人借款還清證明范本
- AOI設備評估報告
- 工程樹木砍伐施工方案范本
- Sibelius使用教程教材說明
- 柔力球-華中師范大學中國大學mooc課后章節答案期末考試題庫2023年
評論
0/150
提交評論