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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PROTUS仿真51單片機測頻程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年01月01日   【字體:

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

工作原理:

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

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

/********************
程序名:頻率計
功能:雙通道頻率測量,未加分頻的情況下最高測頻值65KHZ
網站:51單片機教程網http://www.zg4o1577.cn
作者:周勇
日期:2010年4月10日
*********************/
#include<reg52.h>
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)//寫數據
{
   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位數據接口(寫命令)
    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為數據
{
    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);
 }
}

void main()
{
 lcd_init();
 EA=1;
 PT1=1;
 time=0;
 TMOD=0X51;
 TH0=(65535-20000)/256;
 TL0=(65535-20000)%256;

 TH1=0;
    TL1=0;
 while(1)
 {
      shift=0;
      TH0=(65535-20000)/256;
   TL0=(65535-20000)%256;
      ET0=1;
      TR0=1;
      TH1=0;
      TL1=0;
      TR1=1;
      while(time!=25);
        ET0=0;
        TR0=0;
        TR1=0;
    time=0;
     num=(TH1*256+TL1)*2;
  TH1=0;
  TL1=0;
     qian=num%10000/1000;
  bai=num%1000/100;
     shi=num%100/10;
   ge=num%10;
 
   lcd_1602xy(1,0,qian+0x30);
      lcd_1602xy(1,1,bai+0x30);
      lcd_1602xy(1,2,shi+0x30);
      lcd_1602xy(1,3,ge+0x30);
   lcd_1602xy(1,4,'H');
   lcd_1602xy(1,5,'Z');
    
      shift=1;
      TH0=(65535-20000)/256;
   TL0=(65535-20000)%256;
      ET0=1;
   TR0=1;
      TH1=0;
      TL1=0;
      TR1=1;
    
      while(time!=25);
        ET0=0;
        TR0=0;
        TR1=0;
    time=0;
     num=(TH1*256+TL1)*2;
  TH1=0;
  TL1=0;
     qian=num%10000/1000;
  bai=num%1000/100;
     shi=num%100/10;
   ge=num%10;

      lcd_1602xy(2,0,qian+0x30);
      lcd_1602xy(2,1,bai+0x30);
      lcd_1602xy(2,2,shi+0x30);
      lcd_1602xy(2,3,ge+0x30);
   lcd_1602xy(2,4,'H');
   lcd_1602xy(2,5,'Z');
    
    
    }
 }
void time0() interrupt 1
{
 TH0=(65535-20000)/256;
 TL0=(65535-20000)%256;
 time++;
}

PTOTEUS仿真結果如下:

 

關閉窗口

相關文章

主站蜘蛛池模板: 日日操天天射 | 国产精品自产拍在线观看蜜 | 天天摸天天干 | 一区二区三区视频在线 | 精品av天堂毛片久久久借种 | 中文字幕日韩欧美一区二区三区 | 自拍第一页| 日本久久精品视频 | 亚洲www啪成人一区二区麻豆 | 最新伦理片 | 精品亚洲一区二区 | 国产精品揄拍一区二区 | 精品久久久久久久久久久 | 国产精品久久网 | 亚洲成人网在线播放 | 91视视频在线观看入口直接观看 | 国产美女永久免费无遮挡 | 日本免费一区二区三区视频 | 亚洲欧美成人影院 | 干干天天 | 先锋资源亚洲 | 麻豆精品国产免费 | 成人影院在线观看 | 国产成人在线观看免费 | 北条麻妃一区二区三区在线观看 | 中文字幕av网 | 久久久成人免费视频 | 五月天综合影院 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | av久久 | 国产福利视频在线观看 | 欧美成人黄色小说 | 亚洲黄色av网站 | gav成人免费播放视频 | 红桃成人在线 | 午夜视频在线免费观看 | 美女黄色在线观看 | 99久久99热这里只有精品 | 国产福利一区二区 | 黄色大片免费看 | 国产精品高潮呻吟久久 |