找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5423|回复: 15
打印 上一主题 下一主题
收起左侧

单片机T2CON = 0x34;代表什么?

  [复制链接]
跳转到指定楼层
楼主
这个程序什么意思?
void Timer2_Uart()
{
        T2CON = 0x34;
        RCAP2H = 0xFF;
        RCAP2L = 0xDC;
        TH2 = 0xFF;
        TL2 = 0xDC;
        TR2 = 1;      
        SCON = 0x50;
        ES = 1;  
        EA=1;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-2-23 16:42 | 只看该作者
该寄存器的8位如下:  (从高到低位)
TF2:T2溢出中断标志。TF2必须由用户程序清“0”。当T2作为串口波特率发生器时,TF2不会被置“1”。
EXF2:定时器T2外部中断标志。EXEN2为1时,当T2EX(P1.1)发生负跳变时置1中断标志DXF2,EXF2必须由用户程序清“0”。
TCLK:串行接口的发送时钟选择标志。TCLK=1时,T2工作于波特率发生器方式。
RCLK:串行接口的接收时钟选择标志位。RCLK=1时,T2工作于波特率发生器方式。
EXEN2:T2的外部中断充许标志。
C/T2:外部计数器/定时器选择位。C/T2=1时,T2为外部事件计数器,计数脉冲来自T2(P1.0);C/T2=0时,T2为定时器,振荡脉冲的十二分频信号作为计数信号。
TR2:T2计数/定时控制位。TR1为1时充许计数,为0时禁止计数。
CP/RL2:捕捉和常数自动再装入方式选择位。为1时工作于捕捉方式,为0时T2工作于常数自动再装入方式。当TCLK或RCLK为1时,CP/RL2被忽略,T2总是工作于常数自动再装入方式。

T2CON=0X34  即
TCLK  RCLK  TR2这3位为1
TCLK  RCLK为1表示T2用来做波特率发生器, TR2为1启动计数产生波特率
回复

使用道具 举报

板凳
ID:609989 发表于 2020-2-23 18:14 | 只看该作者
  T2CON = 0x34;换成2进制=0011 0100,你对照看一下T2CON这个8位寄存器,是1的即为打开当前位,是0的就是不进行操作。
回复

使用道具 举报

地板
ID:679425 发表于 2020-2-24 08:33 | 只看该作者
T2CON = 0x34;换成2进制=0011 0100,T2CON这个8位寄存器是1的即为打开当前位
回复

使用道具 举报

5#
ID:697231 发表于 2020-2-24 09:51 | 只看该作者
不知是否可以控制寄存器T2CON  T2CON(T2的控制寄存器),字节地址0C8H:  位地址   0CFH    0CEH   0CDH   0CCH   0CBH   0CAH   0C9H   0C8H  符  号   TF2     EXF2   RCLK   TCLK   EXEN2  TR2    C/T2   CP/RT2  各位的定义如下:  TF2:定时/计数器2溢出标志,T2溢出时置位,并申请中断。只能用软件清除,但T2作为波特率发生器使用的时候,(即RCLK=1或TCLK=1),T2溢出时不对TF2置位。  EXF2:当EXEN2=1时,且T2EX引脚(P1.0)出现负跳变而造成T2的捕获或重装的时候,EXF2置位并申请中断。EXF2也是只能通过软件来清除的。  RCLK:串行接收时钟标志,只能通过软件的置位或清除;用来选择T1(RCLK=0)还是T2(RCLK=1)来作为串行接收的波特率产生器  TCLK:串行发送时钟标志,只能通过软件的置位或清除;用来选择T1(TCLK=0)还是T2(TCLK=1)来作为串行发送的波特率产生器  EXEN2:T2的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止外部时钟触发T2;EXEN2=1:当T2未用作串行波特率发生器时,允许外部时钟触发T2,当T2EX引脚输入一个负跳变的时候,将引起T2的捕获或重装,并置位EXF2,申请中断。  TR2:T2的启动控制标志;TR2=0:停止T2;TR2=1:启动T2  C/T2:T2的定时方式或计数方式选择位。只能通过软件的置位或清除;C/T2=0:选择T2为定时器方式;C/T2=1:选择T2为计数器方式,下降沿触发。  CP/RT2:捕获/重装载标志,只能通过软件的置位或清除。CP/RT2=0时,选择重装载方式,这时若T2溢出(EXEN2=0时)或者T2EX引脚(P1.0)出现负跳变(EXEN2=1时),将会引起T2重装载;CP/RT2=1时,选择捕获方式,这时若T2EX引脚(P1.0)出现负跳变(EXEN2=1时),将会引起T2捕获操作。但是如果RCLK=1或TCLK=1时,CP/RT2控制位不起作用的,被强制工作于定时器溢出自动重装载模式。
回复

使用道具 举报

6#
ID:697231 发表于 2020-2-24 09:52 | 只看该作者
/*不知是否可以*/控制寄存器T2CON  T2CON(T2的控制寄存器),字节地址0C8H:  位地址   0CFH    0CEH   0CDH   0CCH   0CBH   0CAH   0C9H   0C8H  符  号   TF2     EXF2   RCLK   TCLK   EXEN2  TR2    C/T2   CP/RT2  各位的定义如下:  TF2:定时/计数器2溢出标志,T2溢出时置位,并申请中断。只能用软件清除,但T2作为波特率发生器使用的时候,(即RCLK=1或TCLK=1),T2溢出时不对TF2置位。  EXF2:当EXEN2=1时,且T2EX引脚(P1.0)出现负跳变而造成T2的捕获或重装的时候,EXF2置位并申请中断。EXF2也是只能通过软件来清除的。  RCLK:串行接收时钟标志,只能通过软件的置位或清除;用来选择T1(RCLK=0)还是T2(RCLK=1)来作为串行接收的波特率产生器  TCLK:串行发送时钟标志,只能通过软件的置位或清除;用来选择T1(TCLK=0)还是T2(TCLK=1)来作为串行发送的波特率产生器  EXEN2:T2的外部允许标志,只能通过软件的置位或清除;EXEN2=0:禁止外部时钟触发T2;EXEN2=1:当T2未用作串行波特率发生器时,允许外部时钟触发T2,当T2EX引脚输入一个负跳变的时候,将引起T2的捕获或重装,并置位EXF2,申请中断。  TR2:T2的启动控制标志;TR2=0:停止T2;TR2=1:启动T2  C/T2:T2的定时方式或计数方式选择位。只能通过软件的置位或清除;C/T2=0:选择T2为定时器方式;C/T2=1:选择T2为计数器方式,下降沿触发。  CP/RT2:捕获/重装载标志,只能通过软件的置位或清除。CP/RT2=0时,选择重装载方式,这时若T2溢出(EXEN2=0时)或者T2EX引脚(P1.0)出现负跳变(EXEN2=1时),将会引起T2重装载;CP/RT2=1时,选择捕获方式,这时若T2EX引脚(P1.0)出现负跳变(EXEN2=1时),将会引起T2捕获操作。但是如果RCLK=1或TCLK=1时,CP/RT2控制位不起作用的,被强制工作于定时器溢出自动重装载模式。
回复

使用道具 举报

7#
ID:1064915 发表于 2023-5-9 15:19 | 只看该作者

回复

使用道具 举报

8#
ID:1073299 发表于 2023-5-9 17:43 | 只看该作者
所有的IO操作,最好自己转换为二进制显示看看,这样就指导哪一位对应寄存器中的值有效,否则十六进制看不明白
回复

使用道具 举报

9#
ID:1076414 发表于 2023-5-9 19:43 | 只看该作者
设置定时器2为工作模式2,即8位自动重装载模式
回复

使用道具 举报

10#
ID:1076421 发表于 2023-5-9 20:21 | 只看该作者
这个程序的功能是设置定时器2为UART波特率发生器,用于产生UART通信所需的波特率。其中,T2CON是定时器2的控制寄存器,RCAP2H和RCAP2L是定时器2的重载值寄存器,用于设置定时器计数器的重载值,TH2和TL2则是定时器2的计数器初值寄存器,用于设置定时器计数器的初始值。TR2是定时器2的运行控制位,SCON是串口控制寄存器,用于设置串口通讯的参数。ES是串口中断使能位,EA是中断总开关。
回复

使用道具 举报

11#
ID:73833 发表于 2023-5-27 15:13 | 只看该作者
大家告你 T2CON = 0x34;是什莫,还不如你去看手册看,看T2CON这个寄存器各位的含义,清楚的很,你自己看明白了,就知道他到底组成了个啥。
回复

使用道具 举报

12#
ID:330059 发表于 2023-5-27 16:04 | 只看该作者
建议查看数据手册对应的寄存器说明,上面有详细的解释
回复

使用道具 举报

13#
ID:1080277 发表于 2023-5-27 16:28 | 只看该作者
T2CON = 0x34;换成2进制=0011 0100,你对照看一下T2CON这个8位寄存器,是1的即为打开当前位,是0的就是不进行操作。
回复

使用道具 举报

14#
ID:1080287 发表于 2023-5-27 17:14 | 只看该作者
用来实现实现单片机串口通信功能,
回复

使用道具 举报

15#
ID:1064915 发表于 2024-3-2 18:07 | 只看该作者
当TCLK=0时,定时器1作为串行口发送波特率发生器;当TCLK=1时,定时器2作为串行口发送波特率发生器。RCLK对串行口接收波特率的设置有同样的作用。
通过这两位,串行口能得到不同的接收和发送的波特率,一个通过定时器1产生,另一个通过定时器2产生。


回复

使用道具 举报

16#
ID:1110945 发表于 2024-3-2 18:49 | 只看该作者
T2CON = 0x34;

0x34的二进制是0b00110100,注意中间用的是“等号”,
对应位是“0”代表关闭此位的那个功能,对应位是“1”代表
打开此位的那个功能。
有些时候等号左边会多一个“竖线”,这时候才是“1”打开功
能而“0”不受影响。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表