数字输入输出IOIO引脚大部分是复用的其功能可课件

上传人:无*** 文档编号:241398885 上传时间:2024-06-23 格式:PPT 页数:31 大小:303.50KB
返回 下载 相关 举报
数字输入输出IOIO引脚大部分是复用的其功能可课件_第1页
第1页 / 共31页
数字输入输出IOIO引脚大部分是复用的其功能可课件_第2页
第2页 / 共31页
数字输入输出IOIO引脚大部分是复用的其功能可课件_第3页
第3页 / 共31页
点击查看更多>>
资源描述
注意:注意:上述数字上述数字I/OI/O脚是通过控制寄存器(映射脚是通过控制寄存器(映射在数据存储器空间)来控制的,在数据存储器空间)来控制的,与器件的与器件的I/OI/O空间无任何关系空间无任何关系。7.1 7.1 数字数字I/OI/O寄存器简介寄存器简介 地址地址寄存器寄存器功能功能7090h7090hMCRAMCRA I/O I/O复用控制复用控制寄存器寄存器A A7092h7092hMCRBMCRBI/OI/O复用控制复用控制寄存器寄存器B B 地址地址寄存器寄存器功能功能7094h7094hMCRCMCRCI/OI/O复用控制复用控制寄存器寄存器C C 7098h7098hPADATDIRPADATDIRI/OI/O端口端口A A数据和方向寄存器数据和方向寄存器709Ah709AhPBDATDIRPBDATDIRI/OI/O端口端口B B数据和方向寄存器数据和方向寄存器709Ch709ChPCDATDIRPCDATDIRI/OI/O端口端口C C数据和方向寄存器数据和方向寄存器709Eh709EhPDDATDIRPDDATDIRI/OI/O端口端口D D数据和方向寄存器数据和方向寄存器7095h7095hPEDATDIRPEDATDIRI/OI/O端口端口E E数据和方向寄存器数据和方向寄存器7096h7096hPFDATDIRPFDATDIRI/OI/O端口端口F F数据和方向寄存器数据和方向寄存器保留位是不可操作的,读出为0,写入对它无影响。7.2 I/O 端口复用控制寄存器LF240 x/240 xA具有3个I/O端口复用控制寄存器:MCRA、MCRB、MCRC。7.3 7.3 数据和方向控制寄存器数据和方向控制寄存器LF2407/2407ALF2407/2407A有有6 6个个数据和方向控制寄存器数据和方向控制寄存器(PxDATDIRPxDATDIR),),这些数据和方向控制寄存器包含控制这些数据和方向控制寄存器包含控制引脚的两个功能位。引脚的两个功能位。vI/OI/O方向位方向位如果引脚被选择通用如果引脚被选择通用I/OI/O,方向位决定了该引脚是作输,方向位决定了该引脚是作输入(入(0 0)还是输出()还是输出(1 1)。)。vI/OI/O数据位数据位如果引脚被选择了如果引脚被选择了通用通用I/OI/O,当方向选为输入,则可从,当方向选为输入,则可从该位上读取数据,当方向选为输出,则可向该位写入该位上读取数据,当方向选为输出,则可向该位写入数据数据 。当当I/OI/O端口被端口被选择选择作作通用通用I/OI/O引脚引脚,数据和方向控制寄,数据和方向控制寄存器可以控制数据和存器可以控制数据和I/OI/O引脚的数据方向。引脚的数据方向。如果如果I/OI/O端口被端口被选择选择作作外设外设功能时,功能时,数据和方向控制寄数据和方向控制寄存器的设置对相应的引脚无影响存器的设置对相应的引脚无影响。下面详细介绍数。下面详细介绍数据和方向控制寄存器。据和方向控制寄存器。(1 1)I/OI/O端口端口A A数据和方向控制寄存器(数据和方向控制寄存器(PADATDIR)PADATDIR),映射地址:映射地址:7098h7098h,格式如下。格式如下。位位15-815-8:AnDIRAnDIR PA7-PA0PA7-PA0的数据方向的数据方向0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出位位7-07-0:IOPAnIOPAn如果如果AnDIRAnDIR=0=0,引脚配置为输入,引脚配置为输入:0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平如果如果AnDIRAnDIR=1=1,引脚配置为输出,引脚配置为输出:0 0设置相应引脚,使其输出信号为低电平设置相应引脚,使其输出信号为低电平1 1设置相应引脚,使其输出信号为高电平设置相应引脚,使其输出信号为高电平 如果如果I/OI/O端口端口用作通用用作通用I/OI/O,则必须对数据和方向寄存则必须对数据和方向寄存器进行初始化设置器进行初始化设置,规定其为输入端口还是输出端,规定其为输入端口还是输出端口。口。(2 2)I/OI/O端口端口B B数据和方向控制寄存器(数据和方向控制寄存器(PBDATDIR)PBDATDIR),映射地址:映射地址:709Ah709AhI/OI/O端口端口B B数据和方向控制寄存器的格式如下。数据和方向控制寄存器的格式如下。位位15-815-8:BnDIRBnDIR PB7-PB0 PB7-PB0的数据方向的数据方向0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出位位7-07-0:IOPBnIOPBn如果如果BnDIRBnDIR=0=0,引脚配置为输入方式。,引脚配置为输入方式。0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平如果如果BnDIRBnDIR=1=1,引脚配置为输出,引脚配置为输出0 0设置相应引脚,使其输出信号为低电平时有设置相应引脚,使其输出信号为低电平时有效效1 1设置相应引脚,使其输出信号为高电平时有设置相应引脚,使其输出信号为高电平时有效效(3 3)I/OI/O端口端口C C数据和方向控制寄存器数据和方向控制寄存器(PCDATDIR)PCDATDIR),映射地址:映射地址:709Ch709ChI/OI/O端口端口C C数据和方向控制寄存器的格式如下。数据和方向控制寄存器的格式如下。位位15-815-8:CnDIRCnDIR PC7-PC0 PC7-PC0的数据方向的数据方向0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出位位7-07-0:IOPC7-IOPC0IOPC7-IOPC0如果如果CnDIRCnDIR=0=0,引脚配置为输入。,引脚配置为输入。0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平如果如果BnDIRBnDIR=1=1,引脚配置为输出,引脚配置为输出0 0设置相应引脚,使其输出信号为低电平设置相应引脚,使其输出信号为低电平1 1设置相应引脚,使其输出信号为高电平设置相应引脚,使其输出信号为高电平(4 4)I/OI/O端口端口D D数据和方向控制寄存器(数据和方向控制寄存器(PDDATDIR)PDDATDIR),映射地址:映射地址:709Eh709EhI/OI/O端口端口D D数据和方向控制寄存器的格式如下。数据和方向控制寄存器的格式如下。位位15-915-9:保留位保留位位位8 8:D0DIR D0DIR 0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出位位7-17-1:保留:保留位位0 0:IOPD0IOPD0如果如果D0DIR=0D0DIR=0,引脚配置为输入。,引脚配置为输入。0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平 如果如果D0DIR=1D0DIR=1,引脚配置为输出,引脚配置为输出0 0设置相应引脚,使其输出信号为低电平时有设置相应引脚,使其输出信号为低电平时有效效1 1设置相应引脚,使其输出信号为高电平时有设置相应引脚,使其输出信号为高电平时有效效(5 5)I/OI/O端口端口E E数据和方向控制寄存器(数据和方向控制寄存器(PEDATDIR)PEDATDIR),地址:地址:7095h7095hI/OI/O端口端口E E数据和方向控制寄存器的格式如下数据和方向控制寄存器的格式如下 位位15-815-8:EnDIREnDIR 0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出位位7-07-0:IOPEnIOPEn如果如果EnDIREnDIR=0=0,引脚配置为输入。,引脚配置为输入。0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平如果如果EnDIREnDIR=1=1,引脚配置为输出,引脚配置为输出0 0设置相应引脚,使其输出信号为低电平时有设置相应引脚,使其输出信号为低电平时有效效1 1设置相应引脚,使其输出信号为高电平时有效设置相应引脚,使其输出信号为高电平时有效(6 6)I/OI/O端口端口F F数据和方向控制寄存器(数据和方向控制寄存器(PFDATDIR)PFDATDIR),映射地址:映射地址:7096h7096hI/OI/O端口端口E E数据和方向控制寄存器的格式如下。数据和方向控制寄存器的格式如下。位位1515:保留位保留位位位14-814-8:EnDIREnDIR 0 0相应引脚配置为输入相应引脚配置为输入1 1相应引脚配置为输出相应引脚配置为输出 位位7 7 保留保留位位6-06-0:IOPFnIOPFn如果如果FnDIRFnDIR=0=0,引脚配置为输入。,引脚配置为输入。0 0相应引脚的电平读为低电平相应引脚的电平读为低电平1 1相应引脚的电平读为高电平相应引脚的电平读为高电平如果如果FnDIRFnDIR=1=1,引脚配置为输出,引脚配置为输出0 0设置相应引脚,使输出为低电平有效设置相应引脚,使输出为低电平有效1 1设置相应引脚,使输出为高电平有效设置相应引脚,使输出为高电平有效当引脚选择为通用当引脚选择为通用I/OI/O功能时,那么功能时,那么I/OI/O端口端口E E数据和方数据和方向控制向控制7.4 7.4 数字数字I/OI/O端口配置实例端口配置实例在使用数字在使用数字I/OI/O之前,之前,需用软件对数字需用软件对数字I/OI/O进行进行配置配置,选择,选择I/OI/O引脚的功能,且设置引脚的功能,且设置I/OI/O引脚的引脚的数据方向,然后才可以读取数据或输出数据。数据方向,然后才可以读取数据或输出数据。下面为下面为一个基本的数字一个基本的数字I/OI/O配置实例配置实例的汇编源程的汇编源程序。读者可参照此程序,来配置其它的任何数序。读者可参照此程序,来配置其它的任何数目的数字目的数字I/O I/O MCRA MCRA.set7090h;.set7090h;可将这些映射语句放于可将这些映射语句放于240 x.h240 x.h文件文件中中PADATDIRPADATDIR.set7098h;.set7098h;可将这些映射语句放于可将这些映射语句放于240 x.h240 x.h文件文件中中PBDATDIR .set709AhPBDATDIR .set709Ah;可将这些映射语句放于可将这些映射语句放于240 x.h240 x.h文件文件中中LDP#0E1hLDP#0E1h ;指向相应的数据页面指向相应的数据页面LACC#0hLACC#0h ;设置设置MCRAMCRA所有位均为所有位均为0 0SACL MCRASACL MCRA;将引脚将引脚IOPA0-7IOPA0-7和和IOPB0-7IOPB0-7配置为配置为I/OI/O引脚引脚SACL PADATDIRSACL PADATDIR ;引脚引脚IOPA0-7IOPA0-7配置为输入,配置为输入,LACC#0F00hLACC#0F00h ;引脚引脚IOPB7-IOPB4IOPB7-IOPB4配置为输入配置为输入 SACL PBDATDIRSACL PBDATDIR ;引脚引脚IOPB3-IOPB0IOPB3-IOPB0配置为输出配置为输出LACC PBDATDIRLACC PBDATDIR ;读取引脚读取引脚IOPB7-IOPB4IOPB7-IOPB4的输入状态的输入状态AND#00F0hAND#00F0h ;A ;A为输入状态为输入状态7.5 7.5 数字数字I/OI/O的应用实例的应用实例7.5.1 7.5.1 使用数字使用数字I/OI/O查询输入信号查询输入信号通常可以配置数字通常可以配置数字I/OI/O为输入或输出,以便于与为输入或输出,以便于与外设进行信息交换。外设进行信息交换。本例本例为为使用数字使用数字I/OI/O端口端口来查询外界信号输入情况来查询外界信号输入情况为抗干扰,外界输入信号需要加光耦隔离,以为抗干扰,外界输入信号需要加光耦隔离,以便获得符合便获得符合LF2407/2407ALF2407/2407A要求的信号。本例要求的信号。本例使用使用PWM3/IOPB0PWM3/IOPB0、PWM4/IOPB1PWM4/IOPB1、PWM5/IOPB2PWM5/IOPB2和和PWM6/IOPB3PWM6/IOPB3。I/OI/O初始化初始化需设置引脚为需设置引脚为I/OI/O功能,且需要选择功能,且需要选择信号方向。下面为信号方向。下面为读取输入信号读取输入信号的的例程例程。初始化:初始化:LDPLDP#00E1h#00E1h ;数据页指向数据页指向7080h7080h70FFh70FFhSPLKSPLK#0F00h,MCRA#0F00h,MCRA;配置配置I/O,I/O,选择选择IOPB0IOPB0IOPB3IOPB3SPLKSPLK#0000h,PBDATDIR#0000h,PBDATDIR;配置为输入模式配置为输入模式 ST_LOOP1ST_LOOP1LDPLDP#00E1h#00E1hLACCLACCPBDATDIRPBDATDIRLDPLDP#INDATA#INDATASACLSACLINDATAINDATABITBITINDATA,BIT0INDATA,BIT0;判断判断IOPB0IOPB0是否有输入信号,是否有输入信号,;如有则跳到如有则跳到ST_LOOP2ST_LOOP2 BCND BCND ST_LOOP2,TCST_LOOP2,TCB B ST_LOOP1ST_LOOP1ST_LOOP2ST_LOOP2LDPLDP#00E1h#00E1hLACCLACCPBDATDIRPBDATDIRLDPLDP#INDATA#INDATASACLSACLINDATAINDATABITBITINDATA,BIT1INDATA,BIT1;判断判断IOPB1IOPB1是否有输入信号,如有是否有输入信号,如有;则跳到则跳到 ST_LOOP3ST_LOOP3BCND BCND ST_LOOP3,TCST_LOOP3,TCB BST_LOOP2ST_LOOP2ST_LOOP3ST_LOOP3LDPLDP#00E1h#00E1hLACCLACCPBDATDIRPBDATDIR LDPLDP#INDATA#INDATASACLSACLINDATAINDATABITBITINDATA,BIT2INDATA,BIT2;判判IOPB2IOPB2是否有输入信号,如有则是否有输入信号,如有则;跳到跳到ST_LOOP4ST_LOOP4BCNDBCNDST_LOOP4,TCST_LOOP4,TCB BST_LOOP3ST_LOOP3ST_LOOP4ST_LOOP4LDPLDP#00E1h#00E1hLACCLACCPBDATDIRPBDATDIR LDPLDP#INDATA#INDATASACLSACLINDATAINDATABITBITINDATA,BIT3INDATA,BIT3;判断判断IOPB3IOPB3是否有输入信号,如有是否有输入信号,如有;则跳到则跳到MAINMAIN BCNDBCNDMAIN,TCMAIN,TCB BST_LOOP4ST_LOOP4MAIN:MAIN:NOPNOPB BMAINMAIN.end.end7.5.2 7.5.2 使用数字使用数字I/OI/O输出信号输出信号使用使用I/OI/O端口输出端口输出4 4个信号,这个信号,这4 4个信号分别连接到个信号分别连接到4 4个个LEDLED,硬件接口电路如图所示。输出引脚与,硬件接口电路如图所示。输出引脚与LEDLED之间之间接一触发器接一触发器SN74HCT273,SN74HCT273,来实现对来实现对LEDLED的驱动。在此的驱动。在此使用使用 PWM3/IOPB0PWM3/IOPB0、PWM4/IOPB1PWM4/IOPB1、PWM5/IOPB2PWM5/IOPB2和和 PWM6/IOPB3PWM6/IOPB3作作 为为 输输 出出 信信 号号,而而PWM7/IOPE1PWM7/IOPE1作作为为选选通通SN74HCT273SN74HCT273的的输输出出信信号号。下下面面的的实实例例程程序序实实现现对对4 4个个LEDLED的的循循环环驱驱动动,即即LEDLED循循环环发光发光,即,即DS0DS1DS2DS3DS0DS0DS1DS2DS3DS0。初始化:初始化:LDPLDP#00E1h#00E1h;数据页指向数据页指向7080h7080h70FFh70FFhSPLKSPLK#0000h,MCRA#0000h,MCRA;配置配置I/O,I/O,选择选择IOPB0IOPB0IOPB3IOPB3SPLKSPLK#FF00h,PBDATDIR#FF00h,PBDATDIR;配置为输出模式配置为输出模式SPLKSPLK#000#0000 0h,MCRCh,MCRC;配置配置I/O,I/O,选择选择IOPE1IOPE1SPLKSPLK#0200h,PEDATDIR;#0200h,PEDATDIR;配置为输出模式配置为输出模式 MAIN:MAIN:LDPLDP#0#0SPLK#1,SPLK#1,OUTDATAOUTDATA;给输出变量赋值给输出变量赋值LDPLDP#00E1h#00E1hLACCLACCPEDATDIRPEDATDIROROR#0202h#0202h;输出到输出到IOPE1IOPE1,选通,选通SN74HCT273SN74HCT273SACLSACLPEDATDIRPEDATDIRST_LOOPST_LOOPLDPLDP#0h#0hLACLLACLOUTDATAOUTDATA OROR#0F00h#0F00hLDPLDP#00E1h#00E1hSACLSACLPBDATADIRPBDATADIR;输出信号到输出信号到LEDLEDCALLCALLDELAYDELAY;延时延时LACLLACLOUTDATAOUTDATA SFLSFL;左移左移1 1位位SACLSACLOUTDATAOUTDATA;BITBITOUTDATA,BIT4OUTDATA,BIT4;判是否完成了一个循环,如判是否完成了一个循环,如;是则跳到是则跳到MAINMAIN,重复开始,重复开始 BCNDBCNDMAIN,TCMAIN,TCB BST_LOOPST_LOOP.end.endDELAY:DELAY:LARLARAR0,#01hAR0,#01h;延时子程序延时子程序D_LOOP:D_LOOP:RPTRPT#FFhFFh;延时参数可按需要进行修改延时参数可按需要进行修改NOPNOPBANZBANZD_LOOPD_LOOPRETRET
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!