(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)_第1頁
(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)_第2頁
(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)_第3頁
(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)_第4頁
(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)目錄TOC\o"1-2"\h\z\u第1章概述 11.1MCS-51系列單片機概述 11.2MCS-51系列單片機的發展 11.3MCS-51系列單片機的應用 2第2章MCS-51系列單片機的結構 32.1MCS-51系列單片機硬件結構 32.2MCS-51系列單片機的定時器功能 4第3章開發環境簡介 53.1軟件開發環境KEIL簡介 53.2硬件開發環境LY-51S開發板簡介 5第4章系統硬件設計 64.1數碼管顯示的秒表原理 64.2數碼管顯示原理圖設計 64.3鍵盤的工作原理圖設計 74.4單片機的連接 7第5章系統軟件設計 95.1系統流程圖 95.2按鍵模塊程序設計 105.3顯示模塊程序設計 125.4計時模塊程序設計 13(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第1頁。結論 15(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第1頁。參考文獻 16 第1章概述1.1MCS-51系列單片機概述(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第2頁。單片微型計算機(Single-ChipMicrocomputer),簡稱單片計算機,就是將CPU,RAM,ROM,定時計時器和多種接口集成在一塊芯片上的微型計算機。其主要特點如下:(1)片內存儲容量較小,原因是受集成度的限制,ROM一般小于8KB,RAM一般小于256B,但可以在外部擴展。通常ROM,RAM可分別擴展至64KB。(2)可靠性高,因為芯片是按工業測控環境要求設計的,故抗干擾的能力優于PC機。(3)系統軟件(如:程序指令,常數,表格)固化在ROM中,不易受病毒破壞。許多信號的通道均在一個芯片內,故運作時系統穩定可靠。(4)便于擴展:片內具有計算機正常運行所必需的部件,片外有很多供擴展用的(總線,并行和串行的輸入輸出)管腳,很容易組成一定規模的計算機應用系統。(5)控制功能強:具有豐富的控制指令,如條件分支轉移指令,IO口的邏輯操作指令,位處理指令。(6)實用性好:體積小,功耗低,價格便宜,易于產品化。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第2頁。1.2MCS-51系列單片機的發展MCS-51系列單片機的發展經過了三個階段。第1階段(1971年—1978年),以MCS-48系列為代表,稱4位單片機。在片內:CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,無串行接口;只有1個8位的定時計時器;中斷源只有2個。在片外:尋址范圍只有4KB;芯片引腳有40個。第2階段(1978年—1983年),以MCS-51系列為代表,稱8位單片機。在片內:CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串并行接口;有2個或3個16位的定時計時器;中斷源有5至7個。在片外:尋址范圍有64KB;芯片引腳有40個。第3階段(1983年以后),以MCS-96系列為代表,稱16位單片機。在片內:CPU有16位;ROM有8KB;RAM有232B;有串并行接口;有4個16位的定時計時器;中斷源有8個;增加了DA和AD轉換電路。在片外:尋址范圍有64KB;芯片引腳有48個或68個。1.3MCS-51系列單片機的應用單片機主要有單機應用和多機應用。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第3頁。單機應用即一個系統使用一塊單片機也成為普通應用模式。如家用電器,均用單片機做自動控制。或用于智能設備,網絡與通信的智能接口,在大型計算機控制的網絡或通信電路與外圍設備的接口電路中,用單片機來控制或管理,可大大提高系統的運行速度和接口的管理水平。對工業設備(如機床,汽車,高檔中西餐廚具,鍋爐,供水系統,生產自動化,自動報警系統,衛星信號接收等)進行智能測控,大大地降低了勞動強度和生產成本,提高了產品質量的穩定性。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第3頁。多機應用即一個系統使用多塊單片機也稱高科技應用模式。一般用于功能彌散系統,并行多機處理系統或局域網絡系統。第2章MCS-51系列單片機的結構2.1MCS-51系列單片機硬件結構8051單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時計數器、并行接口、串行接口和中斷系統等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明:1.中央處理器中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出作用等操作。2.數據存儲器(RAM)8051內部有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。3.程序存儲器(ROM)8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數據或表格。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第4頁。4.定時計數器(ROM)(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第4頁。8051有兩個16位的可編程定時計數器,以實現定時或計數產生中斷用于控制程序轉向。5.并行輸入輸出(IO)口8051共有4組8位IO口(P0、P1、P2或P3),用于對外部數據的傳輸。6.全雙工串行口8051內置一個全雙工串行通信口,用于和其它設備間的串行數據傳送,該串行口既可以用作異步通信收發器,也可以當同步移位器使用。7.時鐘電路8051內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。8.中斷系統8051具備較完善的中斷作用,有兩個外中斷、兩個定時計數器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優先級別選擇。9.外部總線(1)地址總線(AB)寬度為16位,因此,對外接存儲器可直接尋址范圍64KB。16位地址的高8位P2口直接輸出,P0口輸出低8位地址,在允許地址鎖存信號ALE作用下,將低8位地址鎖存到外部地址鎖存器中,從而讓P0口接受數據做準備。P0是地址數據共用的端口。(2)數據總線(DB)寬度為8位,有P0口提供。(3)控制總線(CB)由上述4條控制線和P3口的第二功能狀態組成。2.2MCS-51系列單片機的定時器功能(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第5頁。定時器計數器實際是加1計數器,當它對外部事件計數時,由于頻率不固定,此時稱之為計數器,當它對內部固定頻率的機器周期進行計數時稱之為定時器。T0或T1在做定時器使用時,輸入的時鐘脈沖由晶振的輸出經12分頻后得到,T0或T1在做計數器使用時,輸入的時鐘脈沖由外部的輸入端P3.4(T0)和P3.5(T1)提供。當加法計數器的初值被設置后,用指令改變特殊功能寄存器TMOD和TCON的內容,就會在下一條指令的第一個機器周期的S1P1時刻按照設定方式自動進行工作。定時器計數器有四種工作模式,工作模式控制如表2-1所示:(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第5頁。定時器的方式寄存器TMOD:表2-1定時器工作方式表M1M方式說明00013位定時器計數器01116位定時器計數器102自動裝入時間常數的8位定時器計數器113對T0分為兩個8位計數器,對T1置方式3時停止工作第3章開發環境簡介3.1軟件開發環境KEIL簡介(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第6頁。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第6頁。3.2硬件開發環境LY-51S開發板簡介本開發板使用獨立模塊式結構,大部分模塊都是完全獨立的,僅有電源部分連接,信號接口部分默認懸空,需要用到該器件時,用杜邦線連接到對應的單片機端口,不使用時懸空即可。這種方式大大提高了自由度,這些模塊完全獨立,可以自由配置端口,連接其他類型單片機的最小系統板就可以組成對應的開發板。LED顯示的秒表主要用到以下模塊:1、數碼管模塊:數碼管其實是由發光二極管組成,有共陰極和共陽極之分,對于共陽極來說,一位數碼管由8個二極管組成,他們的陽極接在一起接+5v電源,而各個陰極與某個端口,如p1的8個引腳相連,當某個引腳輸出低電平的時候數碼管對應的二極管亮。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第7頁。2、鍵盤模塊:鍵盤是由若干個按鍵組成的開關矩陣,由SL0-SL3輸出鍵盤和顯示器的掃描線,回復線RL0-RL7作為鍵盤的列線以搜索,閉合鍵將鍵盤數據送入FIFO存儲器,有鍵閉合時數據進入FIFO存儲器,使IRQ置位向CPU申請中斷。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第7頁。第4章系統硬件設計4.1數碼管顯示的秒表原理此次設計的數碼管顯示的秒表,主要是運用單片機的鍵盤模塊對時間進行控制,并將結果顯示在數碼管上。其系統框圖如下:4.2數碼管顯示原理圖設計數碼管其實是由發光二極管組成,有共陰極和共陽極之分,對于共陽極來說,一位數碼管由8個二極管組成,他們的陽極接在一起接+5v電源,而各個陰極與某個端口,如p1的8個引腳相連,當某個引腳輸出低電平的時候數碼管對應的二極管亮。鎖存器就是把當前的狀態鎖存起來,使CPU送出的數據在接口電路的輸出端保持一段時間鎖存后狀態不再發生變化,直到解除鎖定。74hc573就是鎖存器,鎖存引腳高電平表示直通狀態,為低電平表示鎖存狀態,可以通過控制鎖存器,控制74hc573后端數據。段碼控制數碼管顯示的內容,位碼控制選通哪個數碼管。如送位碼0x7e,表示選通第一位數碼管;送段碼0x3f,只有g和dp位不亮,表示顯示數字0。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第8頁。數碼管可以靜態顯示數據,也可以動態掃描。由于任一時刻只能顯示一種數字,當需要多為數碼管顯示多位數據的時候就需要動態掃描。動態掃描時間上執行的是動態顯示,由于動態速度很快,人眼分辨不出,所以看上去是靜態顯示,這種效果正是我們所需要的。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第8頁。4.3鍵盤的工作原理圖設計鍵盤是由若干個按鍵組成的開關矩陣,由SL0-SL3輸出鍵盤和顯示器的掃描線,回復線RL0-RL7作為鍵盤的列線以搜索,閉合鍵將鍵盤數據送入FIFO存儲器,有鍵閉合時數據進入FIFO存儲器,使IRQ置位向CPU申請中斷。顯示緩沖區(RAM)存放顯示數據的段碼,數據輪流從顯示寄存器輸出,在SL0-SL3的配合下,實現動態顯示。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第9頁。鍵盤使用時,必須消除鍵抖動:檢測到按鍵按下后,執行延時10ms子程序后再確認按鍵是否確實按下,消除抖動影響(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第9頁。4.4單片機的連接這節不要,在前面兩節里分別說明此次設計的數碼管顯示的秒表,主要是運用單片機的定時器功能進行時間的控制,并將結果顯示在數碼管上。單片機的連接如下:(1)數碼管D0~D7連接到P0^0~P0^7口;(2)段碼、位碼連接到P2^2、P2^3口;(3)獨立按鍵K5~K8連接到P1^0~P1^3口。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第10頁。(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第10頁。第5章系統軟件設計5.1系統流程圖本設計使用硬件描述語言KeilC51進行設計開發,采用μVision2的綜合軟件設計程序。主程序的主要功能是實現秒表的功能,并在數碼管上顯示。系統流程圖如下:5.2按鍵模塊程序設計1、暫停開始按鍵:實現啟動秒表和暫停秒表的功能,代碼如下: if(key1==0)暫停和開始 { delay(10); if(key1==0) { key_num++; if(key_num==2)key_num=0; } } while(!key1); TR0=key_num; (完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第11頁。 if(display_flag==0){(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第11頁。 display(min_1,min_2,second_1,second_2,msecond_1,msecond_2);顯示 } 2、存儲按鍵:實現存儲多個時間記錄的功能,代碼如下:if(key2==0)存儲 { delay(10); if(key2==0) { amsecond_1[num_i]=msecond_1; amsecond_2[num_i]=msecond_2; amin_1[num_i]=min_1; amin_2[num_i]=min_2; asecond_1[num_i]=second_1; asecond_2[num_i]=second_2; } if(num_i==10)num_i=0; num_i++; } while(!key2); copy_num_i=num_i;3、讀取按鍵:實現讀取所存儲的時間記錄的功能,代碼如下:(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第12頁。if(key3==0)讀取(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第12頁。 { delay(10); if(key3==0) { display_flag=1; } if(num_i==0)num_i=copy_num_i; num_i--; } while(!key3); if(display_flag==1){ display(amin_1[num_i],amin_2[num_i],asecond_1[num_i],asecond_2[num_i],amsecond_1[num_i],amsecond_2[num_i]); }4、清零按鍵實現秒表清零的功能,代碼如下: if(key4==0)清零 { TR0=1; number=0; min_1=0; min_2=0; second_1=0;(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第13頁。 second_2=0;(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第13頁。 msecond_1=0; msecond_2=0; num_m=0; num_s=0; display_flag=0; }5.3顯示模塊程序設計顯示函數代碼如下:voiddisplay(uintmin_1,uintmin_2,uintsecond_1,uintsecond_2,uintmsecond_1,uintmsecond_2){ wela=1;P0=0xff;wela=0; dula=1;P0=duanma[min_1];dula=0;P0=0xff; wela=1;P0=0xfe;wela=0; delay(2);分的十位 wela=1;P0=0xff;wela=0; dula=1;P0=duanma[min_2];dula=0;P0=0xff; wela=1;P0=0xfd;wela=0; delay(2);分的個位 wela=1;P0=0xff;wela=0; dula=1;P0=0x40;dula=0;P0=0xff; wela=1;P0=0xfb;wela=0; delay(2);“-”(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第14頁。 wela=1;P0=0xff;wela=0;(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第14頁。 dula=1;P0=duanma[second_1];dula=0;P0=0xff; wela=1;P0=0xf7;wela=0; delay(2);秒的十位 wela=1;P0=0xff;wela=0; dula=1;P0=duanma[second_2];dula=0;P0=0xff; wela=1;P0=0xef;wela=0; delay(2);秒的個位 wela=1;P0=0xff;wela=0; dula=1;P0=0x40;dula=0;P0=0xff; wela=1;P0=0xdf;wela=0; delay(2);“-” wela=1;P0=0xff;wela=0; dula=1;P0=duanma[msecond_1];dula=0;P0=0xff; wela=1;P0=0xbf;wela=0; delay(2);毫秒的十位 wela=1;P0=0xff;wela=0; dula=1;P0=duanma[msecond_2];dula=0;P0=0xff; wela=1;P0=0x7f;wela=0; delay(2);毫秒的個位}5.4計時模塊程序設計(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第15頁。定義及初始化定時器代碼如下:(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文共18頁,當前為第15頁。voidinit(){ TMOD=0x01; TH0=()256; TL0=()%256; EA=1;ET0=1;TR0=1;}初始化定時器voidtimer0()interrupt1{ TH0=()256; TL0=()%256; aa++; if(aa==1) { aa=0; number++; 毫秒數 if(number==100) { number=0; num_s=num_s+1;秒數 second_2=num_s%10; second_1=num_s10; if(num_s==59) {(完整版)MCS-51系列單片機畢業課程設計論文(僅供參考)全文

溫馨提示

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

最新文檔

評論

0/150

提交評論