首先写这个是因为我再平时写单子时,也经常需要改别人代码,但是每个人的习惯不一样,所以导致有时候我也会看不懂,每次翻书也挺麻烦,所以,我就打算把这个写下来,以后来修改的时候也方便查找。
以下多数为我从郭天祥的单片机书中抄录出来的
我会根据以下来贴出一些图片:
- 中断源
- 中断允许寄存器IE
- 中断优先级寄存器IP (这个不常用)
- 定时器/计时器 工作方式寄存器 TMOD
- 定时器/计数器 控制寄存器 TCON
- 串行口控制寄存器 SCON
- 定时器2-控制寄存器 T2CON
- 定时器2-模式控制寄存器 T2MOD
- 中断服务程序的写法
- 定时时间的计算
首先,我先简单的说一下普通的定时器功能,那等于就是一个计时功能,计时的时间是你自己来设置的,当芯片自己计时达到这个时间,就会去处理这个中断里面的事情,只需要这么简单的理解一下就好。原理啥的,我就不啰嗦了。
1.中断源
我们使用52的来讲,因为52比51多一个定时器2

你设置对应的定时器时/,记得中断函数后面的序号要填写准确
T2定时器2 是52芯片独有的,51芯片是没有的,后面我也会对定时器2的设置进行讲解和提供范例。
2.中断允许寄存器IE

3.中断优先级寄存器IP (这个不常用)

4.定时器/计时器 工作方式寄存器 TMOD


TMOD是使用最平常的一个寄存器,基本上你使用定时器 串口之类的一定会用到这个,例如TMOD = 0x01 代表的就是使用定时器0 的工作方式1 ,如果不知道怎么理解,请在下方留言或者发送邮件到我的邮箱
5.定时器/计数器 控制寄存器 TCON


6.串行口控制寄存器 SCON


关于串口部分的设置,我会在开头或者末尾添加一个连接,是我一直在使用的串口设置的代码
7.定时器2-控制寄存器 T2CON


8.定时器2-模式控制寄存器 T2MOD

9. 中断服务程序的写法

10.定时时间的计算
待补充,本篇文章会持续更新,根据我再写单子的过程中遇到的问题来更新