久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8501|回復(fù): 3
收起左側(cè)

單片機(jī)INT0外部中斷脈沖計數(shù)Proteus仿真+源程序

  [復(fù)制鏈接]
ID:469990 發(fā)表于 2019-3-10 18:47 | 顯示全部樓層 |閱讀模式
主要是用單片機(jī) INT0中斷進(jìn)行脈沖計數(shù)
脈沖是由Clock元器件產(chǎn)生。
INT0外部中斷輸入脈沖。


設(shè)置舉例,設(shè)置高低高時鐘,頻率為10,則設(shè)置第一個邊沿出現(xiàn)時間為1.1。
INT0是低電平觸發(fā),設(shè)置出現(xiàn)時間為1.1剛好每秒增加數(shù)為10,并且每次都是10的倍數(shù)。


開關(guān)型霍爾元器件剛好是低電平,可以直接使用。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png

單片機(jī)源程序如下:
  1. // 脈沖計數(shù)
  2. // INT0中斷計數(shù)
  3. #include <reg51.h>

  4. sbit P2_0 = P2^0;//數(shù)碼管選定位
  5. sbit P2_1 = P2^1;//數(shù)碼管選定位
  6. sbit P2_2 = P2^2;//數(shù)碼管選定位
  7. sbit P2_3 = P2^3;//數(shù)碼管選定位

  8. //共陽極數(shù)碼管
  9. unsigned char code table[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};

  10. unsigned int motorspeed = 0;
  11. unsigned char GE, SHI, BAI, QIAN;
  12. unsigned int counter = 0;//脈沖數(shù)
  13. unsigned int calsp;//設(shè)定多長時間計數(shù)一次

  14. void display();//數(shù)碼管顯示
  15. void delay();//延遲函數(shù)
  16. void calspeed();

  17. void main()
  18. {
  19.         EA = 1;//開啟總中斷
  20.         EX0 = 1;//開啟外部中斷0
  21.         IT0 = 1;//設(shè)置成下降沿觸發(fā)方式
  22.         TMOD = 0x01;//設(shè)置定時器0為模式1,即16位計數(shù)模式
  23.         TH0 = (65536-10000)/256;//計數(shù)時間為10ms
  24.         TL0 = (65536-10000)%256;

  25.         ET0 = 1;//開啟定時器0中斷
  26.         TR0 = 1;//啟動定時器0

  27.         P2 = P2&0xf0;//將P2的1~4置1

  28.         while(1)
  29.         {
  30.                 display();
  31.                 calspeed();
  32.         }

  33.         return ;
  34. }

  35. void calspeed()
  36. {
  37.         if (calsp == 100)//100*10=1s計算1次
  38.         {
  39.                 motorspeed = motorspeed + counter;
  40.                 counter = 0;//清零脈沖數(shù)
  41.                 calsp = 0;//清零標(biāo)志
  42.         }
  43. }

  44. //數(shù)碼管顯示函數(shù),依次點亮數(shù)碼管
  45. void display()
  46. {
  47.         GE = motorspeed%10;
  48.         SHI = motorspeed/10%10;
  49.         BAI = motorspeed/100%10;
  50.         QIAN = motorspeed/1000%10;

  51.         P2_0 = 1;
  52.         P0 = table[QIAN];
  53.         delay();
  54.         P2_0 = 0;

  55.         P2_1 = 1;
  56.         P0 = table[BAI];
  57.         delay();
  58.         P2_1 = 0;

  59.         P2_2 = 1;
  60.         P0 = table[SHI];
  61.         delay();
  62.         P2_2 = 0;

  63.         P2_3 = 1;
  64.         P0 = table[GE];
  65.         delay();
  66.         P2_3 = 0;
  67. }

  68. //延遲函數(shù)
  69. void delay()
  70. {
  71.         unsigned char i = 10;
  72.         while(i--)
  73.                 ;
  74. }

  75. void _TIMER0() interrupt 1
  76. {
  77.         TH0 = (65536-10000)/256;//重新裝入初值,計數(shù)時間為10ms
  78.         TL0 = (65536-10000)%256;
  79.         calsp++;
  80. }

  81. //INT0輸入
  82. void _INT0() interrupt 0
  83. {
  84.         counter++;
  85. }
復(fù)制代碼
0.png
所有資料51hei提供下載:
脈沖計數(shù)-20190310183300.zip (20.7 KB, 下載次數(shù): 145)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:513813 發(fā)表于 2019-5-2 13:52 | 顯示全部樓層
請問下,周期變化的脈沖可以直接按這種方法用單片機(jī)采集嗎
回復(fù)

使用道具 舉報

ID:24486 發(fā)表于 2020-2-22 22:18 | 顯示全部樓層
謝謝分享,學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報

ID:640334 發(fā)表于 2020-7-28 00:06 | 顯示全部樓層
支持樓組的付出
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.com久久久| 亚洲综合视频 | 7777在线视频 | 欧美成年人| 国产精品久久久久久久久久久免费看 | a精品视频 | 欧美久久久久久久久 | 日韩欧美在线播放 | 亚洲 中文 欧美 日韩 在线观看 | 欧美一级黄色片免费观看 | 日本一区视频在线观看 | 亚洲精品视频播放 | 91国在线观看| 精品国产乱码久久久 | 久久精品亚洲 | 91精品国产综合久久久亚洲 | 中文字幕高清一区 | 欧美亚洲综合久久 | h视频免费观看 | 国产综合久久久久久鬼色 | 国产丝袜一区二区三区免费视频 | 一区二区三区四区国产精品 | 亚洲一区二区 | 国产成人99久久亚洲综合精品 | 国产精品视频一区二区三区 | 乱一性一乱一交一视频a∨ 色爱av | 精品国产伦一区二区三区观看体验 | 久久久精品一区二区三区 | 国产成人免费视频网站高清观看视频 | 一本一道久久a久久精品综合蜜臀 | 伊人伊成久久人综合网站 | 婷婷成人在线 | 一级毛片免费 | 日韩在线中文字幕 | 欧洲精品久久久久毛片完整版 | 久久久久久久久中文字幕 | 久久久免费 | 三级av在线 | 午夜三级视频 | www.日韩系列 | 国产精品2区 |