从定时器开始说中断

时间:2013-04-10来源:网络

13 006BH

14 0073H

15 007BH

16 0083H

17 008BH

18 0093H

19 009BH

20 00A3H

21 00ABH

22 00B3H

23 00BBH

24 00C3H

25 00CBH

26 00D3H

27 00DBH

28 00E3H

29 00EBH

30 00F3H

31 00FBH

看到了吧,中断号就是对应中断进入地址的,至于什么是中断进入地址?那就是发生某个中断的时候单片机自动跳进的一个地址段了.

对于定时器0来说,就是000BH,所以对应中断号1。其他中断地址看看书就知道了。由上面的表可以看出,KEILC支持32个中断,不过到现在为止,我还没看到过有51单片机有32个中断的:)

好了,进入调试实践中了,把上面的代码敲进去吧,又或者直接下载我这个编译好的工程:

timer0

进入工程后,你需要设置点东西:

Debug Information是调试信息,你选择这个东西,才可以在C语言上进行仿真(不管是软还是硬仿真),否则你的仿真环境是汇编的!

软仿真设置:

Go till main()就是在仿真的时候直接跳到MAIN函数上。如果没有选,那就由0地址开始运行。这里说个概念,在C51中,mian()函数并不代表0地址的,要知道,keilc在一开始的时候是需要经过比较多的初始化,例如清空RAM内容,设置堆栈等东西,这些都是不需要你做的,你的用户程序也不包括这些,做完这些初始化后,KEIL才自动跳到你的mian进行处理.

软件仿真是可以选晶振的,我们选的12M。下面的这些东西你就按图中的来选吧,具体内容以后再说。

如果编译成功的话,那么我们就开始第一次的软件仿真咯:

上面的是已经进入仿真状态的了,因为我们选择了Debug Information所以可以在C下面调试,也因为选择了Go till main()我们可以看到一开始就有个箭头指着main()的第一句话。而程序旁深色的东东,也就是我圈着的东西,就是有效代码段,程序只会在那里跑,也就是那个黄色箭头只会在那个区域跑。现在你已经可以仿真的了,可以选单步,全速来运行了。关于KEIL的具体仿真,将在下一章为大家解说。

1 2 3

关键词: 定时器 计数器 中断函数

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版