昆明理工大學單片機實驗報告_第1頁
昆明理工大學單片機實驗報告_第2頁
昆明理工大學單片機實驗報告_第3頁
免費預覽已結束,剩余14頁可下載查看

下載本文檔

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

文檔簡介

1、昆明理工大學信息工程與自動化學院學生實驗報告(2015 2016學年第1學期)課程名稱:單片機技術年級、專業、 班物聯網131學號201310410146姓 名孫貴明成績實驗項目名 稱輸入輸出端口控制實驗指導教師江虹教師 評 語該同學是否了解實驗儀器原理:A. 了解口B.基本了解口 C.不了解該同學的實驗能力:A.強 B.中等 C.差 該同學的實驗是否達到要求 :A.達到口 B.基本達到口 C.未達到 實驗報告是否規范:A.規范口 B.基本規范口 C.不規范實驗過程是否詳細記錄:A. 詳細口 B. 一般 C.沒有 注:5個A為優4個A為良3個A為及格 其余為不及格。教師簽名:年月日開課實驗室:

2、呈貢校區信自樓 5042015年10 月19日、實驗目的1、熟悉Keil C的使用方法,掌握C51程序設計、調試方法。2、掌握單片機 I/O 的控制方法。二、實驗原理I/O 口是單片機與外界聯系的通道。 它可對各類外部信號 (模擬量、開關量、 頻率信號)進行檢測、判斷、處理,并可控制各類外部設備。單片機通過 I/O 口感知外部世界的存在,而外界也通過 I/O 口感知單片機的存在。51 單片機共有 4 個準雙向的 8 位并行 I/O 端口,分別記為 P0、 P1、 P2、 P3, 其中輸出鎖存器屬于特殊功能寄存器。 端口的每一位均由鎖存器、 輸出驅動器和 輸入緩沖器組成, 這些端口除了按字節輸入

3、輸出外, 還可以按位尋址, 便于位控 功能的實現。4個I/O 口中,P0 P2 口為雙功能端口,當單片機片外擴展存儲器時, P0 口作為單片機系統復用的地址/數據總線使用,P2 口用作地址總線;P1 口是單功 能的I/O 口,引腳輸入時,必須先向鎖存器寫1;由于51單片機的引腳數目有 限,因此在P3 口電路中增加了引腳的第二功能。三、實驗內容用P1 口作為輸出口,接8位用作邏輯電平顯示的發光二極管。設計程序使 發光二極管間隔300ms先奇數亮再偶數亮,循環3次;一個發光二極管亮上下循 環3次;兩個分別從兩邊向中間流動 3次;再從中間向兩邊流動3次;8個全部 閃爍3次;關閉全部發光二極管,停止。

4、實驗電路原理圖如下:L.LfrG:j :r-.:rL-rm圖1-輸入輸出端口控制實驗電路原理圖四、實驗步驟1、按實驗要求在KeilC中創建項目,編輯、調試、編譯程序。2、將編譯生成的目標碼文件(后綴為.Hex)下載到實驗板上。3、觀察實驗運行結果并記錄。五、運行結果proteus由于在實驗板上的8個LED燈很小,拍攝效果并不理想,所以在 軟件上進行了仿真,相應截圖如下:5.1、實驗模型圖如下:5.2、發光二極管間隔300ms先奇數亮再偶數亮的截圖如下:AtR8|£DRE:'奇數燈亮偶數燈亮5.3、一個發光二極管上下流動AfKCElL_LD>Fft>LED,FEDE

5、4從上到下流動541、兩個從兩邊向中間流動丄LEEhRfDLED R?D3RIR24 E E 7 円F1P1P1EP1P1D5LED-iiEDDOUlUKGD7LJrDlUDD6UDREC-542、兩個從中間向兩邊流動Fl ?OB從中間流向兩邊-1從中間流向兩邊-25.5、8個全部閃爍及關閉發光二極管ALEUEHK3 D3LEDflEZ:U4D&11=Q flj=07阿3PI .-4Pl flPI flFiTATKCCLjEMI8個燈全滅及關閉發光二極管六、心得體會這次實踐加深了對課堂所學的理解,讓我更加深入學習了單片機對于I/O的控制方法。熟悉了 Keil C的使用方法,鍛煉了 C5

6、1程序設計、調試方法。在 面對開發板的時候,一開始也會因為定時等等問題不能讓八個燈按照要求顯示, 但是后來在實踐中得到老師和同學的幫助,從最簡單的流水燈做起,到更復雜的 變化,一次次糾錯中,自己的信心和能力都有加強,體會到了單片機的設計中的 魅力,希望能進一步學習更多更復雜的應用。七、源代碼#in elude <reg52.h>#include vintrins.h>#define uint unsigned int /給類型 unsigned int取一個別名為:uint#defi ne uchar un sig ned charvoid delay_ms(ui nt);

7、/延時子程序的聲明void mai n()創建一個數組uchar table4 = 0x7e,0xbd,0xdb,0xe7; /uchar i,j;uchar k = 3;uchar aa = 0xfe;uchar bb = 0xbf;for(i=0;i<=3;i+)/循環 3 次,每次先奇數燈亮,然后偶數燈亮P1 = 0xaa;delay_ms(300);/ 奇數燈亮 300 毫秒P1 = 0x55;delay_ms(300);/ 偶數燈亮 300 毫秒 while(k)for(i=0;i<8;i+)/ 實現第 1 個燈到第 8 個燈從上到下的流水燈P1 = aa;delay_m

8、s(300);aa =_crol_(aa,1);/ 循環左移,每次整體移 1 位for(j=0;j<6;j+)/ 實現從第 7到第 2個燈的流水燈P1 = bb;delay_ms(300);bb =_cror_(bb,1);/ 循環右移,每次整體移 1 位bb =_cror_(bb,2);/ 為了回到從下到上的初始狀態,需要整體再移 2位k-;P1 = 0xfe;/ 因為從下到上只兩亮到第 2 個燈,所以第一個燈需要另外點亮 delay_ms(300);for(i=0;i<3;i+)for(j=0;j<4;j+) / 從兩邊向中間流動P1 = tablej;delay_ms(300);for(i=0;i<3;i+)for(j=3;j>0;j-) /從中間向兩邊流動P1 = tablej-1;delay_ms(300);if(i!=2)/ 判斷是否是最后一次循環,若是則另外點亮兩中間的兩個二 極管P1 = 0xe7;delay_ms(300);for(i=0;i<3;i+)/8 個燈一起閃爍 3 次 P1 = 0x00;delay_ms(300);P1 = 0xff;delay_ms(300);while(1)P1 = 0

溫馨提示

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

評論

0/150

提交評論