教学科研

教学科研

当前位置: 学院首页 >> 教学科研 >> 正文

单片机实验指导——计数器实验..

发布日期:2012-09-05    作者:     来源:     点击:

计数器实验

一、实验目的

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

2.学习计数器各种工作方式的用法

二、实验说明

1、80C51内部有两个定时/计数器T0和T1,16位是指定时/计数器内的计数器是16位的,由2个8位计数器组成。本实验用的是T0,它的2个8位计数器TH0和TL0,TH0是高8位,TL0是低八位。所谓加法计数器,指其计数的方法是对计数脉冲每次加1。在其它单片机和可编程计数器芯片中,有的计数器是减法计数器,如8155的14位计数器,8253的16计数器,即先设置计数器的初值,然后对计数器脉冲每次减1,减到0,计数器溢出。而80C51内部的计数器是加法计数器,需先设置计数器的初值,本实验设置计数器初值为0,然后对计数脉冲每次加1,加到计数器满后溢出。

2、本实验中内部计数器起计数器的作用。外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。这就决定了输入波形的频率不能超过机器周期频率。

三、实验内容及步骤

1、使用单片机最小应用系统模块,用扁平数据线连接P0口与八位逻辑电平显示模块,T0端口接单次脉冲电路的输出端。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 计数器.ASM源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。连续按动单次脉冲的按键,8位发光二极管显示按键次数。

四、流程图及源程序

ORG    0000H

LJMP   START

ORG    0030H

START:MOV   TMOD,﹟00000101b        ;置T0计数器方式1

        MOV   TH0,  ﹟0               ;置T0初值

        MOV   TL0,  ﹟0

        MOV   TR0                      ;T0运行

LOOP:  MOV   P1,TL0                  ;记录P1口脉冲个数

        LJMP  LOOP                     ;返回

END     

五、思考题

1、80C51单片机的最高计数频率为多少?