<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PROTUS仿真51單片機測頻程序

          PROTUS仿真51單片機測頻程序

          作者: 時間:2016-11-30 來源:網絡 收藏
          頻率計:

          LCD1602顯示
          在不增加外部計數(shù)硬件的情況下,本試驗軟件可測最高頻率達到460KHz

          本文引用地址:http://www.ex-cimer.com/article/201611/323601.htm

          工作原理:

          1S 鐘內對輸入脈沖所計數(shù)的次數(shù)則為頻率值。
          16位二進制加法計數(shù)器的最大計數(shù)值為 65535。

          設置定時器 0 工作在定時方式1,定時1S。
          設置定時器 1 工作在計數(shù)方式1,對輸入脈沖進行計數(shù),溢出產生中斷。
          將定時器 1中斷定義為優(yōu)先。在中斷處理程序里對中斷次數(shù)進行計數(shù)。1S到后,將中斷次數(shù)和計數(shù)器里的計數(shù)值取出進行綜合數(shù)據(jù)處理,處理后的數(shù)據(jù)送LCD1602顯示。

          /********************
          程序名:頻率計
          功能:雙通道頻率測量,未加分頻的情況下最高測頻值65KHZ
          網站:51單片機教程網http://www.51hei.com
          作者:周勇
          日期:2010年4月10日
          *********************/
          #include
          sbit led=P1^7;
          sbit rs=P3^7;//rs=P2^5;
          sbit e=P3^6;//e=P2^7;
          sbit shift=P1^7;
          #define uchar unsigned char
          #define uint unsigned int
          uint time,aa;
          uint num,ff;
          uchar qian,bai,shi,ge;
          void delay_ms(uint z)
          {
          uint x,y;
          for(x=z;x>0;x--)
          for(y=100;y>0;y--);
          }
          void writecom(uchar com)//寫命令
          {
          rs=0;
          // rw=0;
          P2=com;
          delay_ms(5);
          e=1;
          delay_ms(5);
          e=0;
          }
          void writedate(uchar date)//寫數(shù)據(jù)
          {
          rs=1;
          //rw=0;
          P2=date;
          delay_ms(5);
          e=1;
          delay_ms(5);
          e=0;
          }
          void lcd_init()
          {

          P2=0xff;
          led=1;
          writecom(1);//清除顯示
          delay_ms(20);
          writecom(0x38);//設置液晶為16*2矩陣,5*7點陣,8位數(shù)據(jù)接口(寫命令)
          delay_ms(20);
          writecom(0x0E);//設置液晶開顯示,顯示光標,光標閃爍(寫命令)
          delay_ms(20);
          writecom(0x06);//設置地址自動向右加1(寫命令)
          delay_ms(20);
          writecom(0x80);//光標指針位置初始化(寫命令)
          delay_ms(20);

          }
          void lcd_1602xy(uchar x,uchar y,uchar date)//X值為行,Y為列,DATE為數(shù)據(jù)
          {
          uchar i,j;
          i=x;j=y;
          if(i==1)
          {
          writecom(0x80+j);
          delay_ms(1);
          writedate(date);
          delay_ms(1);
          }
          if(i==2)
          {
          writecom(0x80+0x40+j);
          delay_ms(1);
          writedate(date);
          delay_ms(1);
          }
          }


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();