单片机计数器实验代码c语言,单片机计数器功能实验程序

一.实验要求

8031内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。使用8031的T1作定时器,50ms中断一次,看T0内每0.50ms来了多少脉冲,将其数值按二进制数在74LS273驱动LED灯上显示出来,5秒后再次测试。

二.实验目的

1.学习8031内部定时/计数器使用方法。

2.进一步掌握中断处理编程方法。fe24781782e4e4b7d0147e6c1324fb58.png

三.实验电路及连线3a6be851ea20b21c85cdcc7db21d2b3f.png

源代码:

ORG     0000H

AJMP    START

ORG     000BH           ;T0中断入口地址

RETI

ORG     001BH           ;T1中断入口地址

AJMP    INT_T1

ORG     0040H

START:

MOV     SP,#60H

MOV     TMOD,#1DH       ;置T1为方式1

;置T0为方式1,计数方式,

;门控选通位有效

MOV     TL0,#0H         ;计数器清零

MOV     TH0,#0H

MOV     TL1,#32H        ;延时0.50mS常数

MOV     TH1,#0FEH

MOV     R0,#20          ;延时 5 秒常数

SETB    TR0             ;启动T0

SETB    ET0

SETB    TR1             ;启动T1

SETB    ET1

SETB    EA              ;开中断

SJMP    $

INT_T1:

PUSH    ACC

PUSH    PSW

CLR     TR1

MOV     TL1,#32H        ;延时0.50mS 常数

MOV     TH1,#0FEH

MOV     R1,TL0          ;保存计数值

MOV     R2,TH0

MOV     TL0,#00H        ;清计数器

MOV     TH0,#00H

SETB    TR1

DJNZ    R0,EXIT

MOV     R0,#20          ;延时 5 秒常数

MOV     DPTR,#8300H     ;LED地址

MOV     A,R1

MOVX    @DPTR,A         ;把计数值在LED上显示

EXIT:

POP     PSW

POP     ACC

RETI

END

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值