以下是汇编源代码:
;********定时器程序 **********************************
ORG 0000H
JMP MAIN
ORG 000BH
JMP TT0
ORG 001BH
JMP TT1
MOV SP,70H
MOV 20H,#10
; MOV 21H,#10
;=========================================
MAIN:
MOV TMOD,#01100000B
MOV TH1,#0F6H
MOV TL1,#0F6H
MOV IE,#10001010B
MOV TH0,#00H
MOV TL0,#00H
SETB TR0
SETB TR1
LOOP4: JMP LOOP4
;=========================================
TT1:; DJNZ 21H,LOOP2
MOV 21H,#10
CPL P1.3
RETI
;===========================================
TT0: DJNZ 20H,LOOP1
MOV 20H,#10
MOV TH0,#00H
MOV TL0,#00H
CPL P1.4
LOOP1: RETI
;===========================================
END
关键字:定时器 加计数 指示灯亮
引用地址:
定时器 加计数 每定时十次 指示灯亮计数一次
推荐阅读最新更新时间:2024-03-16 14:00
定时器中断程序编写
上篇笔记记录到51单片机的中断允许寄存器、定时器/计数器工作方式寄存器(TMOD)、定时器/计数器控制寄存器(TCON)各位的作用。这些寄存器都是用来为编写定时器中断程序编写的初始化部分而服务的。然后今天再这里补填中断函数的编写格式,以后就可以编写定时器中断程序了。 1.中断服务程序的写法 C51的中断函数格式如下: void 函数名() 中断号 using 工作组 { 中断服务程序内容 } 与一般的C语言程序相比,中断服务程序有一下特点 中断函数不能返回任何值,所以函数名前用void; 函数名随便起,但不能与C51语言中的关键字同名(同C语言函数要求) 中断函数不能带任何参数,故函数名
[单片机]
STM32通用定时器基本用法DVI倍频系数
STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。从系统框架图下看,名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced control timer).他们所在的APB2总线也比APB1总线要好。APB2可以工作在72MHz下,而APB1最大是36MHz。 关于倍频系数 由上图可知,当APB1 的预分频系数为1 时,这个倍频器不起作用,定时器的时钟频率等于APB1 的频率;当APB1的预分频系数为其它数值(即预分频系数为2、4、8
[单片机]
定时器/计数器的初始化值的计算与计数程序举例
由于定时器/ 计数器 的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下: 1、确定工作方式(即对TMOD赋值); 2、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1); 3、根据需要开放定时器/计数器的中断(直接对IE位赋值); 4、启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。 下面介绍一下确定时时/计数器初值的具体方法。 因为在不同工作方式下计数器位数不同,因而最大计数值也不同。 现假设
[单片机]
让使用MSP430定时器中断的更简单
MSP430的定时器中断步骤总结: 1 设置中断端口的方向; 2 使能定时器中断; 3 设置定时时间; 4 设置定时控制器的时钟,计数方式,去除中断标志; 5 进入低功耗模式并打开全局中断标志位; 6 编写中断程序。 For example: P1.0引脚接了一个LED灯,要求在低功耗模式0下,利用定时器的定时功能,实现LED灯的闪烁。 #include msp430 void main(void) { WDTCTL = WDTPW + WDTHOLD;//关闭看门狗 P1DIR |=0X01; //设置P1.0为输出方向 TA0CCTL0 = CCIE; //定时器C
[单片机]
STM32入门学习笔记之基础定时器实验(下)
7.2.5 状态 寄存器 : TI Mx_SR 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - CC4OF CC3OF CC2OF CC1OF - TIF - CC4IF CC3IF CC2IF CC1IF UIF Bit 12:捕获/比较4重复捕获标记 0:无重复捕获产生 1:当计数器的值捕获到TIMx_CCR4寄存器时,CC4IF的状态已经为1 Bit 11:捕获/比较3重复捕获标记 0:无重复捕获产生 1:当计数器的值捕获到TIMx_CCR3寄存器时,CC3IF的状态已经为1 Bit 10:捕获/比较2重复捕获标记 0:无重复捕获产生 1:当
[单片机]
stm32上最方便的定时器Systick[操作寄存器+库函数]
Systick 是stm32上一个用处很多的内设,所有基于arm-cortex m3 的芯片都有这个定时器,所以考虑到平台的可移植性时,可以多使用Systick。 Systick 是一个24位数据宽度的倒计数定时器,其计数范围只能到 1677215(2^24),当计数到0时会从RELOAD寄存器 中自动重装定时初值。只要不把SysTick的控制及状态寄存器中的使能位清除,计数器就不会停止。 SysTick 可以产生中断、设置中断优先级,有专门的中断处理函数SysTick_Handler().库函数作为ST公司自己的推出的框架, 在中断这方面做了更为细致的处理。 库函数包含的头文件是 stm32f10x.h 这个文件中 列出
[单片机]
stm32 定时器响应时间计算
以TIM3_Int_Init(u16 arr,u16 psc)为例:(st的标准库) arr:自动重装载值 psc:时钟预分频系数 arr 有四种计数方式:加1、减1,加减、减加。(可单次可多次) 要计算时间必须知道单片机的时钟源频率 F(由时钟频率的方波来计数) 定时器响应时间(T)计算:T= / F (us)
[单片机]
AT89S52的看门狗定时器详情分析
AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。 AT89S52主要性能: 1、与MCS-51单片机产品兼容; 2、8K字节在系统可编程Flash存储器; 3、1000次擦写周期; 4、全静态操作:0Hz-33MHz; 5、三级加密程序存储器; 6、32个可编程I/O口线; 7、
[单片机]