没有合适的资源?快使用搜索试试~ 我知道了~
中国石油大学 单片机原理与技术实验三 单片机定时器与中断实验
需积分: 5 0 下载量 110 浏览量
2024-11-11
04:54:37
上传
评论
收藏 69KB DOC 举报
温馨提示
该文件详细介绍了基于51单片机的定时器和中断编程实验,重点在于实现通过定时器和中断控制的LED灯闪烁与延时功能。文件内容包括程序起始地址定义、定时器和中断配置,以及关键寄存器(如TMOD、TH0、TL0、EA、ET0和TR0)的设置,旨在展示定时器的初始化和中断触发过程。此外,还介绍了外部中断的工作原理及其触发模式(低电平触发与负跳变触发),并通过代码注释阐释了每个步骤的作用。实验效果是让LED灯以预设的频率闪烁或来回切换,为学习者提供了关于51单片机定时器中断机制的基本应用示例。文件中的详细注释帮助学习者理解程序流转过程及中断处理机制,是单片机基础实验教学的有效参考资料
资源推荐
资源详情
资源评论
定时器中断 1
ORG 0000H ;起始地址
AJMP START ;跳转到 Start ,AJMP:跳转指令
ORG 000BH ;见附 2
AJMP TIME0 ;跳转到 TIME0,AJMP:跳转指令
ORG 30H ;防止程序崩掉加上 30H
START:
MOV P1,#0FFH ;
MOV TMOD,#00000001B ;见附一,选择计时器模式,这里选择了十六位定时器模式
/*
定时器配置
要使用定时器中断,分为两部分
(1)定时器
(2)中断
先看定时器
配置定时器
(1)首先要打开定时器的开关,TR0 是定时器 0 开关的名字,将 TR0 设置为 1,即将开关合上,定时器
供电工作(SETB TR0 就是将 TR0 设置为 1)
(2)打开开关之后,定时器有很多种模式,要选择其中的一种模式,TMOD 是一个八位的寄存器,他的
最后两位 0 和 1 的组合可以设定模式,其他位可以不用管,设置为零,最后两位值为 01 时,是选择十六
位定时器,所以为 TMOD 是 00000001,如选择十三位,最后两位就是 00,所以 TMOD 值就是 00000000
(3)设置完模式,需要允许定时器可以产生中断,ET0 是定时器 0 中断开关的名称,设置 ET0 为 1 即给
中断供电,令中断工作(SETB ET0)
(4)中断允许后,需要设定什么时候定时器产生中断,51 单片机晶振是 12M 赫兹,每一个机器周期就是
1us,所以 50000 个机器周期就是 50ms,所以设置初值为 50000,就是延时 50ms,2 的 16 次幂是
65535,计数器是设置 65535-50000 的值,所以是将 15535 转换为 16 进制,即 3CB0 H 送进计数器,但
计数器只有 8 位,无法放进 16 位,就把十六位分为两个八位,放入两个八位计数器存储(CH0(高八
位),CL0(低八位)),把十六位 3CB0 H 前面八位 3C 放入 TH0,后面八位 B0 放入 TL0 进行存储
*/
MOV TH0,#15H ;TH0 和 TL0 是一个十六位定时器的高八位(H)和第八位(L)
资源评论
超大青花鱼
- 粉丝: 133
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Spring Cloud商城项目专栏 049 支付
- sensors-18-03721.pdf
- Facebook.apk
- 推荐一款JTools的call-this-method插件
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功