您的位置:首页单片机51单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

单片机计数器功能实验程序

[日期:2008-05-23 ] [来源:net 作者:佚名] [字体: (投递新闻)

.实验要求

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

.实验目的

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

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

 


.实验电路及连线

 

源代码:

        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

阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐