找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4913|回復: 0
打印 上一主題 下一主題
收起左側

用單片機外中斷INT0的中斷測量外部負脈沖寬度

[復制鏈接]
跳轉到指定樓層
樓主
ID:207858 發(fā)表于 2017-6-4 23:39 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
下面是原理圖:


提供2個單片機的程序

單片機源程序:
1.產(chǎn)生負脈沖的程序設計
  1. #include <reg51.h>
  2. sbit u = P1^4;
  3. void main(void)
  4. {
  5. TMOD = 0x02;
  6. EA = 1;
  7. ET0 = 1;
  8. TH0 = 256 - 200;
  9. TL0 = 256 - 200;
  10. TR0 = 1;
  11. while(1)
  12. ;
  13. }
  14. void Time0(void) interrupt 1 using 0
  15. {
  16. u = ~ u;
  17. }
復制代碼


2.測量負脈沖寬度的程序設計

  1. #include <reg51.h>
  2. sbit u = P3^2;
  3. void main(void)
  4. {
  5. TMOD = 0x02;
  6. EA = 1;
  7. EX0 = 1;
  8. IT0 = 1;
  9. ET0 = 1;
  10. TH0 = 0;
  11. TL0 = 0;
  12. TR0 = 0;
  13. while(1)
  14.   ;
  15. }
  16. void int0(void) interrupt 0 using 0
  17. {
  18. TR0 = 1;
  19. TL0 = 0;
  20. while(u == 0)
  21.   ;
  22. P0 = TL0;
  23. TR0 = 0;
  24. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩

相關帖子

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表