返回首页
当前位置: 主页 > 定时器/计数器 >

编写单片机计数器程序对脉冲进行计数程序

时间:2009-07-09 21:01来源:未知 作者:牛牛 点击:
编写一段程序,功能要求为:当 P1.0 引脚的电平正跳变时,对 P1.1 的输入脉冲进行计数;当 P1.2 引脚的电平负跳变时,停止计数,并将计数值写入 R0 、 R1( 高位存 R1 ,低位存 R0) 。 解答:将 P1.1 的输入脉冲接入 INT0 ,即使用 T0 计数器完成对 P1.1 口的
编写一段程序,功能要求为:当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0R1(高位存R1,低位存R0)

解答:将P1.1的输入脉冲接入INT0,即使用T0计数器完成对P1.1口的脉冲计数。编写程序如下:

单片机

ORG       0000H 内容来自单片机之家www.dpj100.com

              LJMP      MAIN 单片机

              ORG       000BH 单片机

              LJMP      IT0P 单片机

MAIN:    JNB        P1.0,MAIN 单片机

MOV      TMOD,#05H  ;定时器/计数器T0为计数方式1

内容来自单片机之家www.dpj100.com

              SETB      TR0               ;启动T0,开始计数 单片机

              SETB      ET0               ;允许T0中断 单片机

              SETB      EA                 CPU开中断 内容来自单片机之家www.dpj100.com

WAIT:     JB           P1.2,WAIT 单片机

              CLR        EA

内容来自单片机之家www.dpj100.com

              CLR        TR0 内容来自单片机之家www.dpj100.com

              MOV      R1,TH0

单片机

              MOV      R0,TL0 单片机

       AJMP     $

单片机

IT0P:      INC        R2

内容来自单片机之家www.dpj100.com

              RETI

单片机

顶一下
(11)
68.8%
踩一下
(5)
31.2%
------分隔线----------------------------
推荐内容