当前位置:   article > 正文

单片机实验报告实验七:定时器实验_单片机定时器实验报告

单片机定时器实验报告

1. 掌握定时器编程的初始化设置;

2. 掌握定时器查询和中断两种不同的编程思路。

练习内容

1、用T1作为信号发生器来使用,要求从P1.0产生周期性(周期值自定)方波;

2、分别采用查询方式一和中断方式二来实现。

一、练习程序编写:

 

查询方式

  1. #include <REGX52.H>
  2. sbit P20=P2^0;
  3. void main()
  4. { char i=100;
  5. TMOD=0x01;
  6. TH0=(65536-500)/256;
  7. TL0=(65536-500)%256;
  8. TR0=1;
  9. while(1)
  10. { for(;i>0;i--)
  11. {
  12. while(!TF0);
  13. TF0=0;
  14. TH0=(65536-500)/256;
  15. TL0=(65536-500)%256;
  16. }
  17. P20=!P20;
  18. i=10;
  19. }
  20. }

中断的

  1. #include <REGX52.H>
  2. sbit P20=P2^0;
  3. unsigned char i=100;
  4. void main()
  5. {
  6. IE=0x82;
  7. TMOD=0x01;
  8. TR0=1;
  9. TH0=(65536-500)/256;
  10. TL0=(65536-500)%256;
  11. while(1);
  12. }
  13. void INTO_(void) interrupt 1
  14. {
  15. TH0=(65536-500)/256;
  16. TL0=(65536-500)%256;
  17. i--;
  18. if(i<=0){P20=~P20;i=10;}
  19. }

二、如果晶振频率调整为24MHz,如果要求周期不变,则定时器初始值怎么计算?

计算过程:12*(1/24)=0.5us

一个机器周期为0.5us

若要2ms周期,即1ms翻转一次

THL=(65535-2000)/256;

THL=(65535-2000)%256

结果

分析

查询和 中断俩种方式都可以完成脉冲的形成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/637223
推荐阅读
相关标签
  

闽ICP备14008679号