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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

試驗匯報(理工類)學(xué)生姓名學(xué)號成績學(xué)生所在學(xué)院年級/專業(yè)/班課程名稱單片機原理與應(yīng)用課程代碼試驗項目名稱試驗1紅黃綠燈控制項目代碼指導(dǎo)教師項目學(xué)分1.試驗?zāi)繕耍?)學(xué)習(xí)Keilc51集成編譯軟件使用和調(diào)試程序方法;(2)學(xué)習(xí)將用戶程序下載到應(yīng)用系統(tǒng)方法;(3)掌握STC89C52單片機I/O端口控制和使用方法。2.試驗設(shè)備單片機試驗板、PC機、Keil軟件、STC-ISP.EXE程序下載軟件。3.試驗內(nèi)容利用單片機P1.1、P1.2、P1.3控制3個LED指示燈,模仿交通控制燈:紅燈亮4秒;黃燈亮2秒;黃燈、綠燈同時亮1秒;綠燈亮4秒,如此循環(huán)。4.試驗電路 試驗電路原理圖以下:圖1.1圖1.1紅黃綠燈控制電路原理圖5.試驗程序圖2.1紅黃綠燈控制圖2.1紅黃綠燈控制程序流程圖試驗程序以下:#include<reg52.h>//led數(shù)碼管位連接定義sbitled1=P1^1;//定義SFR中引腳“位”接黃燈sbitled2=P1^2;//定義SFR中引腳“位”接綠燈sbitled3=P1^3;//定義SFR中引腳“位”接紅燈voiddelayms(unsignedintx)//延時子程序{unsignedcharj;while(x--){for(j=0;j<123;j++){;}}}voidmain(void)//主程序{while(1){led1=1;led2=1;led3=0;delayms(4000);led1=0;led2=1;led3=1;delayms();led1=0;led2=0;led3=1;delayms(1000);led1=1;led2=0;led3=1;delayms(4000);}}6.試驗步驟(1)依照試驗原理圖編寫程序,用“KeiluVision4”(2)用STC-ISP.EXE軟件將所編程序“HEX”碼下載到試驗板STC89c52芯片中;(3)運行程序,觀察試驗板左側(cè)三個LED(紅黃綠)燈點亮次序和時間是否按要求發(fā)生變換,假如不符合要求,改寫程序,按步驟(1)開始重新做試驗,直至成功。試驗匯報(理工類學(xué)生姓名學(xué)號成績學(xué)生所在學(xué)院年級/專業(yè)/班課程名稱單片機原理與應(yīng)用課程代碼試驗項目名稱試驗2鍵操作、LED數(shù)碼管顯示試驗項目代碼指導(dǎo)教師項目學(xué)分1.試驗?zāi)繕苏莆摘毩㈡I盤、LED數(shù)碼管電路連接和編程方法。2.試驗設(shè)備單片機試驗板、PC機、Keil等編譯軟件、STC-ISP.EXE程序下載軟件。3.試驗內(nèi)容(1)編寫程序,按KEY1只有紅燈亮;按KEY2只有黃燈亮;按KEY3只有綠燈亮。(2)開始后LED數(shù)碼管顯示0,每按KEY1一次,數(shù)碼管顯示加1,至9后,再循環(huán)從0顯示到9。4.試驗電路 試驗電路原理圖以下:圖3.1試驗二顯示原理圖圖3.1試驗二顯示原理圖5.試驗程序試驗流程圖如圖:試驗程序以下:#include"key.h"sbitled_red=P^2;//接紅燈sbitled_yellow=P3^3;//接黃燈sbitled_green=P3^4;//接綠燈voidKeyProc(ucharkey){switch(key){ caseKEY1:{led_red=0;led_yellow=1;led_green=1;}break; caseKEY2:{led_red=1;led_yellow=0;led_green=1;}break; caseKEY3:{led_red=1;led_yellow=1;led_green=0;}break;}}voidmain(void){ucharkey;while(1){key=KeyScanNUM();if(key==KEY1||key==KEY2||key==KEY3){KeyProc(key);}key=0;}}6.試驗步驟(1)依照試驗原理圖編寫程序,用“KeiluVision4”(2)用STC-ISP.EXE軟件將所編程序“HEX”碼下載到試驗板STC89c52芯片中;(3)運行程序,按試驗板右下側(cè)KEY1,KEY2,KEY3,觀察LED中紅黃綠燈否按要求點亮,假如不符合要求,改寫程序,按步驟(1)開始重新做試驗,直至成功。(4)按一樣方法調(diào)試編寫試驗內(nèi)容2程序,直至調(diào)試成功。7.思索題段碼與哪些原因關(guān)于,寫出本試驗中LED數(shù)碼管A、b、C、d、e、F、P段碼。試驗匯報(理工類)學(xué)生姓名學(xué)號成績學(xué)生所在學(xué)院年級/專業(yè)/班課程名稱單片機原理與應(yīng)用課程代碼試驗項目名稱試驗3掌握MCS51定時器中止使用方法項目代碼指導(dǎo)教師項目學(xué)分1.試驗?zāi)繕?掌握MCS51定時器使用方法。2.試驗設(shè)備單片機試驗板、PC機、Keil等編譯軟件、STC-ISP.EXE程序下載軟件。3.試驗內(nèi)容(1)利用定時器中止方式,做一個顯示0~9秒鐘。(2)利用定時器中止方式,做一個顯示0~99秒鐘,每1秒增加1。4.試驗電路89C52單片機 試驗電路流程89C52單片機圖6.1定時中止秒鐘顯示流程圖在芯片上編程開中止中止程序計時0.01s計數(shù)圖6.1定時中止秒鐘顯示流程圖在芯片上編程開中止中止程序計時0.01s計數(shù)滿100顯示+1LED顯示()繼續(xù)計時試驗電路原理圖以下:圖7.10~9秒鐘顯示試驗電路原理圖以下:圖7.10~9秒鐘顯示原理圖圖7.圖7.200~99秒鐘顯示原理圖附錄8.10~9秒秒鐘顯示附錄8.10~9秒秒鐘顯示5.試驗程序調(diào)試成功程序以下:#include<reg52.h>#defineucharunsignedchar //宏定義#defineuintunsignedintucharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //定義數(shù)碼管斷碼ucharnum;uchartimecounter=100;//軟件計數(shù)器初值sbitled=P3^6;//管腳sfr定義voiddelayms(uintx)//延時子程序{ucharj;while(x--)for(j=0;j<123;j++){;}}voidmain()//主程序{TMOD=0x01;//置定時器T0,非門控,方式1TL0=0xf0;//置定時器初值TH0=0xd8;//置定時器初值EA=1;//開總中止ET0=1;//開T0TR0=1;//開啟定時while(1)//無限循環(huán){P2=dispcode[num%10];led=0;delayms(5);//num顯示 } }voidtimer0()interrupt1 //中止程序{TL0=0xf0;//重置定時器初值 TH0=0xd8;// timecounter--; if(timecounter==0) { timecounter=100;//重置軟件計數(shù)器初值 num++;//num加1 if(num>9)num=0;//num歸零 } } 附錄9.100~99秒鐘顯示附錄9.100~99秒鐘顯示#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};ucharnum;uchartimecounter=100;sbitled1=P3^6;sbitled0=P3^7;voiddelayms(uintx){ucharj;while(x--)for(j=0;j<123;j++){;}}voidmain(){TMOD=0x01;TL0=0xf0;TH0=0xd8;EA=1;ET0=1;TR0=1;while(1){P2=0xff;P2=dispcode[num/10];led1=1;led0=0;delayms(5); P2=0xff; P2=dispcode[num%10];led1=0;led0=1;delayms(5); }}voidtimer0()interrupt1{TL0=0xf0; TH0=0xd8; timecounter--; if(timecounter==0) { timecounter=100; num++; if(num>99)num=0; } }6.試驗步驟(1)依照試驗原理圖編寫程序,用“KeiluVision4”(2)用STC-ISP.EXE軟件將所編程序“HEX”碼下載到試驗板STC89c52芯片中;(3)運行程序,觀察LED數(shù)碼管是否每隔1秒出現(xiàn)“0”-“9”,改變。假如不符合要求,改寫程序,按步驟(1)開始重新做試驗,直至成功。(4)按一樣方法調(diào)試編寫試驗內(nèi)容中(2)程序,直至調(diào)試成功。7.思索題談一下用定時器中止編程體會西華大學(xué)試驗匯報(理工類)學(xué)生姓名學(xué)號成績學(xué)生所在學(xué)院年級/專業(yè)/班課程名稱單片機原理與應(yīng)用課程代碼試驗項目名稱試驗4計數(shù)器試驗項目代碼指導(dǎo)教師項目學(xué)分1.試驗?zāi)繕苏莆沼嫈?shù)器使用方法。2.試驗設(shè)備單片機試驗板、PC機、Keil等編譯軟件、Proteus軟件。3.試驗內(nèi)容利用計數(shù)器,統(tǒng)計光電開關(guān)被遮斷次數(shù),并用LCD1602顯示出來。4.試驗電路試驗電路原理圖以下:LCDLMD16LCDLMD16 圖11.1計數(shù)顯示原理圖圖11.1計數(shù)顯示原理圖5.試驗程序試驗程序框圖以下:89C89C51芯片顯示模塊顯示模塊LCDLCD1602顯示圖12.1計數(shù)顯示流程圖圖12.1計數(shù)顯示流程圖試驗程序以下:#include"lcd1602_4.h"#defineuintunsignedint#defineucharunsignedcharucharDispBuffer[4];voidmain(){P2=0;LCD_init();//液晶初始化TMOD=0x60;//置T0為計數(shù)器方式2TL1=0x00;//置計數(shù)器初值TH1=0x00;TR1=1;//開啟計數(shù)LCD_prints(1,0."THENUMBERIS");while(1){DispBuffer[0]=TL1/100+0x30;DispBuffer[1]=TL1%100/10+0x30;DispBuffer[2]=TL1%10+0x30;

溫馨提示

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

評論

0/150

提交評論