stc8h的定时器2延时1s的问题 | 已解决
为啥做不到延时1s呀,我的led灯一直闪很快,代码如下:#include <STC8H.H>
void Timer2_Isr(void) interrupt 12
{
P20 = !P20;
}
void Timer2_Init(void) //1秒@24.000MHz
{
TM2PS = 0x1E; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
AUXR &= 0xFB; //定时器时钟12T模式
T2L = 0xFC; //设置定时初始值
T2H = 0x03; //设置定时初始值
AUXR |= 0x10; //定时器2开始计时
IE2 |= 0x04; //使能定时器2中断
}
void main(void)
{
P2M0 &= ~0x01;
P2M1 &= ~0x01;
Timer2_Init();
EA=1;
while(1);
}
并非所有系列都有此寄存器,详情请查看数据手册
使用STC8H8K64U测试没有问题,代码如下:
#include "stc8h.h"
#include "intrins.h"
void Timer2_Isr(void) interrupt 12
{
P34 = !P34;
P35 = !P34;
}
void Timer2_Init(void) //500毫秒@11.0592MHz 11.0592MHz 最长定时周期1517ms约1.5s
{
TM2PS = 0x54; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
AUXR |= 0x04; //定时器时钟1T模式
T2L = 0xE2; //设置定时初始值
T2H = 0x01; //设置定时初始值
AUXR |= 0x10; //定时器2开始计时
IE2 |= 0x04; //使能定时器2中断
}
void main()
{
EAXSFR(); //
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
Timer2_Init(); //初始化Timer2并启动中断
EA = 1;
while (1);
}
#include "reg51.h"
#include "intrins.h"
sfr T2L = 0xd7;
sfr T2H = 0xd6;
sfr AUXR = 0x8e;
sfr IE2 = 0xaf;
#define ET2 0x04
sfr AUXINTIF =0xef;
#define T2IF 0x01
sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xc9;
sfr P5M0 = 0xca;
sbit P10 = P1^0;
void TM2_Isr() interrupt 12
{
P10 = !P10; //测试端口
}
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
T2L = 0x66; //65536-11.0592M/12/1000
T2H = 0xfc;
AUXR = 0x10; //启动定时器
IE2 = ET2; //使能定时器中断
EA = 1;
while (1);
}
测测这个 官方程序
可能是所选芯片没有那个寄存器吧 Lkck8210 发表于 2024-5-24 23:49
昨天找到原因了,就是没有使用psw2🤣 找到原因就好,官方有例程的,参考一下例程,再对比自己写的代码进行排查 小飞侠 发表于 2024-5-25 13:46
找到原因就好,官方有例程的,参考一下例程,再对比自己写的代码进行排查 ...
还不太能理解为啥我用定时器也要使能访问xfr Lkck8210 发表于 2024-5-24 23:49
你这个图 上的内容是在手册哪个部分呀,我用的stc8h8k64u,手册里一直没找这个地方 因为使用了扩展的XFR寄存器
页:
[1]
2