单片机实验指导书(7)
发布时间:2021-06-06
发布时间:2021-06-06
单片机实验指导书
实验四 定时器计数器使用
一、实验目的
1.学习89C51内部定时计数器的使用和编程方法 2.进一步掌握中断处理程序的编写方法 二、实验说明
关于内部计数器的编程主要是定时常数(初值)的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序工作于方式1,即16位方式定时器, 定时器50mS中断一次, 所以定时常数的设置可按以下方法计算:
机器周期=12÷12MHz=1uS
定时常数(初值)=65536-50mS/1uS=15536=3CB0H。然后对50mS中断次数计数20次,就是1秒钟。 在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 三、实验内容及步骤
使P1.0所接发光二极管隔一秒点亮一次,点亮时间为一秒。
本实验需要用到单片机最小应用系统模块(F1区)和十六位逻辑电平显示模块(I4区)。 1.用导线将P1.0接到十六位逻辑电平显示的任意一只发光二极管上。
2.安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(USB线)。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后。 4.全速运行程序。
5.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。 四、实验框图以及参考程序
1.流程图