第8章-STC11F定时器计数器
第8章 STC计数器和定时器原理及实现
辅助寄存器AUXR
比特 B7
B6
B5
B4
B3
B2
B1
B0
名字 T0x12 T1x12 UART_M0x6 T2R T2_C/T T2x12 EXTRAM S1ST2
计数器/定时器寄存器组
--辅助寄存器AUXR
T0x12
定时器0速度控制位。当该位为0时,定时器0是12分频;当该位为1时, 定时器0不分频。
M1和M0(TMOD.5和TMOD.4)
定时器/计数器1模式选择,如下表所示。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
M1 M0
定时器/计数器1模式选择 工作模式
0 0 16位自动重新加载模式。当溢出时,将RL_TH1和RL_TL1的值自动重 新加载到TH1和TL1中
C/T(TMOD.2)
该位用于控制定时器/计数器0的工作模式。当该位设置为1时,定时 器/计数器0工作在计数器模式下,即:对引脚T0/P3.4外部脉冲计 数;当该位设置为0时,定时器/计数器0工作在定时器模式,即:对 内部时钟进行计数。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
该位用于控制定时器/计数器1。当该位为1时,只有在INT1引脚为高, 并且TCON寄存器的TR1位置1时,才能打开定时器/计数器1。
计数器/定时器寄存器组
--定时器/计数器工作模式寄存器TMOD
C/T(TMOD.6)
该位用于控制定时器/计数器1的工作模式。当该位设置为1时,定时器/ 计数器1工作在计数器模式下,即:对引脚T1/P3.5外部脉冲计数;当 该位设置为0时,定时器/计数器1工作在定时器模式,即:对内部时钟 进行计数。
《定时计数器》PPT课件 (2)
2.时间常数初值的计算
定时/计数器只要预设一个时间常数初值,就可以完成不
超过其计数范围的任意大小的计数。算法如下:
定时时间常数初值X:
方式0
X=8192-t(fosc/12)
方式1
X=65536-t(fosc/12)
方式2、方式3 X=256-t(fosc/12)
TH0此时只能用作内部定时功能,它借用了定时/计数器T1的控 制位TR1和T1的中断标志位TF1,其启动和停止只受TR1控制。
图4-14 定时/计数器T0方式3的逻辑结构示意图
定时器T1无工作方式3,当定时器T0工作在方式3 时,定时器T1可设置为方式0、方式1和方式2。
1.定时/计数器的定时/计数范围
;自动申请中断 SETB TR0 ;启动T0波特率发生器 3.总结:对计数过程是否结束有查询和中断两种 方法,要合理选择,并在程序设计中正确体现。
1. 定时/计数器用于外部脉冲宽度的测量 (1)测量原理
可以利用定时/计数器方式寄存器TMOD中的门控 位GATE与 引脚配合使用,控制定时/计数器的启 动与停止: ➢ 当GATE=1时,要求TR1=l,且 为高电平, 才能启动定时器T1计数工作;如果 出现低电平,则 T1停止计数; ➢ 当GATE=0时,只要TR1=1就可以启动定时器, 而与 的输入状态无关。
定时器初值的设置
在主频为12MHz的情况下,每个时钟脉冲是1微秒,则 计满65536个脉冲需65.536毫秒,如要定时10毫秒则存入初 值55536,(10毫秒是10000微秒,需计数10000个脉冲)。 可见,
定时器的定时时间长短与系统时钟和定时器初 值有关。
增强型8051单片机的定时计数器
#define uchar unsigned char
#define uint unsigned int
uchar LED=0xfe;
4.1 STC11F08XE单片机定时/计数器的定时应用
/*---------------------利用T1实现定时的子函数------------------*/
式0、方式1,若用于循环定时时,每次计满溢出,寄存器状态全部清零,第二次 计数需要重新装入计数初值。这样不仅编程麻烦,而且影响定时时间的精度。而 方式2具有自动恢复初值功能,即初值的自动重装功能,避免了上述的缺陷,适 合用作较精确的定时。
四.方式3
方式3的电路框图如图7.6所示,定 时器T0被分解成两个独立的8位定时 /计数器TL0和TH0。方式3时,定时 /计数器1仍可设置为方式0、方式1 或方式2。
ACALL
DELAY ;利用软件与定时器,实现1s定时
RL
A
; 改变信号灯显示状态,左移
DJNZ R2,Left_Shift ;判断左移流程是否结束,若结束,转入右移控制
MOV A,#7FH ;设置信号灯的显示(右移)的起始状态值,可省略
MOV
hift:
LED=_crol_(LED,1); //循环左移一位 } else if(t<15) {
LED=_cror_(LED,1); //循环右移一位 } else {t=0;} }
4.1 STC11F08XE单片机定时/计数器的定时应用
/*--------------------T1中断服务子函数------------------*/
uchar i=0;
uchar t=0;
4.1 STC11F08XE单片机定时/计数器的定时应用
stc11f04e原理
stc11f04e原理一、概述本文将介绍s tc11f04e芯片的原理,包括其基本概念、结构和工作原理。
st c11f04e是一款单片机芯片,广泛应用于各种电子设备和嵌入式系统中。
二、芯片结构s t c11f04e芯片采用高性能的8位单片机结构,集成了各种外设和功能模块,包括中央处理器、存储器、输入/输出接口、定时器、串口通信等。
它的结构紧凑,功耗低,适合在资源有限的环境中使用。
三、工作原理s t c11f04e芯片的工作原理如下:1.中央处理器s t c11f04e芯片的中央处理器采用8位的哈佛架构,具有高性能和低功耗的特点。
它可以执行各种指令,并控制其他模块的工作。
2.存储器s t c11f04e芯片内置的存储器包括F las h存储器和RA M存储器。
其中,Fl as h存储器用于存储程序和数据,而R AM存储器用于临时数据存储。
3.输入/输出接口s t c11f04e芯片提供了多个输入/输出引脚,用于与外部设备进行数据交换。
它支持数字输入输出和模拟输入输出,并能够通过中断和轮询方式进行数据传输。
4.定时器s t c11f04e芯片内置了多个定时器,用于测量时间和控制时序。
它可以实现定时中断、定时计数和PW M输出等功能。
5.串口通信s t c11f04e芯片支持异步串行通信,具有多种通信方式和协议。
它可以与其他设备进行数据交换,实现远程监控、数据传输等功能。
四、应用领域s t c11f04e芯片由于其低成本、低功耗和高性能的特点,在各种嵌入式系统中得到广泛应用。
它可以用于家电控制、电子仪器、工业自动化、智能家居等领域。
五、总结本文对s tc11f04e芯片的原理进行了简要介绍,包括其基本概念、结构和工作原理。
s tc11f04e芯片作为一款高性能的8位单片机,具有广泛的应用前景。
希望本文能对读者了解st c11f04e芯片有所帮助。
以上就是关于st c11f04e原理的文档内容,介绍了该芯片的概述、结构、工作原理、应用领域等方面的内容。
定时器计数器
0
0 计数器0 1 计数0器锁存0操作 方式4
0
1 计数器1 1 只读0写低位1字节 方式5
1
0 计数器2 只读写高位字节
1
1 非法
先读写低位字节 后读写高位字节
第一章 概述
例:设8253的端口地址是8000h-8003h,计数器1工作在方式 0,按二进制计数,计数初值为4。写出初始化程序。
1.控制字为01010000B=50H。
第一章 概述
(2)定时原理 ☆定时器脉冲来源:系统时钟振荡器。 ☆定时时间:定时器对内部机器周期计数(1个机器周期
等于12个振荡周期,即计数频率为晶振频率的1/12)。
若 MCS-51主频为12MHz,机器周期为1μs,即12MHz晶振 时,每1μs定时器完成加1操作。
定时时间 t =计数值N x 计数脉冲周期T
8.1 概述
实现定时常用的三种方法:
软件定时 不可编程的硬件定时 可编程芯片定时
第一章 概述
1. 软件定时
执行指令所花费的时间来构成一定的时间间隔, 从而达到定时的目的。
例如:
MOV R0,50H
DELAY:NOP
DJMZ R0, DELAY
优点:不需要专门的硬件设备。 缺点:浪费了宝贵的CPU资源,效率低。
OUT:输出引脚,当计数减到0时, 该引脚有输出。
第一章 概述
3. 8253的控制字
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
00 01 10
11
0 二进制
1 BCD 0 0 0 方式0
0 0 1 方式1
× 1 0 方式2
× 1 1 方式3
第11章 STC计数器和定时器原理及实现(1)
计数器/定时器模块
--概述
定时器/计数器T0和T1
通过特殊功能寄存器TMOD相对应的控制位C/T,确定T0/T1工作 在定时器还是计数器模式。
定时器/计数器T2
通过特殊功能寄存器AUXR中相对应的控制位T2_C/T,确定T2 工作在定时器还是计数器模式。
计数器/定时器模块
--概述
定时器/计数器T3
功能 不启动定时器
启动定时器 不启动定时器
启动定时器 不启动定时器 不启动定时器 不启动定时器
启动定时器
计数器/定时器工作模式原理和实现
--定时器/计数器0工作模式
AUXR.7/T0x12比特位
当该位为0时,通过开关将SYSclk/12后得到的时钟接入到定时器/计数器0 中;当该位为1时,通过开关将SYSclk直接接入到定时器/计数器0中。
区别在于计数脉冲来源不同:
如果计数脉冲来自单片机内的系统时钟,则为定时方式,定时器/计 数器每12个时钟或者1个时钟就得到一个计数脉冲,计数值加1。
如果计数脉冲来自单片机外部引脚,则为计数方式,当每接收到一 个外部的脉冲时,计数值加1。
计数器/定时器模块
--概述
定时器/计数器0有4种工作模式(不要死背,从结构分析)
定时器/计数器2工作模式
定时器/计数器2只有16位自动重加载模式
定时器/计数器3工作模式
定时器/计数器3只有16位自动重加载模式
计数器/定时器工作模式原理和实现
--定时器/计数器4工作模式
定时器/计数器4只有16位自动重加载模式
通过特殊功能寄存器T4T3M中相对应的控制位T3_C/T,确定 T3工作在定时器/计数器模式。
定时器/计数器T4
通过特殊功能寄存器T4T3M中相对应的控制位T4_C/T,确定 T4工作在定时器/计数器模式。
plc定时器与计数器
(2)计数值
计数值的范围为0~999,如下图所示,计数器值有两种存储格 式:
一种是BCD码格式,则该字的0~11位是计数值的BCD码,用
格式 15
87
0
0 0 0 10 0 1 0 0 1 1 1
C#127表示BCD码127;
未用
1
2
7
另一种是二进制格式,只占用计数器字的0~9位,。
机M2起 动;按下停止按钮,M2立即停止,延时10s后,
M1停机。 起动按钮:I0.1; 停止按钮:I0.2 电动机M1:Q0.0; 电动机M2: Q0.1
例4:定时器扩展,在S7-300中,单个定时器的最大计时范围 是9990s
或2H-46M-30s,如果超过这个范围,可以采用两个(或多个)
第42页/共43页
= 输出地址 //输出地址 为1状态
第32页/共43页
STL等效程序
3. S_CU(加计数器)块图指令
第33页/共43页
4. S_CD(减计数器)块图指令
第34页/共43页
5. 计数器的线圈指令 除了前面介绍的块图形式的计数器指令以外,S7-300系统
还为用 户准备了LAD环境下的线圈形式的计数器。这些指令有计数器
L(装入指令):把预置值装入累加器1 SP(为脉冲定时器指令):启动定时器 R:复位Tn0 L Tn0:把Tn0的十六进制时间当前值装入累加器1 T 时间字单元1:把累加器1的内容传送到时间字单元1 LC Tn0:把Tn0的BCD时间当前值装入累加器1 T 时间字单元2:把累加器1的内容传送到时间字单元2 A Tn0:检查Tn0的信号状态 = 输出地址: Tn0的定时器位为1时,输出地址有输出。
圈表示 的形式,指令格式、示例及时序波形图见下图所示。各输入端及输
第 章 STC C 单片机定时计数器
6.2.1 定时器/计数器0和1的相关寄存器 • STC89C52单片机与定时/计数器0和1的
相关寄存器见表6-2所示.
表6-2 定时器/计数器的0和1相关寄存器
控 制 T1
控 制 T0
89H GATE C/T M 1 M 0 GATE C/T M 1 M 0
和T0 类同
M1M0:方式选择位 C/T : 功能选择位 GATE: 门控位
一个机器周期
12或6 6MHz
12或6 6 106
s
2s或1s (1)
注意:对于传统51系列单片机,式(1)中分子取值为12, 而对于STC89C52单片机,式(1)中分子取值是根据计数 脉冲倍速设置来定(参见教材图4-12),若单片机选12T, 则式(1)分子为12,若选6T,则式(1)分子为6。若没 有特别提出,书中STC89C52单片机都选12T模式。
MOV TL0,#38H
X=56=38H
MOV TH0,#38H
SETB TR0
16
6.2.2 定时/计数器0和1的四种工作方式
由上节可知,通过对TMOD中的M1M0的设 置,可以选择四种工作方式。也就是每个定时 器可构成4种电路结构模式。
在模式0、1和2,T0和T1的工作方式相同, 在模式3,两个定时器的方式不同。下面以T1 为例,分述各种工作方式的特点和用法。
5
当定时器/计数器工作在定时模式时,可在烧录用户 程序时在STC -ISP编程器中设置如图4-12是系统时钟/12 还是系统时钟/6后让T0和T1进行计数。当定时/计数器工 作在计数模式时,对外部计数脉冲计数不分频。
图4-12 计数脉冲倍速设置
6
6
结论: 单片机中的定时器和计数器是一个东
stc11f系列单片机使用手册
STC11F系列单片机使用手册一、概述STC11F系列单片机是宏晶科技推出的一款高性能单片机,具有低功耗、高性能和价格低廉等优点。
该系列单片机广泛应用于各种嵌入式系统开发中。
本使用手册旨在帮助用户了解STC11F系列单片机的特性和应用,以便更好地进行开发。
二、硬件连接1. 引脚定义:STC11F系列单片机共有40个引脚,其中电源、地、IO口、定时器、外部中断等关键部分均有定义。
用户需要根据实际应用,正确连接引脚。
2. 外部晶振:单片机正常工作需要外部晶振,本系列单片机的晶振频率一般为12MHz。
用户需要根据实际需求选择合适的晶振类型和频率。
3. 电源电压:STC11F系列单片机正常工作所需的电源电压为3.3V或5V。
用户需要根据单片机型号和实际电路设计选择合适的电源电压。
三、软件开发1. IDE安装:本系列单片机使用ST公司提供的开发环境Keil uVision,用户需要下载并安装该开发环境。
2. 工程创建:在Keil uVision中创建一个新工程,并将STC11F系列单片机芯片驱动程序导入工程中。
3. 编程语言:STC11F系列单片机支持C/C++编程语言,用户可根据实际需求选择合适的编程语言进行开发。
4. 调试与仿真:Keil uVision提供了强大的调试和仿真功能,用户可通过仿真界面查看程序运行情况,及时发现并解决问题。
四、应用案例1. 串口通信:STC11F系列单片机支持串口通信,可实现单片机与计算机或其他单片机的通信。
本节将介绍串口通信的基本原理和实现方法。
2. LED控制:STC11F系列单片机IO口支持直接驱动LED,本节将介绍如何通过控制IO口来控制LED的亮灭。
3. 定时器应用:STC11F系列单片机内置高性能定时器,可实现定时、计数等功能。
本节将介绍如何使用定时器进行定时控制。
4. 传感器应用:STC11F系列单片机可接入多种传感器,如温度传感器、压力传感器、光敏传感器等。
定时器和计数器PPT课件
①1ms积算定时器(T246~T249)共4点,是对1ms时钟脉冲进行累积计数的,定时的时间范围为
0.001~32.767s。
②100ms积算定时器(T250~T255)共6点,是对100ms时钟脉冲进行累积计数的定时的时间范围
为0.1~3 276.7s。
知识清单
以下举例说明积算定时器的工作原理。如图8-3-2所示,当X0接通时,T253当前值计数器开
ON时C0复位。X11是计数输入,每当X11接通一次计数器当前值增加1(注意X10断开,计数器不
会复位)。当计数器计数当前值为设定值10时,计数器C0的输出触点动作,Y0被接通。此后既
使输入X11再接通,计数器的当前值也保持不变。当复位输入X10接通时,执行RST复位指令,计
数器复位,输出触点也复位,Y0被断开。
276.7s。
②10ms通用定时器(T200~T245)共46点。 767,所以其定时范围为0.01~327.67s。
知识清单
下面举例说明通用定时器的工作原理。如图8-3-1所示,当输入X0接通时,定时器T200从0
开始对10ms时钟脉冲进行累积计数,当计数值与设定值K123相等时,定时器的常开接通Y0,经
知识清单
(1)通用定时器
通用定时器的特点是不具备断电的保持功能,即当输入电路断开或停电时定时器复位。通
用定时器有100ms和10ms通用定时器两种。
①100ms通用定时器(T0~T199)共200点,其中T192~T199为子程序和中断服务程序专用
定时器。这类定时器是对100ms时钟累积计数,设定值为1~32 767,所以其定时范围为0.1~3
两个0.1s定时器T14和T15串级使用。当T14开始定时后,经1 800s延时,T14的常开触点闭合,
stc11f01引脚功能说明
stc11f01引脚功能说明摘要:一、引言二、STC11F01单片机简介三、STC11F01引脚功能说明1.电源引脚2.外部存储器接口引脚3.串行通信接口引脚4.并行通信接口引脚5.定时器/计数器引脚6.中断控制器引脚7.其他功能引脚四、结论正文:【引言】STC11F01是一款高性能、低功耗的单片机,广泛应用于各种嵌入式系统中。
本文将对STC11F01单片机的引脚功能进行详细说明,以帮助开发者更好地理解和使用这款单片机。
【STC11F01单片机简介】STC11F01是一款基于ARM Cortex-M0内核的8位单片机,最高工作频率为48MHz,具有16KB的程序存储空间和2KB的数据存储空间。
此外,该单片机还集成了丰富的外设,如串行通信接口、并行通信接口、定时器/计数器等,以满足各种应用场景的需求。
【STC11F01引脚功能说明】1.电源引脚:STC11F01单片机需要两个电源引脚,即VCC(正电源)和GND(地)。
VCC引脚连接到+5V电源,GND引脚连接到系统地。
2.外部存储器接口引脚:STC11F01单片机提供了外部存储器接口,可以通过这些引脚连接到外部扩展闪存或RAM。
3.串行通信接口引脚:STC11F01单片机集成了两个串行通信接口(UART),可通过相应的引脚配置为串口通信模式。
例如,PA0和PA1可以配置为UART0的发送和接收引脚,PB0和PB1可以配置为UART1的发送和接收引脚。
4.并行通信接口引脚:STC11F01单片机提供了并行通信接口,可以通过这些引脚连接到外部设备,如LCD显示器、键盘等。
例如,PA0-PA7、PB0-PB7等引脚可以配置为并行通信接口。
5.定时器/计数器引脚:STC11F01单片机集成了多个定时器/计数器,可以通过相应的引脚进行配置和控制。
例如,TM0、TM1、TM2等定时器可以通过PA8、PA9、PA10引脚进行配置;TC0、TC1等计数器可以通过PB8、PB9引脚进行配置。
定时计数器-PPT精品
★用于定时工作方式时,定时时间为: t=(216一T0初值) ×时钟周期×12
★用于计数工作方式时,计数长度为216= 65536(个外部脉冲)
3.模式2
感谢您的关注
1. 工作模式寄存器TMOD(89H)
TMOD用于控制T0和T1的操作模式。其各 位的定义格式如下:
TMOD
定时器T1
D7 D6 D5 D4
定时器T0
D3 D2 D1 D0
(89H) GATE C/T M1 M0 GATE C/T M1 M0
1.1 M1 M0 工作模式选择位
共有四种工作模式
M1 M0 工作方式 功能描述
程序如下:
MOV MOV MOV JB SETB JNB JB CLR
TMOD,#90H TH1, #00H TL1, #00H P3.3, $ TR1 P3.3, $
P3.3, $ TR1
;定时器T1模式1、定时 ;设定初值
; ;等待INT1变低 ;启动T1 ; 等待INT1变高 ;开始计数,等待变低 ; 停止计数
1.模式0
★模式0是选择定时器(T0或T1)高8位加低5 位的—个13位定时器/计数器。
★在这种模式下,16寄存器(TH0和TL0)只 用13位,其中TL0的高3位末用,其余位 占整个13位的低5位,TH0占高8位。
★当TL0的低5位溢出时向TH0进位而TH0 溢出时向中断标志位TF0进位(硬件置位 TF0),并申请中断。
2. 控制寄存器TCON(88H)
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
stc11f01引脚功能说明
stc11f01引脚功能说明stc11f01是一款单片机芯片,它具有多个引脚,每个引脚都有不同的功能。
本文将针对stc11f01的引脚功能进行详细说明,以便读者更好地了解和使用该芯片。
1. P0口:P0.0~P0.7共8个引脚。
这些引脚可以用作通用I/O口,用于连接其他外部设备或传感器。
在初始化时,P0口的默认状态为上拉输入,当需要使用时,可以将其配置为输出或输入。
2. P1口:P1.0~P1.7共8个引脚。
这些引脚也可以用作通用I/O 口,与P0口类似,可以连接其他外部设备或传感器。
P1口的默认状态也是上拉输入,需要时可配置为输出或输入。
3. P2口:P2.0~P2.7共8个引脚。
与P0口和P1口类似,P2口也可以用作通用I/O口,连接外部设备或传感器。
不同的是,P2口还具有特殊功能,如中断、定时器/计数器等。
在使用这些特殊功能时,需要对P2口进行相应的配置。
4. P3口:P3.0~P3.7共8个引脚。
P3口同样可用作通用I/O口,连接其他外部设备或传感器。
与P2口类似,P3口也具有特殊功能,如中断、定时器/计数器等。
在使用这些特殊功能时,需要对P3口进行相应的配置。
5. RST引脚:该引脚用于复位单片机。
当RST引脚被拉低时,单片机将被复位。
在初始化时,RST引脚的默认状态为上拉输入,需要使用时可配置为输出。
6. VCC引脚:该引脚用于供电,连接正电源。
7. GND引脚:该引脚用于接地,连接负电源。
8. XTAL1和XTAL2引脚:这两个引脚用于连接外部晶体振荡器,提供时钟信号给单片机。
通过适当的配置,可以选择使用外部晶体振荡器或内部振荡器作为时钟源。
9. ALE引脚:ALE引脚是地址锁存允许引脚,用于控制地址锁存器的使能。
当ALE引脚为高电平时,地址锁存器有效,当ALE引脚为低电平时,地址锁存器无效。
10. PSEN引脚:PSEN引脚是程序存储器使能引脚,用于控制程序存储器的使能。
当PSEN引脚为高电平时,程序存储器有效,当PSEN引脚为低电平时,程序存储器无效。
定时计数器
长定时举例(设晶振=6MHz,要定时1秒):
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP TINT ;见下一页
MAIN: MOV TMOD,#10H ;选T1方式1
MOV TH1, #3CH ;赋初值3CB0H=15536(只能定
100mS)
MOV TL1,#0B0H
MOV 30H,#10 ;软件计数单元30H 初值=10
《单片微机原理及应用》教学课件
由分析得知:T0选择方式1,初值=3CB0H
定时器方式
GATE C / T M1 M0 GATE C / T M1 M0
寄存器TMOD
XXXX0001
初始化:MOV TMOD,#01H ;选 T0 方式 1
MOV TH0, #3CH ;赋初值高8位
MOV TL0, #0B0H ;赋初值低8位
永远不用
工作方式3(T0拆为双8位) 几乎无用
定时/计数器T1(或T0)方式0逻辑图
11
2.工作方式1:——16位的定时/计数器
振荡器
Tx端 TRx位 GATE位
INTx端
12 C/T=0
C/T=1
&
≥1 与门 或门
TLx THx (8位) (8位)
控制 =1 开关接通
即P3.2或P3.3
申请 TFx 中断
《单片微机原理及应用》教学课件
工作方式1 的编程要点:
粗略地说:Tmin 2S 16位定时器最大数值为:
216=65536=0FFFFH+1 故选择方式 1 工作可以得到:
Tmax = 655362 = 131072S= 131.072mS
《单片微机原理及应用》教学课件
第9章-STC11F单片机的串行口
(b)半双工
图7-4 点—点串行通讯方式
(c)全双工
7.1.3 串行通信的几个问题
2.串行通信的波特率
波特率是指单位时间内传送的二进制位数,单位是波特(或位/秒 或bit/s 或bps)。即:1波特=1位/秒=1bit/s=1bps
国际标准波特率系列:110、300、600、1200、1800、2400、4800、9600和
19200 bps。
波特率与字符的传送速率不同:
波特率是每秒钟传送的二进制位数,传输率是每秒钟传送的字符个数,二 者之间存在如下关系:
波特率=位/字符×字符/秒=位/秒
7.1.3 串行通信的几个问题
3.串行通信的差错控制
串行通信中,为高效而无差错的传送数据,对数据就要进行校验。其中奇 偶校验法是串行通信系统中常采用的。
7.2.2 串行接口的专用寄存器
2. 串行口控制寄存器SCON
●RI:接收中断标志位。一帧信息接收结束时,由硬件置RI=1,向CPU 请求中断。CPU 响应中断后,必须由软件使RI清零。RI 也可供 查询使用。 ● TI:发送中断标志位。发送完一帧信息,硬件置TI=1,向CPU 请求中 断。响应中断后,必须由软件使TI 清零。 TI也可供查询使用。 注意:中断标志位TI 和RI 均不能自动复位,而必须在中断服务程序中, 当判别了是哪一种中断后才能用指令使其复位。复位中断标志的 目的是撤销中断请求,否则又会申请另一次中断。
4.串行通信的标准
通信设备之间规定某些物理层协议,解决以下一些问题: ⑴ 机械特性 插头和插座的尺寸、插脚数、引脚分配、插脚和插孔尺寸等 的规定。 ⑵ 电气信号特性 信号的逻辑电平、最高数据率、发送和接收电路的特性 等的规定。 ⑶ 信号的功能描述 信号的名称、方向的相互关系的说明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)确定TMOD内容:T0工作于定时器方式0,M1M0=00H、C/-T=0、GATE=0;定时 器T1不用,取为全0,于是TMOD = 00000000B = 00H。
7.4 定时器/计数器的应用举例
3) 程序设计(查询方式)
ORG 0000H AJMP MIAIN MAIN: ORG 0030H ;主程序 MOV TMOD,#00H MOV TH0,#0E0H ;E018H ;1mS初值 MOV TL0,#18H SETB TR0 ;启动T0 Check_TF0: JBC TF0 Time_overflow ;查询T0溢出标志 SJMP Check_TF0 Time_overflow: CPL P1.0 ;输出方波 ;重装计数初值 MOV TH0,#0E0H MOV TL0,#18H
方式0(13位方式):C =(64H)求补=0000001100100+1=1F9CH 方式1(16位方式):C =(64H)求补=0000000001100100+1=FF9CH
方式2(8位方式) : C =(64H)求补 = 01100100+1 = 9CH 注意:定时器/计数器在工作方式0时的初值装入方法!(低5位,高8位)
如果分频设定T0x12=0, 则12分频, Tcy=12/fosc;
分频设定T0x12=1, 则不分频, Tcy=1/fosc。
7.3 定时器/计数器的工作方式
3.方式2
当M1M0=10 时,方式2为自动重装载的8位定时器/计数器模式。
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1 “1”闭合
7.3 定时器/计数器的工作方式
4. 方式3
当M1M0=11 时,定时器/计数器0 设定为工作方式3。将T0分成为两个独立的8位 计数器TL0和TH0 。方式3 只适用于定时器T0,当定时器T1 处于方式3 时,相当于 TR1=0,T1 将停止工作。
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1
M1 0 0 1 M0 0 1 0 工作方式 0 1 2 方式说明 13位定时/计数器 16位定时/计数器 可自动重装入的8位定时/计数器 T0分为2个8位定时器,T1无此方式
1
1
3
注意 :TMOD 不能位寻址!
7.2 定时器/计数器的控制
2. 定时器/计数器控制寄存器TCON
B7 TF1 B6 TR1 B5 TF0 B4 TR0 B3 IE1 B2 IT1
f0sc
S2 TL0 低 5位 “1”闭合 & TH0 8位 TF0
S1 T0引脚 TR0 1 ≥1
中断 请求
断引脚信号引脚的高电平启动计数,外 GATE 中断引脚信号引脚的低电平停止计数。 INT0 这种方式常用来测量外中断引脚上正脉 冲的宽度。
图7.3 定时器/计数器0工作方 式0的逻辑结构图
●定时模式时,定时值 T=(213-X) Tcy
1ms产生一次中断,在中断服务程序中将输出信号取反即可。
解:1)计算计数初值:要定时1ms,用方式0(13位定时器)就可实现。
由于晶振为12MHz,所以机器周期Tcy为1s。 所以:X=t/ Tcy =1×10
-3
/1×10
-6
=1000=3E8H
计数常数为:C=(3E8H)补= 0001111101000 +1= 1110000011000B=1C18H 初值=1110,0000,XXX1,1000B =E018H
解: C =(0003H)补 =(0000,0000,0000,0011B)补=1111,1111,1111,1101B=FFFDH
0000001100 100B
7.3 定时器/计数器的工作方式
又例: T0运行于定时器状态,时钟振荡周期为12MHz,要求定时 100µs。求不同工 作方式时的定时初值。(设T0x12=0) 解: 因为机器周期Tcy =(T0x12)/ 12MHZ = 1µs 所以要计数的机器周期个数为100,即64H。 ;(T0x12)是分频值1、12
因为,计数器溢出的含义是指加满到计数器的模值2n(n位计数位数),即 X + C = 模=2n 所以, C = 2n–X =2n +(–X)=(X)补 可见,计数初值的大小等于需要计数的个数X求补运算µ s,则计数脉冲个数为X=t/Tcy,(Tcy为
考虑分频系数后的时钟周期),同理可知,定时初值为 (t/Tcy )求补。 例: T0运行于计数器状态,工作于方式1(16位方式),要求外部引脚出现3个脉 冲后,T0计满溢出而申请中断,试求计数初值C。
计数模式时,计数值为N=213-X 初值还可以采用计数个数直接取补法获得 。
● 注:STC15系列改进为16位 重装常数方式
7.3 定时器/计数器的工作方式
2.方式1
当 M1M0=01 时方式, 1为 16位定时器 /计数器模式,由 TL0+TH0,其它控 制逻辑与方式0相同 。 (上图TL0改8位全用)
7.2 定时器/计数器的控制
3. 辅助寄存器AUXR (8EH单元,STC11F增加)
B7 T0x12 B6 T1x12 B5 B4 B3 -B2 B1 B0
UART_MOx6 BRTR
BRTx12 XRAM S1BRS
设置T1分频系数:0--foscd的12分频 1--不分频 设置T0分频系数:0--foscd的12分频 1--不分频
T1引脚 T0引脚
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
T0x12
TF1
TR1
TF0
TR0
C/T
C/T
M1
M0
M1
T1方式
T0方式
M0
TCON
TMOD
AUXR
T1x12
GATE
GATE
7.2 定时器/计数器的控制
1 . 工作方式寄存器TMOD (89H) B7 GATE
B6
C/T
B5
M1 控制T1
7.4 定时器/计数器的应用举例
课后作业,准备下节课堂调试要求
在例题7.1基础上,晶振24MHz, 修改程序,调试到LED在0.3~0.6秒之间频率 闪烁。可通过查询方式和中断方式分别实现。
下一节课先讲例题7.2、7.3, 然后调试示例5 和示例6
7.4 定时器/计数器的应用举例
对定时器/计数器初始化编程一般包括以下5个步骤: ◆对TMOD赋值,以确定工作方式; ◆对AUXR赋值,以确定分频系数; ◆计算定时初值,并写入寄存器TH0、TL0或TH1、TL1中。 ◆置位EA、置位ETX,设置IP,允许中断及确定优先级(需要时)。 ◆置位TRX启动定时器/计数器。
7.4 定时器/计数器的应用举例
例7.1
若STC11F单片机的晶振频率为12MHz,要求利用T0方式0,定时分频系数 12 ,P1.0引脚输出周期为2ms的方波(课本用T1方式1,10ms)。
思路:若要产生周期为2ms的方波,只要每1ms将信号的幅值由0变到1或由1变到0即
可,可采用取反指令CPL来实现。为了提高CPU的效率,可采用定时方式0中断,每
◆T0和T1,可由程序选择作为定时器或作为计数器使用,定时时间或计数值也可程
序设定。定时频率是振荡频率的1/12,计数是负跳变时加1。 ◆ 定时器/计数器可用程序选择不同的工作方式,T0具有4种方式,T1具有3种方式。 ◆任一定时器/计数器在定时时间到或计数值到时,可由程序安排产生中断请求信号
或不产生中断请求信号。
RETI
END
;中断返回
7.4 定时器/计数器的应用举例
课堂调试示例工程5_定时器控制P0口输出
7.4 定时器/计数器的应用举例
第7章 STC11F单片机的定时器/计数器
7.1 单片机定时器/计数器结构与原理 7.2 单片机定时器/计数器的控制 7.3 单片机定时器/计数器的工作方式 7.4 单片机定时器/计数器的应用举例 7.5 单片机定时器/计数器的可编程 时钟输出功能
7.1 定时器/计数器的结构与原理
◆ 两个16位加1计数器,THx+TLx成。TMOD工作方式寄存器;TCON控制寄存器, 控制Tx的启、停及设置溢出标志;AUXR辅助寄存器设定内部计数脉冲的分频系数。
7.3 定时器/计数器的工作方式
定时器/计数器T0有4种工作方式,T1没有工作方式3。 1. 方式0
当M1M0=00 时,方式0为13位定时器/计数器模式,由TL0的低5位+TH0的8位组成。
÷ 12 T0X12
S3 不分频 0 1 C/T=0 C/T=1
●门控位GATE具有特殊的作用:
当GATE=0时,此时仅由TR0=1控 制与门的开启,计数开始; 当 GATE=1 时,当 TR0=1 时,外中
SJMP Check_TF0
END
7.4 定时器/计数器的应用举例
4) 程序设计(中断方式)
ORG 0000H AJMP MIAIN ORG 000BH ;T0中断服务程序入口 LJMP Time0_ISR ORG 0030H ;主程序 MAIN: MOV TMOD,#00H MOV TH0,#0E0H ;E018H ;1mS初值 MOV TL0,#18H SETB EA ;开全局中断 SETB ET0 ;允许T0中断 SETB TR0 ;启动T0 SJMP $ ;暂停,等待中断 Time0_ISR :CPL P1.0 ;输出方波 ;重装计数初值 MOV TH0,#0E0H MOV TL0,#18H
÷ 12 f0sc
不分频 S3
T0X12
0 1 C/T=0 C/T=1
S2 TL0 8位 “1”闭合 & TH0 8位 TF0