單片機原理與應用實驗報告_第1頁
單片機原理與應用實驗報告_第2頁
單片機原理與應用實驗報告_第3頁
單片機原理與應用實驗報告_第4頁
單片機原理與應用實驗報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理實驗報告專業(yè):計算機科學與技術學號:XX:實驗1計數(shù)顯示器【實驗目的】熟悉Proteus仿真軟件,掌握單片機原理圖的繪圖方法【實驗內容】()熟悉Proteus仿真軟件,了解軟件的結構組成與功能()學習ISIS模塊的使用方法,學會設置圖紙、選元件、畫導線、修改屬性等基本操作()學會可執(zhí)行文件加載及程序仿真運行方法()理解Proteus在單片機開發(fā)中的作用,完成單片機電路原理圖的繪制【實驗步驟】()觀察Proteus軟件的菜單、工具欄、對話框等基本結構()在Proteus中繪制電路原理圖,按照表A.1將元件添加到編輯環(huán)境中()在Proteus中加載程序,觀察仿真結果,檢測電路圖繪制的正確

2、性表A.1CategoryReferenceValueMicroprocessorICsU180C51MiscellaneousX1CRYSTALCapacitorsC1,C2/1nFCAPCapacitorsC3/22uFCAP-ELECResistorsR2R8/100RESResistorsR1/1000RESOptoelectronicsLED1,LED27SEG-COM-CAT-GRNSwitches&RelaysBUTBUTTON【實驗原理圖】【實驗源程序】#includesbitP3_7=P37;unsignedcharx1=0;x2=0;unsignedcharcount=0;

3、unsignedcharidatabuf10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;voiddelay(inttime)intk,j;for(;time0;k-)for(j=500;j0;j-);voidinit()P0=bufx1;delay(10);P2=bufx2;delay(10);voidmain()init();while(1)x1=count/10;x2=count%10;P0=bufx1;delay(10);P2=bufx2;delay(10);if(P3_7=0)/delay(10);while

4、(!P3_7);if(count=99)count=0;elsecount=count+1;【實驗結果】說明該計數(shù)器的功能是,按下按下K1后,數(shù)碼管和會顯示出按鍵的按下次數(shù),表示個位,表示十位。當計數(shù)器達到99后再次按壓K1按鍵,顯示值從0重新開始。實驗2指示燈開關控制器【實驗目的】學習匯編語言的編程與調試方法【實驗內容】()熟悉Proteus仿真軟件,了解軟件的結構組成與功能()學習匯編語言的程序設計方法()學會在模塊中進行匯編程序錄入、編譯和調試()理解單片機程序控制原理,實現(xiàn)指示燈/開關控制器的預期功能【實驗步驟】()在ISIS中繪制電路原理圖,并把對應元件添加到編輯環(huán)境中()在ISIS

5、中編寫匯編語言程序()利用ISIS的匯編調試功能檢查程序的語法和邏輯錯誤()觀察仿真結果,檢測程序與電路的正確性【實驗原理圖】【實驗源程序】#includevoiddelay(inttime)intk,j;for(;time0;time-)for(k=100;k0;j-)for(j=500;j0;j-);voidinit()P1=0 x00;delay(20);P1=0 xff;delay(20);P1=0 x00;delay(20);P1=0 xff;delay(20);P1=0 x00;delay(20);P1=0 xff;delay(20);voidmain()init();P1=0 x

6、00;delay(20);P1=0 xff;delay(20);while(1)P1=P2;【實驗結果】說明點擊運行后,8個發(fā)光二極管一起閃爍3次。然后根據開關K2K4K6K8控制對應發(fā)光二極管的亮燈狀態(tài),當按下K1K3K5K7中的其中一個是,該開關對應的二極管亮,除K2以外,K2不亮的原因我也不明白,代碼沒有問題,電路圖也沒有問題,我覺得是BUG。實驗3指示燈循環(huán)控制【實驗目的】熟悉uVision3編譯軟件,掌握C51編程與調試方法【實驗內容】()熟悉uVision3編譯軟件,了解軟件的結構組成與功能()學習C51語言的程序設計方法()學會在uVision3中進行C51程序錄入、編譯和調試(

7、)理解Proteus與Keil聯(lián)合的仿真原理,實現(xiàn)指示燈循環(huán)控制功能【實驗步驟】(1)在ISIS中繪制電路原理圖,將相應元件添加到編輯環(huán)境中(2)在uVision3中編寫C51程序(3)利用uVision3的編譯調試功能檢查程序的語法和邏輯錯誤(4)下載可執(zhí)行文件,在Proteus中觀察仿真結果,檢驗程序的正確性【實驗原理圖】【實驗源程序】#includevoiddelay(inttime)intk;for(;time0;time-)for(k=1000;k0;k-);voidinit()P1=0 x00;delay(100);P1=0 xff;delay(100);P1=0 x00;dela

8、y(100);P1=0 xff;delay(100);P1=0 x00;delay(100);P1=0 xff;delay(100);voidmain()inti,j;init();while(1)unsignedchark=0 x01;for(i=7;i0;i-)P1=k;k=k*2;delay(100);for(j=8;j0;j-)P1=k;k=k/2;delay(100);【實驗結果】說明程序開始后,8只發(fā)光二極管依次從上到下閃爍,然后再從下到上閃爍。實驗4指示燈中斷控制【實驗目的】掌握行列式鍵盤的工作原理,熟悉C51語言的編程與調試【實驗內容】(1)學習使用Proteus軟件,掌握原理

9、圖繪圖方法(2)學習Keil軟件,掌握C51程序編寫與調試方法(3)理解行列式鍵盤的掃描工作原理,完成掃描程序的編寫與調試(4)實現(xiàn)行列式鍵盤掃描中斷控制功能【實驗步驟】(5)在Proteus中繪制電路原理圖,將相應的元件添加到編輯環(huán)境中(6)在Keil中編寫C51程序,并使之編譯通過(7)在Proteus中加載程序,觀察仿真結果【實驗原理圖】【實驗源程序】#includesbitP3_7=P37;unsignedcharx1=0;x2=0;unsignedcharcount=0;unsignedcharidatabuf16=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6

10、d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x58,0 x5e,0 x79,0 x71;charkey_buf=0 x11,0 x21,0 x41,0 x81,0 x12,0 x22,0 x42,0 x82,0 x14,0 x24,0 x44,0 x84,0 x18,0 x28,0 x48,0 x88;voidinit();voidkey_scan();charkey=0,k=0;bitint_flag;voiddelay(inttime)intk,j;for(;time0;time-)for(k=20;k0;k-)for(j=500;j0;j-);void

11、main()init();while(1)P2=0 x0f;P0=bufk;voidinit()IE=0 xff;TCON=0 x05;int_flag=0;P2=0 x0f;P0=buf0;voidkey_scan()interrupt1chari=16;charkeycode=0;delay(1);while(INT0=1)return;EX0=0;keycode=P2&0 xf0;P2=0 xf0;keycode=0 x0f&P2|keycode;for(;i0;i-)if(key_bufi=keycode)k=i;EX0=1;return;EX0=1;【實驗結果】說明按下相應的F按鍵在

12、的顯示屏中會顯示相應的按鍵對應的數(shù)字實驗5電子秒表顯示器【實驗目的】掌握中斷和定時/計數(shù)器工作原理,熟悉C51編程與調試方法【實驗內容】(1)學習使用Proteus軟件,掌握原理繪制圖的方法(2)學習Keil軟件,掌握C51程序編寫與調試方法(3)理解定時器的工作原理,完成定時中斷程序的編寫與調試(4)深入理解定時中斷的編程【實驗步驟】(8)在Proteus中繪制電路原理圖,將相應的元件添加到編輯環(huán)境中(9)在Keil中編寫C51程序,并使之編譯通過(10)在Proteus中加載程序,觀察仿真結果【實驗原理圖】【實驗源程序】#includeunsignedcharmin=0,sec=0,cou

13、nt=0;unsignedcharidatabuf10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;voidinit();voidisr_timer0();voiddelay(inttime)intk,j;for(;time0;time-)for(k=20;k0;k-)for(j=50;j0;j-);voidmain()init();while(1)P2=0 xfe;P0=bufmin/10;delay(1);P2=0 xfd;P0=bufmin%10;delay(1);P2=0 xfb;P0=bufsec/10;de

14、lay(1);P2=0 xf7;P0=bufsec%10;delay(1);voidinit()TMOD=0 x01;TH0=0 x3c;TL0=0 xb0;ET0=1;EA=1;TR0=1;P2=0 xf0;P0=0 xff;delay(1);voidisr_timer0()interrupt1P1=0 x0f;if(count=20)count=0;if(sec=59)P1=!P1;sec=0;if(min=59)min=0;elsemin=min+1;elsesec=sec+1;elsecount=count+1;TH0=0 x3c;TL0=0 xb0;【實驗結果】說明數(shù)碼管的初始值為0

15、0,每過一秒,秒計數(shù)器加一;秒計數(shù)器到60時清零,并從00重新開始,當秒計時器清0時,分計時器加一,由此實現(xiàn)數(shù)字時鐘。實驗6單片機雙機通信系統(tǒng)設計【實驗目的】掌握串行口通信工作原理,熟悉C51編程方法,了解設計過程【實驗內容】(1)學習使用Proteus軟件,掌握原理圖繪圖方法(2)學習使用Keil軟件,掌握C51程序編寫與調試方法(3)理解串行口通信的工作原理,完成串行口通信程序的編寫與調試(4)學習使用ARES模塊,了解PCB設計方法【實驗步驟】(1)在Proteus中繪制電路原理圖,將相應元件添加到編輯環(huán)境中(2)在Keil中編寫C51程序,并使之編譯通過(3)在Proteus中加載程序

16、,觀察仿真結果【實驗原理圖】【實驗源程序】#includecharled_mod=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x58,0 x5e,0 x79,0 x71;voiddelay(inttime)intk,j;for(;time0;time-)for(k=20;k0;k-)for(j=500;j0;j-);voidmain()charcounter=0;chartext;P1=0 x3f;TMOD=0 x20;TH1=0 xfd;TL1=0 xfd;PCON=0 x00;TR1=1

17、;SCON=0 x50;while(1)text=led_modcounter;SBUF=text;while(TI=0);TI=0;while(RI=0);RI=0;if(SBUF=text)P1=text;counter+;if(counter15)counter=0;delay(200);#includecharled_mod=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x58,0 x5e,0 x79,0 x71;voiddelay(inttime)intk,j;for(;time0;time-)for(k=20;k0;k-)for

溫馨提示

  • 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

提交評論