单片机郭天祥的中断练习题1

it2022-05-09  15

 1 # include <reg52.h>  2 # define  uint unsigned  int  3 # define uchar unsigned  char  4 uchar t;  5 sbit d1 = P1^ 0;  6  void main()  7 {  8     t =  0;  9     TMOD =  0x01; 10     TH0 = ( 65536- 50000)/ 256; 11     TL0 = ( 65536- 50000)% 256; 12     EA =  1; 13     ET0 =  1; 14     TR0 =  1; 15      while( 1) 16     { 17          if(t  ==  10) 18          { 19              d1 = ~d1; 20             t =  0; 21          } 22  23     } 24 } 25  void extend1 ()interrupt  1 26 { 27        TH0 = ( 65536- 50000)/ 256; 28     TL0 = ( 65536- 50000)% 256; 29     t++; 30  }题目 

利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz。

分析

主要是定时器t0的断点实验,最主要说明的是,断点程序不要写过多的处理语句,语句过多会造成中断程序的代码还未打印出来,下一个中断就出来了,就会损失这次中断,

失误

这次失误主要是把那些定时器中断放到while中,是不对的,因为每次中断都要进行while循环,就会造成重新一次定义,因此必须放外面把定时器中断声明放外面

总结

耳机关去翻,之前没有用过,这个可以把频率均分,因此之前没有想到 

代码

 

 

 

转载于:https://www.cnblogs.com/yelcoved/p/3182441.html

相关资源:单片机期末考试习题库

最新回复(0)