溧阳做网站建筑工程分包信息网络平台
溧阳做网站,建筑工程分包信息网络平台,制作钓鱼网站,蒙牛网站建设方案满意答案zJ张俭2014.02.09采纳率#xff1a;43% 等级#xff1a;12已帮助#xff1a;10469人你有几个错误:1 你的定时器没有重装,导致第一次中断和后面的中断时间不一样,第一次时间短,后面的时间一直是以65536个周期中断的.2 你在中断函数里用了 for 循环,for循环是一下子…满意答案zJ张俭2014.02.09采纳率43% 等级12已帮助10469人你有几个错误:1 你的定时器没有重装,导致第一次中断和后面的中断时间不一样,第一次时间短,后面的时间一直是以65536个周期中断的.2 你在中断函数里用了 for 循环,for循环是一下子就执行完了的,而不是你想象的每中断一次才执行一次.for(a0;a8;a){P1(P11)1; //----这一句,使得你的第二个灯亮,其实第三,四,五个都亮了,但是因为你的//----For循环太快了,你看不出来};if(a8) //---执行完for之后,a肯定等于8,所以执行下面的,结果就是第一个灯亮P10xfe;3 我给你改正的,程序:功能是先是第一个灯亮,再是第一个灯灭,亮2,然后2灭,亮3.....void time1() interrupt 3{tt;if(tt10){tt 0; //---这句表示中断10次换一个灯,不可少//----如果没有这句tt 0,则成了中断256次才换一个灯P1 ~(1//---最好要自己思考,想明白aa;aa 0x07;}//----别忘记装入初值,你这个应该是10ms中断,然后是100ms换一次灯//-----如果你不装初值,就成了 65.536ms中断一次,再加上你前面不加上 tt 0;//------就成了16秒才换一次灯TH10xd8;TL10xf0;}10分享举报
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/87810.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!