TIMER0在MODE0下延时时间程序

2018-01-12 21:04:15编辑:什么鱼 关键字:TIMER0  MODE0  延时时间

        org    0000h       ;起始地址 
        jmp    main 

        org    0030h 
main: 
     MOV     tmod,#00h       ;设定TIMER0工作在MODE0 
start: 
    clr    c 
     MOV     a,#0ffh         ;ACC=FFH,左移初值 
     MOV     r2,#08          ;R2=08,设左移八次 
loop: 
    rlc    a               ;左移一位 
     MOV     p2,a            ;输出至P2 
     MOV     r3,#100         ;0.2秒 
    call    delay       ;2000微秒 
    djnz    r2,loop     ;左移八次 
     MOV     r2,#07          ;R2=07,设右移七次     
loop1:                                    
    rrc    a               ;右移一位         
     MOV     p2,a            ;输出至P2         
     MOV     r3,#100         ;0.2秒            
    call    delay       ;2000微秒                  
    djnz    r2,loop1    ;右移七次         
    jmp    start 
delay: 
    setb    tr0         ;启动TIMER0开始计时 
again: 
     MOV     tl0,#(8192-2000) mod 32     ;设定TL0的值 
     MOV     th0,#(8192-2000)/32         ;设定TH0的值 
loop2: 
    jbc    tf0,loop3       ;TF0是否为1,是则跳至LOOP3,并清除TF0 
    jmp    loop2           ;不是则跳到LOOP2 
loop3: 
    djnz    r3,again    ;R3是否为0?不是则跳到AGAIN 
    clr    tr0             ;是则停止TIMER0计数 
    ret 
    end


关键字:TIMER0  MODE0  延时时间

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/article_2018011237331.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:单片机按键蜂鸣器演奏歌曲功能C程序
下一篇:89c51六首歌曲的音乐门铃程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

单片机MSP430 - 定时器Timer_A

一、定时器Timer_A 介绍       Timer_A是一个具有多路捕获/比较寄存器的16位定时/计数器,主要有TAxCTL,TAxR,TAxCCTLn,TAxIV,TAxEX0 几个寄存器。其中最主要的是TAxCTL寄存器,它决定Timer_A的输入时钟信号,Timer_A的工作模式,Timer_A的开启与停止,中断的申请等。中断可以来自定时器溢出或者任意的捕获/比较寄存器Timer_A的特征包括:具有4种工作模式的异步定时/计数器可选择配置的时钟源可配置的PWM输出功能异步输入和同步锁存二、Timer_A 操作1. 16位定时/计数器     
发表于 2018-07-11 21:00:25

STM32 Timer1 TIM1 中断

/*定时器1ms中断,死等定时器延时*//*File Timer.c */#include "stm32f10x.h"  unsigned int TimeDelay = 0;void TIM1_Configuration(void){  NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;  TIM_DeInit(TIM1); /*复位TIM1定时器*/ RCC_APB2PeriphClockCmd
发表于 2018-07-06 23:45:18

stm32f103 timer1产生400HzPWM

/*timer1时钟为72MHz,产生400Hz,占空比为60%的PWM*/void Bsp_Motor_PWM_Init(void){    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;    TIM_OCInitTypeDef       TIM_OCInitStruct;    GPIO_InitTypeDef GPIO_InitStruct;     RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM
发表于 2018-07-01 12:22:52

LPC1768之定时器TIMER0

***************************************************************************************/ #include <LPC17XX.h>#include "GPIO.h" volatile uint32_t Timer0Cont = 0;/********************************************************************************** Descriptions :timer0 initialze**** parameters :None** Returned value :None
发表于 2018-06-27 19:53:26

STM32 TIMER初始化步骤

+ 1) * (分频系数 + 1) / (计时器频率),定时器频率一般情况下都是默认的从AHB二分频之后再倍频得到的,所以说还是72M; 比如说,要定时100ms,即可写为:计数周期 = 999,分频系数 = 7199 ,即为(999 + 1) * (7199 + 1) / (72,000,000),因为分频系数 / 计数器频率即为计一个数所用的时间,所以说用计数总数乘上这个时间即为总时间。    TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Down;      //向下计数   
发表于 2018-06-15 22:21:25

MSP430系列单片机-Timer_A实现PWM

概念PWM信号是一种具有固定周期、不定占空比的数字信号。 如果Timer_A的计数器工作在增计数模式,输出采用输出模式7(复位/置位模式) 利用寄存器TAxCCR0控制PWM波形的周期,用其他某个寄存器TAxCCRx来控制占空比(t高电平/ T周期)题目设ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCOCLK = 32 * ACLK = 1.048576MHz,利用Timer_A输出周期 512/32768 = 15.625ms,占空比分别为75%和25%的PWM矩波形。代码如下:#include  "msp430x44x.h"
发表于 2018-05-05 21:15:02

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved