




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理及應(yīng)用大 作 業(yè)姓名: XXX 專業(yè): 通信工程 學(xué)號: XXX 作業(yè)1 流水燈實(shí)現(xiàn)循環(huán)左移右移一、 實(shí)驗(yàn)?zāi)康?)了解單片機(jī)系統(tǒng)實(shí)現(xiàn)LED動態(tài)顯示的原理及方法;2)較為詳細(xì)了解AT89C51芯片的性能;3)能夠了解到單片機(jī)系統(tǒng)的基本原理,了解單片機(jī)控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C語言中的設(shè)計(jì)和學(xué)會分析程序,進(jìn)而能夠根據(jù)自己的需要編寫代碼;6) 掌握使用PROTEUS軟件進(jìn)行仿真的方法;7) 掌握循環(huán)左移右移的方法。二、 實(shí)驗(yàn)軟件PROTEUS仿真軟件三、 芯片介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。 四、 實(shí)驗(yàn)內(nèi)容點(diǎn)亮一個(gè)流水燈,然后熄滅,接著點(diǎn)亮第二個(gè)流水燈,熄滅,點(diǎn)亮第三個(gè),到最后點(diǎn)亮第八個(gè);點(diǎn)亮第七個(gè)燈,一次到第一個(gè)燈,然后循環(huán)實(shí)現(xiàn)流水。五、 原理圖六、 仿真效果圖七、 軟件編程程序八、 總結(jié)作業(yè)2 數(shù)碼管矩陣鍵盤顯示一、 實(shí)驗(yàn)?zāi)康?)了解單片機(jī)系統(tǒng)實(shí)現(xiàn)LED動態(tài)顯示的原理及方法;2)較為詳細(xì)了解AT89C51芯片的性能;3)能夠了解到單片機(jī)系統(tǒng)的基本原理,了解單片機(jī)控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C語言中的設(shè)計(jì)和學(xué)會分析程序,進(jìn)而能夠根據(jù)自己的需要編寫代碼;6)掌握4X4矩陣式鍵盤程序識別原理;7)掌握4X4矩陣式鍵盤的設(shè)計(jì)方法;8)學(xué)習(xí)鍵盤的掃描方式和應(yīng)用程序設(shè)計(jì);9) 掌握使用PROTEUS軟件進(jìn)行仿真的方法;二、 實(shí)驗(yàn)軟件PROTEUS仿真軟件三、 芯片介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。 四、 實(shí)驗(yàn)內(nèi)容1)44矩陣鍵盤程序識別原理。2)每個(gè)按鍵都有它的行值和列值,行值和列值的組合就是識別這個(gè)按鍵的編碼。矩陣的行線和列線都連接到AT89C51中,通過按鍵0F,來在數(shù)碼管顯示不同的值。 五、 原理圖 六、 仿真效果七、 實(shí)驗(yàn)程序#include#include /定義絕對地址頭文件#include#defineucharunsignedchar#defineuintunsignedint#definePA8255XBYTE0x4000 /8255的A口地址#definePB8255XBYTE0x4001 /8255的B口地址#definePC8255XBYTE0x4002 /8255的C口地址#definePD8255XBYTE0x4003 /8255的控制口地址unsignedchardispBuffer6=17,17,17,17,17,1; /顯示緩沖ucharLED_DATA= /數(shù)碼管段碼0xc0, /00xf9, /10xa4, /20xb0, /30x99, /40x92, /50x82, /60xf8, /70x80, /80x90, /90x88, /a0x83, /b0xc6, /c0xa1, /d0x86, /e0x8e, /f0xbf, /.0xff /滅;ucharLED_NUM= /數(shù)碼管位碼0xFE, /LED10xFD, /LED20xFB, /LED30xF7, /LED40xEF, /LED50xDF /LED6;ucharKEY_number= /按鍵掃描編碼0x77, /0 ,0xb7, /10xd7, /20xe7, /30x7b, /40xbb, /50xdb, /60xeb, /70x7d, /80xbd, /90xdd, /a0xed, /b0x7e, /c0xbe, /d0xde, /e0xee /f;voiddelayms(uintxms)/誤差0usuinti,j;for(i=xms;i0;i-)for(j=110;j0;j-);voidini_8255() /初始化8255 PD8255=0x81;voiddispRefresh(void)unsignedchari;for(i=0;i6;i+)PA8255=LED_NUMi;PB8255=LED_DATAdispBufferi; delayms(2);unsignedcharkeyscan(void)unsignedcharkey1,key2=20; PC8255=0xEF; /C口的11101111,TL1列掃描key1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F)delayms(10); /延遲10mskey1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F) /說明有按鍵按下switch(key1|0xE0)/拼湊成完整的按鍵碼,第一列 case0xe7:key2=3;break; /3 case0xeb:key2=7;break; /7case0xed:key2=11;break; /bcase0xee:key2=15;break; /fdefault:break;PC8255=0xDF;/C口的11011111,TL2列掃描key1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F)delayms(10); /延遲10mskey1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F) /說明有按鍵按下switch(key1|0xD0) /拼湊成完整的按鍵碼,第一列case0xd7:key2=2;break; /2 case0xdb:key2=6;break; /6case0xdd:key2=10;break; /acase0xde:key2=14;break; /edefault:break; PC8255=0xbF; /C口的11101111,TL1列掃描key1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F)delayms(10); /延遲10mskey1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F) /說明有按鍵按下switch(key1|0xb0) /拼湊成完整的按鍵碼,第一列 case0xb7:key2=1;break; /1 case0xbb:key2=5;break; /5case0xbd:key2=9;break; /9case0xbe:key2=13;break; /ddefault:break;/ PC8255=0x7F; /C口的11101111,TL1列掃描key1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F)delayms(10); /延遲10mskey1=(PC8255&0x0F); /讀取低四位值if(key1!=0x0F) /說明有按鍵按下switch(key1|0x70) /拼湊成完整的按鍵碼,第一列 case0x77:key2=0;break; /0 case0x7b:key2=4;break; /4case0x7d:key2=8;break; /8case0x7e:key2=12;break; /cdefault:break;doPC8255=0x0F;key1=(PC8255&0x0F);while(key1!=0x0F);returnkey2;voiddataTransform(unsignedchar*pData,unsignedcharkeyValue)unsignedcharii;for(ii=0;ii5;ii+)pDataii=pDataii+1; pData5=keyValue;/以下為主程序voidmain()ucharkey=20;ini_8255();dispRefresh();while(1)key=keyscan();if(key!=20)dataTransform(dispBuffer,key);dispRefresh();八、 小結(jié)作業(yè)3 A/D轉(zhuǎn)換一、 實(shí)驗(yàn)?zāi)康?)了解單片機(jī)系統(tǒng)實(shí)現(xiàn)LED動態(tài)顯示的原理及方法;2)較為詳細(xì)了解AT89C51芯片的性能;3)能夠了解到單片機(jī)系統(tǒng)的基本原理,了解單片機(jī)控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C語言中的設(shè)計(jì)和學(xué)會分析程序,進(jìn)而能夠根據(jù)自己的需要編寫代碼;6) 掌握使用PROTEUS軟件進(jìn)行仿真的方法;7) 掌握A/D轉(zhuǎn)換的原理。二、 實(shí)驗(yàn)軟件PROTEUS仿真軟件三、 芯片介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。 四、 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)程序,將IN4輸入的0+5V模擬電壓轉(zhuǎn)換成數(shù)字量,再將這個(gè)2位十六進(jìn)制轉(zhuǎn)換成3位十進(jìn)制數(shù),放在LED顯示器的第四六位顯示。五、 原理圖六、 仿真效果圖七、 軟件編程程序#include#include /定義絕對地址頭文件#include#defineucharunsignedchar#defineuintunsignedint#definePA8255XBYTE0x4000 /8255的A口地址#definePB8255XBYTE0x4001 /8255的B口地址#definePC8255XBYTE0x4002 /8255的C口地址#definePD8255XBYTE0x4003 /8255的控制口地址#defineIN4_ADC0808XBYTE0x8004 /DAC0808對應(yīng)的IN4輸入端地址sbitwr_ADC0808=P36 ;sbitrd_ADC0808=P37 ;sbitEOC=P10 ;ucharLED_DATA= /數(shù)碼管段碼0xc0, /00xf9, /10xa4, /20xb0, /30x99, /40x92, /50x82, /60xf8, /70x80, /80x90, /90x88, /a0x83, /b0xc6, /c0xa1, /d0x86, /e0x8e, /f0xbf, /.0xff /滅;ucharLED_NUM= /數(shù)碼管位碼0xFE, /LED10xFD, /LED20xFB, /LED30xF7, /LED40xEF, /LED50xDF /LED6;ucharKEY_number= /按鍵掃描編碼0x77, /0 ,0xb7, /10xd7, /20xe7, /30x7b, /40xbb, /50xdb, /60xeb, /70x7d, /80xbd, /90xdd, /a0xed, /b0x7e, /c0xbe, /d0xde, /e0xee /f;voiddelayms(uintxms)/誤差0usuinti,j;for(i=xms;i0;i-)for(j=110;j0;j-);voidini_8255() /初始化8255,PA,PB輸出,PC高四位輸出,低四位輸入 ,在本程序中主要是為了顯示 PD8255=0x81;voiddisplay(uchardisplay_num,uchardisplay_data)if(display_num=0x01)&(display_num=0x06) /正常顯示范圍內(nèi)uchari=1;PA8255=LED_NUMdisplay_num-i; /輸入1,先顯示LED1PB8255=LED_DATAdisplay_data; delayms(5); /以下為主程序/voidmain()ucharkey1,key2,key3,key4;key2=0; /初始顯示值ini_8255(); /初始化8255while(1)IN4_ADC0808=0; /選中通到4while(EOC!=0); /轉(zhuǎn)換完成EOC=0;key4=IN4_ADC0808; /讀入數(shù)據(jù)key3=(key4/100); /百位 key2=(key4/10)%10; /十位key1=(key4%10); /個(gè)位display(1,key3);display(2,key2);display(3,key1);八、 總結(jié)作業(yè)4 D/A轉(zhuǎn)換一、實(shí)驗(yàn)?zāi)康?)了解單片機(jī)系統(tǒng)實(shí)現(xiàn)LED動態(tài)顯示的原理及方法;2)較為詳細(xì)了解AT89C51芯片的性能;3)能夠了解到單片機(jī)系統(tǒng)的基本原理,了解單片機(jī)控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C語言中的設(shè)計(jì)和學(xué)會分析程序,進(jìn)而能夠根據(jù)自己的需要編寫代碼;6) 掌握使用PROTEUS軟件進(jìn)行仿真的方法;7) 掌握D/A轉(zhuǎn)換的原理。二、實(shí)驗(yàn)軟件PROTEUS仿真軟件三、 芯片介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。 四、 實(shí)驗(yàn)內(nèi)容設(shè)計(jì)一個(gè)程序,在主程序中向P1.0輸出頻率為1Hz的方波,同時(shí)使用定時(shí)器1定時(shí)中斷,在中斷服務(wù)程序中用D/A轉(zhuǎn)換器輸出周期為20秒的三角波。五、 原理圖六、 仿真效果圖七、 軟件編程程序#include#include/ 定義絕對地址頭文件#include#define uchar unsigned char#define uint unsigned int#define PA8255 XBYTE0x4000/ 8255的A口地址#define PB8255 XBYTE0x4001/ 8255的B口地址#define PC8255 XBYTE0x4002/ 8255的C口地址#define PD8255 XBYTE0x4003/ 8255的控制口地址#define IN4_ADC0808 XBYTE0x8004/ DAC0808對應(yīng)的IN4輸入端地址sbit wr_ADC0808 = P36 ;sbit rd_ADC0808 = P37 ;sbit EOC = P10 ;uchar LED_DATA=/數(shù)碼管段碼0xc0,/ 00xf9, / 10xa4, / 20xb0, / 30x99, / 40x92, / 50x82, / 60xf8, / 70x80, / 80x90, / 90x88, / a0x83, / b0xc6, / c0xa1, / d0x86, / e0x8e, / f0xbf, / .0xff/ 滅;uchar LED_NUM=/數(shù)碼管 位碼0xFE,/ LED10xFD,/ LED20xFB,/ LED30xF7,/ LED40xEF,/ LED50xDF / LED6;uchar KEY_number=/ 按鍵掃描編碼 0x77,/ 0, 0xb7,/ 1 0xd7,/ 2 0xe7,/ 3 0x7b,/ 4 0xbb,/ 5 0xdb,/ 6 0xeb,/ 7 0x7d,/ 8 0xbd,/ 9 0xdd,/ a 0xed,/ b 0x7e,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲業(yè)門市出租協(xié)議詳解
- 2025年超細(xì)銅粉合作協(xié)議書
- 2025年乙酮項(xiàng)目合作計(jì)劃書
- 2025年公司級員工安全培訓(xùn)考試試題附答案【鞏固】
- 2025年廠里廠里安全培訓(xùn)考試試題及答案(易錯(cuò)題)
- 2025員工安全培訓(xùn)考試試題及參考答案(能力提升)
- 財(cái)產(chǎn)安全不設(shè)限小微企業(yè)的保險(xiǎn)選擇與策略
- 2024-2025公司廠級安全培訓(xùn)考試試題及完整答案一套
- 2024-2025項(xiàng)目部治理人員安全培訓(xùn)考試試題及參考答案(A卷)
- 蔬菜種植合同履約金協(xié)議
- 2025年河南省洛陽市中考數(shù)學(xué)一模試卷
- 信息安全管理員-初級工練習(xí)題(附答案)
- 2025全國不動產(chǎn)登記代理人《不動產(chǎn)登記代理實(shí)務(wù)》考試真題(附完整解析)
- 2025屆高考英語二輪復(fù)習(xí)專題一應(yīng)用文寫作課件
- 2023法律職業(yè)資格(主觀題)真題帶解析
- 2025電力變壓器(電抗器)綜合監(jiān)測與預(yù)警裝置
- 2025年中考化學(xué)第一輪復(fù)習(xí) 課件 2024-2025學(xué)年九年級化學(xué)人教版下冊
- 培訓(xùn)學(xué)校合伙協(xié)議書
- 農(nóng)服公司招聘試題及答案
- 小學(xué)生攝影課件
- 2025(標(biāo)準(zhǔn))承包清工勞務(wù)合同協(xié)議書范本
評論
0/150
提交評論