本系列共6篇文章,本文作为本系列的第三篇文章,介绍实验三 :定时/计数器实验,本系列文章基于Dais-52PRO实验箱。

本系列文章链接:

-----------------------------------------------------------------------------

   51单片机汇编语言实验(一)-----数字量输入输出(附参考代码及注释)
   51单片机汇编语言实验(二)-----中断控制实验(附参考代码及注释)
   51单片机汇编语言实验(三)-----定时/计数器实验(附参考代码及注释)
   51单片机汇编语言实验(四)----串行通信实验(附参考代码及注释)
   51单片机汇编语言实验(五)-----A/D 0809模数转换和DA0832数模转换实验(附参考代码及注释)
   51单片机汇编语言实验(六)-----8255键盘与显示设计(附参考代码及注释)

-----------------------------------------------------------------------------

一、实验目的:

   学习定时/计数器的工作方式,掌握程序设计方法。

二、实验设备:

   PC计算机一台,Dais-52PRO+实验系统一套。

三、实验内容:

   1. 定时器实验
   2. 计数器实验

四、 定时器实验

   1、实验原理:
   使用T0进行定时,编写程序,使P1.0控制的发光二极管L0每隔2秒交替点亮或熄灭。
   2、实验步骤:
  ① 将试验箱IO区的P1.0与LED区的L0按图下图连线;
  ② 编写程序,经编译、链接无语法错误后装载到实验系统;
  ③ 运行程序,观察发光二极管L0,应每隔2秒交替点亮或熄灭;
  ④ 实验完毕后,应使用暂停命令中止程序的运行。
   3、参考代码:
//实验三    定时器实验
COUNT   EQU 8192-8000      ;8192213次方
LED     EQU P1.0
	
        ORG 0000H
        AJMP MAIN
        ORG 0100H
MAIN:   SETB TR0                          ;启动T0
        MOV R7, #250                ;定时计数初值
LOOP:   MOV TMOD,#00H    
        MOV TH0,#(COUNT/32)              ;定时初值 8MS
        MOV TL0,#(COUNT MOD 32)           ; MOD是取余数                            
        JNB TF0,$       ;等待8MS
        CLR TF0
        DJNZ R7,LOOP
        CPL LED                    ;    p1.0取反    
        SJMP MAIN
        END

五、计数器实验:

   1、实验原理:
   T0工作在方式2,即8位自动重装载,当溢出时自动将TH0装入TL0。编写程序,每按动5次单脉冲按钮,使发光二极管L0交替点亮或熄灭1次。
   2、实验步骤:
  ① 将试验箱IO区的P1.0与LED区的L0按下图连线;
  ② 将试验箱IO区的P3.4与脉冲区的SP按下图连线;
  ③ 编写程序,经编译、链接无语法错误后装载到实验系统;
  ④ 运行程序,每按动5次单脉冲按钮,L0交替点亮或熄灭1次;
  ⑤ 实验完毕后,应使用暂停命令中止程序的运行。
   3、参考代码:
//实验三    计数器实验
LED     EQU P1.0
        ORG 0000H
        AJMP MAIN
        ORG 0100H
MAIN:   MOV TMOD,#06H              ;T0计数方式2,自动重装
        MOV TH0, #251                  ;256-5
        MOV TL0, #251                   ;          
        SETB TR0        ;启动T0
LOOP:   JNB TF0,$       ;判T0溢出标志
        CPL LED
        CLR TF0
        SJMP LOOP
        END

    本文介绍的内容完整的工程文件我会放在附件里,需要者自取,放的时候都是免费,它会自己涨,链接失效或者需要的可以在评论区留言,我直接发给你。本文附件链接如下:

    51单片机汇编语言实验(三)-----定时/计数器实验(附参考代码及注释)附件链接
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐