版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
主要內(nèi)容: 簡單I/O接口的擴展; 通用接口的使用;
LED顯示接口的應(yīng)用;
鍵盤輸入接口的應(yīng)用。第9章接口擴展與應(yīng)用1AA’BCDB’C’D’DCBA00010011001001100100110010001001順逆應(yīng)用舉例【例7.1】試編制一個4相8拍步進電機驅(qū)動程序。
步進電機
4相8拍節(jié)拍表2步進電機接口電路P1.3P1.2P1.1P1.0P1.4P1.5P3.2(INT0)+5V方向DIRA方式MOD點動BCD步進電機3#include<Reg51.h>#define
uchar
unsignedchar/*單步定時常數(shù)0,定時時間50ms(fosc=6MHz)*/constintTC0=-25000;/*連續(xù)定時常數(shù)1,定時時間10ms(fosc=6MHz)*/constintTC1=-5000;sbitDIR=P1^4;/*定義P1.4腳名*/sbitMOD=P1^5;/*定義P1.5腳名*/要求:1.P1.4狀態(tài)確定旋轉(zhuǎn)方向:0=逆時針、1=順時針2.P1.5狀態(tài)確定運轉(zhuǎn)形式:0=手動、1=連續(xù)3.P3.2輸入單步運行信號:0=停止、1=運轉(zhuǎn)利用定時器0作為連續(xù)運行的節(jié)拍發(fā)生器,利用P1.3~P1.0作為步進電機節(jié)拍輸出控制口。4/*步進電機節(jié)拍表*/const
ucharrht[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};uchar
rhi=0;/*節(jié)拍索引*/time0()interrupt1/*T0中斷服務(wù)*/{if(MOD){TH0=TC1>>8;/*重裝定時器0連續(xù)時常*/TL0=TC1&0xff;}
else{TH0=TC0>>8;/*重裝定時器0單步時常*/TL0=TC0&0xff;}P1=~rht[rhi];/*輸出節(jié)拍*/
if(DIR)/*根據(jù)方向選擇調(diào)整下一節(jié)拍索引*/
if(rhi=
=0)rhi=7;else
rhi-
-;
else
if(rhi=
=7)rhi=0;else
rhi+
+;}【例7.1】(續(xù))5main(){TH0=TC1>>8;/*裝入定時器0連續(xù)運行時常*/TL0=TC1&0xff;P1=0xff;EA=1;ET0=1;TR0=1;
while(1){if(MOD) /*T0工作在定時方式、模式1*/TMOD=0x01; /*置T0內(nèi)啟動*/
elseTMOD=0x09; /*置T0外啟動*/}}【例7.1】(續(xù))6通用接口芯片Intel8155簡介主要構(gòu)成:
2個8位并行口,1個6位并行口;
1個14位計數(shù)器,1個256字節(jié)RAMTINRAM256BytePAPCPBPA7~PA0ALERSTAD7~0IO/MI/O控制TOUT14位初值寄存器PC5~PC3PB7~PB0PC2~PC0地址鎖存CERDWR14位減1計數(shù)器計數(shù)控制并口控制78155RAM/端口地址分配IO/MA7A6A5A4A3A2A1A0訪問電路方向0××××××××RAM寫/讀1×××××000命令/狀態(tài)口寫/讀1×××××001
8位并行口PA寫/讀1×××××010
8位并行口PB寫/讀1×××××011
6位并行口PC寫/讀1×××××100計數(shù)器低8位值寫1×××××101計數(shù)器高6位值寫88155命令與狀態(tài)字76543210TC1TC0IEBIEAPC1PC0BDADPA、PB口方向0-輸入1-輸出并口工作方式PA、PB口中斷允許0-禁止請求1-允許請求計數(shù)器控制PC1PC0說明00
PA、PB為基本輸入/輸出口,PC為基本輸入口01
PA、PB為基本輸入/輸出口,PC為基本輸出口10
PA為選通輸入/輸出口,PC口的0~2為其狀態(tài)/控制線;
PB為基本輸入/輸出口,PC口的3~5為基本輸出口11
PA為選通輸入/輸出口,PC口的0~2為其狀態(tài)/控制線;
PB為選通輸入/輸出口,PC口的3~5為其狀態(tài)/控制線。命令字:98155命令與狀態(tài)字(續(xù))76543210-RZIEBFIRIEBFIRTC1TC0說明00空操作01停止計數(shù)10計數(shù)器歸0后,停止計數(shù)。11計數(shù)初值裝入后,若計數(shù)器沒工作則將其啟動中斷請求PA口計數(shù)器歸0緩沖器滿中斷允許PB口計數(shù)器控制狀態(tài)字108155計數(shù)器初值與工作方式76543210C7C6C5C4C3C2C1C0低8位計數(shù)初值IC高6位計數(shù)初值IC計數(shù)器工作方式M1M0說明00單次計數(shù),方波輸出。(計數(shù)值>IC/2,TOUT=1;否則TOUT=0,計數(shù)結(jié)束TOUT=1。)01連續(xù)計數(shù),方波輸出。(計數(shù)值>IC/2,TOUT=1;否則TOUT=0。)10單次計數(shù),脈沖輸出。(計數(shù)值≠1時,TOUT=1;計數(shù)值=1時,TOUT=0。)11連續(xù)計數(shù),脈沖輸出。(計數(shù)值≠1時,TOUT=1;計數(shù)值=1時,TOUT=0。)76543210M1M0C14C12C11C10C9C811
4位LED數(shù)碼管顯示掃描驅(qū)動程序(1/100秒計時器),其中:1.8155的PA為字型口(PA0~PA6對應(yīng)字段a~g,低電平亮)2.8155的PB為位置口(PB4~PB7對應(yīng)#0~#3位,高電平有效)3.利用T0作為5ms掃描定時器,兼做1/100秒計時器【例7.2】PA0PB7PB6PB5PB4ALE來自MCS-51ALE數(shù)據(jù)總線DBRD地址總線ABWRRD8155AD7~0CEPA1PA6abg地址譯碼WRCC3CC2CC1CC012#include<Reg51.h>#define
uchar
unsignedchar#define
uint
unsignedint#defineCMD(uchar
xdata*)0xffe8/*8155的命令口地址*/#definePA(uchar
xdata*)0xffe9/*8155的PA口地址*/#definePB(uchar
xdata*)0xffea/*8155的PB口地址*/#definePC(uchar
xdata*)0xffeb/*8155的PC口地址*/#defineTC0(-2500)/*T05ms時間常數(shù)*/#defineST10(2)/*10ms軟定時時間常數(shù)*/#defineSTFH(5)/*刷新25ms定時時常*/【例7.2】程序13uchardisp[4];/*顯示緩沖區(qū)*/uchart10ms;/*10ms軟定時器*/uchar
tfresh;/*刷新軟定時器*/uint
csec;/*1/100s計時器*/void
fresh(uint,uchar*);/*顯示掃描和定時中斷服務(wù),每5ms一次*/time0()interrupt1{/*顯示掃描位置表*/
static
ucharpot[4]={0x1f,0x2f,0x4f,0x8f};
static
uchar
di=0;/*顯掃索引*/TH0=TC0>>8;/*重裝定時器0時常*/TL0=TC0&0xff;*PA=disp[di];/*當前字型送PA口*/*PB=pot[di];/*當前位置送PB口*/【例7.2】(續(xù))14
/*顯示掃描和定時中斷服務(wù)(續(xù))*/if(++di==4)di=0;
if(!(--t10ms))/*10ms定時*/{t10ms=ST10;
csec++;/*1/100s計數(shù)*/}
if(!(--tfresh))/*刷新定時*/{
tfresh=STFH;fresh(csec,disp);/*刷新顯示當前的1/100秒*/}}【例7.2】(續(xù))15main(){TMOD=0x01;/*定時器0工作在定時方式、模式1、內(nèi)啟動*/TH0=TC0>>8;/*裝入定時器0時常*/TL0=TC0&0xff;*CMD=0x43;/*8155初始化,PA、PB基本輸出,PC基本輸入*/*PA=0xff;/*關(guān)顯示*/*PB=0x0f;t10ms=ST10;
tfresh=STFH;
csec=0;fresh(csec,disp);/*刷新當前1/100秒顯示*/IE=0x82;/*開中斷,允許定時器0請求中斷*/TR0=1;/*啟動定時器0*/
while(1);/*等待定時器中斷請求*/}【例7.2】(續(xù))16/*顯示刷新函數(shù)*/voidfresh(uint
x,uchar*y){/*0~9字型表*/
static
ucharfont[10]={0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0x0F8,0x80,0x90};
ucharq,r;r=x%100;/*將x轉(zhuǎn)換成BCD十進制數(shù)字字型送到y(tǒng)[]中*/q=x/100;y[0]=font[r%10];y[1]=font[r/10];y[2]=font[q%10];y[3]=font[(q/10)%10];}【例7.2】(續(xù))17
設(shè)計一個4位LED數(shù)碼管顯示和3×3鍵盤掃描驅(qū)動程序。顯示:字符“In”和鍵入值“k”
其中:1.8155PA為字型口(PA0~PA6對應(yīng)字段a~g,低電平亮)2.8155PB為位置口
PB0~PB2對應(yīng)#0~#2KSCN位,低電平有效;
PB4~PB7對應(yīng)#0~#3LED位,高電平有效。3.8155PC為鍵入口
PC0~PC2對應(yīng)#0~#2KIN位,低電平有按鍵。利用T0作為5ms鍵盤/顯示掃描定時器。【例7.3】18數(shù)碼顯示與鍵盤接口電路PA0PB7PB6PB5PB4ALE來自MCS-51ALE數(shù)據(jù)總線DBRD地址總線ABWRRD8155AD7~0CEPA1PA6abg地址譯碼WRCC3CC2CC1CC0PB2PB1PB0PC2PC1PC0+5V03614725M0行1行2行2列1列0列19#include<Reg51.h>#define
uchar
unsignedchar#define
uint
unsignedint#defineCMD(uchar
xdata*)0xffe8/*8155的命令口地址*/#definePA(uchar
xdata*)0xffe9/*8155的PA口地址*/#definePB(uchar
xdata*)0xffea/*8155的PB口地址*/#definePC(uchar
xdata*)0xffeb/*8155的PC口地址*/#defineTC0(-2500)/*T05ms時間常數(shù)*/uchardisp[4];/*顯示緩沖區(qū)*/ucharkey; /*鍵掃描值輸出*/【例7.3】程序20/*鍵盤、顯示掃描和定時中斷服務(wù),一次/5ms*/time0()interrupt1{/*掃描位置表*/
static
ucharpot[4]={0x1e,0x2d,0x4b,0x8f};/*鍵行值轉(zhuǎn)換表*/
static
ucharkct[8]={0x3,0x0,0x1,0x3,0x2,0x3,0x3,0x3};
static
uchar
si=0,kst=0;/*掃描索引,鍵盤狀態(tài)*/static
ucharkit,sit;/*鍵入值、掃描索引暫存*/
uchar
kc;/*鍵入值暫存*/TH0=TC0>>8;/*重裝定時器0時常*/TL0=TC0;*PA=disp[si];/*當前字型送PA口*/*PB=pot[si];/*當前位置送PB口*/
kc=~(*PC)&0x07;/*從PC口輸入鍵值*/【例7.3】(續(xù))21if(!kst&&kc){kit=kc;sit=si;kst=1;}
else
if(si==sit){switch(kst){case1:
if(kc==kit)key=kct[kc]*3+si+1;
kst=2;
break;
case2:
if(!kc)kst=3;
break;
case3:
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級英語期末模擬試題全套
- 2026年縣直事業(yè)單位招聘職業(yè)能力測試題庫附參考答案(達標題)
- 銀行貸款風險評估及防控管理方案
- 2026年證券分析師之發(fā)布證券研究報告業(yè)務(wù)考試題庫300道含完整答案(名校卷)
- 職業(yè)技術(shù)學(xué)院實訓(xùn)基地管理方案
- 美術(shù)教師年度述職報告與提升計劃
- 辯論賽流程及組織工作方案
- 2025航空運輸行業(yè)市場運營模式分析投資策略規(guī)劃研究報告
- 2025航空運輸行業(yè)國際競爭分析及航線優(yōu)化規(guī)劃研究報告
- 2025航空貨運物流行業(yè)市場供需平衡及投資戰(zhàn)略規(guī)劃評估研究報告
- 眩暈的中醫(yī)治療
- 2026共青團中央所屬單位高校畢業(yè)生招聘66人參考筆試試題及答案解析
- 2026屆吉林省九校高三11月聯(lián)考化學(xué)試題及答案
- 2025福建寧德霞浦縣福寧水務(wù)有限公司招聘33人考試筆試模擬試題及答案解析
- 2025年全國反洗錢知識競賽試題庫及答案(共95題)
- 遼寧省名校聯(lián)盟2025-2026學(xué)年高三上學(xué)期12月月考物理試題+答案
- 江西省地方課課件
- (2025年)護士資格《基礎(chǔ)護理學(xué)》考試練習(xí)試題附答案
- 小學(xué)英語一般將來時精美講課教案
- 水下仿生撲翼推進系統(tǒng)設(shè)計
- 防洪評價報告編制具體要求
評論
0/150
提交評論