标题:
简单算法判断51单片机默认1T还是12T
[打印本页]
作者:
onetwoto
时间:
2022-6-1 06:36
标题:
简单算法判断51单片机默认1T还是12T
如果晶振是11.0592MHz,就是11059200Hz,12分频是921600Hz
16位定时器每次只能装65536,11059200/65536=168.75次,将a赋值169后,如果灯珠闪亮的大概是一秒一次,就说明单片机运行的状态是1T.
然后11059200/12=921600,921600/65536=14.0625次,将a赋值14后,如果灯珠闪亮的大概是一秒一次,就说明单片机运行的状态是12T.
代码如下:
#include<reg52.h>
sbit LED=P1^3;//定义LED灯珠端口
unsigned int a;
void Init_Timer0(void)
{
TMOD |=0X01;
TH0=0X00;
TL0=0X00;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
a=0;
Init_Timer0();
while(1);
}
void Timer0_isr(void) interrupt 1 using 1
{
TH0=0X00;
TL0=0X00;
a++;
if(a>=14){a=0;LED=~LED;}
}
作者:
啤酒瓶子老大
时间:
2022-6-1 16:56
是不是1秒闪烁一次也看不不出来啊?
不过通过看芯片手册倒是能看出来是1T还是12T.
作者:
雪玉寐影
时间:
2022-6-1 18:18
看型号不能判断是1T还是12T吗?
作者:
onetwoto
时间:
2022-6-1 20:11
本帖最后由 onetwoto 于 2022-6-1 20:18 编辑
啤酒瓶子老大 发表于 2022-6-1 16:56
是不是1秒闪烁一次也看不不出来啊?
不过通过看芯片手册倒是能看出来是1T还是12T.
这个代码肯定能看的出来的,169是14的十多倍,要么0.1秒亮一次,要么1秒亮一次,要么10秒亮一次,这么明显的
作者:
THFW
时间:
2023-9-19 03:55
11059200/65536=168.75次,为什么要这样呢,不懂
作者:
wufa1986
时间:
2023-9-19 08:01
我为什么要判断呢,如果你不知道型号也不可能编程下载,如果你知道型号,下载手册已经明确说明了,
作者:
hi等你
时间:
2023-9-19 08:49
12t的程序写到1t的单片机上面跑的飞快,延迟按键和扫描点亮数码管快的不能用,一眼就看出来了
作者:
zhxzhx
时间:
2023-9-25 16:38
你这个,只是 定时器的分频,和单片机 是 1T 12T一点关系都没有
作者:
123156fsadf
时间:
2025-7-7 17:01
直接读单片机的寄存器,看寄存器的1T/12T状态位就好了,没必要这么麻烦
作者:
123156fsadf
时间:
2025-7-7 17:02
// 读取AUXR寄存器判断
if(AUXR & 0x01) {
// AUXR.0 = 1 → 1T模式
printf("当前为1T模式");
} else {
// AUXR.0 = 0 → 12T模式
printf("当前为12T模式");
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1