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

 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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值