导航:首页 > 操作系统 > 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 浏览:189
静态面向对象编程语言 浏览:902
炒股密码pdf 浏览:661
差分算法有哪些 浏览:563
佳明怎么配对安卓 浏览:245
用什么app校对试卷 浏览:101
基于单片机的光控路灯 浏览:33
为什么说安卓平板适配的软件少 浏览:680
三国志下载pdf 浏览:689
为什么单片机c语言 浏览:429
算法一定有一个或多个输入 浏览:252
浪潮服务器贵州销售云主机 浏览:850
amdlinux显卡安装 浏览:572
泰海科技云服务器如何卸载 浏览:125
有密码打开excel加密 浏览:823
java生成重复字符 浏览:284
串口服务器有什么用 浏览:330
linux安装red5 浏览:295
单片机中断时入口地址作用 浏览:150
程序员的工作是重复性的吗 浏览:69