嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-2_第1頁(yè)
嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-2_第2頁(yè)
嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-2_第3頁(yè)
嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-2_第4頁(yè)
嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-2_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)報(bào)告內(nèi)容實(shí)驗(yàn)題目:循環(huán)輪流點(diǎn)亮8個(gè)發(fā)光二極管。每個(gè)狀態(tài)時(shí)間間隔200毫秒~1000毫秒。實(shí)驗(yàn)?zāi)康模赫莆誎EIL軟件編輯軟件和Proteus軟件的基本操作,了解電路的基本實(shí)現(xiàn)以及74HC573芯片相關(guān)原理實(shí)驗(yàn)要求:用KEIL軟件編輯軟件并編譯生成HEX文件用Proteus軟件畫仿真電路圖,并將hex文件加載到單片機(jī)芯片中仿真運(yùn)行,觀察實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)電路圖:圖1發(fā)光二極管與鎖存器排阻連接示意圖實(shí)驗(yàn)報(bào)告內(nèi)容圖2單片機(jī)芯片引腳連接程序源代碼:#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uintxms){uintx,y;for(x=xms;x>0;x--)for(y=114;y>0;y--);}實(shí)驗(yàn)報(bào)告內(nèi)容voidmain(){P1=0xfe;delay(1000);while(1){P1=_crol_(P1,1);delay(1000);}}實(shí)驗(yàn)結(jié)果分析:發(fā)光二極管逐一點(diǎn)亮,符合實(shí)驗(yàn)相關(guān)要求。實(shí)驗(yàn)報(bào)告內(nèi)容評(píng)語:成績(jī):實(shí)驗(yàn)日期:實(shí)驗(yàn)報(bào)告內(nèi)容實(shí)驗(yàn)題目:1)數(shù)碼管前三位顯示一個(gè)跑表2)按下16個(gè)矩陣鍵盤依次在數(shù)碼管上顯示1-16的平方實(shí)驗(yàn)?zāi)康模赫莆誎EIL軟件編輯軟件和Proteus軟件的基本操作,了解電路的基本實(shí)現(xiàn)以及84S52芯片相關(guān)原理實(shí)驗(yàn)要求:1)數(shù)碼管前三位顯示一個(gè)跑表,從000到999之間以1%秒速度運(yùn)行,當(dāng)按下一個(gè)獨(dú)立鍵盤時(shí)跑表停止,松開手后跑表繼續(xù)運(yùn)行。(用定時(shí)器設(shè)計(jì)表),用另外三個(gè)獨(dú)立鍵盤實(shí)現(xiàn)按下第一個(gè)時(shí)計(jì)時(shí)停止,按下第二個(gè)時(shí)計(jì)時(shí)開始,按下第三個(gè)是計(jì)數(shù)值清零從頭開始。獨(dú)立按鍵分別使用P3口4、5、6、7位。2)按下16個(gè)矩陣鍵盤依次在數(shù)碼管上顯示1-16的平方。如按下第一個(gè)顯示1,第二個(gè)顯示4...,…。P3口的0、1、2、3位控制行,P3口的4、5、6、7位控制列。1)和2)在一個(gè)或兩個(gè)電路圖上實(shí)現(xiàn)均可。3)用KEIL軟件編輯軟件并編譯生成HEX文件4)用Proteus軟件畫仿真電路圖,并將hex文件加載到單片機(jī)芯片中仿真運(yùn)行,觀察實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)電路圖:見后頁(yè)。實(shí)驗(yàn)報(bào)告內(nèi)容實(shí)驗(yàn)電路圖:題目二: 圖3單片機(jī)芯片引腳連接程序源代碼:#include<REG52.H>#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;sbitwela=P2^7; //數(shù)碼管Uchacode實(shí)驗(yàn)報(bào)告內(nèi)容table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0~15uintcodetablek[]={1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256};uchartemp,keynum;voiddelay(uintxms){uintx,y;for(x=xms;x>0;x--)for(y=114;y>0;y--);}//延遲函數(shù)voiddis3(uintn3) //數(shù)碼管掃描{ucharge,shi,bai;ge=n3%10;shi=n3/10%10;bai=n3/100;dula=0;P0=0xff;//消影wela=1;P0=0xfe;//11111110wela=0;P0=0;dula=1;P0=table[bai];dula=0;delay(5);//P0=0xff; //11111111wela=1;P0=0xfd; //11111101wela=0;P0=0;dula=1;P0=table[shi];dula=0;delay(5);P0=0xff;wela=1;P0=0xfb; //111111011wela=0;實(shí)驗(yàn)報(bào)告內(nèi)容P0=0;dula=1;P0=table[ge];dula=0;delay(5);}voidmain(){wela=1;P0=0xc0;wela=0;dula=1;P0=0;dula=0;while(1){P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5);//chuchan temp=P3; temp=temp&0xf0; if(temp!=0xf0) { switch(temp) { case0xe0: keynum=0; break; case0xd0: keynum=1; break; case0xb0: keynum=2; break; case0x70: keynum=3; break; }實(shí)驗(yàn)報(bào)告內(nèi)容 while(temp!=0xf0)//songshouchuli { temp=P3; temp=temp&0xf0; dis3(tablek[keynum]); } dis3(tablek[keynum]); } } P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { switch(temp) { case0xe0: keynum=4; break; case0xd0: keynum=5; break; case0xb0: keynum=6; break; case0x70: keynum=7; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; dis3(tablek[keynum]); } 實(shí)驗(yàn)報(bào)告內(nèi)容 dis3(tablek[keynum]); } } P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(5);temp=P3; temp=temp&0xf0; if(temp!=0xf0) { switch(temp) { case0xe0: keynum=8; break; case0xd0: keynum=9; break; case0xb0: keynum=10; break; case0x70: keynum=11; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; dis3(tablek[keynum]); } dis3(tablek[keynum]); } } P3=0xf7; temp=P3; 實(shí)驗(yàn)報(bào)告內(nèi)容 temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) { switch(temp) { case0xe0: keynum=12; break; case0xd0: keynum=13; break; case0xb0: keynum=14; break; case0x70: keynum=15; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; dis3(tablek[keynum]); } dis3(tablek[keynum]); } } dis3(tablek[keynum]); } }實(shí)驗(yàn)報(bào)告內(nèi)容實(shí)驗(yàn)結(jié)果分析:按鍵顯示相應(yīng)平方數(shù),符合實(shí)驗(yàn)要求實(shí)驗(yàn)報(bào)告內(nèi)容評(píng)語:成績(jī):實(shí)驗(yàn)日期:實(shí)驗(yàn)報(bào)告內(nèi)容實(shí)驗(yàn)題目:在液晶顯示器1602A上顯示兩行英文字符串。實(shí)驗(yàn)?zāi)康模赫莆誎EIL軟件編輯軟件和Proteus軟件的基本操作,了解電路的基本實(shí)現(xiàn)以及84S52芯片相關(guān)原理,及液晶顯示器的相關(guān)應(yīng)用。實(shí)驗(yàn)要求:1)根據(jù)圖2和圖4所示連接,在液晶顯示器1602A上顯示兩行英文字符串。2)用KEIL軟件編輯軟件并編譯生成HEX文件3)用Proteus軟件畫仿真電路圖,并將hex文件加載到單片機(jī)芯片中仿真運(yùn)行,觀察實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)電路圖:圖4液晶顯示器1602A引腳連接圖實(shí)驗(yàn)報(bào)告內(nèi)容程序源代碼: #include<reg51.h>//包含單片機(jī)的頭文件#include<intrins.h>//包含_nop_()函數(shù)定義的頭文件sbitRS=P2^0;//寄存器選擇位,將RS位定義為P2.0引腳sbitRW=P2^1;//讀寫選擇位,將RW位定義為P2.1引腳sbitE=P2^2;//使能信號(hào)位,將E位定義為P2.2引腳sbitBF=P0^7;//忙碌標(biāo)志位,,將BF位定義為P0.7引腳unsignedcharcodestring[]={"HelloSunqiuyue!"};unsignedcharcodestring1[]={"Hi!GoodStudent!"};/*************************************************函數(shù)功能:延時(shí)1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒*************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}實(shí)驗(yàn)報(bào)告內(nèi)容/*****************************函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n******************************/voiddelay(unsignedcharn){unsignedchari;for(i=0;i<n;i++)delay1ms();}/*******************************************函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result=1,忙碌;result=0,不忙*******************************************/unsignedcharBusyTest(void){bitresult;RS=0;//根據(jù)規(guī)定,RS為低電平,RW為高電平時(shí),可以讀狀態(tài)RW=1;E=1;//E=1,才允許讀寫實(shí)驗(yàn)報(bào)告內(nèi)容_nop_();//空操作_nop_();_nop_();_nop_();//空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間result=BF;//將忙碌標(biāo)志電平賦給resultE=0;returnresult;}/**************************************************函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate**************************************************/voidWriteInstruction(unsignedchardictate){while(BusyTest()==1);//如果忙就等待RS=0;//根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫入指令RW=0;E=0;//E置低電平_nop_();實(shí)驗(yàn)報(bào)告內(nèi)容_nop_();//空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間P0=dictate;//將數(shù)據(jù)送入P0口,即寫入指令或地址_nop_();_nop_();_nop_();_nop_();//空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間E=1;//E置高電平(正跳變)_nop_();_nop_();_nop_();_nop_();//空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間E=0;//當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令}/**************************************************函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫入液晶模塊入口參數(shù):y(為字符常量)**************************************************/voidWriteData(unsignedchary){實(shí)驗(yàn)報(bào)告內(nèi)容while(BusyTest()==1);RS=1;//RS為高電平,RW為低電平時(shí),可以寫入數(shù)據(jù)RW=0;E=0;//E置低電平P0=y;//將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫入液晶模塊_nop_();_nop_();_nop_();_nop_();//空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間E=1;//E置高電平(正跳變)_nop_();_nop_();_nop_();_nop_();//空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間E=0;//當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令}/******************************************函數(shù)功能:對(duì)LCD的顯示模式進(jìn)行初始化設(shè)置******************************************/實(shí)驗(yàn)報(bào)告內(nèi)容voidLcdInitiate(void){delay(15);//延時(shí)15ms,首次寫指令時(shí)應(yīng)給LCD一段較長(zhǎng)的反應(yīng)時(shí)間WriteInstruction(0x38);//顯示模式設(shè)置:8位數(shù)據(jù),16×2顯示,5×7點(diǎn)陣,delay(5);//延時(shí)5msWriteInstruction(0x38);delay(5);WriteInstruction(0x38);delay(5);WriteInstruction(0x0f);//顯示模式設(shè)置:顯示開,有光標(biāo),光標(biāo)閃爍delay(5);WriteInstruction(0x06);//顯示模式設(shè)置:光標(biāo)右移,字符不移delay(5);WriteInstruction(0x01);//清屏幕指令,將以前的顯示內(nèi)容清除delay(5);}voidmain(void)//主函數(shù){unsignedchari;實(shí)驗(yàn)報(bào)告內(nèi)容LcdInitiate();//調(diào)用LCD初始化函數(shù)del

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論