1、51单片机定时中断C语言的写法步骤程序说明:51单片机定时器0工作于方式一,定时50ms中断一次晶振为12M#includevoid mainTOMD = 0X01;/配置定时器0工作于方式一TH1 = (65536-50000)/256/高八位装入初值TL1 = (65536-50000)%256/低八位装入初值ET0 = 1/开定时器0中断EA = 1/开总中断TR0 = 1/启动定时器0while(1);void Timer0_int() interrupt 1/重新装初值TH1 = (65536-50000)/256/高八位装入初值TL1 = (65536-50000)%256/低八位装入初值 /*/上面是比较好理解的。如果实在要求简洁的话,看下面的,跟上面功能一样#includevoid mainTOMD = 0X01;/配置定时器0工作于方式一TH1 = 0x3c/高八位装入初值TL1 = 0xb0/低八位装入初值IE = 0x82/开总中断并开定时器0中断TR0 = 1/启动定时器0while(1);void Timer0_int() interrupt 1/重新装初值TH1 = 0x3c/高八位装入初值TL1 = 0xb0/低八位装入初值。
中断函数是不需要额外通过代码调用的
当中断条件满足,单片机会打断当前执行的语句,跳转到中断函数,然后执行完中断函数后,再次返回之前被打断的语句继续执行
中断函数中,每次都会对定时器重新初始化,即头两句对TH1和TL1的赋值,这样每50ms会再次进入一次中断函数.每20次进入中断,即经过了1秒,然后对全局变量miao自增1
而main函数则是不断对变量miao进行输出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)