1 XXXX 大学信息工程与自动化学院学生实验报告 ( 2 0 0 9 —2 0 1 0 学年 第 二 学期 ) 课程名称:单片机 开课实验室: 2010 年 5 月 14 日 年级、专业、班 学号 姓名 成绩 实验项目名称 定时器实验(十进制计数器) 指导 教师 教师评语 该同学是否了解实验仪器原理 A.了解[ ] B.基本了解[ ] C.不了解[ ] 该同学的实验能力 A.强[ ] B.中等[ ] C.差[ ] 该同学的实验是否达到要求 A.达到[ ] B.基本达到[ ] C.未达到[ ] 实验报告是否规范 A.规范[ ] B.基本规范[ ] C.不规范[ ] 实验过程是否详细记录 A.详细[ ] B.一般[ ] C.无[ ] 教师签名: 年 月 日 一.实验目的: 掌握定时器 T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二.实验原理: MCS-51 单片机内设置了两个可编程的 16 位定时器 T0 和 T1,通过编程,可以设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。 定时器 T0 由特殊功能寄存器 TL0 和 TH0 构成,定时器 T1 由TH1 和 TL1 构成,特殊功能寄存器 TMOD 控制定时器的工作方式,TCON 控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器 IP 中的相应位进行控制。定时器 T0 的中断入口地址为 000BH,T1的中断入口地址为 001BH。 定时器的编程包括: 1) 置工作方式。 2) 置计数初值。 3) 中断设置。 4) 启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常 数也 就 不同。 2 在编写中断服务程序时,应该清楚中断响应过程:CPU 执行中断服务程序之前,自动将程序计数器PC 内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A 和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC 使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0 和T1 对应的中断矢量地址分别为000BH和001BH。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继续执行。 因此,我们在编写中断服务程序时注意。 1.在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活...