




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、實(shí)驗(yàn)?zāi)康模?、掌握8255A編程原理;2、掌握鍵盤的輸入和數(shù)碼管的顯示;3、提高理論與實(shí)踐相結(jié)合的能力,強(qiáng)化所學(xué)內(nèi)容。二、實(shí)驗(yàn)要求:用8255A實(shí)現(xiàn)模擬電梯,用鍵盤輸入要求電梯所到達(dá)的樓層,數(shù)碼管顯示電梯當(dāng)前所在樓層。電梯在初始樓層,當(dāng)有用戶在其他樓層做出請(qǐng)求時(shí),即通過鍵盤輸入希望電梯到達(dá)的樓層,電梯運(yùn)行到目的樓層。電梯在運(yùn)行運(yùn)行過程中經(jīng)過一層需要的時(shí)間是1秒,即數(shù)碼管顯示每個(gè)數(shù)字的時(shí)間是1秒,當(dāng)電梯到達(dá)目的樓層時(shí),揚(yáng)聲器發(fā)出聲音三、實(shí)驗(yàn)過程:1〕實(shí)驗(yàn)流程圖:2〕實(shí)驗(yàn)硬件設(shè)計(jì)電路圖:3〕實(shí)驗(yàn)接線按硬件設(shè)計(jì)圖接線,8255C口接鍵盤〔實(shí)際8255的C0~C3接鍵盤的列0~列3,C4~C7接鍵盤的行0~行3〕,8255CS接地址譯碼輸出的288h~28fh。8255的A口PA0~PA7接數(shù)碼管的a~dp。數(shù)碼管位碼S0接+5V,S3~S1接GND。8255端口A地址為:288H端口B地址為:289H端口C地址為:28AH控制口地址為:28BH3〕實(shí)驗(yàn)代碼:頭文件:#include<stdio.h>#include<conio.h>#include"ApiExusb.h"#pragmacomment(lib,"ApiExusb.lib")運(yùn)行函數(shù):voidCDiantiDlg::OnRun(){ //TODO:Addyourcontrolnotificationhandlercodeherecharled[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; /*上面為從0-8對(duì)應(yīng)的段碼表*/bytedata; //將鍵盤輸入數(shù)據(jù)存儲(chǔ)bytei,j; //i為輸入數(shù)據(jù),j為對(duì)應(yīng)的段碼 bytenow,goal; //記錄電梯的目前樓層和目標(biāo)樓層 getch(); if(!Startup()) /*翻開設(shè)備*/ { printf("ERROR:OpenDeviceError!\n"); return; }now=j=0; //PortWriteByte(0x28b,0x81); //初始狀態(tài)為0層while(!kbhit()) {PortWriteByte(0x28b,0x81); //設(shè)置8255的A口輸出C口低輸入 PortWriteByte(0x288,led[now]);//數(shù)碼管顯示PortWriteByte(0x28a,0x0f); //c口初始化后四位為0x0fPortReadByte(0x28a,&data); //讀取c口數(shù)據(jù)低四位 i=data;if(i!=0x0f){i=data;Sleep(50);PortWriteByte(0x28b,0x88);//設(shè)置A口輸出C高四位輸入PortWriteByte(0x28a,0xf0);//c口初始化高四位為0xf0 PortReadByte(0x28a,&data); //讀取c口數(shù)據(jù)高四位i=i|data; //〔C口高四位與低四位即鍵盤的行與列相與得出所按的鍵〕 //記錄按鍵八位碼if(i==0x77)j=0; //得出目的樓層elseif(i==0x7b)j=1;elseif(i==0x7d)j=2;elseif(i==0x7e)j=3;elseif(i==0xb7)j=4;elseif(i==0xbb)j=5;elseif(i==0xbd)j=6;elseif(i==0xbe)j=7;elseif(i==0xd7)j=8;else;} goal=j; if(now!=goal) { if(now>goal) { for(;now>goal;now--) { PortWriteByte(0x28b,0x81); PortWriteByte(0x288,led[now]);//數(shù)碼管顯示 Sleep(1000); //每層停一秒 } PortWriteByte(0x28b,0x81); PortWriteByte(0x288,led[goal]);//數(shù)碼管顯示 //PortWriteByte(0x28b,0x80); PortWriteByte(0x289,0x80); //揚(yáng)聲器開,PB7變成高電平 Sleep(100); PortWriteByte(0x288,0x00); //揚(yáng)聲器關(guān) } else { for(;now<goal;now++) { PortWriteByte(0x28b,0x81); PortWriteByte(0x288,led[now]);//數(shù)碼管顯示 Sleep(1000); } PortWriteByte(0x28b,0x81); PortWriteByte(0x288,led[goal]);//數(shù)碼管顯示 //PortWriteByte(0x28b,0x80); PortWriteByte(0x289,0x80); //揚(yáng)聲器開 Sleep(100); PortWriteByte(0x288,0x00); //揚(yáng)聲器關(guān) }} PortWriteByte(0x28b,0x81); PortWriteByte(0x288,led[goal]);//數(shù)碼管顯示 } Cleanup(); /*關(guān)閉設(shè)備*/}三、實(shí)驗(yàn)現(xiàn)象:數(shù)碼管顯示數(shù)字為1〔表示電梯初始狀態(tài)停在第一層〕,此時(shí)LED顯示燈全滅〔表示沒有鍵入目的樓層〕;從鍵盤上鍵入數(shù)字4,相應(yīng)的LED顯示燈亮,數(shù)碼管顯示每隔2秒從1到4遞增,當(dāng)?shù)竭_(dá)4時(shí)停下并開揚(yáng)聲器,表示電梯從一樓上升到達(dá)四樓,相應(yīng)的LED燈滅。在電梯運(yùn)行過程中不相應(yīng)其他鍵入信息,知道停在四樓。電梯到達(dá)四樓后假設(shè)鍵入大于四的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國膠合板行業(yè)十三五規(guī)劃及發(fā)展盈利分析報(bào)告
- 2025-2030年中國精密壓鑄機(jī)加工行業(yè)運(yùn)營狀況與發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國立磨市場(chǎng)運(yùn)行態(tài)勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國監(jiān)控?cái)z像機(jī)行業(yè)運(yùn)行狀況及投資戰(zhàn)略研究報(bào)告
- 二年級(jí)下冊(cè)數(shù)學(xué)教案-8.1評(píng)選吉祥物∣北師大版
- 六年級(jí)上冊(cè)數(shù)學(xué)教案-數(shù)學(xué)好玩 3 比賽場(chǎng)次|北師大版
- 六年級(jí)上數(shù)學(xué)教案-列方程解稍復(fù)雜的百分?jǐn)?shù)實(shí)際問題-蘇教版
- (??家族e(cuò)題)2022-2023學(xué)年三年級(jí)上冊(cè)期末高頻考點(diǎn)數(shù)學(xué)試卷(北師大版)
- 2025年云南省建筑安全員《A證》考試題庫
- 2024年氯氟氰菊酯項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- DeepSeek從入門到精通培訓(xùn)課件
- 俄羅斯進(jìn)口凍肉合同范例
- 2025年湖北省技能高考(建筑技術(shù)類)《建設(shè)法規(guī)》模擬練習(xí)試題庫(含答案)
- 急性呼衰院前急救流程
- 部編版七年級(jí)語文下冊(cè)《第2課說和做》課件
- 養(yǎng)老服務(wù)信息化發(fā)展-深度研究
- 2024-2025學(xué)年第二學(xué)期學(xué)??倓?wù)工作計(jì)劃(附2月-6月安排表行事歷)
- 夫妻離婚協(xié)議書范本2024
- 交管12123學(xué)法減分題庫(含答案)
- 23G409先張法預(yù)應(yīng)力混凝土管樁
評(píng)論
0/150
提交評(píng)論