《DSP輸入輸出編程》PPT課件.pptx
第四章DSP輸入輸出編程,4.1數(shù)字I/O端口概述,數(shù)字IO端口的英文全稱為GeneralPurposeDigitalI/O,簡(jiǎn)寫為GPIO,也稱數(shù)字IO,是LF2407A與外部設(shè)備聯(lián)系的接口。2407A有41個(gè)數(shù)字I/O口,其中絕大多數(shù)具有另一功能,其對(duì)應(yīng)外部引腳是基本功能和一般I/O復(fù)用引腳。TI公司的技術(shù)資料中把對(duì)應(yīng)的片內(nèi)外設(shè)的功能稱為“基本功能”,而數(shù)字I/O口相對(duì)于“基本功能”成為“第二功能”(SecondaryFunction)。,I/O空間與數(shù)字I/O端口有什么聯(lián)系,1.I/O空間與數(shù)字I/O端口沒有任何的聯(lián)系,是不同的兩個(gè)事物。它們之間只有一個(gè)共同點(diǎn),就是都可以與外部設(shè)備發(fā)生聯(lián)系,都用于與外部設(shè)備發(fā)生關(guān)系。2.它們之間的區(qū)別在于I/O空間是通過16位的地址總線和16位的數(shù)據(jù)總線以及IS與外部設(shè)備相聯(lián)系,通過匯編語句IN,OUT讀寫I/O空間中某一地址上的數(shù),這個(gè)數(shù)是一個(gè)16為的二進(jìn)制數(shù);而數(shù)字I/O端口是片內(nèi)外設(shè)模塊之一,與定時(shí)器這樣的片內(nèi)外設(shè)功能等同,這一數(shù)字輸入/輸出(I/O)端口通過對(duì)片內(nèi)控制寄存器進(jìn)行讀、寫,以對(duì)數(shù)字I/O端口進(jìn)行操作。,數(shù)字IO端口結(jié)構(gòu)圖,圖中可以看出,“引腳”既可以作為基本功能使用,也可以作為數(shù)字I/O口使用。其選擇功能由“MUX控制位”(即開關(guān)控制位)完成。這里,該控制位僅是一個(gè)二進(jìn)制數(shù)字位MCRx.n,當(dāng)MCRx.n=1時(shí),選擇基本功能,當(dāng)MCRx.n=0時(shí),選擇數(shù)字I/O口功能。,選擇數(shù)字I/O口功能后,由“I/O端口方向位”選定該端口是輸入,還是輸出。當(dāng)值為0時(shí),選擇輸入功能;當(dāng)值為1時(shí),選擇輸出功能?!癐/O端口數(shù)據(jù)位”時(shí)數(shù)字I/O口的數(shù)據(jù)位,當(dāng)數(shù)字口作輸入使用時(shí),從該位讀取數(shù)據(jù);當(dāng)數(shù)字端口作輸出使用時(shí),向該位寫數(shù)據(jù)。,I/O口復(fù)用控制寄存器(MCRx):用來控制選擇I/O引腳作為基本功能或一般I/O引腳功能。數(shù)據(jù)和方向控制寄存器(PxDATDIR):當(dāng)I/O引腳作為一般I/O引腳功能時(shí),用數(shù)據(jù)和方向控制寄存器可控制數(shù)據(jù)和I/O引腳的數(shù)據(jù)方向,這些寄存器直接和I/O引腳相連。,數(shù)字I/O寄存器,表4-1數(shù)字?jǐn)?shù)字I/O模塊控制寄存器地址,I/O端口復(fù)用控制寄存器A的配置(MCRA)地址7090h,I/O口復(fù)用控制寄存器B(MCRB地址7092h),I/O端口復(fù)用控制寄存器C的配置(MCRC地址7094h),I/O口數(shù)據(jù)和方向寄存器,TMS320LF2407系列總共有6個(gè)數(shù)據(jù)和方向控制寄存器(PxDATADIR),當(dāng)I/O口用作一般I/O引腳功能時(shí),用數(shù)據(jù)和方向控制寄存器,可控制數(shù)據(jù)和到雙向I/O引腳的數(shù)據(jù)方向。這些寄存器直接和雙向I/O引腳相連。當(dāng)I/O用作基本功能時(shí),這些寄存器的設(shè)置對(duì)相應(yīng)的引腳無影響。,6個(gè)數(shù)據(jù)和方向控制寄存器(PXDATDIR),包含兩個(gè)功能位。(1)I/O方向位:如果引腳被選擇了通用I/O,方向位決定了是輸入(0)還是輸出(1)。(2)I/O數(shù)據(jù)位:如果引腳被選擇了通用I/O,當(dāng)方向選為輸入,則可從該位上讀取數(shù)據(jù),當(dāng)方向選為輸出,則可向該位寫入數(shù)據(jù)。,數(shù)據(jù)和方向控制寄存器,如I/O端口被選擇作通用I/O引腳,數(shù)據(jù)和方向控制寄存器可以控制數(shù)據(jù)和I/O引腳的數(shù)據(jù)方向。如I/O端口被選擇作外設(shè)功能時(shí),數(shù)據(jù)和方向控制寄存器的設(shè)置對(duì)相應(yīng)的引腳無影響。(1)I/O端口A數(shù)據(jù)和方向控制寄存器(PADATDIR),地址:7098h位15-8:AnDIRPA7-PA0的數(shù)據(jù)方向0:相應(yīng)引腳配置為輸入1:相應(yīng)引腳配置為輸出,位7-0:IOPA7-IOPA0如果AnDIR=0,引腳配置為輸入0相應(yīng)引腳的電平讀為低電平1相應(yīng)引腳的電平讀為高電平如果AnDIR=1,引腳配置為輸出0設(shè)置相應(yīng)引腳,使其輸出信號(hào)為低電平時(shí)有效1設(shè)置相應(yīng)引腳,使其輸出信號(hào)為高電平時(shí)有效如果I/O端口用作通用I/O,則必須對(duì)數(shù)據(jù)和方向寄存器進(jìn)行初始化設(shè)置,為輸入還是輸出。,端口A數(shù)據(jù)和方向控制寄存器A(PADATADIR)地址7098h,端口B數(shù)據(jù)和方向控制寄存器(PBDATDIR)地址709Ah,端口C數(shù)據(jù)和方向控制寄存器(PCDATDIR)地址709Ch,端口D數(shù)據(jù)和方向控制寄存器(PDDATDIR)地址709Eh,端口E數(shù)據(jù)和方向控制寄存器(PEDATDIR)地址7094h,端口F數(shù)據(jù)和方向控制寄存器(PFDATDIR)地址7096h,實(shí)現(xiàn)LED顯示管的循環(huán)顯示:先第1個(gè)LED亮,然后是第1、2個(gè)LED亮,其次是第1、2、3個(gè)LED亮,依此類推,直到8個(gè)LED顯示管全亮,8個(gè)LED顯示管全亮后,接著是第1至7個(gè)LED顯示管亮,然后是第1至6個(gè)LED顯示管亮,第1個(gè)LED顯示管亮。如此循環(huán)顯示。,實(shí)例,電路圖,74HC273用于驅(qū)動(dòng)8個(gè)發(fā)光二極管,CLR接TMS320LF2407的復(fù)位引腳,使得復(fù)位時(shí)74HC273為低電平,不點(diǎn)亮發(fā)光二極管。IOPF2接CLK作為74HC273的控制信號(hào),用端口IOPB來控制發(fā)光二極管的亮滅。,用軟件延時(shí)的方法來調(diào)整發(fā)光二極管的延時(shí)時(shí)間間隔。當(dāng)發(fā)光二極管被點(diǎn)亮之后,通過改變端口的數(shù)據(jù)輸出,達(dá)到點(diǎn)亮不同的LED顯示管的目的。對(duì)應(yīng)的端口的二進(jìn)制值應(yīng)該為:00000001000000110000011100001111000111110011111101111111111111110111111100111111000111110000111100000111000000110000000100000011如此完成一個(gè)循環(huán)。,