我与单片机的日子——(四)
2015-09-25 12:27
169 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/q312828381/article/details/48731811
中断简单涉水
这个隔的时间有点长了,这次接触的中断的概念难度确实稍微有点高,单是运行方式就研究了好久。其实最后我也没有搞定,不过是终于会编写定时器0的工作方式1而已。然后再总结一下我所学到的。
1.中断概念
中断就是在一定条件下,主进程暂停,然后执行interrupt工作组(应该是这么说吧)。其中有个多线程,就是计数器是单独的线程,和主程序一起进行。就我所学到的来看,定时计数器的工作原理是:有一个储存空间,每13个时钟周期,储存空间的数值加一,加满之后向一个特殊的位置进一,那个位置一旦为高电平,马上CPU中断。
2.基本电路
定时计数器的电路特别复杂,我真的不能分析出来,锁以也只能稍微详细的说一说内部工作情况。首先对于定时寄存器,有中断控制寄存器,专门给控制定时器的可用与否,EA为高,ET0为高。但是光可用还不够,还有专门确定定时器工作方式的工作方式寄存器TMOD,如果是我所说的工作方式,那就给它赋值0x01。给TR0为高电平,则定时器开启。这个时候TH0于TL0开始计数。当然,我们可以人为设置初始数值,这样可以控制时间。比如我要计时1s,因为大概是0.000001s计数一次(可以计算),则要计数1000000个数,但是TH0和TL0最多一次计数65536个数,解决的办法计时可以分100次计数,每次记录10000个数,则可以计算赋的初值为(THO=(65536-10000)/256,TL0=(65536-10000)%256).定时器开始工作后,当中断开始,就进入中断服务。一般中断服务有特别的函数,函数后面带后缀interrupt 1.
相关文章推荐
- 2010年单片机比赛的日子
- 比较单片机普通引脚操纵HC595和STM32中SPI通信操纵HC595
- MCS-51 8位单片机(80C,87C/31,51,52,54,58)
- 单片机读取EEPROM(AT24C02)
- 习题 9.2 写一个函数days, 实现第1题的计算。由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。
- 单片机系统中的汉字显示
- 单片机最小系统零件
- 32单片机学习之输入捕获
- 单片机编程经验
- 第三节 趣讲51单片机之P1P2P3口深入讲解
- 2018-04-10 我的GitHub诞生的日子,欢迎大家吐槽批评
- 单片机编程经验
- 【自考总结】——回想大家一起奋斗的日子
- 单片机成长之路(avr基础篇)- 001 ISP与IAP的区别
- 单片机做成的带闹钟的时钟程序
- 单片机和虚拟机Linux双向通信
- [Micropython]TPYBoard v202 利用单片机快速实现家庭智能控制平台
- [导入]毕业的日子
- 今天是个比较特殊的日子——再次受到创伤
- 基于52单片机的超声波测距模块(hc-sr04超声波测距模块+1602液晶显示器)