没有合适的资源?快使用搜索试试~ 我知道了~
单片机实验报告(1).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
18 浏览量
2022-06-22
01:15:40
上传
评论
收藏 209KB DOCX 举报
温馨提示
单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx单片机实验报告(1).docx
资源推荐
资源详情
资源评论





















实验二、中断实验――中断优先级控制及中断保护
一、实验目的
、掌握单片机中断机制。
、熟悉中断的应用和编程。
二、实验设备
、 仿真器;
、 单片机最小系统;
、 发光二极管阵列显示模块;
、 独立式键盘模块。
三、实验要求
连接单片机最小系统和发光二极管阵列的电路并编写程序,学习单片机中断机制,及中
断优先级和中断保护的方法:
(),在平时状态下,发
使用独立式按键 连接 (),按键 连接
光二极管行以 的时间间隔,依次点亮。键按下时 中断处理程序点亮 对
应的发光管 秒钟,其他发光管熄灭;键按下时 对应发光管点亮 秒,其他发光管
熄灭。
四、实验原理
通常一个微处理器读取外围设备 如键盘等的输入信息的方法有轮询 及中断
两种。轮询的方法是 依照某种既定法则,依序询问每一外围设备 /是否
需要服务,此种方法 需花费一些时间来做询问服务,当 /设备增加时,询问服务时
间也相对增加,势必浪费许多 时间,降低整体运行的效率。使用中断是一个较好的解
决方法。使用中断使系统对外部设备的请求响应更加灵敏,并且不需要占用 的时间进
行轮询。但是,当使用中断,特别是有多个中断嵌套时要特别注意内存单元的保护。
中断结构
当中断发生后,程序将跳至对应中断入口地址去执行中断子程序,或称中断服务程序
!",这些特殊的地址称为中断向量,例如当 外部中断 发
生时,会暂停主程序的执行,跳至地址 #去执行中断服务程序,直到 "$指令后,才
返回主程序继续执行。%&系列的程序内存中有 '个矢量地址,叙述如下:
()#复位
当第 (脚 "$$为高电平,会跳至地址 #处开始执行程序,亦即程序一定要从

地址 #开始写起。
()#外部中断
当 引脚由高电位变至低电位(跳沿触发方式)或采样到是低电位(电平触发方式)
时,会接受外部中断 ,并跳至地址 #处去执行中断子程序。
())#定时器*计数器 中断
当 接受定时器/计数器 中断置位而产生中断要求时,会跳至地址 )#处去执行
中断子程序。
()#外部中断
当 引脚由高电位变至低电位(跳沿触发方式)或采样到是低电位(电平触发方式)
时,会接受外部中断 ,并跳至地址 #处去执行中断子程序。
())#定时器/计数器 中断
当 接受定时器/计数器 中断置位而产生中断要求时,会跳至地址 )#刻去执行
中断子程序。
(+)#串行中断
当串行端口传送数据或接收数据完毕时,会接受串行中断,并跳至地址 #处去
执行中断子程序。
('))#定时器/计数器 中断
此中断仅 系列才有。当 接受定时器/计数器 产生中断要求时,会跳至地址
)#处去执行中断子程序。
,
低优先级
高
-
,
-
"
-
$,-
低
图 %内部中断机制
.中断使能位
针对中断提供两层使能,第一层为 $.全局使能控制,第二层为分别控制 $,,
$、$,、$、$、$。当 在复位状态时,寄存器的各个中断使能位都预设为“”,
即所有中断都禁止,故欲允许中断时,应先使能相对应的中断。当中断产生后,中断状态会
记录于定时器/计数器控制寄存器/",和串口口控制寄
存器 的中断请求标志"/ 01中,当标志被置位,表示中断已发生。由

图 可知,当外部中断或定时器 、定时器 中断发生时,都可以判别是哪种中断。
因此当这四个中断发生时,中断服务程序被执行后, 会主动清除中断请求标志,对于
其他的中断,由于 无法判别,因此中断请求标志需由程序指令来清除。
欲设定中断使能与否,必须设置中断使能寄存器 $$12",其位地址
.#,是一个可位寻址的寄存器。
.中断保护
由于各个中断入口间仅有 个字节,一般情况下难以安排下一个完整的中断服务程序。
因此,通常总是在重点入口地址处放置一条无条件转移指令,使程序转向在其他地址存放的
中断服务程序。当执行新的中断服务程序时,注意不可以破坏旧有的数据和状态,因此在编
写时还要注意保护现场,主要是各个寄存器的值。通常会被更改的数据如 .、3等,
可以利用堆栈在执行中断服务程序之前就将其 # 起来,待执行结束后再将相关寄存器
即可。另外,因为 可任意选择四个工作寄存器区中的一组工作寄存器,所以利用
选择不同寄存器区的方式亦可达到数据保存的目的。
.中断优先级
对于各种中断优先权采用双层结构,首先对于优先权可由中断优先权寄存器
4设定该中断为高优先权或低优先权,高优先权可以中断低优先权,反之
不行。当同一时间同一级别的多个中断请求是,则按自然优先级顺序相应中断。
寄存器:
, ,
%) 5)
,6,7外部中断 ,的中断优先级控制;&8高优先级,&8低优先级。
67定时器*计数器 ,的中断优先级控制;
7串行口中断优先级控制。
中对应位全为零时,按照片自然优先级来顺序响应中断:
中断源
外部中断
高
定时器*计数器
外部中断
定时器*计数器
串行口中断
低
五、实验步骤
本实验将练习使用 ,
的中断,利用按键来触发外部中断的发生。并通过两
个中断先后到达的方法,来学习中断优先级的意义与控制。
、电路说明
在图 中,主程序执行时,单片机端口 所接的 5$9由 .'至 .一次一颗循
环点亮。当外部中断 产生后,执行该中断子程序,此时 对应的二极管亮,其他二极
剩余13页未读,继续阅读
资源评论


apple_51426592
- 粉丝: 8870
- 资源: 9667
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- allegro 免费review 版本
- lstm用电量预测.rar
- cuda-12.2.2-windows-network.exe
- GJB 128B-2021《半导体分立器件试验方法》.zip
- JS+CSS+HTML实现选项卡切换功能 切换选项卡,两种切换方式,一种是单击切换选项,一种是鼠标滑动切换,通过参数来控制,切换
- Monster 代码,欢迎关注
- Python 面试题目大全2
- Vue进阶面试题,源码解读,含Vue3源码解读.zip
- vue+vant面试题库移动端.zip
- frontinterview前端面试题基础,进阶,react,vue,node,小程序,前端算法,安全,常考面试题.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
