單片機報告(6791).doc_第1頁
單片機報告(6791).doc_第2頁
單片機報告(6791).doc_第3頁
單片機報告(6791).doc_第4頁
單片機報告(6791).doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

西南石油大學課程設計 單片機設計報告學生姓名學 號教學院系電氣信息工程學院專業年級指導教師李杰完成日期2011年6月21日19目錄目錄0第一章 基礎設計報告11.1 設計任務及功能11.2控制流程圖11.3 硬件設計仿真圖21.4 建立流水燈工程21.5 運行及調試5第二章 提高設計報告62.1 設計任務及功能62.1.1設計任務62.1.2該系統實現的具體功能62.2 I/O口功能收集及表單匯總62.3系統流程框72.4 創建新工程82.4.1.啟動Keil uVision4,新建工程82.4.2. 啟動Proteus7.5,新建工程82.5系統方案及硬件設計92.5.1系統方案的確定92.5.2顯示部分電路設計92.5.3時鐘部分電路設計92.5.4復位電路設計102.6軟件設計102.6.1應用系統軟件設計要求102.6.2應用系統軟件設計112.6.3延時程序模塊的設計112.7 Proteus軟件仿真122.7.1仿真開發系統的功能122.7.2 Proteus軟件系統仿真122.7.3 具體仿真結果顯示122.8 運行程序15第三章 提高設計報告任務說明書173.1 小組成員及學號173.2 本人工作任務詳細說明18第四章 實習心得18參考文獻:18第一章 基礎設計報告設計題目1:基于AT89C51單片機的流水燈1.1 設計任務及功能1) 用AT89C51單片機設計一組由二極管組成的流水燈,并編寫程序使發光二極管依次點亮。2) 用Protues設計、仿真以AT89C51為核心發光二極管流水燈實驗裝置。3) 掌握發光二極管的控制方法。1.2控制流程圖開始P0口初值亮第一個燈延時P0口左移一位逐次點亮結束圖1-2流水燈程序控制流程圖1.3 硬件設計仿真圖圖1-3 Proteus7.5仿真流水燈圖1.4 建立流水燈工程1) 打開Keil程序,選擇工程菜單。圖1-4-1 Keil程序2) 選擇新建uVision工程,保存為工程名稱。圖1-4-2 新建uVision工程3) 選擇Atmel公司的AT89C51設備。圖1-4-3 選擇AT89C51設備4) 添加程序文本。圖1-4-4 添加程序文本5) 編譯程序之前,在閃存菜單設置選項中選擇輸出選項,在產生HEX文件前打鉤即可。圖1-4-5 產生HEX文件1.5 運行及調試編程程序: #include #include #define uchar unsigned char #define uint unsigned int void delayms(uint xms); uchar a; void main() a=0xfe; while(1) P0=a; delayms(200); a=_crol_(a,1); void delayms(uint xms) uint i,j; for(i=xms;i0;i-) for(j=110;j0;j-); 調試與運行:進入調試運行階段。會看到LED燈逐個點亮。保存運行畫面。圖1-4-5 運行界面圖第二章 提高設計報告設計題目2:基于AT89C51單片機的交通燈系統2.1 設計任務及功能2.1.1設計任務運用單片機原理及應用、C語言的相關知識,設計簡易交通燈控制系統。要求該系統能形象地反映出十字路口簡易交通燈控制系統的工藝流程,并同時具有顯示通車倒計時,修改道路通車時間,單向控制通車及顯示通車道路等功能。2.1.2該系統實現的具體功能1) 東西方向(1路)車道和南北方向(2路)車道兩條交叉路上的車輛交替運行,每次通行30秒。2)在倒計時最后5秒內,亮著的燈不停閃爍,提示即將變換車道。直到倒計時為0變換車道。3) 可以通過按鍵選擇進入調時系統,進入調時系統后,加減通行時間。4) 一車道有緊急車輛通過時(或車流量大時),手動控制該車道持續通行。5)當退出手動控制后,交通燈恢復原來運行狀態。2.2 I/O口功能收集及表單匯總經過初步設計,制作設計表單如下:表2-2-1 顯示畫面設計數碼管顯示通車倒計時顯示通車路段二極管紅色二極管亮表示禁止通行綠色二極管亮表示可以通行二極管閃爍表示即將更換通行車道表2-2-2 總體設計需要設備類別配置情況硬件PC機軟件Keil uVision4 Proteus7.5表2-2-3 AT89C51I/O口引腳使用情況序號I/O位號名稱說明I/O類型1P1、P2口數碼管數據口輸出2P0_0-P0_3二極管數據口輸出3P0_4、P0_5數碼管片選口輸出4P3_0-P3_5按鍵接口輸入2.3系統流程框數據信號交通燈振蕩電 路AT89C51段碼LED數碼管上電復位電 路調時電 路片選按鍵輸入圖2-3簡易交通燈系統流程圖2.4 創建新工程2.4.1.啟動Keil uVision4,新建工程圖2-4-1 Keil uVision4新建工程圖2.4.2. 啟動Proteus7.5,新建工程圖2-4-2 Proteus7.5新建工程圖2.5系統方案及硬件設計2.5.1系統方案的確定 交通燈在安全行車過程中起著十分重要的作用,現在交通燈一般設在十字路口,在醒目位置用紅、黃、綠三種顏色的指示燈(本次實驗只用了紅、綠兩種燈),加上一個倒計時的顯示計時器來控制行車,對于一般情況下的安全行車、車輛分流發揮著重要作用,但根據實際行車過程中出現的情況,如何全面有效地利用交通燈指示交通情況,我們嘗試用單片機來控制交通燈,在軟、硬件方面采取一些改進措施,使交通燈在控制中靈活而有效。 硬件系統是指構成單片機系統的實體和裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸出接口電路、輸入設備和輸出設備等組成。單片機實質上是一個硬件的芯片,在實際應用中,通常很難直接和被控制對象進行電氣連接,必須外加各種擴展接口電路、外部設備、被控制對象等硬件和軟件,才能構成一個單片機應用系統。該交通燈模擬系統的硬件部分主要由鍵盤、顯示和運算部分組成。按照設計要求,在本設計中使用LED數碼管顯示和擴展按鍵。在該交通燈系統的設計中采用AT89C51單片機。2.5.2顯示部分電路設計 本次設計采用動態顯示方式,選亮數碼管采用靜態掃描顯示。送人一次字型碼顯示字型一直保持,直到送入新字型碼為止。這種方法的優點是占用CPU時間少,顯示便于監控和檢測。各數碼管在顯示過程中持續得到顯示信號,與各數碼管接口的I/O口是專用的。本設計采用P1口和P2口作為數碼管數據輸出口,P0_4與P0_5作為數碼管片選端。 本設計采用如下圖所示數碼管,表示通車剩余時間。A到G為碼段控制口,WE1和WE2為片選端口。圖2-5-1 數碼顯示管2.5.3時鐘部分電路設計 時鐘電路用于產生51單片機工作時所必須的時鐘控制信號。其內部電路在時鐘信號控制下,嚴格地按時序執行指令進行工作。在執行指令時,CPU首先要到程序存儲器中取出要執行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規定操作。 本設計采用11.0592MHz晶振和兩個30Pf電容,他們構成一個穩定的自激振蕩器。該電容的大小影響振蕩器頻率的高低、振蕩器的穩定性和起振的快速性。 為單片機提供標準時鐘,其中兩個電容起微調作用。如下圖所示: 圖2-5-2 時鐘電路2.5.4復位電路設計 復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來控制噪聲,在每個機器周期的S5P2,斯密特觸發器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需要的信號。 復位電路通常采用上電復位和按鈕復位兩種。本設計采用上電復位,復位電容采用10uF,電阻1000歐。加電瞬間,RES管腳為高電平。通過電阻回路放電。如下圖所示:圖2-5-2 復位電路2.6軟件設計2.6.1應用系統軟件設計要求 在進行應用系統的總體設計時,軟件設計與硬件設計應統一考慮,結合并進。當系統的電路設計定型后,軟件設計的任務也就明確了。一般來說,軟件的功能可分為兩大類。一類是執行軟件,它能完成各種實質性的功能,如測量計算、顯示、打印、輸出控制等;另一類是監控軟件,它是專門用來協調各執行模塊和操作者得關系,在系統軟件中充當組織協調角色。我們設計時,從以下幾個方面考慮:1)根據軟件功能的要求,將系統軟件分為若干個相對獨立的部分。設計出合理的軟件總體結構,使其清晰、簡捷、流程合理。2)各功能程序實行模塊化,子程序化。3)在編寫應用軟件之前,應繪制出程序流程圖。4)合理分配系統資源,包括ROM、RAM、定時器/計數器、中斷源等。2.6.2應用系統軟件設計 主程序流程圖如下圖所示:開始1路放行1路綠燈亮,2路紅燈亮1路紅燈亮,2路綠燈亮延時25秒亮著的燈閃爍5秒緊急車通過1路 結束YNYN圖2-6 交通燈中斷控制程序流程圖 2.6.3延時程序模塊的設計 延時程序模塊是要生成一定的時間延時,這在數碼管顯示模塊中會用到延遲程序,以滿足數碼管閃爍時能產生視覺效果。2.7 Proteus軟件仿真2.7.1仿真開發系統的功能一個單片機系統經過總體設計,完成了硬件和軟件開發。元件安裝后在系統存儲器中放入編制好的應用程序,系統即可運行。一般來說,仿真開發系統應具有如下的功能:1) 用戶樣機硬件電路的診斷與檢查;2) 用戶樣機程序的輸入與修改;3)程序的運行、調試、排錯、狀態查詢功能;4)將程序固化到EPROM芯片中。2.7.2 Proteus軟件系統仿真 如下圖所示本設計硬件連接,在1路和2路的十字路口有紅、綠兩種交通燈,1路上的兩組同色燈連在一起,2路也是互連,P3_0到P3_5為按鍵控制,緊急車請求通過或延長(減短)某路放行時間時由人工控制,以中斷方式輸入單片機。圖2.7.1 Proteus7.5設計好的交通燈圖2.7.3 具體仿真結果顯示根據功能要求分別仿真各種情況下的亮燈情況,具體如下:如下圖仿真圖所示,正常情況下南北方向亮紅燈,東西方向亮紅燈。即1路放行,2路禁行(數碼管顯示為剩余放行時間):圖2.7.2 1路放行,2路禁行如下圖仿真圖所示,正常情況下東西方向亮紅燈,南北方向亮紅燈。即2路放行,1路禁行(數碼管顯示為剩余放行時間):圖2.7.3 2路放行,1路禁行當1路有緊急車需要通行時,人工設置(進入菜單后,按“1路通”)1路通行(1路綠燈亮,2路紅燈亮)數碼管顯示“1”,如下圖所示:圖2.7.4 1路有緊急車通過時(1路放行,2路禁行)當2路有緊急車需要通行時,人工設置(進入菜單后,按“2路通”)2路通行(2路綠燈亮,1路紅燈亮)數碼管顯示“2”,如下圖所示:圖2.7.5 2路有緊急車通過時(2路放行,1路禁行)當倒計時為5秒時,亮著的燈開始閃爍,由于閃爍時截圖無法體現,所以此處就省略截圖。2.8 運行程序#include#include#define uint unsigned intvoid led_display(int L2,int L1);void display(int number);void xiangling();uint anjian();void tiaoshi();void delay(t);char c10=0x3f,0x06,0x5b,0x4f,0x66,0X6d,0X7d,0X07,0X7f,0X6f;int m=30;char coun;char flag=0;void time(void) interrupt 1 uint recieve;recieve=anjian();if(recieve=3) tiaoshi(); TH0=0X3C;TL0=0XB0;coun+;if(coun=20)coun=0;if(m=0) m=31; flag+; m-;void main() P0_4=0; P0_5=0; P3_0=1; P3_1=1; P3_2=1; P3_3=1; P3_4=1; P3_5=1; TMOD=0X01; IE=0X82; IP=0X02; TR0=1; TH0=0X3C; TL0=0XB0;while(1) display(m);if(flag%2=0) P0_2=0; P0_0=0; P0_1=1; P0_3=1; delay(100); if(m=5) P0_2=1;P0_0=1;P0_1=1; P0_3=1; /東西通車,南北停止 if(flag%2) P0_2=1;P0_0=1;P0_1=0; P0_3=0; delay(100); if(m0;a-) for(b=110;b0;b-); /-按鍵判斷- uint anjian() uint temp=0; if(P3_0=0) temp=1; delay(200); else if(P3_1=0) temp=2; delay(200); else if(P3_2=0) temp=3; delay(200); else if(P3_3=0) temp=4;delay(200); else if(P3_4=0) temp=5;delay(200); else if(P3_5=0) temp=6; delay(200); return temp; /-調時或某路一直通車- void tiaoshi() uint recieve; display(0); recieve=anjian(); while(recieve!=4) recieve=anjian(); if(recieve=1) m+; display(m); else if(recieve=2) m-; display(m); else if(recieve=5) P0_2=0;P0_0=0;P0_1=1;P0_3=1; display(1); else if(recieve=6) P0_2=1; P0_0=1; P0_1=0; P0_3=0;display(2); 第三章 提高設計報告任務說明書3.1 小組成員及學號姓名學號鐘超亮0807040130劉 聰08070401233.2 本人工作任務詳細說明在本次設計中,我們小組每人都做了一分設計,硬件設計部分,兩人合作完成,軟件編程,各寫一份,設計報告按照自己設計方案各寫一份。1.根據選題基于51單片機的流水燈和簡易交通燈設計在網上查找資料。網絡的發達使我們找到了很多資料。我們在找到的資料中層層篩選終于找到了我們需要的資料。從查到的資料中我們一起分析交通燈和流水燈系統的原理和各個部分組成模塊,為我們的設計打下基礎,確定了我們的設

溫馨提示

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

評論

0/150

提交評論