导航:首页 > 操作系统 > 51单片机定时器应用

51单片机定时器应用

发布时间:2023-05-20 14:42:38

⑴ 51单片机定时器的使用

51单片机定时器的GATE=1时,用外部INT0启动定时器,当INT0=0时,
定时器T1会停止计数,这个时候读取T1的值是可以计算出高电平的宽度的。

⑵ c51单片机的定时器计数器怎么用

//用定时器T0查询方式P0口8位控制LED闪烁
#include // 包含52单片机寄存器定义的头文件
#define uchar unsigned char
#define uint unsigned int
/**************************************************************
函数功能:主函数
**************************************************************/
void main(void)
{

TMOD=0x01; //使用定时器T0的模式1
TH0=(65536-50000)/256; //定时器T0的高8位赋初值
TL0=(65536-50000)%256; //定时器T0的高8位赋初值
TR0=1; //启动定时器T0
TF0=0; //溢出标志位 先清零
P0=0xff; //关闭LED灯
while(1)//无限循环等待查询
{
while(TF0==1)
{
TF0=0;
P0=~P0;
TH0=(65536-50000)/256; //定时器T0的高8位赋初值否则会从0开始计数
TL0=(65536-50000)%256; //定时器T0的高8位赋初值
}
}
}

⑶ 51单片机的定时器用作定时方式是

51单片机的定时器用作缓厅定时方式是一个时钟周期加1。根据查询相关公开信息显示,51单片机的定时器用作定时方式是由内部时钟频率定时,一个时钟周期加1。51单片机是对兼容英特尔8051指令系统的单片机的统称,51单片机广泛应用于家用电器、汽车激庆、工业测控、通信设备中,因为51单片机的指令系统、内部扰铅隐结构相对简单,所以国内许多高校用其进行单片机入门教学。

⑷ 51单片机汇编语言定时器的使用(中断方式)

(1)
COUNT_INTEQU30H
LEDVALUEEQU31H
ORG0000H
LJMPSTART
ORG001BH
LJMPTimer1Interrupt

START:
MOVSP,#60H
MOVCOUNT_INT,#0
MOVLEDVALUE,#01H
LCALLInitTimer1

LOOP:
MOVA,LEDVALUE
MOVP2,A
LJMPLOOP

InitTimer1:
MOVTMOD,#10H;定时器T1为工作方式1,产生50ms定时
MOVTH1,#3CH
MOVTL1,#0B0H
SETBEA
SETBET1
SETBTR1
RET

Timer1Interrupt:
PUSHDPH
PUSHDPL
PUSHACC
MOVTH1,#3CH
MOVTL1,#0B0H
;========================
INCCOUNT_INT
MOVA,COUNT_INT;每50ms加1,
CJNEA,#2,Timer1Interrupt_EXIT;100ms
MOVCOUNT_INT,#0
MOVA,LEDVALUE
RLA
MOVLEDVALUE,A
;========================
Timer1Interrupt_EXIT:
POPACC
POPDPL
POPDPH
RETI

END
(2)
COUNT_INT_LEQU30H
COUNT_INT_HEQU31H
LEDVALUEEQU32H
ORG0000H
LJMPSTART
ORG001BH
LJMPTimer1Interrupt

START:
MOVSP,#60H
MOVCOUNT_INT_L,#0
MOVCOUNT_INT_H,#0
MOVLEDVALUE,#01H
LCALLInitTimer1

LOOP:
MOVA,LEDVALUE
MOVP2,A
LJMPLOOP

InitTimer1:
MOVTMOD,#20H;定时器T1为工作方式2,产生250us定时
MOVTH1,#00H
MOVTL1,#06H
SETBEA
SETBET1
SETBTR1
RET

Timer1Interrupt:
PUSHDPH
PUSHDPL
PUSHACC
MOVTH1,#00H
MOVTL1,#06H
;========================
INCCOUNT_INT_L
MOVA,COUNT_INT_L;每250us加1,
CJNEA,#40,Timer1Interrupt_EXIT;250US*40=10ms
MOVCOUNT_INT_L,#0
INCCOUNT_INT_H
MOVA,COUNT_INT_H;每10Ms加1,
CJNEA,#10,Timer1Interrupt_EXIT;10ms*10=100MS
MOVCOUNT_INT_H,#0
MOVA,LEDVALUE
RLA
MOVLEDVALUE,A
;========================
Timer1Interrupt_EXIT:
POPACC
POPDPL
POPDPH
RETI

END

阅读全文

与51单片机定时器应用相关的资料

热点内容
米拍摄影哪个app好 浏览:88
天津致远曙光服务器云服务器 浏览:117
光子程序员怎么获得 浏览:535
中医诊断学第九版pdf 浏览:498
python集成包 浏览:305
如何用电脑解压缩文件 浏览:448
pubg用什么服务器 浏览:528
田汉pdf 浏览:663
记录仪如何安装安卓系统 浏览:594
python求灰度均值 浏览:756
c编译器是系统软件吗 浏览:695
获取服务器内网地址 浏览:536
新手妈妈如何带新生儿APP 浏览:158
java日程管理 浏览:377
高清视频链接加密 浏览:407
新买的阿里云服务器怎么配置 浏览:612
在线编译器为什么刷新还在 浏览:213
云服务器系统盘可以装数据库 浏览:908
php绘制图形 浏览:589
支付服务器异常怎么办 浏览:77