c语言 读书报告心得,单片机读书报告共10篇.doc

单片机读书报告(共10篇)

:单片机 报告 读书 单片机报告册纸张图片 单片机原理及应用 stm32单片机和51的区别

篇一:单片机读书报告

专业读书课程——读书心得

——读《PIC单片机入门与实战》有感

课程名称:

院 系:班 级:姓 名:学 号:指导教师:阅读

分 数: 单片机原理与接口技术

一、 读书目的

《PIC单片机入门与实战》这本书与课本非常贴近,在内容上既相互联系又有不同的侧重,通过阅读这本书,可以和课本相互印证并补充学习的遗漏,加强对PIC单片机的认识,加深对课本内容特别是对中断机制、定时器TMR0和数/模转换模块及其使用这部分内容的理解。

二、 读书内容

中断机制 ————————————————————— 39页到 46页; 定时器TMR0 —————————————————— 192页到205页; A/D转换模块及其使用 —————————————— 221页到257页。

三、 心得体会

PIC16F877单片机的中断逻辑

计算机所执行的主程序是按照实际需要预先编制好的,其过程和结果是可以预见的。但计算机在执行主程序的过程中,可能临时有非常紧急或必须完成的程序需要去执行,这种突发事件是不可预见的,不知它将在什么时候发生。这时就需要针对这种突发事件有一个特定的机制去告诉计算机在这个时候去做什么和怎么去做,而且不能对正在执行的主程序有影响和在完成突发事件后应该继续执行主程序,这种特定的机制就是中断机制。中断机制是PIC中档系列单片机的一

个重要的性能提升,是可以提高计算机工作效率的一项重要功能,其功能的强弱直接标志着系统结构的好坏。

由课本和《PIC单片机入门与实战》中的关于中断的描述并结合老师的讲解我总结出中断的一般过程:

(1)总中断使能位GIE处于置位状态;

(2)中断源发出中断请求,即使中断标志位IF置位;

(3)单片机查询中断标志位,若相应的中断使能位IE处于置位状态,则系统响应中断(GIE是总开关,IE是分开关,只有GIE和IE同时置位,系统才可能响应中断);

(4)若系统响应中断,则会将当前程序计数器PC的值进行压栈,存在堆栈栈顶;

(5)计算机硬件将总中断使能位GIE和中断标志位IF清零(这样其他中断请求就暂时不会被响应);

(6)程序计数器PC加载中断矢量0x0004;

(7)对工作寄存器W、状态寄存器STATUS和寄存器PLATH以及其他寄存器进行保护;

(8)执行中断程序;

(9)对工作寄存器W、状态寄存器STATUS和寄存器PLATH以及其他寄存器进行恢复;

(10)中断返回,总中断使能位GIE重新置位;

(11)堆栈自动弹出栈顶的原PC值到PC指针中,主程序继续执行。

能使PIC单片机发生中断的中断源有很多,但中断入口却只有一个即0x004处。这是多对一的关系,若是多个中断一起执行就会造成混乱,此时就需要设置中断的优先级别,使其变成一对一,按优先级别响应,优先级高的先响应。前面说了中断程序不能影响主程序运行,那该怎么做呢?显然,我们应该设计一个程序在中断程序执行前将主程序的数据保护起来,而且在中断程序结束后还要再将其恢复过来。我认为这个过程应该是中断程序中最重要的,弄好了这个程序才不会影响主程序和中断程序的运行。前面的(7)和(9)分别对应的就是中断现场的保护和恢复。

因为PIC单片机中没有任何指令可以操作堆栈,堆栈区的作用只是保存PC指针的值,当发生中断时,当前PC值会压栈保存在栈顶,原栈顶及其以下单元

会顺序下移,最后一个单元被抛弃;中断结束,从堆栈中弹出栈顶的值即原PC的值到PC指针中,程序从中断处继续执行。既然堆栈不能保护普通寄存器,那么就只能将这些寄存器的内容复制到其他地方做一个备份,在中断结束后再将这些已备份的内容复制回原相应的寄存器,以达到保护作用。W和STATUS寄存器是在中断服务程序中一定会被用到的,因此必须被保护;对于程序超过一个页面的PCLATH寄存器也必须被保护。

由于W寄存器在数据传输中会被用到,所以要首先保护它,其次是STATUS寄存器,再后是PCLATH寄存器,最后是才是其他需要保护的寄存器。那么将这些寄存器备份到哪里呢?在课本第29页有一个表,即PIC16F877单片机的RAM数据存储器表,在这个表中 体0 一列中地址0x70~0x7F这16被叫做快速存取单元,这16个地址单元无论当前体设定在哪里,单片机指令都能正确找到,那么这就是对寄存器备份的最好的地方,因为这里找起来既快又方便。

在中断现场的恢复时,寄存器的恢复顺序基本与中断现场保护时相反:先恢复其他寄存器,然后依次是PCLATH寄存器、STATUS寄存器,最后是才是W寄存器。在在恢复W寄存器时要注意不能使用M

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值