C51单片机定时器及数码管控制实验报告材料2930.pdf





《C51单片机定时器及数码管控制实验报告材料2930.pdf》由会员分享,可在线阅读,更多相关《C51单片机定时器及数码管控制实验报告材料2930.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用文档 昆明理工大学信息工程与自动化学院学生实验报告(201 201 学年 第 1 学期)课程名称:单片机技术 开课实验室:年 月 日 年级、专业、班 学号 姓名 成绩 实验项目名称 定时器及数码管控制实验 指导教师 教 师 评 语 该同学是否了解实验仪器原理:A.了解 B.基本了解 C.不了解 该同学的实验能力:A.强 B.中等 C.差 该同学的实验是否达到要求:A.达到 B.基本达到 C.未达到 实验报告是否规范:A.规范 B.基本规范 C.不规范 实验过程是否详细记录:A.详细 B.一般 C.没有 注:5 个 A 为优 4 个 A 为良 3 个 A 为及格 其余为不及格。教师签名:年
2、月 日 实用文档 一、实验目的 1 掌握定时器 T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。2 掌握 LED 数码管动态显示程序设计方法。二、实验原理 1 89C51 单片机有五个中断源(89C52 有六个),分别是外部中断请求 0、外部中 断请求 1、定时器/计数器 0 溢出中断请求、定时器/计数器 0 溢出中断请求及串 行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器 TCON 和 SCON 中。当中断源请求中断时,相应标志分别由 TCON 和 SCON 的相应位 来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先
3、级或低优 先级中断,可以实现二级中断服务程序嵌套。在同一优先级别中,靠内部的查询 逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。中断的控制用四个特殊功能寄存器 IE、IP、TCON(用六位)和 SCON(用二位),分别用于控制中断的类型、中断的开关和各种中断源的优先级别。中断程序由中断控制程序(主程序)和中断服务程序两部分组成:1)中断控制程序用于实现对中断的控制;2)中断服务程序用于完成中断源所要求的中断处理的各种操作。C51 的中断函数必须通过 interrupt m 进行修饰。在 C51 程序设计中,当函数定 义时用了 interrupt m 修饰符,系统编译时把对应函数转化为中
4、断函数,自动加 上程序头段和尾段,并按 MCS-51 系统中断的处理方式自动把它安排在程序存储 器中的相应位置。在该修饰符中,m 的取值为 031,对应的中断情况如下:0外部中断 0 1定时/计数器 T0 2外部中断 1 3定时/计数器 T1 4串行口中断 5定时/计数器 T2 其它值预留。89C51 单片机内设置了两个可编程的 16 位定时器 T0 和 T1,通过编程,可以 设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。2 定时器 T0 由特殊功能寄存器 TL0 和 TH0 构成,定时器 T1 由 TH1 和 TL1 构成,特殊功能寄存器 TMOD 控制定时器的工作方式
5、,TCON 控制其运行。定时器的中断 由中断允许寄存器 IE,中断优先权寄存器 IP 中的相应位进行控制。定时器 T0 的中断入口地址为 000BH,T1 的中断入口地址为 001BH。定时器的编程包括:1)置工作方式。2)置计数初值。3)中断设置。实用文档 4)启动定时器。定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常 数也就不同。3单片机的拉电流比较小(100200uA),灌电流比较大(最大是 25mA,一般不 能超过 10mA),不能直接驱动数码管,需要扩流电路。可以用三级管来驱动,但 是 51 单片机只有 32 个 I/O 口,可能需要外接多种器件,I/O 口是不够
6、用的。故可选用 74HC573 锁存器来解决这个问题,开发板上数码管的硬件设计电路图,如图 1 所示。TX-1C 实验开发板用两个 74HC573 锁存器(输出电流较大,接口简单),通 过 P0 口控制六个数码管的段选及位选,其中 P2.6 控制锁存器 U1(DULA),P2.7 控制锁存器 U2(WELA)。单片机控制锁存器的锁存端,进而控制锁存器的输出,这种分时控制的方法可方便地控制任意数码管显示任意数字。图 1 LED 数码管电路原理图 三、实验内容 利用动态扫描和定时器 1 在数码管上显示出从 765432 开始以 1/10 秒的速 度往下递减直至 765398 并保持显示此数,与此同
7、时利用定时器 0 以 500MS 速度 进行流水灯从上至下移动,当数码管上数减到停止时,实验板上流水灯也停止 然后全部开始闪烁,3 秒后(用 T0 定时)流水灯全部关闭、数码管上显示出“HELLO”。到此保持住。实用文档 计算初值公式 定时模式 1 th0=(216-定时时间)/256 tl0=(216-定时时间)%256 四、实验步骤 1、按实验要求在 KeilC 中创建项目,编辑、编译程序。2、将编译生成的目标码文件(后缀为.Hex)下载到实验板电路中。3、在实验板中运行程序,观察实验运行结果并记录。五、实验结果 开始时数码管的数字是765432,随后是765429,流水灯显示的是第一个灯
8、,实验结果如下图所示:实用文档 当数码管显示765406 时,流水灯显示是第六个灯,实现现象如下图所示:当数码管显示765398 时,流水灯显示的是第七个灯,由于LED 灯变化快,难以捕捉到此时刻,以下图片是随后LED 闪烁,数码管保持765398 的现象:实用文档 最后流水灯全部关闭,数码管显示HELLO 字样的现象:六、心得体会 通过这次实验,巩固了流水灯的操作,在此之上,加深了八段数码管的动态显示的理解,对定时器中断的理解和运用,虽然在实验的的过程中遇到了各种各样的问题,但是在老师和同学们的帮助下,我失算顺利的完成了这次实验,为后续的学习打下了坚实的基础。七、思考 1若用定时器 1 方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 定时器 数码管 控制 实验 报告 材料 2930

限制150内