C语言的定时器中断程序资料

上传人:go****e 文档编号:137375261 上传时间:2020-07-07 格式:DOC 页数:5 大小:15KB
返回 下载 相关 举报
C语言的定时器中断程序资料_第1页
第1页 / 共5页
C语言的定时器中断程序资料_第2页
第2页 / 共5页
C语言的定时器中断程序资料_第3页
第3页 / 共5页
C语言的定时器中断程序资料_第4页
第4页 / 共5页
C语言的定时器中断程序资料_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言的定时器中断程序资料》由会员分享,可在线阅读,更多相关《C语言的定时器中断程序资料(5页珍藏版)》请在金锄头文库上搜索。

1、C语言的定时器中断程序精品文档C语言的定时器中断程序#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar aa,num;void main()aa=0;num=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; P2=0xf0;P0=0x3f;while(1)if(aa=10)aa=0;nu

2、m+;if(num=10)num=0;P2=0xf0;P0=tablenum;void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;void timer0(void) interrupt 1 using 3 /中断部分代码,见下文的释疑释疑:void Timer0() interrupt 1 using 1Timer0 是函数名,随便取的 interrupt xx using y 跟在interrupt 后面的xx 值得是中断号,就是说这个函数对应第几个中断端口,一般在51中 0 外部中断0 1 定时器

3、0 2 外部中断1 3 定时器1 4 串行中断 实际上编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址 using y 这个y是说这个中断函数使用的那个寄存器组,51里面一般有4组 r0 - r7寄存器,一共有32个,看看原码、补码就知道。正数的补码是对应的二进制数,符号位为零,负数的补码是它的绝对值对应的二进制数按位取反再加一,符号位为一。无符号数不考虑符号,那么这个结果就跟用FFFF减去它的绝对值一样中断的理解。单片机的主程序是从0x0000开始运行的,单片机服务程序从哪里开始运行呢?在51里,有多个中断服务程序入口,0号入口是外中断0,地址在0x0003;1号入口是定时器0,在 0x000B;2号入口是外中断1;地址在0x0013,3号入口是定时器2;地址在0x001B,等等。当中断发生时,程序就记下当前运行的位置,跳到对应的中断入口去运行中断服务程序,运行完之后,又跳回到原来的位置继续运行。在C51中,你不用理会中断服务程序放在哪里,会怎么跳转。你只要把某个函数标识为几号中断服务函数就可以了。在发生了对应的中断时,就会自动的运行这个函数。请看一下相关的51的硬件的书,对定时器工作的寄存器设置做进一步的了解。也可以做完试验再了解,因为例程中都已经为您设置好了。收集于网络,如有侵权请联系管理员删除

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号