左右來回循環(huán)的流水燈實驗報告圖表相關_第1頁
左右來回循環(huán)的流水燈實驗報告圖表相關_第2頁
左右來回循環(huán)的流水燈實驗報告圖表相關_第3頁
左右來回循環(huán)的流水燈實驗報告圖表相關_第4頁
左右來回循環(huán)的流水燈實驗報告圖表相關_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、青 島 科 技 大 學微機原理與接口技術綜合課程設計(報告)直流電機控制綜合實驗題 目 _周艷平指導教師_0908610211宋雪英學生姓名_學生學號_0961信息科學技術學院計算機科學與技術學與技術_院(部)_專業(yè)_班12272012_年 _月 _日摘要21、單片機概述22、仿真軟件介紹23、需求分析2一、課程設計目的3二、課程設計要求3三、實驗內容31、設計任務與要求32、系統(tǒng)分析31).硬件電路設計(畫出原理圖、接線圖)42)軟件框圖43、用keil建項目流程54、程序清單64、系統(tǒng)調試7四、設計總結(結論)7摘要近年來,隨著電子技術和微型計算機的發(fā)展,單片機的檔次不斷提高,起應用領域也

2、在不斷的擴大,已在工業(yè)控制、尖端科學、智能儀器儀表、日用家電、汽車電子系統(tǒng)、辦公自動化設備、個人信息終端及通信產品中得到廣泛的應用、成為現(xiàn)代電子系統(tǒng)中最重要的智能化的核心部件。而at89c51就是其中一種,它是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能cmo8位微處理器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。本課程設計介紹一種led小燈控制系統(tǒng)的設計方法,以單片機作為主控核心,與按鍵、排阻、電阻、電容等較少的輔助硬件電路相結合,利用軟件實現(xiàn)對led燈進行控制。能夠通過按鍵控制8個led小燈從左到右依次點亮。關鍵字:單片機、led流水燈1、單片機概述單片機微型計算機是

3、微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和i/o 接口電路等。因此,單片機只需要和適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。單片機經過1、2、3、3 代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的cpu 功能在增強,內部資源在增多,引角的多功能化,以及低電壓底功耗。2、仿真軟件介紹(1).keil uv3運行keil uv3新建工程:菜單“preject->new preject”,保存為*.uv2,選擇芯

4、片型號,copy否新建文件:菜單“file->new”,保存為*.c,編寫程序將源文件添加到工程:在左側project workspace的source group1點右鍵選擇addfile加入*.c設置工程:點菜單欄上的,選target,設晶振值;選output,點create hex file以生成少些文件;選debug,選擇軟件仿真(simulator)或硬件仿真(keil monitor)方式。編譯鏈接:點菜單欄上的進行編譯,或點菜單欄上的進行編譯鏈接,或點菜單欄上的進行重新編譯鏈接,或點菜單欄上的停止編譯。編譯鏈接后生成*.hex文件,可燒寫到單片機。(2).proteus使用

5、proteus仿真點擊單片機,在program files處選擇*.hex文件,ok,進行仿真respack-8排阻,就是好多電阻連載一起,有一個公共端,1端為公共端接vcc(上拉)或地(下拉)一般接在51單片機p0口,因p0口內沒有上拉電阻,不能輸出高電平,所以要接上拉電阻。3、需求分析隨著現(xiàn)代社會的發(fā)展,人們越來越追求審美和新穎,而流水燈就是其中一種,以前簡單的照明工具變得越來越多樣化,流水燈的千姿百態(tài)恰能給人一種視覺沖擊,現(xiàn)在不管大街小巷我們都可以隨處可見這種變幻萬千的流水燈,而這種流水燈我們可以產用電子電路去設計,我們主要可以用裝套控制器和狀態(tài)譯碼器來實現(xiàn)燈光的流水效果,但是現(xiàn)在我們可

6、以用單片機at89c51來實現(xiàn),因為其相對于電子電路有明顯的優(yōu)越性,控制硬件電路比較簡單,軟件方面程序也不復雜,因此制作的遠離簡單,但功能作用并不低于電子電路設計的,由于它的小巧方便、通俗易懂,所以我們往往采用單片機來做流水燈。一、課程設計目的微機原理和接口技術是一門實踐性強的學科,相關知識僅靠學習教科書不能很好的掌握,必須通過實踐才能比較直觀和深刻的理解。在綜合課程設計過程中,學生結合所學知識,選擇一個綜合性的設計題目,根據(jù)設計要求確定實驗方案,選擇合適的器件,進行電路設計,實現(xiàn)電路連接,編寫調試程序,完成設計任務。通過課程設計課程,可檢驗學生在微機原理與接口綜合應用方面分析問題與解決問題的

7、能力,從而幫助學生系統(tǒng)地掌握微機原理的接口技術的相關知識,達到將知識融會貫通的目的。同時給學生提供更多、更好的訓練機會,培養(yǎng)學生的創(chuàng)新能力。 二、課程設計要求綜合利用微機原理與接口課程所學的各種知識,設計一套具有一定功能、實用價值的應用系統(tǒng),(1) 必須用和微機系統(tǒng)相關的知識設計題目;(2) 確定設計任務后,明確題目要求,查找資料提出設計方案;(3) 獨立設計、編程、調試和驗證所設計系統(tǒng);(4) 系統(tǒng)必須能夠演示、運行或得到仿真結果;(5) 完成設計任務后撰寫課程設計報告;三、實驗內容 1、設計任務與要求 設計任務:在at89s52-開發(fā)板上實現(xiàn)8個發(fā)光led“流水”的現(xiàn)象即8只led左右來回

8、點亮,并通過編寫程序控制流水現(xiàn)象。 要求:點亮第一個流水燈,然后熄滅,接著點亮第二個流水燈,熄滅;點亮第三個,到最后點亮第八個燈,熄滅;點亮第七個燈,依次到第一個燈,然后循環(huán)實現(xiàn)流水。程序利用循環(huán)移位函數(shù)_crol_和_cror_形成來回滾動的效果。8只led左右來回點亮:接在p0口的8個led從左到右循環(huán)依次點亮,然后右到左循環(huán)依次點亮,產生左右循環(huán)走馬燈效果 2、系統(tǒng)分析 mcs-51系列單片機有四組8位并行i/o口記作p0、p1、p2和p3。每組i/o口內部都有8位數(shù)據(jù)輸入緩沖器、8位數(shù)據(jù)輸出鎖存器及數(shù)據(jù)輸出驅動等電路。四組并行i/o端口即可以按字節(jié)操作又可以按位操作。當系統(tǒng)沒有擴展外部

9、器件時i/o端口用作雙向輸入輸出口當系統(tǒng)作外部擴展時使用p0、p2口作系統(tǒng)地址和數(shù)據(jù)總線、p3口有第二功能與mcs-51的內部功能器件配合使用。以p1口為例:p1口的位結構 作輸出時輸出0時將0輸出到內部總線上在寫鎖存器信號控制下寫入鎖存器鎖存器的反向輸出端輸出1下面的場效應管導通輸出引腳成低電平。輸出1時下面的場效應管截止上面的上拉電阻使輸出為1。作輸入時p1端口引腳信號通過一個輸入三態(tài)緩沖器接入內部總線再讀引腳信號控制下引腳電平出現(xiàn)在內部總線上。 i/o口的注意事項如果單片機內部有程序存貯器不需要擴展外部存貯器和i/o接口單片機的四個口均可作i/o口使用四個口在作輸入口使用時均應先對其寫“

10、1”以避免誤讀p0口作i/o口用時應外接10k的上拉電阻其它口則可不必p2可某幾根線作地址使用時剩下的線不能作i/o口線使用p3口的某些口線作第二功能時剩下的口線可以單獨作i/o口線使用。1).硬件電路設計(畫出原理圖、接線圖)繪制流水燈原理圖假設元器件參數(shù)為c1=c2=20pf、c3=10ufr1=r2=r3=r4=r5=r6=r7=r8=470歐姆、r9=10k歐姆晶振=12m;vcc=5v。總電路圖如圖 1所示圖1 流水燈原理圖繪制流水燈接線圖:圖2繪制流水燈接線圖 2).選用at89c51的引腳功能xtal1:單芯片系統(tǒng)時鐘的反向放大器輸入端。xtal2:系統(tǒng)時鐘的反向放大器輸出端,一

11、般在設計上只要在xtal1和xtal2上接上一只石英震蕩晶體系統(tǒng)就可以工作了,此外可以在兩引腳與地之間加入20pf的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪音干擾而死機。reset:重置引腳,高電平動作,當要對晶體重置時,只要對此引腳電平提升至高電平并保持兩個及其周期以上的時間便能完成系統(tǒng)重置的各項動作,使得內部特殊功能寄存器內容均被設成已知狀態(tài)。p0:端口0是一個8位寬的開路汲汲雙向輸出入端口,共有8個位,p0.0表示0,p0.1表示1,以此類推。p2:端口2是具有內部提升電路的雙向i/o端口,每一個引腳可以推動4個ls的ttl負載,若將端口2的輸出設為高電平時,此端口便能當成輸入端口來使用。4.說

12、明如圖所示,s1為復位開關,s2、s3、s4分別為切換不同流水效果的開關,p2口控制led燈d1d7的顯示,p0口作為led的輸出控制。當按下s2后能實現(xiàn)d1和d7同時亮其他不亮,然后d2和d6亮,依此類推。當按下復位s1,然后按下s2實現(xiàn)led燈從d7到d1循環(huán)亮,按下s1然后按下s3實現(xiàn)led從d1到d7的循環(huán)亮。 3)軟件框圖下面是8只led左右來回點亮的流程圖 開始while(1)否是i=0,p2=_crol_(p2,1)判斷i是否小于7 否是p2的值向左循環(huán)移動 i=0,p2=_cror_(p2,1)判斷i是否小于7是 p2的值向左循環(huán)移動 結束8只led左右來回點亮的程序流程圖 3

13、、用keil建項目流程1)、運行keil 2軟件,啟動后,點擊project菜單新建項目,新建項目后,選擇為at89c51的仿真單片機的型號,單擊file選擇new新建程序文件,保存后,右擊source group1添加入程序文件。 2)、編寫程序,右擊target 1打開設置輸出hex窗口,如圖3所示:圖 3 打開設置輸出hex窗口3)、設置輸出hex文件,勾選上output下的create hex fi:,單擊確定保存,運行程序得到hex文件,如圖 4 所示:圖4 設置輸出hex文件4、程序清單#include<reg51.h> #include<intrins.h>

14、; #define uchar unsigned char #define uint unsigned int /延時 void delayms(uint x) uchar i; while(x-) for(i=0;i<120;i+); /主程序 void main() uchar i; p2=0x01; while(1) for(i=0;i<7;i+) p2=_crol_(p2,1); /p2 的值向左循環(huán)移動 delayms(150); for(i=0;i<7;i+) p2=_cror_(p2,1); /p2 的值向右循環(huán)移動 delayms(150); 代碼解釋:(1)

15、#include <reg51.h> 預處理命令,包含頭文件,通用格式#include <stdio.h>,類似的頭文件reg52.h/at89x51.h/at89x52.h,基本一樣,只在使用時對位的定義不一樣at89x51.h文件中對p1.1的操作是寫成p1_1;reg51.h文件中的操作則寫成p11。at89x5*特指atmel公司的系列單片機reg5*指所有52系列的單片機。reg52是對reg 51的擴充,增加了t2和dptr1,可認為reg 51是reg 52的子集。sfr p0=0x80; /定義p0的i/o端口,其地址為80h。在keil中,sfr與sf

16、r16用于定義8051的特殊功能寄存器,其中sfr用來定義8為特殊功能寄存器,sfr16用來定義16位特殊功能寄存器(2)#include <intrins.h> c51單片機頭文件包含以下函數(shù):_crol_ 字符循環(huán)左移,_cror_ 字符循環(huán)右移,_irol_整數(shù)循環(huán)左移,_iror_ 整數(shù)循環(huán)右移,_lrol_ 長整數(shù)循環(huán)左移,_lror_ 長整數(shù)循環(huán)右移,_nop_ 空操作8051 nop 指令,_testbit_ 測試并清零位 8051 jbc 指令。例:unsigned int y; y=0x00ff; y=_irol_(y,4); /無符號整型y循環(huán)左移4位。(3)v

17、oid main(void) 主函數(shù)無返回值, void 是空的意思,main()是主函數(shù),也可以定義為int main(),表示有返回值,需在函數(shù)最后用return返回結果(3)while() while循環(huán),當()中返回結果非0時循環(huán),先判斷是否符合循環(huán)條件在執(zhí)行。僅當括號中為0時(為真)退出循環(huán)如while(p1_1)表示當p1_1=1時循環(huán)如while(p1_1=0)表示當p1_1=0時結果為真,返回1時循環(huán)如while(1)表示循環(huán)控制變量為常數(shù)1,一直循環(huán),一般在循環(huán)體內放break跳出循環(huán)while(1);一直循環(huán);while(a-);a減到0時退出循環(huán);while(a-) ;

18、a減到0前一直執(zhí)行內的循環(huán)。4、系統(tǒng)調試8只led左右來回點亮的調試結果:點亮第一個流水燈,然后熄滅,接著點亮第二個流水燈,熄滅;點亮第三個,實現(xiàn)流水式的左右來回點亮。四、設計總結(結論)設計心得: 通過本次的實驗熟悉keil仿真軟件、proteus仿真軟件的使用。了解并熟悉單片機i/o口和led燈的電路結構學會構建簡單的流水燈電路。掌握c51中單片機i/o口的編程方法和使用i/o口進行輸入輸出的注意事項當上述程序編寫好以后,我們需要使用編譯軟件對其編譯,得到單片機所能識別的二進制代碼,然后再用keil編程器將二進制代碼燒寫到單片機中,最后連接好電路通電,我們就看到從左到右的流水燈 通過這次課程設計針對設計的內容和要求,我利用8086、8259、8253、8255、8282、8286以及38譯碼器和門電路設計了交通燈數(shù)字控制系統(tǒng)。通過利用單片機,編寫了軟件控制程序。同時查閱資料,用protel軟件設計出了硬件系統(tǒng)。在這次課程設計的過程中,我無論是在關于x86系列的相關知識或在接口芯片的初始化及應用方面還是在利用所學到知識全面設計系統(tǒng)方面收

溫馨提示

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

評論

0/150

提交評論