xxkj2010 发表于 2024-2-6 13:00:42

T11与其他定时器不同的是,它可以较长时间产生中断,还可以选择时钟源,STC太给力了

本帖最后由 xxkj2010 于 2024-2-6 13:18 编辑

上午对T11的测试,开始的时候因为太粗心,没有加 P_SW2 |= 0x80;,导致测试失败,在论坛寻找帮助后解决了问题。

T11与其他定时器不同的是,它可以较长时间产生中断,因为它自带一个八位的分频器,


在24MHz的主频下,完全可以让它1秒产生一次中断,这是其他常规定时器力不能所及的。

STC太给力了!
代码如下:
main.c

//STC8H2K17U 主频24MHz
#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);

u32 temp;
void main()
{
    P3M0 = 0x00;
    P3M1 = 0x00;
                P_SW2 |= 0x80;   //扩展寄存器(XFR)访问使能
                Timer11_Init();
    while (1)
    {
//                delay_ms(5);
    }
}



//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=(65536-10000)>>8;
      T11L=65536-10000;
      T11CR |=0x80;      //开始计数
      EA=1;
}


void Timer11_Isr(void) interrupt 13
{
                P37=!P37;
}
isr.asm

CSEGAT 021BH;原T11中断号
JMP      006BH;跳转到13号中断入口      
END
测试视频:
15

完整工程:

_奶咖君_ 发表于 2024-2-6 13:09:15

.......
我怎么记得一些片子的T2 T3 T4也是有带8位预分频器的..
我感觉T11定时器 特别在可以选择时钟源,,这个是其他的定时器不具备的东西

xxkj2010 发表于 2024-2-6 13:17:31

_奶咖君_ 发表于 2024-2-6 13:09
.......
我怎么记得一些片子的T2 T3 T4也是有带8位预分频器的..
我感觉T11定时器 特别在可以选择时钟源,, ...

没错,我看STC8H手册了,STC8H的T0和T1没有预分频,T3和T4就有,谢谢提醒!

神农鼎 发表于 2024-2-6 16:31:37



STC8的 T2/T3/T4, T11, 是24位重装载定时器



神农鼎 发表于 2024-2-9 09:37:52

龙年新春捷报:
STC8H2K32U-45MHz-LQFP32/TSSOP28 的 USB 型 MCU 已开始制造光罩流程中
RMB1.3 的 USB, STC8H2K32U-45MHz-LQFP32/TSSOP28/20,SOP16, 4月开始供货
51世界火热的夏天全面来临 全面 进入 USB 时代 !新增硬件32位乘除法器MDU32C
硬件USB 支持 仿真/下载, RTC 实时时钟, 年/月/日/时/分/秒,星期
真12位ADC, 144MHz-16位高级PWM新增硬件移相功能
32K Flash, 2.5k SRAM, USB, 双串口/I2C/SPI, 轨到轨比较器,12位ADC, PWM
串口1/串口2:
===都支持串口接收硬件超时侦测,硬件奇偶校验
===都支持帧错误数据检测和自动地址识别
T11,强大的24位低功耗定时器/系统定时器,支持低功耗唤醒
P1.2口在P5.4口上共享,P1.0/P1.1的全部数字功能可以交换

STC8H2K32U要让51成为永恒的经典:钻石恒久远,51永流传

======================================================================

RMB0.99 的 USB, STC8H2K08U-45MHz-TSSOP20/SOP16,已开始供货
51世界火热的夏天全面来临 全面 进入 USB 时代 !

神农鼎 发表于 2024-2-9 21:38:22


页: [1]
查看完整版本: T11与其他定时器不同的是,它可以较长时间产生中断,还可以选择时钟源,STC太给力了