精华内容
下载资源
问答
  • 用AT89S51的定时/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为0.2秒,也就是说,开始L1指示灯以0.2秒的速率闪烁,当2秒定时到来之后,L2开始以0.2秒的速率闪烁,如此循环下去...
  • 8253/8254应用:联级延时、方波发生器、事件计数器、分频器、通道读/写……
  • 利用定时/计数器T0从P1.0输出周期为1s 的方波,让发光二极管以1HZ闪烁。 利用定时/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),...
  • 51单片机——定时计数器

    千次阅读 2019-08-08 08:43:54
    *CPU时序: 振荡周期:为单片机提供定时信号...在51单片机中有两组定时计数器,与CPU相互独立,。 工作原理是随机器内部的时钟或者外部脉冲信号对寄存器数据加1,当计数器加到全1时,再加1便会置0溢出,使相应终端...

    *CPU时序:
    振荡周期:为单片机提供定时信号的振荡源周期(如晶振周期或外加周期)。
    状态周期:为两个振荡周期。用S表示(又称S周期或时钟周期)。
    机器周期:为六个状态周期。
    指令周期:完成一条指令所需要的全部时间,以机器周期为单位。
    在51单片机中有两组定时计数器,与CPU相互独立。
    工作原理是随机器内部的时钟或者外部脉冲信号对寄存器数据加1,当计数器加到全1时,再加1便会置0溢出,使相应终端位置1。(使用时,由溢出计时器的值减去计数初值才是加1计数器的计数值,ps:需输入的便是计数初值)。
    *
    相关结构图在文章结尾,请结合查看。

    定时计数器由高八位THx和低八位TLx两个寄存器组成。
    还有TMOD工作方式寄存器。
    TCON控制寄存器,控制T0、T1的启动停止及设置溢出标志。

    TMOD寄存器
    {
    *该寄存器用于控制定时计数器的工作方式。
    前四位为T1方式,后四位为T0方式。(图一)
    GATE是门控位:
    GATE=0时,只需软件将TCON中的TR0/1为高电平,便可启动定时计数器。
    GATE=1时,上述条件满足切同时外部中断引脚INT0/1为高电平,才可启动定时计数器。
    C/T:
    C/T=0为定时模式,C/T=1为计数模式。
    M1和M0:
    工作方式设置位,具体见图二。
    主要使用方式1;方式2一般用于串口通信(精确性)。
    *}
    TCON寄存器(图一)
    该寄存器高四位与控制定时计数器相关。(低四位控制外部中断)

    *TF0/1:
    T1/0溢出请求标志位,溢出置1,发送中断请求,CPU后自动清0,也可软件清0。
    T1/0工作时,CPU可随时查询TF1/0状态(所以T1/0可用作查询测试的标志)。

    TR1/0:
    T1/0运行控制位,置1时,T1/0开始工作;置0时,停止工作。
    *
    定时计数器工作方式
    以工作方式1为例(图三)
    若GATE=0/1,经过(1处)翻转为1/0,再经过或门:为1时,便不受外部中断控制,进入与门,此时便由TR1/0控制;为0时,外部中断控制此处为1或0,再进入下一步,此时便由外部中断和TR1/0控制。
    T1/0启动后,随振荡周期+1,低八位满便向高八位+1,满后溢出置1,TF1/0发送中断请求。
    【计数个数与计数初值关系:X=2(16次方)-N】

    定时器使用
    初始化:
    对TMOD赋值,确定T0/1工作方式。
    计算初值,并写入。
    中断方式,开启EA总中断,开放定时器中断。
    使TR0/1置位,启动定时或计数。
    以下为定时器T0使用方法

    void Timer0Init()
    {
    TMOD =TMOD | 0x01  //或运算           
    TR0 = 1;         //开始计时
    ET0 = 1;             //打开定时器0中断
    EA = 1;               //打开总中断
    TH0 = 0xfc;
    TL0 = 0xfc;        //设置初值,计算方法见文后
    }
    void main()
    {
       Timer0Init();
       //neirong
    }
    void Time0 () interrupt  1
    {
         //neirong
    }
    

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 定时计数器实验.

    2014-05-15 21:03:06
    利用定时计数器1,编程实现从P1.0、P1.1、P1.2三个I/O引脚分别输出频率为0.25Hz、50 Hz、1k Hz的方波信号。
  • 51单片机定时计数器

    2018-10-14 11:19:23
    51单片机定时计数器 该项目包括原理图电路图 程序源码 演示视频讲解文档全套资料 三分拿去 超值了
  • 这是大学期间单片机实验的程序,包括计数器以及频率计的c语言实现,针对的是51系列单片机
  • 1.掌握8253可编程定时器/计数器定时方法; 2. 掌握8253多级串联实现大时间常数的定时方法; 3. 掌握8086与8253的连接方法与控制方法。
  • 单片机原理及应用,是基于C51语言的编程,详细介绍了单片机的内部结构,汇编语言和C51语言的格式,并如何使用编程
  • 只用定时计数器和中断程序相关知识,实现秒表从0—59循环显示。不需要延时程序,亦不需动态扫描。
  • 51单片机笔记(四)定时/计数器5.1 结构和工作原理5.2 方式寄存器和控制寄存器5.2.1 方式寄存器TMOD(89H)5.2.2 控制寄存器TCON(88H)5.3 计时器的设置汇编程序6.1 把单片机片内的30H~7FH 单元清零6.2 片外RAM中1000H...

    定时/计数器

    5.1 结构和工作原理

    8051单片机内部有2个16位可编程定时/计数器:

    • 定时计数器0
    • 定时计数器1。

    定时/计数器的实质是加1计数器,每经过一个机器周期,计数器自加1

    • 定时器是对内部晶振的脉冲进行计数
    • 计数器是对外部1信号脉冲进行计数

    最短周期:

    • 作为定时器时:最短定时周期为1个机器周期。
    • 作为计数器时:每个机器周期采样一次引脚电平,一次为“1”,下次为“0”时,计数器加1,为确保计数正确,高、低电平至少保持一个机器周期以上。

    5.2 方式寄存器和控制寄存器

    5.2.1 方式寄存器TMOD(89H)

    TMOD用于控制定时/计数器的功能和工作模式。不能进行位寻址,只能通过整个字节值设定。

    T 1 T_1 T1 T 0 T_0 T0
    GATEC/TM1M0GATEC/TM1M0
    • GATE门控位
      • 可以用于测量TNTO(1)出现的正脉冲宽度
      • GATE=1时,INT0(1)=1(保持)且TR0(1)=1,T0(1)计数
      • GATE=0时,仅由TR0(1)启动T0(1)。
      • 就可以用外部电平控制计数开始
    • C/T 功能选择位
      • C/T=0时:定时器模式,每个机器周期计数器加1,至溢出
      • C/T=1时:计数器模式,对T0, T1的外部输入信号计数
    • M1, M0 工作方式选择位
      • M1M0工作方式功能
        00方式013位计数器
        01方式116位计数器
        10方式28位自动重装载计数器,TH自动送TL
        11方式3T0分成2个8位计数器

    当为定时/计数器设置完工作方式,并启动运行后,就不用CPU继续干预,直至计数器计满溢出。所以定时/计数可与CPU同时进行

    5.2.2 控制寄存器TCON(88H)

    TCON用于控制定时/计数器的启动和停止(TR1, TR0),同时表明了定时/计数器的状态(TF1, TF0)。

    T 1 T_1 T1 T 0 T_0 T0中断相关 T 1 T_1 T1中断相关 T 0 T_0 T0
    TF1TR1TF0TR0IE1IT1IE0IT0
    • TF1: T1溢出标志。T1溢出时,TF1=1,申请中断(001BH)。进入中断服务程序后,由硬件自动清除。
    • TR1: T1运行控制位。1时开始及计数

    5.3 计时器的设置

    首先,计数的工作方式是终点唯一但是开始值由人设置

    起点时间的计算
    t = T c × ( 2 L - T 初 ) t=T_c×( 2^{L}-T_{初}) t=Tc×(2LT)

    • t t t是定时时间
    • T c T_c Tc机器周期,有 T c = 12 f o s c T_c=\frac{12}{fosc} Tc=fosc12
    • L L L是计数器位数,一般是16位
    • T 初 T_初 T定时器初值

    工作的设置流程

    1. 对TMOD赋值,设置定时计数方式
    2. 向TH0、TL0写入初始值
    3. 开放中断(用于中断方式),如不开放则不触发中断
    4. 通过TR0启动定时/计数器
    5. 通过TF0判别定时计数是否结束

    16位计时器12MHZ最大最小计时
    t m i n = 1 μ s t_{min}=1 \mu s tmin=1μs
    t m a x = 65.536 m s t_{max}=65.536 ms tmax=65.536ms

    汇编程序

    方法并不唯一,仅供参考~

    6.1 把单片机片内的30H~7FH 单元清零

            ORG 0000H
    CLEAR:  MOV R0,#30H     ;30H 送R0寄存器
            MOV R6,#50H     ;50H 送R6寄存器(用作计数器)
    CLR1:   MOV A,#18H  ;18 送累加器A
            MOV @R0,A       ;00 送到30H-7FH 单元
            INC R0          ;R0 加1
            DJNZ R6,CLR1    ;不到50H个字节,继续
    WAIT:   LJMP WAIT
            END
    

    6.2 片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元

             ORG 0000H
             MOV DPTR,#1000H
             MOV R0,#40H
    MOVE1:   MOVX A,@DPTR
             MOV @R0,A
             INC R0
             INC DPTR
             CJNE R0,#50H,MOVE1
             MOV DPTR,#2000H
             MOV R0,#40H
    MOVE2:   MOV A,@R0
             MOVX @DPTR,A
             INC R0
             INC DPTR
             CJNE R0,#50H,MOVE2
             END
    

    6.3 以PC为基址寄存器,查表求30H单元中BCD码的平方,结果存入31H单元

    		org 0000h  
    		mov a,30h
    		add a,#05h
    		movc a,@a+pc
    		mov 31H,a
    		wait: ljmp wait
    		tab:db 0,1,4,9,16,25,36,49,64,81
    		end
    

    6.4 2字节无符号数转换成BCD码

            ORG 0000H       ;get 2bit into BCD 30H,31H,6->40H,41H,42H,43H,44H,45H
            MOV R1,#40H
    CLR1:   MOV @R1,#00H
            INC R1
            CJNE R1,#46H,CLR1
            MOV R6,30H      ;count
            MOV A,31H       ;A=F7H
            MOV B,#100      ;B=100
            DIV AB          ;A/B A=2,B=47
            MOV 42H,A       ;42H=2
            MOV A,B         ;A=47
            MOV B,#10       ;B=10
            DIV AB          ;A/B A=4,B=7
            MOV 41H,A       ;41H=4
            MOV 40H,B       ;40H=7
    ADDEE:  MOV A,#06H      ;A=6
            ADD A,40H       ;A=A+40H=13
            MOV B,#10       ;B=10
            DIV AB          ;A/B,A=1,B=3
            MOV 40H,B       ;40H=B=3
            MOV 50H,A       ;50H=1
            MOV A,#05H      ;A=5
            ADD A,41H       ;A=A+41H=5+4=9
            ADD A,50H       ;A=A+50H=9+1=10
            MOV B,#10       ;B=10
            DIV AB          ;A/B,A=1,B=0
            MOV 41H,B       ;41H=0
            MOV 50H,A
            MOV A,#02H      ;A=2
            MOV B,#10       ;B=10
            ADD A,42H       ;A=A+42H=2+2=4
            ADD A,50H       ;A=A+50H=4+1=5
            MOV B,#10
            DIV AB          ;A=0,B=5
            MOV 50H,A       ;50H=0
            MOV 42H,B       ;42H=5
            MOV R1,#43H     ;R1=43H
    HADD:   MOV A,@R1       ;A=(43H)
            ADD A,50H       ;A=A+50H
            MOV B,#10       ;B=10
            DIV AB          ;A/B
            MOV @R1,B
            MOV 50H,A
            INC R1
            CJNE R1,#46H,HADD
            DJNZ R6,ADDEE
    WAIT:   LJMP    WAIT
            END
    

    6.5 将一个字节中的各位逆序排列

            org 0000h       ;
            mov 30h,#82h    ;82h=10000010b 0100 0001b=41h
            mov a,30h
            mov 31h,#00h
            mov r3,#08h     ;count=8
    push1:
            mov c,acc.0     ;
            rr a
            mov 30h,a
            mov a,31h
            rlc a           ;
            mov 31h,a
            mov a,30h
            djnz r3,push1
    wait:   ljmp wait       ;
            end
    

    6.6 实现秒表功能

    最大定时时间为99.99秒,时间分辨率为0.01秒

            sec equ 30h
            minsec equ 31h
            count equ 33h
    
            org 0000h    ;利用定时/计数器T0,实现秒表功能。最大定时时间为99.99秒,时间分辨率为0.01秒
            mov sec,#0
            mov minsec,#0
            mov tmod,#10h    ;10minsecond d8f0
            mov th1,#0d8h
            mov tl1,#0f0h
            mov sec,#0
            mov minsec,#0
            mov count,#100
            setb tr1
    lp1:    jnb tf1,lp1
            clr tf1
            mov th1,#0d8h
            mov tl1,#0f0h
            mov a,minsec
            add a,#1
            da a
            mov minsec,a
            djnz count,lp1
            mov minsec,#0
            mov count,#100
    
            mov a,sec
            add a,#1
            da a
            mov sec,a
            cjne a,#99h,lp1
    
            mov th1,#0d8h
            mov tl1,#0f0h
            mov count,#99
    lp2:    jnb tf1,lp2
            clr tf1
            mov th1,#0d8h
            mov tl1,#0f0h
            mov a,minsec
            add a,#1
            da a
            mov minsec,a
            djnz count,lp2
            mov 36h,#45
    wait:   ljmp wait
    
    展开全文
  • Atmega128定时计数器

    2012-06-13 19:53:43
    Atmega128定时计数器的详细资料,与51的不同,要认真看哦
  • 52单片机利用定时计数器T2计数C51代码,1602液晶显示计数值,在实验板调试通过。
  • 基于proteus使用51单片机以及数码管,进行对外部脉冲(脉搏等)采集,并计数显示结果。
  • 利用c编写的单片机硬件实验,完成定时计数器功能
  • 51单片机做定时计数器
  • 8052单片机定时计数器T2的使用 最近做毕业设计用到了8052单片机,因为8052单片机的性能更强一些,而且有6个中断源,相较于8051单片机增加了定时计数器T2,功能更强大了。 今天主要说一下8052单片机T2做计数器时的...

    一、引言

    最近做毕业设计用到了8052单片机,因为8052单片机的性能更强一些,而且有6个中断源,相较于8051单片机增加了定时计数器T2,功能更强大了。

    今天主要说一下8052单片机T2做计数器时的用法,主要是寄存器的配置,定时器以及其他的用法等我研究之后再更新此贴。

    二、8052与8051单片机的区别

    在这里插入图片描述
    备注:8052单片机相较于8051单片机除了ROM和RAM上的提升,主要是增加了一个定时器/计数器T2。

    三、定时计数器T2的三种工作模式

    1.捕捉模式

    捕捉模式参考这里

    2.自动重装模式

    本文目前主要介绍该模式,其余模式有待更新。

    3.波特率发生器

    波特率发生器参考这里

    四、定时计数器T2的寄存器

    和8051单片机一样,T2也有控制寄存器和方式寄存器。
    控制寄存器:T2CON,字节地址0C8H
    方式寄存器:T2MOD,字节地址0C9H (一般用不到)
    加电或复位后自动均置为0。

    1.T2CON(控制寄存器)

    在这里插入图片描述
    在这里插入图片描述

    2.T2MOD(方式寄存器)

    在这里插入图片描述

    五、"reg52.h"中包含的位定义变量

    经过我的实际测试,再Keil5的环境下,导入头文件#include<reg52.h>后,T2MOD关键字仍不能被识别,但是没关系,T2MOD寄存器一般不用配置。

    以下位定义的寄存器可以直接使用:

    sfr T2CON  = 0xC8; //Timer 2 CONtrol, 定时器2控制
    sfr RCAP2L = 0xCA; //Reload/CAPture 2 Low-byte, 重载/捕获低8位
    sfr RCAP2H = 0xCB; //Reload/CAPture 2 High-byte, 重载/捕获高8位
    sfr TL2    = 0xCC; //Timer 2 Low-byte, 定时器2低8位
    sfr TH2    = 0xCD; //Timer 2 High-byte, 定时器2高8位
    
    sbit TF2    = T2CON^7; //Timer (overflow) Flag 2, 定时器2溢出标志
    sbit EXF2   = T2CON^6; //timer EXternal (overflow) Flag 2, 定时器2外部引脚溢出标志
    sbit RCLK   = T2CON^5; //Receive CLocK, 接收时钟标志位
    sbit TCLK   = T2CON^4; //Transmit CLocK, 发送时钟标志位
    sbit EXEN2  = T2CON^3; //timer EXternal ENable, 外部中断允许标志位
    sbit TR2    = T2CON^2; //Timer Run control 2, 定时器运行控制2
    sbit C_T2   = T2CON^1; //Counter/Timer 2, 计数器/定时器功能选择2
    sbit CP_RL2 = T2CON^0; //CaPture/ReLoad 2, 捕获/重载功能选择2
    sbit ET2;              //T2的中断允许位,ET2=1,允许中断。ET2=0,不允许中断。
    

    使用时无需定义,直接赋值即可,例如:

    RCAP2L = 0xFF;
    RCAP2H = 0xFF;
    

    六、实例

    使用T2计数器中断实现LED灯的开关控制。
    每按一次开关,T2中断一次,在中断函数中改变LED的亮灭。
    在这里插入图片描述

    #include<reg52.h>
    int num=0x00;
    int main(){
    	T2CON=0x00;    //可不进行配置,这行代码可以不写
    	C_T2=1;        //使T2为计数方式  
    	CP_RL2=0;      //使T2为重装模式
    	EXEN2=0;       //禁止外部时钟触发,溢出时重装
    	TH2=0XFF;       //高8位初值
    	TL2=0XFF;       //低8位初值
    	RCAP2H=0xFF;    //溢出时,将RCAP2H重装入TH2
    	RCAP2L=0xFF;    //溢出时,将RCAP2L重装入TL2
    	TR2=1;          //允许T2工作
    	ET2=1;		    //允许T2中断
    	EA=1;	        //开总中断
    	while(1);
    	return 0;
    }
    
    timer2() interrupt 5{
    	TF2=0;        //清除中断标志位
    	EXF2=0;       //清除溢出标志位
    	P2=num;
    	num=~num;
    }
    
    展开全文
  • (1)相关口线:T0:P3.4,定时计数器0外部脉冲输入端;如果是内部时钟,则工作时钟为fosc/12,此时P3.4作IO口使用 T1:P3.5,定时计数器1外部脉冲输入端;如果是内部时钟,则工作时钟为fosc/12,此时P3.5作IO口...

    内部资源之定时器

    16位计数器:T0 分为 TH0(高八位) 和 TL0(低八位)
                  T1 分为TH1(高八位) 和 TL1(低八位)
    (1)相关口线:T0:P3.4,定时计数器0外部脉冲输入端;如果是内部时钟,则工作时钟为fosc/12,此时P3.4作IO口使用
    T1:P3.5,定时计数器1外部脉冲输入端;如果是内部时钟,则工作时钟为fosc/12,此时P3.5作IO口使用
    输入信号下降沿有效,前一个机期周期为高电平 ,后一个机期周期为低电平表示有脉冲,信号周期: T>=2Tfr=2*12*Tosc,即信号的频率f
    (1/f)>=(24/fosc)   >>   f<=fosc/24   
               
     (2)相关控制字:TMOD  TCON  IE  IP 
                    TH0    TL0  TH1 TL1
    TH0:定时计数器0的高8位   65536 取高八位则X/2^8(256)
        TL0:定时计数器0的低8位         取低八位则X%2^8(256)
        TH1:定时计数器1的高8位         
        TL1:定时计数器1的低8位
             用于存计数值,若TR0(TR1)=1,如果有脉冲信号    则自动加1
        IE:EA ET0 ET1
        IP:PT0 PT1
        TCON:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
            TR0:定时计数器0的启动控制位
                 当TR0=1,允许计数,TR0=0时,停止计数
            TR1:定时计数器1的启动控制位
                 当TR1=1,允许计数,TR1=0时,停止计数              65535
            TF0:定时计数器0的溢出标志位                0000 0000 0000 0000     
                                                          1111 1111 1111 1111
                 当TH0与TL0计数计满溢出时自动置1;
     若EA&ET0=1时,即定时中断0处于开启状态,则TF0等效为定时中断0的中断请求标志位,CPU响应中断后自动清零;如果EA&ET0=0,则必须软件清零(TF0=0)。
    
            TF1:定时计数器1的溢出标志位
                 当TH1与TL1计数计满溢出时自动置1;
    若EA&ET1=1时,即定时中断0处于开启状态,则TF1等效为定时中断1的中断请求标志位,CPU响应中断后自动清零;如果EA&ET1=0,则必须软件清零(TF1=0)。
    
        TMOD: 定时计数器的工作方式选择控制寄存器
               GATE C/T M1 M0  GATE C/T M1 M0
                      T1              T0
            GATE:门控位
               当GATE=0,T0(T1)与外部中断脚INT0(INT1)无关;
               当GATE=1时,必须INT0(INT1)=1时定时计数器T0(T1)才能工作
            C/T: 定时方式与计数方式选择位
              C/T=0时,定时方式,计数器的工作脉冲来自内部时钟信号,为Fosc/12(即十二个振荡脉冲向定时提供一个工作脉冲,即每个机器周期自动加1)
              C/T=1时,计数方式,计数器的工作脉冲来自外部时钟信号(P3.4或是P3.5),有脉冲时自动加1)
            M1M0 定时计数器的工作方式选择位
             0 0  方式0,TH0(TH1)+TL0(TL1)的低五位 13位计数器
             0 1  方式1,TH0(TH1)+TL0(TL1)16位计数器
             1 0  方式2,8位自动重装方式,TL0(TL1)计数,TH0(TH1)存放初值(重装值)
             1 1  方式3,T0具有,TH0与TL0为两个独立的八位计数器,th0占用原有T1的资源TL0即可定时亦可计数(P3.4),TH0只能定时
    TR0  TL0  TF0  EA ET0  进中断1
                       TR1  TH0  TF1  EA ET1  进中断3
                       T1为波特率发生器,不能用于定时或是计数
    t=P(2^n-x)Tfr   t:为定时时间,x:为TH0与TL0中的初值,Tfr:机期周期
                 n:为计数器的长度,与工作方式有关。
    机器周期:Tfr=12*1s/Fosc    FOSC=24M   Tfr=12*1s/(12*10)=0.5*10s=1us=10^-6s  
    定时时间:t=pluse*Tfr       t=5ms   
    脉冲数:pluse=t/Tfr    pluse=1ms/1us=1000    
    定时数初值:x=2-pluse  n:表示定时计数器的长度,由工作方式决定 x=2-1000=64536 
    
    T=0.707(R1+R2)C+0.707*R2*C  
    F=1/T     483=1/(0.707(R1+R2)C+0.707*R2*C)>>C=1000 000 /(zi*0.707*3) nf
    
    t=(2^n-初值)Tfr   1000=2^n-x  x=2^13-1000=8192-1000=7192
    f=38k  T=1s/f t=T/2   13us=(2^n-x)Tfr 13=2^n-x x=2^n-13=2^8-13
    

    定时器是什么?定时器顾名思义是用来计时的,比如led闪烁的频率可以用定时器来控制,它比延时函数更加精确,而且最重要的是它可以不占用CPU的资源单独运行。

    定时器在程序中的含义就是:每隔一段时间就执行定时器中断服务函数一次,隔多久可以自行编程

    接下来我们通过一个最简单的定时器实验来具体学习

    定时器之一个发光二极管闪烁

    首先创建一个名为定时器的一个文件夹,
    在这里插入图片描述然后,打开仿真,布置电路图,所需元件:AT89C51、LED-YELLOW、RES在这里插入图片描述
    点击保存到刚刚创建的文件夹下,在这里插入图片描述
    打开keil4,新建一个定时器工程,写下代码

    
    #include <reg51.h>
    
    void main(void)
    {
    //相关控制字
    	TMOD = 0x01;	//定时方式,计数器的工作脉冲来自内部时钟信号
    	TCON = 0x30;   //定时计数器启动
    	ET0 = 1;		   //打开定时器0中断
    	EA = 1;			   //打开总中断
     	TH0 = (65535-5000)/256;	   //设置定时器时间为50ms
    	TL0 = (65535-5000)%256;
    	while(1);
    }
    
    timer0(void) interrupt 1
    {
    	static char n = 0;	  //记录中断响应次数n
    	n++;
    	TH0 = (65535-50000)/256;   //响应中断后会清零,要从新赋值
    	TL0	= (65535-50000)%256;
    	if(n == 20)			  //记录到响应了20次 也就是1秒,执行下程序
    	{
    		n = 0;	//录记响应次数清零
    		P1 = ~P1;	
    	}
    } 
    
    

    编译,烧录
    在这里插入图片描述
    在这里插入图片描述

    代码以及仿真文件包:定时器.rar

    展开全文
  • 本文介绍了51单片机定时/计数器使用方法,并给出相对应的程序。
  • 定时/计数器对T0引脚脉冲计数,要求用按键模拟输入T0引脚脉冲,统计10秒钟内输入的脉冲个数并在LED数码管上进行显示,在Proteus中画出硬件电路并进行仿真。
  • 在流水灯程序中,同学们往往不能准确控制间断时间,或者用delay函数来控制,现在这个程序就是用定时计数器来精确控制间断时间。
  • 可编程定时计数器

    2018-12-19 23:20:22
    1. 可编程定时计数器8253 用加法计数或减法计数 8253 芯片 8253它是一个接口,传输的是数字信号,是一个数字接口,但它不是通道,是一个定时计数器,它的功能是实现对外设的控制 1. 外部引线及内部结构 ...
  • 增强定时计数器和PWM输出功能 文章来源:凌阳单片机推广中心 1.1 前言 随着计算机技术和电力电子技术的发展,变频驱动技术凭借其优异的性能,在当今交流调速领域的应用越来越广。 变频驱动主要使用的驱动波形主要有...
  • 这里使用ATmega16完成溢出中断功能 1、初始化定时器参数 // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: ...
  • 本资源为单片机定时计数器应用的实验报告,对应的博客已经发出,报告中的内容大部分都在博客中有所体现,但是如果有小伙伴需要报告的话也可以下载哦。 整理不易,还望多多点赞支持哦~
  • 方式1 :又称可编程单稳态工作方式。功能是在GATE信号的上升沿作用下,输出端OUT产生一个负...在计数过程中OUT保持不变,直到计数器从初值减为1时,输出OUT将变低,再经过一个CLK周期,OUT恢复为高电平,并按已设定的计...
  • 8253定时计数器演奏音乐 2 3 ; 8253定时计数器T2输出用于音频驱动 演奏《一闪一闪亮晶晶》 4 5 ; (A9)CS -- (B8)300 6 ; (A12)Φ -- (A11)1A ;输入4.9152MHz 7 ; (A9)CLK2 -- (A11)1QD ;输出307.2KHz...
  • 单片机关于定时计数器的C编程

    千次阅读 2017-03-29 21:10:50
    /****************************************...函数名:定时/计数器初始化函数 调 用:T_C_init(); 参 数:无 返回值:无 结 果:设置SFR中T/C1和(或)T/C0相关参数 备 注:本函数控制T/C1和T/C0,不需要使用
  • 第八章定时计数器及其应用 垂樵太泉单片机原理及应用光电子科学与工程学院 第八章定肘计数器及其应用 8.0引言 81T0/T1的基本结构和工作方式 82定时器的应用 垂樵太泉单片机原理及应用光电子科学与工程学院 8.0引言 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,123
精华内容 16,449
关键字:

定时计数器