欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4876|回復: 3
收起左側

單片機計數方波脈沖個數 程序+Proteus仿真

[復制鏈接]
ID:763359 發表于 2020-5-29 17:52 | 顯示全部樓層 |閱讀模式
單片機檢測方波脈沖個數,有protus仿真圖,帶顯示功能,555產生方波電路。附件帶原程序及仿真圖。有定時中斷,外部中斷。

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

單片機源程序如下:
  1. #include <reg51.h>
  2. #include "intrins.h"

  3. sbit DIN = P0^0;
  4. sbit load = P0^1;
  5. sbit CLK = P0^2;
  6. sbit LED = P0^7;

  7. unsigned int speed = 0x00;
  8. unsigned int count = 0x00;

  9. unsigned char table[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0x0ff,0x00};


  10. void int_count(void)
  11. {
  12.             EA = 0x00;
  13.             TMOD = 0x01;
  14.             TH0 = 0x3c;       //12M   50ms
  15.             TL0 = 0x0b0;
  16.         
  17.             ET0 = 1;
  18.             EA = 1;
  19.             TR0 = 1;
  20.             IT0 = 1;
  21.             EX0 = 1;
  22. }

  23. void sendbyte(unsigned char dat)
  24. {
  25.            unsigned char i,temp;
  26.            _nop_();
  27.            for(i=0;i<8;i++)
  28.            {
  29.                             temp = dat&0x80;
  30.                             dat=dat<<1;
  31.                             if(temp)
  32.                                                     DIN = 1;
  33.                                         else
  34.                                                     DIN = 0;
  35.                                         CLK = 0;
  36.                                         _nop_();
  37.                                         CLK = 1;
  38.      }
  39. }

  40. void sendword(unsigned char addr,unsigned char dat)
  41. {
  42.            load = 0;
  43.            _nop_();
  44.            sendbyte(addr);
  45.            _nop_();
  46.            sendbyte(dat);
  47.            _nop_();
  48.            load = 1;
  49. }

  50. void int7219(void)
  51. {
  52.             sendword(0x0c,0x01);
  53.             sendword(0x0a,0x09);
  54.             sendword(0x0b,0x03);
  55.             sendword(0x09,0x00);
  56.             sendword(0x0f,0x00);
  57. }

  58. void display(void)
  59. {
  60.             unsigned char i,tmp;
  61.             tmp = count / 100;
  62.             sendword(0x02,table[tmp]);
  63.             tmp = count % 100;
  64.             i = tmp / 10;
  65.             sendword(0x03,table[i]);
  66.       i = tmp % 10;
  67.             sendword(0x04,table[i]);        
  68. }

  69. void main(void)
  70. {
  71.             int7219();
  72.             int_count();
  73.             while(1)
  74.                         {
  75.                                    if(count>500)
  76.                                          {
  77.                                                    //  display();
  78.                                                      count = 0x00;
  79.            }
  80.                                          display();
  81.       }
  82. }

  83. void int0_fun(void) interrupt 0 using 1
  84. {
  85.             EX0 =0;
  86.             count ++;
  87.             EX0 = 1;
  88.           //  LED = ~LED;
  89. }

  90. void int_time(void)  interrupt 1 using 2
  91. {
  92.             TH0 = 0x3c;       //12M   50ms
  93.             TL0 = 0x0b0; LED = ~LED;
  94. }
復制代碼

所有資料51hei提供下載:
單片機檢測方波個數.rar (135.89 KB, 下載次數: 57)

評分

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

查看全部評分

回復

使用道具 舉報

ID:34643 發表于 2020-5-30 06:56 | 顯示全部樓層
有沒有仿真的實際效果圖。
回復

使用道具 舉報

ID:772939 發表于 2020-6-14 17:23 | 顯示全部樓層
附件里面是個啥
回復

使用道具 舉報

ID:772939 發表于 2020-6-21 15:25 | 顯示全部樓層

里面元器件是什么,圖上看不清
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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