第一范文网 - 专业文章范例文档资料分享平台

单片机-定时器实验

来源:用户分享 时间:2025/6/4 3:59:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

安徽文达信息工程学院学生实验报告

学年第学期 课程名称《单片机原理与应用》实验日期: 班级 姓名 指导老师: 学号 成绩: 院部 实验项目名称: 实验五.定时器实验 实验类型: 编程仿真 一、【实验目的】

1.掌握单片机内部计数器的使用和编程方法; 2. 掌握中断处理程序的编程方法。

二、【实验原理及内容】

80C51 单片机内设置了两个可编程的 16 位定时器 T0 和 T1,通过编程,可以 设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。

定时器 T0 由特殊功能寄存器 TL0 和 TH0 构成,定时器 T1 由 TH1 和 TL1 构成, 特殊功能寄存器 TMOD 控制定时器的工作方式,TCON 控制其运行。定时器的中断由中断允许寄存器 IE,中断优先权寄存器 IP 中的相应位进行控制。定时器 T0 的中断入口地址为 000BH,T1 的中断入口地址为 001BH。 定时器的编程包括: 1) 置工作方式。 2) 置计数初值。 3) 中断设置。

三、【实验器材】

1. PC机

2. Proteus仿真软件 3. Keilc51仿真软件

四、【实验步骤】

1.假设系统时钟为12MHz,设计电路并编写程序实现从P1.0引脚上输出一个周期为2ms的方波,如下图。

原理图见上图。

2、扩展实验

利用中断函数改写一下程序,实现40ms的周期方波。

五、【实验过程原始记录】(可附页)

基础实验代码: #include sbit P1_0=P1^0; void main(void) { TMOD=0x01; TR0=1; while(1)

{

TH0=0xfc; TL0=0x18; do{}while(!TF0); P1_0=!P1_0; TF0=0; } }

扩展实验代码: #include sbit P1_0=P1^0; void main(void) {

TMOD=0x01; TR0=1; IE=0x82; TH0=0xb1; TL0=0xe0; while(1); }

void int0() interrupt 1{ TH0=0xb1; TL0=0xe0; P1_0=!P1_0; }

六、【实验结果分析】

实验符合预期结果。本次实验虽然较之前的代码稍微简单,但在实验过程中仍出现很多失误,如初值计算错误(错误使用了整个周期40000作为等式右边的结果,实际应为20000),还有就是中断号开始使用的是0(定时/计数器0对应的中断号为1),导致方波无法正确显示,以后在实验中需要更加细心。

教师评语:

搜索更多关于: 单片机-定时器实验 的文档
单片机-定时器实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9emqd3if4s6cyp27lz4y3h0qq02ukg01bt1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top