实验四 定时器

一、实验目的
1、理解单片机内部定时器的工作原理及使用方法
2、了解单片机定时中断程序的编写和调试方法
3、掌握定时器的基本使用方法
二、实验设备(仪器)
PC 微机一台
三、实验原理
1、 单片机定时器的工原理
MCS-51 单片机内部有两个16 位可编程的定时器/计数器T0 和T1。它们即可用作定时器方式,又可用作计数器方式。其中T0 由TH0 和TL0 计数器构成;T1 由TH1 和TL1 计数器构成。
工作于定时器方式时,通过对机器周期(新型51单片机可以对振荡周期计数)的计数,即每一个机器周期定时器加1,来实现定时。故系统晶振频率直接影响定时时间。如果晶振频率为12MHZ,则定时器每隔(1/12MHZ)×12=1us 加1。
工作于计数器方式时,对P3.4 或P3.5 管脚的负跳变(1→0)计数。它在每个机器周期的S5P2 时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数器加1。因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。
特殊功能寄存器TMOD 用于定时器/计数器的方式控制。高4 位用于设置T1,低4 位用于设置T0。如图4-7所示。

图4-7 定时器模式控制字格式
TCON 寄存器用于定时器的计数控制和中断标志。如图4-8所示。

图4-8 定时控制寄存器数据格式
编写程序控制这两个寄存器就可以控制定时器的运行方式。
单片机内部定时器/计数器的使用,简而概之:(1)如需用中断,则将EA和相关中断控制位置1;(2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TR0或TR1置1。(4)如使用中断,则计数溢出后硬件会自动转入中断入口地址;如使用查询,则必须对溢出中断标志位TF0或TF1进行判断。
四、实验内容及步骤

编写一个秒表程序,秒表有两个开关,其一为复位开关,其二为计数启停开关。
1、用Protues设计出外部中断计数器的电路原理图,单片机选用AT89C51,P2口接LED字段a~h,P1口接位选,INTO与INT1接单次脉冲输出端。
2、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着编写外部中断计数器.ASM源程序,进行编译,直到编译无误,生成HEX文件。
3、将HEX文件上载到Protues电路原理图的AT89C51中,并仿真成功。
4、实验电路功能,按动计数启停开关,控制秒表启停;按动复位开关,秒表显示清零。2个LED数码管(个位与十位)显示秒表值。

五、proteus工程原理图

实现功能
<1>按下计数启停开关,实现计数或计数暂停

<2>按下复位开关,计数清零

源代码

ORG  0000HLJMP   STARTORG        0003H                   ;外部中断0入口向量  LJMP    INT_E0ORG       000BH                   ;定时器0中断入口LJMP   INT_T0ORG       0013H                   ;外部中断1入口向量  LJMP    INT_E1
START:  SETB EX0                        ;中断工作方式设置SETB IT0SETB ET0           SETB EX1                        ;中断工作方式设置MOV    TMOD,#01H                   ;设置定时器0工作方式MOV  TH0,#60                     ;定时50毫秒(12M时钟)MOV     TL0,#176    MOV     R0,#00HMOV  R1,#00HMOV  R2,#00H SETB    EA
DISP:MOV DPTR,#TABLECJNE R0,#20,LED1INC R1MOV R0,#00H
LED1:       ;显示第一位CJNE R1,#0AH,LED1_DISPINC R2MOV R1,#00H
LED1_DISP:      MOV A,R1MOVC A,@A+DPTR MOV P2,#01HMOV P1,ALCALL DELAY
LED2:              ;显示第二位CJNE R2,#0AH,LED2_DISPMOV R2,#00H
LED2_DISP:MOV A,R2MOVC A,@A+DPTR MOV P2,#02HMOV P1,ALCALL DELAYLJMP   DISP
DELAY:MOV R7,#0FFHDJNZ R7,$RET
INT_E0: CPL TR0                         ;定时器开/关转换RETI       INT_T0:     INC R0MOV   TH0,#60                     ;定时50毫秒MOV  TL0,#176                    RETI
INT_E1: MOV R0,#00HMOV R1,#00HMOV R2,#00HCLR TR0RETI
TABLE:      DB  3FH,06H,5BH,4FH,66HDB   6DH,7DH,07H,7FH,6FHEND

工程文件:
https://download.csdn.net/download/qq_42253057/18810276

【单片机】实验四定时器相关推荐

  1. 定时器循环彩灯实验c语言,单片机实验6__定时器控制循环彩灯实验.doc

    华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验六 定时器控制循环彩灯 姓 名 陈 建 泽 日期 2010.11.4 一.实验目的 1.学习89 ...

  2. 定时器实验循环彩灯C语言,单片机实验6__定时器控制循环彩灯实验.doc

    华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验六 定时器控制循环彩灯 姓 名 陈 建 泽 日期 2010.11.4 一.实验目的 1.学习89 ...

  3. 定时器实验循环彩灯C语言,单片机实验三-定时器实验

    实验三 定时器实验 --循环彩灯实验 一. 实验目的 1. 学习8051内部计数器的使用和编程方法. 2. 进一步掌握中断处理程序的编写方法. 二. 实验原理 1. 定时常数的确定 定时器/计数器的输 ...

  4. 单片机实验四(电子琴自动演奏)

    一.实验设备 PC机一台.实验箱一台. 二.实验内容 实现电子琴功能,自动演奏歌曲<葫芦娃>片段,并设置两个按键来实现歌曲的"暂停"和"开始/停止" ...

  5. 51单片机实验——用定时器0实现流水灯,要求每个led轮流显示1s。

    1.实验题目: 用定时器0实现流水灯,要求每个led轮流显示1s. 2.KEIL代码 #include<reg51.h> void main() {TMOD &=0X0F;TMOD ...

  6. 单片机实验四-七段数码管及键盘控制

    动态显示0-15 ORG 0100HLCALL INIT START:MOV P1,#00H ;控制哪个7段数码管显示MOV R0,#16MOV R1,#30H;LOOP0:MOV P2,@R1;IN ...

  7. c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...

    C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟 学 号: 班 级: 自动化10班 姓 名: 张 指导老师: 胡 2012.12 单片机核心板实验要求 流水灯实验 实验目的: 简单I/O引 ...

  8. 51单片机实验 LED半秒闪烁 定时器0方式2 中断实现

    51单片机实验 LED半秒闪烁 定时器0方式2 中断实现 实验目的: P1.0接一个发光管,实现亮半秒灭半秒, 要求使用定时器0工作方式2,中断实现. C语言代码: #include "at ...

  9. 单片机实验说明<四>矩阵键盘与LCD基本使用

    实验四 矩阵键盘识别设计 设计要求: 对4×4矩阵式键盘电路的键值进行编码,编程实现在LCD液晶显示器上显示每个按键的"0-F"序号 电路设计: 软件代码: #include &q ...

最新文章

  1. 好想自己做个迷宫呀!
  2. 基因组行业重大事件介绍
  3. HDU 1398 Square Coins
  4. 蓝桥分酒java_[蓝桥杯][java]海盗分酒
  5. 用神经网络构造一个基于分类的多体系统
  6. Activity 中的Toast在Activity销毁后报错,解决方法,把context改成应用的
  7. 牛客多校10 - Decrement on the Tree(边权转点权+思维)
  8. el-jy-ii计算机组成原理实验报告,EL-JY-II型计算机组成原理实验系统
  9. opecv-putText
  10. Visio 2010导入中UML2.2模板说明
  11. 神经网络的5个应用场景,人工神经网络应用场景
  12. 寄给你全宇宙的爱和自太古至永劫的思念
  13. Dom及JavaScript图片库
  14. 基于RSA+AES 软件授权License
  15. PayPal 全攻略
  16. 深度解析ConcurrentHashMap
  17. 正则表达式大写转小写
  18. Numpy库基础知识与常用方法
  19. 道高一尺魔高一丈:iOS破解应用下载中心AppTrackr VS. 苹果
  20. K-S Hamiltonian以及自洽计算形式

热门文章

  1. 小觅深度版-realsense系列,深度相机对比
  2. java中tostring是什么_java中toString()方法有什么用法
  3. 华为Atlas 部署YOLOV5
  4. 室内导航技术对线下购物的帮助
  5. python判断构成三角形_python_判断构成三角形
  6. 英文网站SEO站内优化方法
  7. 5.gstreamer RTSP硬件解码播放器
  8. 表达式引擎Mvel详解与实战
  9. 高通平台WIFI-如何检查WFD Connect timeout issue
  10. 边缘控制器python_什么是边缘控制器?是IPC+PLC+网关吗?今天就用一个实物来讲解!...