




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章數(shù)字輸入輸出I/O41只I/O引腳,大部分是復(fù)用的。DSP復(fù)位時(shí),大部分I/O引腳會(huì)被上拉為數(shù)字輸入的模式。數(shù)字I/O腳有專用和復(fù)用之分。其功能可通過9個(gè)16位控制寄存器來控制。控制寄存器分為兩類:(1)I/O復(fù)用控制寄存器(MCRx),用來選擇I/O腳是片內(nèi)外設(shè)功能還是通用I/O功能;(2)數(shù)據(jù)方向控制寄存器(PxDATDIR):用來控制雙向I/O腳的數(shù)據(jù)傳送方向。注意:上述數(shù)字I/O腳是通過控制寄存器(映射在數(shù)據(jù)存儲(chǔ)器空間)來控制的,與器件的I/O空間無任何關(guān)系。8.1數(shù)字I/O寄存器簡介I/O復(fù)用引腳的結(jié)構(gòu)見圖6-1。由圖可看出復(fù)用I/O引腳如何實(shí)現(xiàn)來引腳功能選擇和數(shù)據(jù)傳送方向選擇的。
表8-1列出了與I/O模塊有關(guān)的寄存器,地址為:7090h-709Fh(映射在數(shù)據(jù)存儲(chǔ)器空間)表8-1LF240x/240xA的數(shù)字I/O控制寄存器地址 寄存器 功能7090h MCRA I/O復(fù)用控制寄存器A7092h MCRB I/O復(fù)用控制寄存器B7094h MCRC I/O復(fù)用控制寄存器C地址 寄存器 功能7098h PADATDIR I/O端口A數(shù)據(jù)和方向寄存器709Ah PBDATDIR I/O端口B數(shù)據(jù)和方向寄存器709Ch PCDATDIR I/O端口C數(shù)據(jù)和方向寄存器709Eh PDDATDIR I/O端口D數(shù)據(jù)和方向寄存器7095h PEDATDIR I/O端口E數(shù)據(jù)和方向寄存器7096h PFDATDIR I/O端口F數(shù)據(jù)和方向寄存器保留位是不可操作的,讀出為0,寫入對它無影響。注意:當(dāng)復(fù)用I/O腳無論是被配置為外設(shè)功能還是為通用I/O時(shí),引腳的狀態(tài)都可通過讀I/O數(shù)據(jù)寄存器來獲取。6.2I/O端口復(fù)用控制寄存器LF240x/240xA具有3個(gè)I/O端口復(fù)用控制寄存器:
MCRA、MCRB、MCRC。(1)I/O端口復(fù)用控制寄存器A(MCRA),映射地址:
7090h,其配置見表8-2。
表8-2I/O端口復(fù)用控制寄存器A的配置位位的名稱引腳功能選擇基本功能(MCRA.n=1)一般I/O端口(MCRA.n=0)0MCRA.0SCITXDIOPA01MCRA.1SCIRXDIOPA12MCRA.2XINT1IOPA23MCRA.3CAP1/QEP1IOPA34MCRA.4CAP2/QEP2IOPA45MCRA.5CAP3IOPA56MCRA.6PWM1IOPA67MCRA.7PWM2IOPA7續(xù)表8-2位位的名稱引腳功能選擇基本功能(MCRA.n=1)一般I/O端口(MCRA.n=0)8MCRA.8PWM3IOPB09MCRA.9PWM4IOPB110MCRA.10PWM5IOPB211MCRA.11PWM6IOPB312MCRA.12T1PWM/T1CMPIOPB413MCRA.13T2PWM/T2CMPIOPB514MCRA.14TDIRAIOPB615MCRA.15TCLKINAIOPB7(2)I/O端口復(fù)用控制寄存器B,映射地址:7092h,其配置見表8-3。(3)I/O端口復(fù)用控制寄存器C(MCRC),映射地址:7094hI/O端口復(fù)用控制寄存器C的格式如下,其配置見表8-4
。表8-3I/O端口復(fù)用控制寄存器B的配置位位的名稱引腳功能選擇基本功能(MCRB.n=1)一般I/O端口(MCRB.n=0)0MCRB.0W/RIOPC01MCRB.1BIOIOPC12MCRB.2SPISIMOIOPC23MCRB.3SPISOMIIOPC34MCRB.4SPICLKIOPC45MCRB.5SPISTEIOPC56MCRB.6CANTXIOPC67MCRB.7CANRXIOPC7續(xù)表8-3位位的名稱引腳功能選擇基本功能(MCRB.n=1)一般I/O端口(MCRB.n=0)8MCRB.8XINT2/ADCSOCIOPIOPD009MCRB.9EMU0保留10MCRB.10EMU1保留11MCRB.11TCK保留12MCRB.12TDI保留13MCRB.13TDO保留14MCRB.14TMS1保留15MCRB.15TMS2保留表8-4I/O端口復(fù)用控制寄存器C的配置位位的名稱引腳功能選擇基本功能(MCRC.n=1)一般I/O端口(MCRC.n=0)0MCRC.0CLKOUTIOPE01MCRC.1PWM7IOPE12MCRC.2PWM8IOPE23MCRC.3PWM9IOPE34MCRC.4PWM10IOPE45MCRC.5PWM11IOPE56MCRC.6PWM12IOPE67MCRC.7CAP4/QEP3IOPE7續(xù)表8-4位位的名稱引腳功能選擇基本功能(MCRB.n=1)一般I/O端口(MCRB.n=0)8MCRC.8CAP5/QEP4IOPF09MCRC.9CAP6IOPF110MCRC.10T3PWM/T3CMPIOPF211MCRC.11T4PWM/T4CMPIOPF312MCRC.12TDIRBIOPF413MCRC.13TCLKINBIOPF514MCRC.14TMS1IOPF615MCRC.15保留保留8.3數(shù)據(jù)和方向控制寄存器LF2407/2407A有6個(gè)數(shù)據(jù)和方向控制寄存器(PxDATDIR),這些數(shù)據(jù)和方向控制寄存器包含控制引腳的兩個(gè)功能位。I/O方向位如果引腳被選擇通用I/O,方向位決定了該引腳是作輸入(0)還是輸出(1)。I/O數(shù)據(jù)位如果引腳被選擇了通用I/O,當(dāng)方向選為輸入,則可從該位上讀取數(shù)據(jù),當(dāng)方向選為輸出,則可向該位寫入數(shù)據(jù)。當(dāng)I/O端口被選擇作通用I/O引腳,數(shù)據(jù)和方向控制寄存器可以控制數(shù)據(jù)和I/O引腳的數(shù)據(jù)方向。如果I/O端口被選擇作外設(shè)功能時(shí),數(shù)據(jù)和方向控制寄存器的設(shè)置對相應(yīng)的引腳無影響。下面詳細(xì)介紹數(shù)據(jù)和方向控制寄存器。(1)I/O端口A數(shù)據(jù)和方向控制寄存器(PADATDIR),映射地址:7098h,格式如下。位15-8:AnDIR
PA7-PA0的數(shù)據(jù)方向
0-相應(yīng)引腳配置為輸入
1-相應(yīng)引腳配置為輸出位7-0:IOPAn如果AnDIR=0,引腳配置為輸入:
0-相應(yīng)引腳的電平讀為低電平
1-相應(yīng)引腳的電平讀為高電平如果AnDIR=1,引腳配置為輸出:
0-設(shè)置相應(yīng)引腳,使其輸出信號為低電平
1-設(shè)置相應(yīng)引腳,使其輸出信號為高電平當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口A數(shù)據(jù)和方向控制寄存器(PADATDIR)的數(shù)據(jù)位與對應(yīng)的I/O
如果I/O端口用作通用I/O,則必須對數(shù)據(jù)和方向寄存器進(jìn)行初始化設(shè)置,規(guī)定其為輸入端口還是輸出端口。(2)I/O端口B數(shù)據(jù)和方向控制寄存器(PBDATDIR),映射地址:709AhI/O端口B數(shù)據(jù)和方向控制寄存器的格式如下。 位15-8:BnDIRPB7-PB0的數(shù)據(jù)方向 0-相應(yīng)引腳配置為輸入 1-相應(yīng)引腳配置為輸出 位7-0:IOPBn 如果BnDIR=0,引腳配置為輸入方式。 0-相應(yīng)引腳的電平讀為低電平 1-相應(yīng)引腳的電平讀為高電平 如果BnDIR=1,引腳配置為輸出 0-設(shè)置相應(yīng)引腳,使其輸出信號為低電平時(shí)有效 1-設(shè)置相應(yīng)引腳,使其輸出信號為高電平時(shí)有效當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口B數(shù)據(jù)和方向控制寄存器(PBDATDIR)的數(shù)據(jù)位與對應(yīng)的I/O引腳。
(3)
I/O端口C數(shù)據(jù)和方向控制寄存器(PCDATDIR), 映射地址:709Ch I/O端口C數(shù)據(jù)和方向控制寄存器的格式如下。位15-8:CnDIRPC7-PC0的數(shù)據(jù)方向 0-相應(yīng)引腳配置為輸入 1-相應(yīng)引腳配置為輸出位7-0:IOPC7-IOPC0 如果CnDIR=0,引腳配置為輸入。 0-相應(yīng)引腳的電平讀為低電平
1-相應(yīng)引腳的電平讀為高電平 如果BnDIR=1,引腳配置為輸出 0-設(shè)置相應(yīng)引腳,使其輸出信號為低電平 1-設(shè)置相應(yīng)引腳,使其輸出信號為高電平當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口C數(shù)據(jù)和方向控制寄存器(PCDATDIR)的數(shù)據(jù)位與對應(yīng)的I/O引腳。(4)I/O端口D數(shù)據(jù)和方向控制寄存器(PDDATDIR), 映射地址:709EhI/O端口D數(shù)據(jù)和方向控制寄存器的格式如下。 位15-9:保留位 位8:D0DIR 0-相應(yīng)引腳配置為輸入 1-相應(yīng)引腳配置為輸出 位7-1:保留 位0:
IOPD0 如果D0DIR=0,引腳配置為輸入。 0-相應(yīng)引腳的電平讀為低電平 1-相應(yīng)引腳的電平讀為高電平 如果D0DIR=1,引腳配置為輸出 0-設(shè)置相應(yīng)引腳,使其輸出信號為低電平時(shí)有效 1-設(shè)置相應(yīng)引腳,使其輸出信號為高電平時(shí)有效當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口D數(shù)據(jù)和方向控制寄存器(PDDATDIR)的數(shù)據(jù)位與對應(yīng)的I/O引腳。(5)I/O端口E數(shù)據(jù)和方向控制寄存器(PEDATDIR),地址:7095h I/O端口E數(shù)據(jù)和方向控制寄存器的格式如下位15-8:EnDIR
0-相應(yīng)引腳配置為輸入 1-相應(yīng)引腳配置為輸出位7-0:IOPEn 如果EnDIR=0,引腳配置為輸入。 0-相應(yīng)引腳的電平讀為低電平 1-相應(yīng)引腳的電平讀為高電平 如果EnDIR=1,引腳配置為輸出 0-設(shè)置相應(yīng)引腳,使其輸出信號為低電平時(shí)有效
1-設(shè)置相應(yīng)引腳,使其輸出信號為高電平時(shí)有效當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口E數(shù)據(jù)和方向控制寄存器(PEDATDIR)的數(shù)據(jù)位與對應(yīng)的I/O引腳。(6)I/O端口F數(shù)據(jù)和方向控制寄存器(PFDATDIR),映射地址:7096hI/O端口E數(shù)據(jù)和方向控制寄存器的格式如下。 位15:保留位
位14-8:EnDIR
0-相應(yīng)引腳配置為輸入 1-相應(yīng)引腳配置為輸出位7-0:IOPFn 如果FnDIR=0,引腳配置為輸入。 0-相應(yīng)引腳的電平讀為低電平 1-相應(yīng)引腳的電平讀為高電平 如果FnDIR=1,引腳配置為輸出 0-設(shè)置相應(yīng)引腳,使輸出為低電平有效 1-設(shè)置相應(yīng)引腳,使輸出為高電平有效當(dāng)引腳選擇為通用I/O功能時(shí),那么I/O端口E數(shù)據(jù)和方向控制寄存器(PFDATDIR)的數(shù)據(jù)位與對應(yīng)的I/O引腳如表。8.4數(shù)字I/O端口配置實(shí)例在使用數(shù)字I/O之前,需用軟件對數(shù)字I/O進(jìn)行配置,選擇I/O引腳的功能,且設(shè)置I/O引腳的數(shù)據(jù)方向,然后才可以讀取數(shù)據(jù)或輸出數(shù)據(jù)。下面為一個(gè)基本的數(shù)字I/O配置實(shí)例的匯編源程序。讀者可參照此程序,來配置其它的任何數(shù)目的數(shù)字I/O
MCRA .set7090h;可將這些映射語句放于240x.h文件中
PADATDIR .set7098h;可將這些映射語句放于240x.h文件中 PBDATDIR.set709Ah;可將這些映射語句放于240x.h文件中
LDP#0E1h ;指向相應(yīng)的數(shù)據(jù)頁面
LACC#0h;設(shè)置MCRA所有位均為0
SACLMCRA ;將引腳IOPA0-7和IOPB0-7配置為I/O引腳
SACLPADATDIR;引腳IOPA0-7配置為輸入,低電平有效
LACC#0F00h;引腳IOPB7-IOPB4配置為輸入
SACLPBDATDIR;引腳IOPB3-IOPB0配置為輸出
LACCPBDATDIR;讀取引腳IOPB7-IOPB4的輸入狀態(tài)
AND#00F0h;A為輸入狀態(tài)上面為一個(gè)數(shù)字I/O的實(shí)際配置程序,對于每個(gè)寄存器的定義可以參考前面的介紹,為了讀者使用方便,表6.11(P74)列出了所有數(shù)字I/O定義的參考表。6.5數(shù)字I/O的應(yīng)用實(shí)例6.5.1使用數(shù)字I/O查詢輸入信號通??梢耘渲脭?shù)字I/O為輸入或輸出,以便于與外設(shè)進(jìn)行信息交換。本例為使用數(shù)字I/O端口來查詢外界信號輸入情況,硬件接口電路如圖6.11所示為抗干擾,外界輸入信號需要加光耦隔離,以便獲得符合LF2407/2407A要求的信號。本例使用PWM3/IOPB0、PWM4/IOPB1、PWM5/IOPB2和PWM6/IOPB3。I/O初始化需設(shè)置引腳為I/O功能,且需要選擇信號方向。下面為讀取輸入信號的例程。=======================*文件名:INPUT.asm*.includ“240xA.h” ;變量和寄存器定義.includ“vector.h” ;中斷向量表定義,請參考4.9節(jié);―――――――――――――――――――――――――;B2塊的變量定義;――――――――――――――――――――――――― .bssINDATA,1 ;I/O輸入值判斷變量 .bssGPR0,1 ;通用目標(biāo)寄存器;========================;主代碼;========================.text NOPSTART:
SPLK #000Eh,IMR ;屏蔽除INT2-4以外的其它中斷
LACC IFR ;讀中斷標(biāo)志
SACL IFR ;清除中斷標(biāo)志 CLRC CNF ;配置塊B0到數(shù)據(jù)存儲(chǔ)空間
LDP #00E0h ;數(shù)據(jù)頁指向7000h~707Fh SPLK #06Fh,WDCR ;如VCCP=5V,則禁止看門狗 LDP #SCSR1>>7
SPLK #0000,SCSR1 ;
LDP #00E1h ;數(shù)據(jù)頁指向7080h~70FFh
SPLK #0F00h,MCRA ;配置I/O,選擇IOPB0~I(xiàn)OPB3
SPLK #0000h,PBDATDIR ;配置為輸入模式 LDP #0
SPLK #0,GPR0 ;為程序存儲(chǔ)器空間設(shè)置
;
0~7個(gè)等待狀態(tài)
OUT GPR0,WSGR
KICK_DOG ;復(fù)位看門狗
CLRC INTM ;使能DSP中斷ST_LOOP1 LDP #00E1h
LACC PBDATDIR
LDP #INDATA
SACL INDATA
BIT INDATA,BIT0 ;判斷IOPB0是否有輸入信號,如 ;有則跳到ST_LOOP2
BCND ST_LOOP2,TC
B ST_LOOP1ST_LOOP2
LDP #00E1h
LACC PBDATDIR LDP #INDATA
SACL INDATA
BIT INDATA,BIT1 ;判斷IOPB1是否有輸入信號,如有
;則跳到ST_LOOP3 BCND ST_LOOP3,TC B ST_LOOP2ST_LOOP3 LDP #00E1h
LACC PBDATDIR
LDP #INDATA
SACL INDATA
BIT INDATA,BIT2 ;判IOPB2是否有輸入信號,如有則 ;跳到ST_LOOP4
BCND ST_LOOP4,TC B ST_LOOP3ST_LOOP4
LDP #00E1h
LACC PBDATDIR
LDP #INDATA
SACL INDATA
BIT INDATA,BIT3 ;判斷IOPB3是否有輸入信號,如有
;則跳到MAIN
BCND MAIN,TC
B ST_LOOP4MAIN:
NOP
B MAIN.end6.5.2使用數(shù)字I/O輸出信號使用I/O端口輸出4個(gè)信號,這4個(gè)信號分別連接到4個(gè)LED,硬件接口電路如圖6.12(P78)所示。輸出引腳與LED之間接一觸發(fā)器SN74HCT273,來實(shí)現(xiàn)對LED的驅(qū)動(dòng)。在此使用PWM3/IOPB0、PWM4/IOPB1、PWM5/IOPB2和PWM6/IOPB3作為輸出信號,而PWM7/IOPE1作為選通SN74HCT273的輸出信號。下面的實(shí)例程序?qū)崿F(xiàn)對4個(gè)LED的循環(huán)驅(qū)動(dòng),即LED循環(huán)發(fā)光,即DS0→DS1→DS2→DS3→DS0……。;=========================*文件名:OUTPUT.asm*.include“240xA.h” ;變量和寄存器定義.include“vector.h” ;中斷向量表定義,請參考4.9節(jié);―――――――――――――――――――――――――;B2塊的變量定義;―――――――――――――――――――――――――.bss OUTDATA,1 ;I/O輸出值.bss GRP0,1 ;通用目標(biāo)寄存器;=========================;主代碼;=========================.text
NOPSTART:
SPLK #000Eh,IMR ;屏蔽除INT2、INT3和INT4以外的
;其它中斷
LACC IFR ;讀中斷標(biāo)志
SACL IFR ;清除中斷標(biāo)志
CLRC CNF ;配置塊B0到數(shù)據(jù)存儲(chǔ)空間 LDP #00E0h ;數(shù)據(jù)頁指向7000h~707Fh
SPL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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è)技術(shù)學(xué)院《BIM技術(shù)與軟件應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 延安職業(yè)技術(shù)學(xué)院《中學(xué)生物教育技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌民族幼兒師范高等??茖W(xué)?!俄?xiàng)目管理與案例分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 杭州萬向職業(yè)技術(shù)學(xué)院《外科護(hù)理學(xué)2(含皮膚性病護(hù)理學(xué))》2023-2024學(xué)年第二學(xué)期期末試卷
- 揚(yáng)州大學(xué)《壓鑄成型工藝與模具設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 惠州學(xué)院《教育大數(shù)據(jù)及其應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘭州城市學(xué)院《數(shù)據(jù)分析與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 方程的應(yīng)用-銷售問題及變化率問題(小升初銜接)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年北師大版六年級下冊數(shù)學(xué)
- 濟(jì)源職業(yè)技術(shù)學(xué)院《工程項(xiàng)目管理與建設(shè)法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安職業(yè)技術(shù)學(xué)院《國際貿(mào)易運(yùn)輸與保險(xiǎn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新概念英語青少版入門 A-Unit-1課件(共98張)
- 中國金融書法家協(xié)會(huì)入會(huì)申請表
- 廣西易多收生物科技有限公司河池化工廠綠色節(jié)能生產(chǎn)升級項(xiàng)目環(huán)境影響報(bào)告書
- 北京市海淀區(qū)九年級英語第二學(xué)期期末練習(xí)(初三中考二模)試卷講評-客觀題
- (完整版)園藝產(chǎn)品貯藏與加工
- 中國古典文獻(xiàn)-第七章-文獻(xiàn)目錄
- 學(xué)前教育大專畢業(yè)論文3000字
- 注塑領(lǐng)班簡歷樣板
- 骨骼肌-人體解剖學(xué)-運(yùn)動(dòng)系統(tǒng)
- 兒童財(cái)商養(yǎng)成教育講座PPT
- 大學(xué)學(xué)院學(xué)生獎(jiǎng)助資金及相關(guān)經(jīng)費(fèi)發(fā)放管理暫行辦法
評論
0/150
提交評論