




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
情境四应用I/O口
1情境四应用I/O口
1单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制§4.1MCS-51单片机的并行端口结构与操作 51系列单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0~P3。§4.1MCS-51单片机的并行端口结构与操作 51系列单在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 51单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。下面简单介绍一下输入/输出端口结构。4.1.1P0口和P2的结构在无片外扩展存储器的系统中,这4个端口的每一位都可以下图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚一、P0口的结构下图为P0口的某位P0.n(n=0~7)结构图,它由一个D1、P0口作为普通I/O口①输出时CPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1、P0口作为普通I/O口①输出时DQMUXP0.驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱②输入时----分读引脚或读锁存器读引脚:由传送指令(MOV)实现;
下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚②输入时----分读引脚或读锁存器DQMUXP0DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚②输入时----分读引脚或读锁存器读锁存器:有些指令如:ANLP0,A称为“读-改-写”指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。DQMUXP0.n读锁存器内部总线写锁存器读引脚地**原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。**DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚**原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输P0口必须接上拉电阻;在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;三态输入缓冲器的作用:(ANLP0,A)P0口必须接上拉电阻;DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚准双向口:
从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。DQMUXP0.n读锁存器内部总线写锁存器读引脚地2、P0作为地址/数据总线在系统扩展时,P0端口作为地址/数据总线使用时,分为:
P0引脚输出地址/数据信息。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线在系统扩展时,P0端口作为
CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线CPU发出控制电平“1”,打开“与”门,又使多路开关
P0引脚输出地址/输入数据输入信号是从引脚通过输入缓冲器进入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。2、P0作为地址/数据总线----真正的双向口DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线----真正的双向口DQ二、P2的内部结构1.P2口作为普通I/O口DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚CPU发出控制电平“0”,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。二、P2的内部结构1.P2口作为普通I/O口DQM
2.P2口作为地址总线在系统扩展片外程序存储器扩展数据存储器且容量超过256B(用MOVX@DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚2.P2口作为地址总线DQMUXP2.n读锁存4.1.2P1口、P3口的内部结构
①P1口的一位的结构它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。DQCLKQP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚4.1.2P1口、P3口的内部结构①P1口的一位②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能一、作为通用I/O口与P1口类似----准双向口(W=1)W②P3的内部结构DQP3.n读锁存器内部总线写锁存②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能二、P3第二功能(Q=1)此时引脚部分输入(Q=1、W=1)
,部分输出(Q=1、W输出)
。W②P3的内部结构DQP3.n读锁存器内部总线写锁存P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制P3第二功能各引脚功能定义:综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级P1、P2和P3口为准双向口,在内部差别不大,但使用功能有所不同。
P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1”,然后才能进入输入操作。
P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。对于8031而言,P2口一般只作为地址总线使用,而不作为I/O线直接与外部设备相连。P1、P2和P3口为准双向口,在内部差别不大,但使用C8051F0XX通用I/O口结构C8051F0XX通用I/O口结构一、数字交叉开关的设置从图中可知:P0~P2口输出受数字交叉开关的控制。而该开关的全能与禁止受功能寄存器XBR2的D6位的控制。XBR2的地址为E3H当D6=1,开关闭合,P0~P2口可输出;指令为MOV0E3H,#40H或ORL0E3H,#01000000B二、禁止WDT向WDTCN寄存器写入0xDE后再写入0xAD将禁止WDT。下面的代码段说明禁止WDT的过程。
CLREA;禁止所有中断
MOVWDTCN,#0DEh;禁止软件看门狗定时器
MOVWDTCN,#0ADh;SETBEA;重新允许中断I/O口应用注意问题一、数字交叉开关的设置I/O口应用注意问题三、I/O端口的输出特性和输出方式配置I/O端口的输出带负载能力根据负载的性质有所不同,当负载为合适的灌电流负载时,I/O端口可直接带负载。但当负载为拉电流负载时,I/O端口必须正确的配置输出方式。说明:什么是灌电流?什么是拉电流呢?拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。这里首先要说明,芯片手册中的拉、灌电流是一个参数值,是芯片在实际电路中允许输出端拉、灌电流的上限值(允许最大值)。而下面要讲的这个概念是电路中的实际值。由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。P0~P3四个I/O端口可用作通用I/O口、分别通过访问特殊功能寄存器80H、90H、A0H、B0H与外部电路进行输入输出。通过对P0~P3四个I/O端口的输出方式进行配置的特殊功能寄存器PRT0CF(A4H)、PRT1CF(A5H)、PRT2CF(A6H)、PRT3CF(A7H)进行设置,以提高端口的带负载能力。以端口P1为例进行说明:三、I/O端口的输出特性和输出方式配置I/O端口的输出带负载PRT1CF:端口1配置寄存器P1:端口1寄存器PRT1CF:端口1配置寄存器P1:端口1寄存器开发板通用输出电路及控制一、LED电路LED1接P2.5P2.5=0LED1亮。LED2接P2.6P2.6=0LED1亮。LED3接P2.7P2.7=0LED1亮。开发板通用输出电路及控制一、LED电路二、继电器电路RELAY接P2.4P2.4=1继电器接通二、继电器电路三、BUZZER电路BUZZER接P2.3P2.3=1蜂鸣器响三、BUZZER电路编程注意问题:1、LED电路为灌电流负载。可不对输出方式进行配置的特殊功能寄存器PRT2CF(A6H)进行设置。2、继电器电路和BUZZER电路是拉电流负载,所以必须对输出方式进行配置的特殊功能寄存器PRT2CF(A6H)进行设置。3、使用I/O口必须先禁止WDT并对数字交叉开关寄存器进行设置。编程注意问题:应用I/O口编程分别对I/O口各单个电路运行程序进行讲解。编程训练:要求:编程实现红灯亮-延时-蜂鸣器响-延时--绿灯亮-延时-蜂鸣器响-延时-蓝灯亮-延时-蜂鸣器响-延时-红灯亮。如此周而复始。1、延时时间自己定。2、考核方式:下次上课分组上台演示。应用I/O口编程分别对I/O口各单个电路运行程序进行讲解。参考程序ORG0000HMAIN:movwdtcn,#yky1;关看门狗。 movwdtcn,#yky2mov0E3H,#40h;设置数字开关。mov0a6h,#00001000b;将P2.3设置为推挽方式。 mov0a0h,#11100000b;关灯和蜂鸣器Blink: anl0a0h,#11000000b;红灯亮lcalldelay;延时orl0a0h,#11101000b;关红灯开蜂鸣器 lcalldelay;延时 anl0a0h,#10100000b;开绿灯关蜂鸣器 lcalldelay;延时 orl0a0h,#11101000b;关绿灯开蜂鸣器 lcalldelay;延时 anl0a0h,#01100000b;开蓝灯关蜂鸣器 lcalldelay;延时orl0a0h,#11101000b;关蓝灯开蜂鸣器 lcalldelay;延时 jmp Blink;循环wdtcnequ0ffhyky1equ0dehyky2equ0adhyky3equ0a6horg0100hdelay: mov R7,#10h ;延时子程序 Loop0:mov R6,#00hLoop1: mov R5,#00h djnzR5,$ djnzR6,Loop1 djnzR7,Loop0 ret END
参考程序ORG0000H参考程序知识点一、子程序:具有某种功能的程序段,为所有调用程序所共享。二、子程序调用和返回指令子程序调用指令:LCALLaddr16子程序返回指令:RET三、堆栈操作堆栈:在内存数据存贮器中开辟的一个数据按照先进后出的数据操作原则进行操作的数据存贮区。作用:自动保护断点和保护现场。四、堆栈指针:SP8位寄存器用于保存堆栈栈顶的地址。初始值SP=07H五、堆栈操作指令入栈指令:PUSHdirect出栈指令:POPdire参考程序知识点一、子程序:具有某种功能的程序段,为所有调用程下一个学习单元:应用矩阵按键。预习:1、矩阵按键电路。2、对应I/O口的应用。下一个学习单元:应用矩阵按键。[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件[教育学]情境四-应用IO口课件情境四应用I/O口
52情境四应用I/O口
1单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制§4.1MCS-51单片机的并行端口结构与操作 51系列单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0~P3。§4.1MCS-51单片机的并行端口结构与操作 51系列单在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 51单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。下面简单介绍一下输入/输出端口结构。4.1.1P0口和P2的结构在无片外扩展存储器的系统中,这4个端口的每一位都可以下图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚一、P0口的结构下图为P0口的某位P0.n(n=0~7)结构图,它由一个D1、P0口作为普通I/O口①输出时CPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚1、P0口作为普通I/O口①输出时DQMUXP0.驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱②输入时----分读引脚或读锁存器读引脚:由传送指令(MOV)实现;
下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚②输入时----分读引脚或读锁存器DQMUXP0DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚②输入时----分读引脚或读锁存器读锁存器:有些指令如:ANLP0,A称为“读-改-写”指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。DQMUXP0.n读锁存器内部总线写锁存器读引脚地**原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。**DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚**原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输P0口必须接上拉电阻;在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;三态输入缓冲器的作用:(ANLP0,A)P0口必须接上拉电阻;DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚准双向口:
从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。DQMUXP0.n读锁存器内部总线写锁存器读引脚地2、P0作为地址/数据总线在系统扩展时,P0端口作为地址/数据总线使用时,分为:
P0引脚输出地址/数据信息。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线在系统扩展时,P0端口作为
CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线CPU发出控制电平“1”,打开“与”门,又使多路开关
P0引脚输出地址/输入数据输入信号是从引脚通过输入缓冲器进入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读入内部总线。2、P0作为地址/数据总线----真正的双向口DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚2、P0作为地址/数据总线----真正的双向口DQ二、P2的内部结构1.P2口作为普通I/O口DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚CPU发出控制电平“0”,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。二、P2的内部结构1.P2口作为普通I/O口DQM
2.P2口作为地址总线在系统扩展片外程序存储器扩展数据存储器且容量超过256B(用MOVX@DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚2.P2口作为地址总线DQMUXP2.n读锁存4.1.2P1口、P3口的内部结构
①P1口的一位的结构它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。DQCLKQP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚4.1.2P1口、P3口的内部结构①P1口的一位②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能一、作为通用I/O口与P1口类似----准双向口(W=1)W②P3的内部结构DQP3.n读锁存器内部总线写锁存②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能二、P3第二功能(Q=1)此时引脚部分输入(Q=1、W=1)
,部分输出(Q=1、W输出)
。W②P3的内部结构DQP3.n读锁存器内部总线写锁存P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制P3第二功能各引脚功能定义:综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级P1、P2和P3口为准双向口,在内部差别不大,但使用功能有所不同。
P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1”,然后才能进入输入操作。
P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。对于8031而言,P2口一般只作为地址总线使用,而不作为I/O线直接与外部设备相连。P1、P2和P3口为准双向口,在内部差别不大,但使用C8051F0XX通用I/O口结构C8051F0XX通用I/O口结构一、数字交叉开关的设置从图中可知:P0~P2口输出受数字交叉开关的控制。而该开关的全能与禁止受功能寄存器XBR2的D6位的控制。XBR2的地址为E3H当D6=1,开关闭合,P0~P2口可输出;指令为MOV0E3H,#40H或ORL0E3H,#01000000B二、禁止WDT向WDTCN寄存器写入0xDE后再写入0xAD将禁止WDT。下面的代码段说明禁止WDT的过程。
CLREA;禁止所有中断
MOVWDTCN,#0DEh;禁止软件看门狗定时器
MOVWDTCN,#0ADh;SETBEA;重新允许中断I/O口应用注意问题一、数字交叉开关的设置I/O口应用注意问题三、I/O端口的输出特性和输出方式配置I/O端口的输出带负载能力根据负载的性质有所不同,当负载为合适的灌电流负载时,I/O端口可直接带负载。但当负载为拉电流负载时,I/O端口必须正确的配置输出方式。说明:什么是灌电流?什么是拉电流呢?拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。这里首先要说明,芯片手册中的拉、灌电流是一个参数值,是芯片在实际电路中允许输出端拉、灌电流的上限值(允许最大值)。而下面要讲的这个概念是电路中的实际值。由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。P0~P3四个I/O端口可用作通用I/O口、分别通过访问特殊功能寄存器80H、90H、A0H、B0H与外部电路进行输入输出。通过对P0~P3四个I/O端口的输出方式进行配置的特殊功能寄存器PRT0CF(A4H)、PRT1CF(A5H)、PRT2CF(A6H)、PRT3CF(A7H)进行设置,以提高端口的带负载能力。以端口P1为例进行说明:三、I/O端口的输出特性和输出方式配置I/O端口的输出带负载PRT1CF:端口1配置寄存器P1:端口1寄存器PRT1CF:端口1配置寄存器P1:端口1寄存器开发板通用输出电路及控制一、LED电路LED1接P2.5P2.5=0LED1亮。LED2接P2.6P2.6=0LED1亮。LED3接P2.7P2.7=0LED1亮。开发板通用输出电路及控制一、LED电路二、继电器电路RELAY接P2.4P2.4=1继电器接通二、继电器电路三、BUZZER电路BUZZER接P2.3P2.3=1蜂鸣器响三、BUZZER电路编程注意问题:1、LED电路为灌电流负载。可不对输出方式进行配置的特殊功能寄存器PRT2CF(A6H)进行设置。2、继电器电路和BUZZER电路是拉电流负载,所以必须对输出方式进行配置的特殊功能寄存器PRT2CF(A6H)进行设置。3、使用I/O口必须先禁止WDT并对数字交叉开关寄存器进行设置。编程注意问题:应用I/O口编程分别对I/O口各单个电路运行程序进行讲解。编程训练:要求:编程实现红灯亮-延时-蜂鸣器响-延时--绿灯亮-延时-蜂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分期购车银行合同范本
- 兼职厨师劳务合同范本
- 代理建账合同范本
- 入职各种合同范本
- 2025年湖南a2货运从业资格证考试
- 介绍客户返利合同范本
- 农村住房建筑合同范本
- 劳务合同范本英文
- 农田托管合同范本
- 冻库修理合同范本
- Q∕SY 06505.13-2016 炼油化工工程仪表自动化设计规范 第13部分:仪表防爆及防护
- 油漆使用登记记录表
- 农田杂草的调查
- 【知识点提纲】新教材-人教版高中化学必修第一册全册各章节知识点考点重点难点提炼汇总
- 上海小弄堂-电子小报
- 轨道交通安全专题培训
- 物理化学完整版答案
- 中国商品条码系统注册登记表规范填写
- 湘科教版小学信息技术四年级下册全册教案.doc
- 节流孔板孔径计算
- 学生流失率考核办法(试行)
评论
0/150
提交评论