单片机c51定时计数器汇编语言程序及解释

单片机c51定时计数器汇编语言程序及解释,第1张

程序呢? 下面给你一段杜洋的书上的解释(不过好像楼主提的问题不是这个吧?)你是想问会?C8051

//

[定时/计数器函数]

-----------------------------------------------------------------------------

M1 M0 方式 说明

0 0 0 13位T/C,由TL低5位和TH的8位组成13位计数器

0 1 1 16位T/C,TL和TH共16位计数器

1 0 2 8位T/C,TL用于计数,当TL溢出时将TH中的值自动写入TL

1 1 3 两组8位T/C

-----------------------------------------------------------------------------

/

函数名:定时/计数器初始化函数

调 用:T_C_init();

参 数:无

返回值:无

结 果:设置SFR中T/C1和(或)T/C0相关参数

备 注:本函数控制T/C1和T/C0,不需要使用的部分可用//屏蔽

//

void T_C_init (void){

TMOD = 0x11; //高4位控制T/C1 [ GATE,C/T,M1,M0,GATE,C/T,M1,M0 ]

EA = 1; //中断总开关

TH1 = 0xFF; //16位计数寄存器T1高8位(写入初值

TL1 = 0xFF; //16位计数寄存器T1低8位

ET1 = 1; //T/C1中断开关

TR1 = 1; //T/C1启动开关

//TH0 = 0x3C; //16位计数寄存器T0高8位

//TL0 = 0xB0; //16位计数寄存器T0低8位(0x3CB0 = 50mS延时)

//ET0 = 1; //T/C0中断开关

//TR0 = 1; //T/C0启动开关

}

//

/

函数名:定时/计数器1中断处理函数

调 用:[T/C1溢出后中断处理]

参 数:无

返回值:无

结 果:重新写入16位计数寄存器初始值,处理用户程序

备 注:必须允许中断并启动T/C本函数方可有效,重新写入初值需和T_C_init函数一致

//

void T_C1 (void) interrupt 3 using 3{ //切换寄存器组到3

TH1 = 0x3C; //16位计数寄存器T1高8位(重新写入初值)

TL1 = 0xB0; //16位计数寄存器T1低8位(0x3CB0 = 50mS延时)

//函数内容

}

//

/

函数名:定时/计数器0中断处理函数

调 用:[T/C0溢出后中断处理]

参 数:无

返回值:无

结 果:重新写入16位计数寄存器初始值,处理用户程序

备 注:必须允许中断并启动T/C本函数方可有效,重新写入初值需和T_C_init函数一致

//

void T_C0 (void) interrupt 1 using 1{ //切换寄存器组到1

TH0 = 0x3C; //16位计数寄存器T0高8位(重新写入初值)

TL0 = 0xB0; //16位计数寄存器T0低8位(0x3CB0 = 50mS延时)

//函数内容

}

//

举例解答如下:

利用定时器T1,对外部脉冲(P35引脚输入)计数,

每输入200次脉冲产生一次中断,累加器+1,

选用T1,计数器模式,方式2(自动重装初值8位计数器),

TMOD

=0110

0000B

=60H

计数初值

=2^8

-200

=256

-200

=56d

=38H,

汇编程序如下:

;

;

主程序:

MAIN:

CLR

A

;

;

累加器清零

MOV

TMOD,

#60H

;

;置T1计数模式、方式2

MOV

TL1,

#38H

;

;

写入计数初值

MOV

TH1,

#38H

;

;

写入留待自动重装的初值

SETB

TR1

;

;

启动T1计数

SETB

ET1

;

;

允许T1中断

SETB

EB

;

;

CPU开中断

SJMP

$

;

;

等待一轮对外部脉冲计数溢出中断

;

;

以下是T1中断处理子程序:

T1_INT:

INC

A

;

;

累加器加1

RETI

;

;

中断返回

以上就是关于单片机c51定时计数器汇编语言程序及解释全部的内容,包括:单片机c51定时计数器汇编语言程序及解释、用C51单片机统计脉冲次数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9392083.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存