特价销售FC1511 SOT23-6 SOP8
T1定时器由T1EN控制。当T1EN=0时,T1停止工作;当T1EN=1时,T1开始计数。使能T1之前,先要设定好T1的功能模式,如基本定
时器、T1中断等。T1C溢出(从0FFH到00H)时,T1IF置1以显示溢出状态并由程序清零。在不同的功能模式下,T1C不同的值对应不
同的操作,若改变T1C的值影响到操作,会导致功能出错。T1内置双重缓存器以避免此种状况的发生。在T1C计数的过程中不断的刷新
T1C,保证将较新的值存入T1R(重装缓存器)中,当T1溢出后,T1R的值由自动存入T1C。进入下一个周期后,T1进入新的工作状态。
定时器模式下,由ALOAD控制自动重装功能;PWM模式下,使能T1时,可选择打开或关闭T1的自动重装功能。如果使能T1中断功能
(T1IE=1),在T1溢出时系统执行中断服务程序,在中断时必须由程序清T1IF。
可编程控制占空比/周期的PWM可以提供不同的PWM信号。使能T1定时器且PWM0E=1&PWM0OE=1时,由PWM0输出引脚(IOB2)
输出PWM0信号;PWM1E=1&PWM1OE=1时,由PWM1输出引脚(IOB1)输出PWM1信号;PWM2E=1&PWM2OE=1时,由PWM2
输出引脚(IOB0)输出PWM2信号。PWM首先输出高电平,然后输出低电平。T1PS[2:0]、ALOAD和T1R控制PWM的周期,ALOAD和
T1R决定PWM的分辨率,PWM0R、PWM1R、PWM2R和T1R寄存器决定PWM的占空比(脉冲高电平的长度)。开启T1定时器且定时
器溢出后,T1C的初始值为0。当T1C=PWMnR时,PWM输出低电平;T1溢出时(T1C的值从0FFH到00H或T1R),整个PWM周期完
成,并进入下一个周期。T1溢出时,PWM的一个周期完成。在PWM输出的过程由程序更改PWM的占空比,则在下一个周期开始输出新
的占空比的PWM信号。
PWM周期时间= ( 256 - T1RALOAD ) x T1计数周期
PWM 高电平时间= ( PWMnR - T1RALOAD ) x T1计数周期
PWM占空比= ( PWMnR - T1RALOAD ) / ( 256 - T1RALOAD )
图2.8:PWM输出示意图
PWM的分辨率由ALOAD和T1R决定,以实现高速PWM信号。当ALOAD = 0时,PWM的分辨率为1/256;ALOAD = 1时,PWM的分辨
率为1 /(256 - T1R)。若需调制PWM的分辨率,T1R PWM的占空比控制范围必须调制到一个合适的分辨率。PWM输出过程中,T1溢
出时,T1IF有效,T1IE=1时,则使能T1中断。但强烈建议小心同时使用PWM和T1定时器功能,保证两种功能都能正常工作。
PWM输出引脚和GPIO引脚共用,PWMnE=1&PWMnOE=1时,该引脚自动输出PWM信号。如果清PWMnOE位以禁止PWM时,
更多资料联系唐生
FC1511低价销售
状态字寄存器包含运算标志,结果标志。
指令执行以后可能会影响STATUS寄存器的Z、DC 、C标志位,则不能直接对这三个标志位进行写操作,这些标志位的设置由MCU的逻
辑自动完成。同时,TO 和 PD 位也是不能通过指令直接改变写操作。因此,与STATUS作为目标寄存器的指令后,结果可能会与预期
的不同。例如:运行CLRR STATUS将把STATUS 的高三位置零和Z标志位置1 同时该寄存器的内容如下
C :进位标志
ADDAR, ADDIA
= 1,有进位
= 0,无进位
SUBAR, SUBIA
= 1,无借位
= 0,有借位
注释 : 减法是通过将2的补*二个操作数的执行。旋转(RRR,RLR)指令,该位装载高或低位源寄存器位。
DC :辅助进位/借位标志.(低四位向高四位进位/借位标志)
ADDAR, ADDIA
= 1, 底4位有进位
= 0, 底4位无进位
SUBAR, SUBIA
= 1, 底4位无借位
= 0, 底4位有借位
Z : 零标志位
= 1, 算术或逻辑运算结果为“0”时
= 0, 算术或逻辑运算结果不为“0”时
/PD :系统休眠标志位
= 1, 当系统上电时或执行“CLRWDT”指令后
= 0, 当执行“SLEEP”指令后
/TO :看门狗溢出标志位
= 1, 当系统上电时或执行“CLRWDT”或SLEEP指令后
= 0,看门狗定时器溢出
LVDF:高精度LVD标志位
= 1,VDD低于高精度LVD电压检测点
= 0,VDD**高精度LVD电压检测点
GP1 :通用寄存器读/写位
RST :定义系统复位类型位.
= 1, 唤醒SLEEP或Port B脚位变化唤醒SLEEP
= 0, 其他类型唤醒SLEEP.
锋驰FC1511批发:
PWM0E: PWM0输出控制
= 0,禁止PWM0 = 1,使能PWM0 BUZE: T1溢出输出信号控制,仅当PWM0E=0时有效
= 0,禁止,IOB2为GPIO引脚
= 1,使能,IOB2输出TC0OUT信号
ALOAD: 自动装载控制
= 0,禁止T1自动装载
= 1,使能T1自动装载
T1CKS: T1时钟选择
= 0,T1 选择Fcpu作为时钟输入
= 1,T1 选择Fhosc作为时钟输入
T1PS[2:0]: TC0分频选择位
= 000,Ft1/128
= 001,Ft1/64
= 010,Ft1/32
= 011,Ft1/16
= 100,Ft1/8
= 101,Ft1/4
= 110,Ft1/2
= 111,Ft1/1
T1EN: T1启动控制位
= 0,禁止T1定时器
= 1,开启T1定时器
2.1.16 T1C( T1计数寄存器 )
地址Bank1 名称 B7 B6 B5 B4 B3 B2 B1 B0
08h (r/w) T1C T1C7 T1C6 T1C5 T1C4 T1C3 T1C2 T1C1 T1C0
8位计数器T1C溢出时,T1IF置1并由程序清零,用来控制T1的中断间隔时间。首先须写入正确的值到T1C和
T1R寄存器,并使能T1定时器以保证**个周期正确。T1溢出后,T1R的值自动装入T1C。
T1C初始值的计算公式如下:
T1C初始值 = N - (T1中断间隔时间 * T1时钟rate )
2.1.17 T1R( T1自动装载寄存器 )
地址Bank1 名称 B7 B6 B5 B4 B3 B2 B1 B0
09h (r/w) T1R T1R7 T1R6 T1R5 T1R4 T1R3 T1R2 T1R1 T1R0
T1内置自动重装功能,T1R寄存器存储重装值。T1C溢出时,T1R的值自动装入T1C中。T1定时器工作在计
时模式时,要通过修改T1R寄存器来修改T1的间隔时间,而不是通过修改T1C寄存器。在T1定时器溢出后,
新的T1C值会被更新,T1R会将新的值装载到T1C寄存器中。但在初次设置T1M时,必须要在开启T1定时
器前把T1C以及T1R设置成相同的值。
T1为双重缓存器结构。若程序对T1R进行了修改,那么修改后的T1R值首先被暂
PWM有3路。
销售FC1511单片机,价格低,质量好!PWM+大电流