No.3197 作者:horner 邮件:tubar@sina.com ID:4805 登陆:6次 文章数:5篇 最后登陆IP:121.35.121.118 最后登陆:2008/1/8 18:28:40 注册:2001/10/29 19:06:00 财富:27 发帖时间:2001/12/2 22:46:00 发贴者IP:211.159.73.135 标题:horner:C51编程:关于中断的一个奇怪的问题。请指教 摘要:No.3197C51编程:关于中断的一个奇怪的问题。请指教 我使用AT89C52单片机,晶振为12M,小弟程序实现以下功能: 外部中断0为50HZ的下降沿脉冲,宽度足够 功能:在每一个下降沿脉冲,对定时器开始计时,当定时时间小于20MS时,在定时器中断中,送 出一个SYNC脉冲。当定时时间大于等于20MS时,即因为外部中断而导致定时器重新计时,因此没 有能够产生中断,则在外部中断函数中,送出一个SYNC脉冲。 #include "REG52.H" #include "intrins.h" bit flag; //SYNC脉冲未恢复标志 sbit SYNC =P1^7; void Init0() interrupt 0 using 1 { TR1 =0; if(flag) //表示SYNC脉冲因故没有恢复出来。 { //在此恢复一个SYNC脉冲 SYNC=0; _nop_(); _nop_(); SYNC=1; } TH1 =0xb1; TL1 =0x0F4;//定时略小于20MS flag =1; TR1 =1; } void Time1() interrupt 3 using 2 { TR1=0; &nbs ......
>>返回讨论的主题
|