3、SONIX单片机T0中断定时
来源:互联网 发布:广东淘宝服装生产商 编辑:程序博客网 时间:2024/04/28 06:32
与T0定时器相关的寄存器共4个;T0M,T0C,INTRQ,INTEN.
一、T0M模式寄存器
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
T0M
T0ENB
T0rate2
T0rate1
T0rate0
-----
-----
-----
-----
读/写
R/W
R/W
R/W
R/W
-----
-----
-----
-----
复位
0
0
0
0
-----
-----
-----
-----
T0ENB;T0使能位,0=不使能,1=使能
T0rate2~T0rate0;T0分频选择位
T0时钟由CPU时钟分频而来,分频比如下;
T0rate2~T0rate0
分频比
000
fCPU/256
001
fCPU/125
010
fCPU/64
011
fCPU/32
100
fCPU/16
101
fCPU/8
110
fCPU/4
111
fCPU/2
二、T0计数寄存器
T0是8位的计数器,计数范围为0-255,T0没有重装载功能,所以默认计数是从0开始,到255+1就溢出,当然T0也可以设计数初值。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
T0C
T0C7
T0C6
T0C5
T0C4
T0C3
T0C2
T0C1
T0C0
读/写
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
复位
0
0
0
0
0
0
0
0
T0C初值=256-(T0溢出间隔时间*时钟速度)
例;T0定时10ms,fCPU=1m,T0rate=010=fCPU/64,那么
T0C初值=256-(T0溢出间隔时间*时钟速度)
=256-(10ms*(fcpu/64))
=64H
三、中断请求寄存器INTRQ
四、中断请求使能寄存器INTEN
名称
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
复位
INTRQ
ADCIRQ
TC1IRQ
TC0IRQ
T0IRQ
SIOIRQ
P02IRQ
P01IRQ
P00IRQ
00000000
INTEN
ADCIEN
TC1IEN
TC0IEN
T0IEN
SIOIEN
P02IEN
P01IEN
P00IEN
00000000
置位寄存器INTEN的相应位可以使能相应的中断。
当中断发生时,寄存器INTRQ相应的位会被置1,这个中断标志位需要在中断中软件清零。
T0C溢出时,如果使能了T0中断使能,则会产生T0中断,T0IRQ会被置1.
例;在cpu=1M情况下,T0中断定时10ms。
#include<sn8p2612.h>
main()
{
FT0IEN=0; //配置中断的时候最好先关闭相应中断
T0M=0X20; //分频 fCPU/64
T0C=0X64; //10ms初值
FT0IEN=1; //开定时器T0中断
FGIE=1; //开总中断
while(1);
}
//所有中断共用一个入口,所以要在中断中查询相应的标志位来判断是哪个中断
__interrupt T0INT(void)
{
if(INTRQ&0X10) //T0中断查询
{
T0C=0x64; //10MS初值重装0x64
FT0IRQ=0; //标志位手动清零
//中断处理,该干嘛干嘛去!!!
}
}
- 3、SONIX单片机T0中断定时
- 6、SONIX单片机外部输入中断
- 4、SONIX单片机TC0、TC1基本定时与计数功能
- 20120801-51单片机定时器T0的使用1-中断法
- 单片机中断定时
- 单片机 计数/定时 中断实验
- 单片机原理(3):中断、定时/计数、串行通信
- 基于proteus的51单片机仿真实例五十七、定时器/计数器T0的定时实例
- ADC 检测 SONIX 中断方式
- 51单片机 C 语言编程:单片机定时中断
- 2、SONIX单片机IO口基本操作
- 单片机定时中断的精确定时编程方法种种
- T0定时、T1计数,协作定时
- t0
- 单片机定时记数中断程序1--c语言实现
- (二)单片机内部定时/计数器和中断系统
- 51单片机以定时中断的方法实现DS18B20时序
- 凌阳16位单片机之用时基中断定时
- ros创建urdf或xarco文件时,模型坐标点的理解
- codevs1068 乌龟棋
- Oracle的安装
- 康威定律——这个50年前就被提出的微服务概念,你知多少?
- Oracle基础
- 3、SONIX单片机T0中断定时
- cross-entropy函数
- 判断输入的一串数字那些为质素那些为素数
- 设计模式之禅—23种设计模式详解_0 概述
- python3函数
- git笔记
- 数字金额每三位按逗号","拆分
- angular+将输入框内容点击按钮显示在输入框上面
- 《JAVA编程思想》无界通配符