总觉得太菜了,现在连个STH8H2K17U的T11都用不了 | 已解决
据STC8H手册介绍,STH8H2K17U有个可以进行8位预分频的T11.今天对着手册对其相关的寄存器进行配置,让T11产生1秒中断去控制接在P37的LED。
结果是没有效果,不知道又又又在哪里出错了。
这么简单的东西还用不了,总觉得对新事物老是很难接受,太菜了。{:cry:}
代码如下:
main.c
#include "stc8h.h"
#define MAIN_Fosc 24000000L //定义主时钟
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned int ushort;
typedef unsigned long ulong;
void Timer11_Init(void); //1秒@24MHz
void delay_ms(u8 ms);
void main()
{
P3M0 = 0x00;
P3M1 = 0x00;
Timer11_Init();
while (1)
{
delay_ms(1);
}
}
void delay_ms(u8 ms)
{
u16 i;
do{
i = MAIN_Fosc / 10000;
while(--i); //10T per loop
}while(--ms);
}
void Timer11_Init(void) //1秒@24MHz
{
T11CR=0x02;//1000 0010 T11作定时器,12T 模式,用系统时钟SYSclk
T11PS=199;//总分频12*200,1秒计数为10000
T11H=(65535-10000)>>8;
T11L=65535-10000;
T11CR |=0x80; //开始计数
EA=1;
}
void Timer11_Isr(void) interrupt 13
{
P37=!P37;
}
isr.asm
CSEGAT 021BH;原T11中断号
JMP 006BH;跳转到13号中断入口
END
有完整T11的测试程序供下载
https://www.stcaimcu.com/forum.p ... ptid=4707&pid=51001
神农鼎 发表于 2024-2-6 11:30
有完整T11的测试程序供下载
看不出问题所在,我把原代码复制下来试试 xxkj2010 发表于 2024-2-6 11:45
看不出问题所在,我把原代码复制下来试试有完整的 附件
https://www.stcaimcu.com/forum.p ... ptid=4707&pid=51001
本帖最后由 xxkj2010 于 2024-2-6 12:13 编辑
神农鼎 发表于 2024-2-6 11:49
有完整的 附件
找到错误了,是忘记加 P_SW2 |= 0x80; 了
低级错误
学习一下
页:
[1]