打印
[其它应用]

为何不进中断

[复制链接]
446|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2017-11-12 11:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:
/**************************************************************************************************
** 函数名称:void Time2Init(unsigned char TimeValue)
** 函数功能:定时器2
** 输入参数:unsigned char TimeValue  // 定时器值 _1ms _10ms _50ms
** 输出参数:-
** 函数返回:-
** 函数说明:-
**************************************************************************************************/
void Time2Init(unsigned int TimeValue)
{
TR2 = 0;        // 停止定时器2
RCAP2L = TimeValue & 0xff;              // 定时器值低字节
RCAP2H = (TimeValue>>8) & 0xff;         // 定时器值高字节
TL2 = TimeValue & 0xff;
TH2 = (TimeValue>>8) & 0xff;
   
T2MOD |= 0x00;       // 采用系统12分频作为定时器时钟 配置为16位重载定时器
ET2 = 1;        // 使能定时器2中断
TF2 = 0;          // 首次清除中断标志
TR2 = 1;        // 启动定时器2
}

/**************************************************************************************************
** 函数名称:void Time2Server(void)
** 函数功能:定时器2中断服务函数
** 输入参数:-
** 输出参数:-
** 函数返回:-
** 函数说明:-
**************************************************************************************************/
void Time2Server(void) interrupt 5
{

TR2 = 0;        // 停止定时器2
TF2 = 0;        // 清除中断标志位

// 用户代码  
if(T1) T1--;
if(T2) T2--;
if(T3) T3--;
K2 = ~K2;
// 用户代码
            
TR2 = 1;        // 启动定时器2
}


使能P1.7口的输出时 P1.7口有波形输出 但并不进中断。
沙发
lium| | 2017-11-12 11:55 | 只看该作者
配置无明显问题

使用特权

评论回复
板凳
guoyt| | 2017-11-12 11:58 | 只看该作者
嗯,T2CON的bit0   CP/RL2  是否为“0” 选择为16重载的定时及计数器

使用特权

评论回复
地板
hanwe| | 2017-11-12 11:59 | 只看该作者
不要忽略 总的中断开关  EA是否有置“1”

使用特权

评论回复
5
wangpe| | 2017-11-12 12:02 | 只看该作者

EA没有置1吧

使用特权

评论回复
6
langgq| | 2017-11-12 12:04 | 只看该作者
看看定时开关是否有问题呢???

使用特权

评论回复
7
wangpe| | 2017-11-12 12:05 | 只看该作者
对照看看
ET2 = 1;        // 使能定时器2中断
TF2 = 0;          // 首次清除中断标志
TR2 = 1;        // 启动定时器2
这几行代码是否有问题呢?

使用特权

评论回复
8
zhanglli|  楼主 | 2017-11-12 12:08 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1016

主题

9386

帖子

1

粉丝