STC32位8051单片机原理及应用 课件 第十章 定时器与计数器原理和应用_第1页
STC32位8051单片机原理及应用 课件 第十章 定时器与计数器原理和应用_第2页
STC32位8051单片机原理及应用 课件 第十章 定时器与计数器原理和应用_第3页
STC32位8051单片机原理及应用 课件 第十章 定时器与计数器原理和应用_第4页
STC32位8051单片机原理及应用 课件 第十章 定时器与计数器原理和应用_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章定时器与计数器原理和应用主要内容定时器/计数器模块功能定时器/计数器工作模式定时器/计数器寄存器组设计实例一:定时器/计数器设置和中断生成设计实例二:定时器/计数器对外部脉冲计数定时器/计数器模块功能

STC32G系列单片机内设置了5个24位定时器/计数器(8位预分频器+16位计数)5个16位定时器/计数器T0、T1、T2、T3和T4均可设置为定时和计数两种工作方式定时器/计数器模块功能

--定时和计数模式的选择如果计数脉冲来自系统时钟,则为定时方式。如果计数脉冲来自单片机外部引脚时,则为计数方式对于定时器/计数器T0和T1,通过寄存器TMOD中对应的C/T位来设置T0/T1工作在定时/计数方式

对于定时器/计数器T2,通过寄存器AUXR中的T2_C/T位来设置T2工作在定时/计数方式

对于定时器/计数器T3,通过寄存器T4T3M中的T3_C/T位来设置T3工作在定时/计数方式

对于定时器/计数器T4,通过寄存器T4T3M中的T4_C/T位来设置T4工作在定时/计数方式定时器/计数器模块功能

--计数脉冲的选择本质上,定时器/计数器的核心单元就是一个加法计数器,该计数器在内部/外部脉冲的驱动下执行递增操作当计数脉冲来自系统时钟时,定时器/计数器在每12个/1个时钟周期(具体通过寄存器设置)时就得到一个计数脉冲,该计数脉冲使得计数值加1当计数脉冲来自单片机外部引脚时,每个计数脉冲就使得计数值加1定时器/计数器模块功能

--计数脉冲的选择当定时器/计数器T0、T1和T2工作在定时模式时,寄存器AUXR中的T0x12位、T1x12位和T2x12位分别决定定时器/计数器T0、T1和T2的计数脉冲频率是选择系统时钟频率/12还是系统时钟频率/1(不分频)当定时器/计数器T3和T4工作在定时模式时,寄存器T4T3M中的T3x12位和T4x12位分别决定定时器/计数器T3和T4的计数脉冲频率是选择系统时钟频率/12还是系统时钟频率/1(不分频)定时器/计数器模块功能

--工作模式的选择T0有4种工作模式模式0(16位自动重装载模式)模式1(16位不可重装载模式)模式2(8位自动重装模式)模式3(不可屏蔽中断的16位自动重装载模式)T1除模式3外,其他工作模式与定时器/计数器0相同T1在模式3时无效,停止计数T2的工作模式固定为16位自动重装载模式T2可以当定时器使用,也可以当串口的波特率发生器和可编程时钟输出T3和T4与T2相同,它们的工作模式固定为16位自动重装载模式T3和T4既可作定时器使用,也可作串口波特率发生器和可编程时钟输出定时器/计数器工作模式本节将介绍定时器/计数器T0、T1和T2的工作模式。对于定时器/计数器T3和T4的工作模式,详见STC32G系列单片机技术参考手册定时器/计数器工作模式

--定时器/计数器0工作模式定时器/计数器0共有4种工作模式模式0(16位自动重加载模式)模式1(16位不可自动重加载模式)模式2(8位自动重加载模式)模式3(不可屏蔽中断的16位自动重加载定时器模式)定时器/计数器0工作模式

--模式0定时器/计数器0工作模式0为16位自动重加载模式系统时钟SYSclk通过定时器0的8位预分频寄存器TM0PS后产生定时器0的时钟信号T0clk定时器/计数器0的时钟源T0clkT0clk定时器/计数器0工作模式

--模式0定时器/计数器0有两个隐藏的寄存器RL_TH0和RL_TL0。RL_TH0与TH0共用一个地址,RL_TL0与TL0共用一个地址当TR0位为“0”(即禁止定时器/计数器0工作)时,写入寄存器TL0的值会同时写入寄存器RL_TL0;同理,写入寄存器TH0的值也会同时写入寄存器RL_TH0当TR0位为“1”(即允许定时器/计数器0工作)时,写到寄存器TL0的值实际上并没有写到寄存器TL0中,而是写到隐藏的寄存器RL_TL0中;同理,写到寄存器TH0的值实际上并没有写到当前寄存器TH0中,而是写到隐藏的寄存器RL_TH0中因此,巧妙地实现了16位重装载定时器当读取寄存器TH0和寄存器TL0时,读取的值就是寄存器TH0和寄存器TL0中保存的值,而不是寄存器RL_TH0和寄存器RL_TL0内的值定时器/计数器0工作模式

--模式0当定时器/计数器0工作在模式0时,由[TH0,TL0]构成的16位计数寄存器的溢出不仅会设置TF0位,而且会自动将16位寄存器[RL_TH0,RL_TL0]的值重新装入16位计数寄存器[TH0,TL0]中定时器/计数器0工作模式

--模式0GATE、INT0和TR0GATE、INT0和TR0共同决定定时器/计数器0能否正常工作它们三个信号通过逻辑“或门”和逻辑“与门”产生control信号,用于控制内部SYSclk信号或外部脉冲通过T0引脚是否能接入该定时器/计数器GATEINT0TR0功能000不启动定时器/计数器0001启动定时器/计数器0010不启动定时器/计数器0011启动定时器/计数器0100不启动定时器/计数器0101不启动定时器/计数器0110不启动定时器/计数器0111启动定时器/计数器0定时器/计数器0工作模式

--模式0

定时器/计数器0工作模式

--模式0

定时器/计数器0工作模式

--模式0

定时器/计数器0工作模式

--模式1定时器/计数器0的模式1不能自动重加载16位计数初值定时器/计数器0工作模式

--模式2定时器/计数器0的模式2为8位自动重加载模式注:当重加载时,将寄存器TH0的内容加载到寄存器TL0中定时器/计数器0工作模式

--模式2

定时器/计数器0工作模式

--模式3定时器/计数器0模式3为不可屏蔽中断16位自动重加载模式,实时操作系统可使用该模式作为节拍定时器当工作在模式3时,只需允许ET0/IE.1(定时器/计数器0中断允许位),而不需要允许EA/IE.7(总中断使能位)就能打开定时器/计数器0的中断因此,该模式下的定时器/计数器0中断与总中断使能位EA无关。并且,一旦在该模式下打开定时器/计数器0的中断(即ET0设置为“1”),那么中断是不可屏蔽的,该中断的优先级也是最高的,即该中断不能被任何其他中断所打断定时器/计数器1工作模式定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同定时器/计数器1工作模式

--模式0定时器/计数器1工作模式0为16位自动重加载模式系统时钟SYSclk通过定时器1的8位预分频寄存器TM1PS后产生定时器1的时钟信号T1clk定时器/计数器1的时钟源T1clkT1clk定时器/计数器1工作模式

--模式0定时器/计数器1有两个隐藏的寄存器RL_TH1和RL_TL1。RL_TH1与TH1共用一个地址,RL_TL1与TL1共用一个地址当TR1位为“0”(即禁止定时器/计数器1工作)时,写入寄存器TL1的值会同时写入寄存器RL_TL1;同理,写入寄存器TH1的值也会同时写入寄存器RL_TH1当TR1位为“1”(即允许定时器/计数器1工作)时,写到寄存器TL1的值实际上并没有写到寄存器TL1中,而是写到隐藏的寄存器RL_TL1中;同理,写到寄存器TH1的值实际上并没有写到当前寄存器TH1中,而是写到隐藏的寄存器RL_TH1中因此,巧妙地实现了16位重装载定时器当读取寄存器TH1和寄存器TL1时,读取的值就是寄存器TH1和寄存器TL1中保存的值,而不是寄存器RL_TH1和寄存器RL_TL1内的值定时器/计数器1工作模式

--模式0当定时器/计数器1工作在模式0时,由[TH1,TL1]构成的16位计数寄存器的溢出不仅会设置TF1位,而且会自动将16位寄存器[RL_TH1,RL_TL1]的值重新装入16位计数寄存器[TH1,TL1]中定时器/计数器1工作模式

--模式0

定时器/计数器1工作模式

--模式1定时器/计数器1的模式1不能自动重加载16位计数初值定时器/计数器1工作模式

--模式2定时器/计数器1的模式2为8位自动重加载模式注:当重加载时,将寄存器TH1的内容加载到寄存器TL1中定时器/计数器1工作模式

--模式2

定时器/计数器2工作模式定时器/计数器2只有16位自动重加载模式定时器/计数器2的时钟源T2clkT2clk定时器/计数器2工作模式

定时器/计数器寄存器组

--控制寄存器(TCON)除了用于控制定时器/计数器T0和T1外,控制寄存器TCON也可锁存T0和T1溢出中断源和外部请求中断源等该寄存器位于SFR地址为0x88的位置。当复位后,该寄存器的值为“00000000”,表中:TF1定时器/计数器1的溢出中断标志。当允许定时器/计数器1计数后,从初值开始加1计数。当产生溢出时,硬件将该位设置为“1”。此时,向CPU发出中断请求。如果CPU响应该中断请求,则由硬件将该位自动清“0”。通过软件轮询,也可以将该位清“0”位索引76543210名字TF1TR1TF0TR0IE1IT1IE0IT0定时器/计数器寄存器组

--控制寄存器(TCON)TR1定时器/计数器1运行控制位。该位由软件置位和清零。当工作模式寄存器TMOD的GATE位(第7位)为”0”,且TR1位为”1”时,允许定时器/计数器1开始计数;当TR1位为“0”时,禁止定时器/计数器1计数;当工作模式寄存器TMOD的GATE(第7位)位为“1”,TR1位为“1”,且INT1输入为高电平时,才允许其开始计数TF0定时器/计数器0的溢出中断标志。当允许定时器/计数器0计数后,从初值开始加1计数。当产生溢出时,硬件将该位设置为“1”。此时,向CPU发出中断请求。如果CPU响应该中断请求,则由硬件将该位自动清“0”。通过软件轮询,也可以将该位清“0”定时器/计数器寄存器组

--控制寄存器(TCON)TR0定时器/计数器0运行控制位。该位由软件置位和清零。当工作模式寄存器TMOD的GATE位(第3位)为“0”,且TR0位为“1”时,允许其开始计数;当TR0位为“0”时,禁止计数;当工作模式寄存器TMOD的GATE位(第3位)为“1”,TR0位为“1”,且INT0输入为高电平时,才允许其开始计数IE1外部中断请求源(INT1/P3.3)标志。当IE1位为“1”时,外部中断向CPU发出中断请求。当CPU响应该中断后,由硬件自动清除该位IT1外部中断源触发控制位。当IT1位为“0”时,上升沿或者下降沿均可触发外部中断1;当IT1位为“1”时,只有下降沿可以触发外部中断1定时器/计数器寄存器组

--控制寄存器(TCON)IE0外部中断请求源(INT0/P3.2)标志。当IE0位为“1”时,外部中断向CPU发出中断请求。当CPU响应该中断后,由硬件自动清除该位IT0外部中断源触发控制位。当IT0位为“0”时,上升沿或者下降沿均可触发外部中断0;当IT0位为“1”时,只有下降沿可以触发外部中断0定时器/计数器寄存器组

--工作模式寄存器(TMOD)定时器/计数器T0和定时器/计数器T1的定时或者计数功能由TMOD寄存器的控制位C/T进行选择该寄存器位于SFR地址为0x89的位置。当复位后,该寄存器的值为“00000000”T1_GATE(TMOD.7)该位使能/禁止定时器/计数器1。当该位为“1”时,只有在INT1引脚为高,并且TCON寄存器的TR1位置“1”时,才能打开定时器/计数器1位索引76543210名字T1_GATET1_C/TT1_M1T1_M0T0_GATET0_C/TT0_M1T0_M0作用域与定时器1有关与定时器0有关定时器/计数器寄存器组

--工作模式寄存器(TMOD)T1_C/T(TMOD.6)该位控制定时器/计数器1的工作模式。当该位为“1”时,定时器/计数器1工作在计数器方式(即对引脚T1/P3.5外部脉冲计数);当该位为“0”时,定时器/计数器1工作在定时器方式(即对内部时钟进行计数)T1_M1和T1_M0(TMOD.5和TMOD.4)T1_M1T1_M0工作模式0016位自动重新加载模式。当溢出时,将RL_TH1和RL_TL1的值自动重新加载到TH1和TL1中0116位不可自动重新加载模式。即:需要重新写TH1和TL1寄存器108位自动重新加载模式。当溢出时,将TH1的值自动重新加载到TL1中11无效。停止计数定时器/计数器寄存器组

--工作模式寄存器(TMOD)T0_GATE(TMOD.3)该位使能/禁止定时器/计数器0。当该位为“1”时,只有在INT0引脚为高,并且TCON寄存器的TR0位置“1”时,才能打开定时器/计数器0T0_C/T(TMOD.2)该位控制定时器/计数器0的工作模式。当该位为“1”时,定时器/计数器0工作在计数器方式(即对引脚T0/P3.4外部脉冲计数);当该位为“0”时,定时器/计数器0工作在定时器方式(即对内部时钟进行计数)定时器/计数器寄存器组

--工作模式寄存器(TMOD)T0_M1和T0_M0(TMOD.1和TMOD.0)定时器/计数器0模式选择T0_M1T0_M0工作模式0016位自动重新加载模式。当溢出时,将RL_TH0和RL_TL0的值自动重新加载到TH0和TL0中0116位不可自动重新加载模式,即需要重新写TH0和TL0寄存器108位自动重新加载模式。当溢出时,将TH0的值自动重新加载到TL0中11不可屏蔽中断的16位自动重装定时器(由于该中断优先级最高,因此可用于监控系统防止跑飞)定时器/计数器寄存器组

--辅助寄存器(AUXR)为了与传统的MCS-51/MCS-251单片机兼容,在复位后,定时器0、定时器1和定时器2和传统8051一样,都是12分频。在STC32G系列单片机中,通过AUXR寄存器可以禁止分频,直接使用T0clk/T1clk时钟驱动定时器该寄存器位于SFR地址为0x8E的位置。当复位后,该寄存器的值为“00000001”位索引76543210名字T0x12T1x12UART_M0x6T2RT2_C/TT2x12EXTRAMS1BRT定时器/计数器寄存器组

--辅助寄存器(AUXR)T0x12定时器0速度控制位。当该位为“0”时,定时器0是传统8051单片机的速度(即12分频);当该位为“1”时,定时器0的速度是传统8051单片机速度的12倍(即不分频)T1x12定时器1速度控制位。当该位为“0”时,定时器1是传统8051单片机的速度(即12分频);当该位为“1”时,定时器1的速度是传统8051单片机的12倍(即不分频)定时器/计数器寄存器组

--辅助寄存器(AUXR)UART_M0x6串口1模式0的通信速率设置位。当该位为“0”时,串口1模式0的速度是传统8051单片机的速度(即12分频);当该位为“1”时,串口1模式0的速度是传统8051单片机速度的6倍(即2分频)T2R定时器2允许控制位。当该位为“0”时,不允许定时器2运行;当该位为“1”时,允许定时器2运行T2_C/T控制定时器/计数器2的工作模式。当该位为“0”时,用作定时器(即对内部系统时钟进行计数);当该位为“1”时,用作计数器(即对引脚T2/P3.1的外部脉冲进行计数)定时器/计数器寄存器组

--辅助寄存器(AUXR)T2x12定时器2速度控制位。当该位为“0”时,定时器2是传统8051单片机的速度(即12分频);当该位为“1”时,定时器2的速度是传统8051单片机速度的12倍(即不分频)EXTRAM内部/外部RAM存取控制位。当该位为“0”时,允许使用逻辑上在片外、物理上在片内的扩展数据RAM区;当该位为“1”时,禁止使用逻辑上在片外、物理上在片内的扩展数据RAM区定时器/计数器寄存器组

--辅助寄存器(AUXR)S1BRT串口1(UART1)选择定时器1/定时器2作为波特率发生器的控制位。当该位为“0”时,选择定时器1作为串口1(UART)的波特率发生器;当该位为“1”时,选择定时器2作为串口1(UART)的波特率发生器,此时释放定时器1,它可以作为独立的定时器使用注:默认,串口1使用定时器2作为波特率发生器,不建议使用定时器1.定时器2可同时共享作为串口1、串口2、串口3和串口4的波特率发生器定时器/计数器寄存器组

--计数寄存器(TH0和TL0)计数寄存器TH0和TL0用于保存定时器/计数器0的计数初值TH0保存计数初值的高8位,TL0保存计数初值的低8位TH0和TL0分别位于SFR地址为0x8C和0x8A的位置。复位后,它们值均为“00000000”TH0寄存器TL0寄存器位索引76543210名字定时器/计数器0计数初值高8位位索引76543210名字定时器/计数器0计数初值低8位定时器/计数器寄存器组

--计数寄存器(TH1和TL1)计数寄存器TH1和TL1用于保存定时器/计数器1的计数初值TH1保存计数初值的高8位,TL1保存计数初值的低8位TH1和TL1分别位于SFR地址为0x8D和0x8B的位置。复位后,它们值均为“00000000”TH1寄存器TL1寄存器位索引76543210名字定时器/计数器1计数初值高8位位索引76543210名字定时器/计数器1计数初值低8位定时器/计数器寄存器组

--计数寄存器(T2H和T2L)计数寄存器T2H和T2L用于保存定时器/计数器2的计数初值T2H保存计数初值的高8位,T2L保存计数初值的低8位T2H和T2L分别位于SFR地址为0xD6和0xD7的位置。复位后,它们值均为“00000000”T2H寄存器T2L寄存器位索引76543210名字定时器/计数器2计数初值高8位位索引76543210名字定时器/计数器2计数初值低8位定时器/计数器寄存器组

--中断与时钟输出控制寄存器(INT_CLKO)通过INT_CLKO寄存器的T0CLKO、T1CLKO和T2CLKO位,控制T0CLKO/P3.5、T1CLKO/P3.4和T2CLKO/P1.3的时钟输出T0CLKO的输出时钟频率由定时器/计数器0控制,T1CLKO的输出时钟频率由定时器/计数器1控制,T2CLKO的输出时钟频率由定时器/计数器2控制它们需要工作在定时器的模式0(16位自动重装载模式)或者模式2(8位自动重装载模式,定时器2不支持),禁止相应的定时器中断,否则CPU将频繁的进出中断,显著降低程序的运行效率定时器/计数器寄存器组

--中断与时钟输出控制寄存器(INT_CLKO)该寄存器在SFR地址为0x8F的位置。当复位后,该寄存器的值为“x000x000”T0CLKO允许/禁止将P3.5引脚配置为定时器/计数器0的时钟输出T0CLKO。当该位为“1”时,P3.5引脚用于时钟输出T0CLKO;该位为“0”时,P3.5引脚不用于时钟输出T0CLKOT1CLKO允许/禁止将P3.4引脚配置为定时器/计数器1的时钟输出T1CLKO。当该位为“1”时,P3.4引脚用于时钟输出T1CLKO;该位为“1”时,P3.4引脚不用于时钟输出T1CLKO位索引B7B6B5B4B3B2B1B0名字—EX4EX3EX2—T2CLKOT1CLKOT0CLKO定时器/计数器寄存器组

--中断与时钟输出控制寄存器(INT_CLKO)T2CLKO允许/禁止将P1.3引脚配置为定时器/计数器2的时钟输出T2CLKO。当该位为“1”时,P3.0引脚用于时钟输出T2CLKO;该位为“1”时,P1.3引脚不用于时钟输出T2CLKO定时器/计数器寄存器组

--预分频寄存器(TM0PS)

位索引76543210名字TM0PS[7:0]定时器/计数器寄存器组

--预分频寄存器(TM1PS)

位索引76543210名字TM1PS[7:0]定时器/计数器寄存器组

--预分频寄存器(TM2PS)

位索引76543210名字TM2PS[7:0]第十章定时器与计数器原理和应用设计实例一:定时器/计数器设置和中断生成该设计将使用定时器/计数器0的工作模式0(即16位重加载模式),并在定时器/计数器0溢出时产生中断,中断的频率为1Hz,并通过驱动STC32G系列单片机硬件开发平台上的8个LED灯来验证设计的正确性设计实例一:定时器/计数器设置和中断生成

--设计实现在该设计中,使用IRC的频率为12.000MHz。由于该设计中,使用了定时器/计数器0模块内的预分频器TM0PS,而该寄存器在XSFR区域中,因此必须通过设置EAXFR为“1”,STC32G系列单片机中的处理器才能访问XSFR区域设计实例一:定时器/计数器设置和中断生成

--设计实现#include"stc32G.h"//包含头文件stc32G.h

voidTimer0_Isr()interrupt1//定义中断函数Timer0_Isr(),中断号为1{P6=~P6;//端口P6的驱动逻辑取反}voidmain() //定义主函数main{ P4=0;//端口P4所有引脚拉低到逻辑“0”(低电平) P4M0=0;//寄存器P4M0初始化为0 P4M1=0;//寄存器P4M1初始化为0,P4设置为准双向设计实例一:定时器/计数器设置和中断生成

--设计实现P6M0=0;//寄存器P6M0初始化为0 P6M1=0;//寄存器P6M1初始化为0 P6=0;//端口P4所有引脚拉低到逻辑“0”(低电平)EAXFR=1;//扩展寄存器(XFR)访问使能,EAXFR设置“1” TM0PS=0x0F; //设置定时器时钟预分频 AUXR&=0x7F; //定时器时钟12T模式 TMOD&=0xF0; //设置定时器模式TL0=0xDC; //设置定时初始值低寄存器TL0 TH0=0x0B; //设置定时初始值高寄存器TH0TF0=0; //清除TF0标志 TR0=1; //启动定时器/计数器0设计实例一:定时器/计数器设置和中断生成

--设计实现ET0=1; //使能定时器0中断 EA=1;//使能全局中断EA while(1);//无限循环}设计实例二:定时器/计数器对外部脉冲计数本节将介绍利用定时器/计数器0对外部脉冲计数的方法当每按下/释放一次STC32G系列硬件开发平台上标记为T0的按键时,就触发定时器/计数器0对外部脉冲的一次计数设计实例二:定时器/计数器对外部脉冲计数

--硬件设计原理在STC32G系列单片机硬件开发平台上提供了用于给定时器/计数器0提供外部脉冲输入的电路在该电路中,标记为SW21的外部按键通过限流电阻R7接入了STC32G12K128单片机的P3.4引脚P3.4引脚是定时器/计数器0的外部计数脉冲输入引脚标记为SW22的外部按键通过限流电阻R8接入了STC32G12K128单片机的P3.5引脚P3.5引脚是定时器/计数器1的外部计数脉冲输入引脚设计实例二:定时器/计数器对外部脉冲计数

--硬件设计原理STC32G系列单片机硬件开发平台上,按键SW21标记为T0,按键SW22标记为T1当按下按键T0时,按键将接地,呈现逻辑“0“(低电平)状态,通过电阻R7后,STC32G12K128单片机的引脚P3.4输入为逻辑”0“(低电平)当释放按键T0时,由于STC32G12K128单片机内部为所有的引脚都提供了可选的4.1kΩ电阻,因此当使能该上拉电阻时,STC32G12K128单片机的引脚P3.4输入为逻辑”1“(高电平)在STC32G12K128单片机内提供可选配的上拉电阻,将显著减少单片机外部需要使用额外上拉电阻的元件个数设计实例二:定时器/计数器对外部脉冲计数

--硬件设计原理当按下按键T1时,按键将接地,呈现逻辑“0“(低电平)状态,通过电阻R8后,STC32G12K128单片机的引脚P3.5输入为逻辑”0“(低电平)当释放按键T1时,由于STC32G12K128单片机内部为所有的引脚都提供了可选的4.1kΩ电阻,因此当使能该上拉电阻时,STC32G12K128单片机的引脚P3.5输入为逻辑”1“(高电平)设计实例二:定时器/计数器对外部脉冲计数

--使用的寄存器在该设计中,使用了P3和P6端口,该端口使用了端口模式寄存器和上拉电阻寄存器对于端口P6的有关寄存器,本书前面已经进行了详细的介绍,在此仅介绍与P3端口有关的寄存器使用的寄存器

--端口模式寄存器在STC32G系列单片机中,为P3口提供了两个端口模式寄存器PxM0和PxM1(x为对应的端口号)用于为一组端口内不同的引脚设置不同的驱动方式,包括准双向、推挽输出、高阻输入和开漏输出P3端口模式寄存器P3M0位于SFR地址为0xB2的位置。当复位后,该寄存器的内容为“00000000”位索引76543210名字P37M0P36M0P35M0P34M0P33M0P32M0P31M0P30M0使用的寄存器

--端口模式寄存器P3端口模式寄存器P6M1位于SFR地址为0xB1的位置。当复位后,该寄存器的内容为“11111100”位索引76543210名字P37M1P36M1P35M1P34M1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论