嵌入式定时器实验.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式定时器实验

昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 — 2014 学年 第 2 学期 ) 课程名称:嵌入式技术及应用 开课实验室:信自楼504 2014年5月 9 日 年级、专业、班 2011级 计科111 学号 201110405138 姓名 成绩 实验项目名称 定时器实验(十进制计数器) 指导教师 江虹 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 教师签名: 年 月 日 实验目的 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 实验原理 89C51单片机有五个中断源(89C52有六个),分别是外部中断请求0、外部中断请求1、定时器/计数器0溢出中断请求、定时器/计数器0溢出中断请求及串行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器TCON和SCON中。当中断源请求中断时,相应标志分别由TCON和SCON的相应位来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。在同一优先级别中,靠内部的查询逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。 中断的控制用四个特殊功能寄存器IE、IP、TCON (用六位)和SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。 中断程序由中断控制程序(主程序)和中断服务程序两部分组成: 1)中断控制程序用于实现对中断的控制; 2)中断服务程序用于完成中断源所要求的中断处理的各种操作。 C51的中断函数必须通过interrupt m进行修饰。在C51程序设计中,当函数定义时用了interrupt m修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按MCS-51系统中断的处理方式自动把它安排在程序存储器中的相应位置。 实验内容 在实验板上完成如下功能: 用定时器T0的方式1,实现第一个发光二极管以200ms的间隔闪烁; 用定时器T1的方式1,实现数码管前两位59s循环计时。 实验板数码管电路原理如图1所示。 计算初值公式 定时模式1 th0=(216-定时时间) / 256 tl0=(216-定时时间) % 256 图1 LED数码管电路原理图 实验步骤 1、 按实验要求在KeilC中创建项目,编辑、编译程序。 2、 将编译生成的目标码文件(后缀为.Hex)下载到实验板电路中。 3、 在实验板中运行程序,观察实验运行结果并记录。 1.实验原理补充: 89C51的定时计数器的结构及工作方式 2.工作方式 定时器方式: 设置为定时工作方式时,定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C5l采用12MHz晶体时,一个机器周期为1μs,计数频率为1MHz。 计数器方式: 设置为计数工作方式时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时,计数器的值加1。在每个机器周期的S5P2期间采样T0或T1引脚的输入电平,若前一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的数值装入计数器。所以,检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。 除了可以选择定时器或计数器工作方式外,每个定时器/计数器还有四种工作模式,也就是每个定时器可构成四种电路结构模式。其中,0~2模式对T0和T1都是一样的,模式3对两者是不同的。 定时器共有两个控制字,由软件写入TMOD和TCON两个8位寄存器,用来设置T0或T1的操作模式和控制功能。当89C51系统复位时,两个寄存器所有位都被清0。 MODE 0工作方式(Timer 0为例) 3.实验代码: #includereg52.h #define uint unsigned int #define uc

您可能关注的文档

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档