国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機和測頻法的頻率計設(shè)計及proteus仿真

2018-02-27 13:29:44李建波張永亮潘必超陳榕福
電腦知識與技術(shù) 2018年35期
關(guān)鍵詞:頻率計單片機

李建波 張永亮 潘必超 陳榕福

摘要:傳感器廣泛應(yīng)用在自動化測量中,該文利用51單片機2個16位定時器和測量頻率中的測頻法設(shè)計了測量方波的頻率計,并用LCD1602液晶顯示頻率、proteus仿真,測試結(jié)果表明設(shè)計思路正確、誤差小。

關(guān)鍵詞:單片機;測頻法;頻率計;proteus

中圖分類號:TP23;TP212.6? ? ? ? ?文獻標識碼:A? ? ? 文章編號:1009-3044(2018)35-0226-02

1 概述

傳感器能感受到被測量信息,在自動化控制技術(shù)中,需要用到多種傳感器來監(jiān)視各個參數(shù)。因測量電壓、電流、頻率等的方法與技術(shù)相對成熟、易實現(xiàn),故而許多傳感器把被測量對象轉(zhuǎn)換成電壓、電流或頻率來進行測量和處理[1]。廣東工業(yè)大學(xué)鮑芳采用高頻段測頻法、中頻段多周期同步法、低頻段測周法設(shè)計頻率計,測量結(jié)果優(yōu)于普通測量法[2];南昌大學(xué)彭嵐峰利用單片機產(chǎn)生閘門的時間設(shè)計頻率計,并利用液晶LCD1602進行顯示[3];青海大學(xué)任小青介紹了測周期法、外部計數(shù)器計數(shù)法、內(nèi)部計數(shù)器計數(shù)法等頻率測試方法并完成以單片機為核心的頻率計[4];西安職業(yè)技術(shù)學(xué)院趙銀玲設(shè)計的頻率計,結(jié)合了定時器、計數(shù)器并用數(shù)碼管顯示,結(jié)果顯示滿足一般領(lǐng)域的測試要求[5];成都理工大學(xué)張糧雨設(shè)計的頻率計可以計算出正弦波的有效值和峰峰值[6];延安大學(xué)劉竹琴設(shè)計了數(shù)字頻率計,進行測量,并分析了測量誤差的來源,提出了減小誤差應(yīng)采取的措施[7];廣州番禺職業(yè)技術(shù)學(xué)院盧飛躍實現(xiàn)多周期同步法測量頻率,提高了測量的精度[8]。

單片機16位定時器計數(shù)最大值為65536,比較適用測量65KHz以下頻率,再大頻率則溢出不準、或需要定時器中斷來計數(shù)。本人參考前人研究和設(shè)計,利用單片機中2個16位定時器設(shè)計頻率計,其中1個用于定時、另外1個采集外界脈沖,得到單位時間的脈沖個數(shù),進而計算出頻率,可測量500KHz的頻率信號。

2 硬件部分

頻率計硬件電路主要包括單片機芯片、液晶顯示部分、脈沖信號輸入部分,如圖1所示。

2.1 單片機

單片機芯片采用AT89C52,不做說明。

2.2 脈沖信號

從信號發(fā)生器中選擇方波發(fā)生器PULSE,設(shè)置方波脈沖脈寬為50%、頻率從10Hz~500KHz變化,如圖2所示。

2.3 液晶LCD1602

液晶接口電路如圖1所示,數(shù)據(jù)端口用P2口、P0.3接液晶數(shù)據(jù)/命令選擇引腳R/S、P0.4接液晶讀/寫控制引腳R/W、P0.5接液晶使能引腳E,如圖3所示。

3 軟件部分

3.1 定時器0

單片機的晶振采用12MHz,定時器0用來計時采用16位、內(nèi)部計數(shù)方式。定義變量T0_H、T0_L用來定時器0重載初值,每次中斷時間為50ms,定時器0初始化代碼如下:

unsigned char code T0_H = (65536-50000)/256;

unsigned char code T0_L = (65536-50000)%256;

EA? ?= 1;

ET0? = 1;

TMOD = 0x01;

TH0? = T0_H;

TL0? = T0_L;

TR0? = 1;

定時器0每次中斷重載初值,并讀取定時器1的高字節(jié)和低字節(jié),并將其清空,中斷服務(wù)函數(shù)如下:

void t0_sever(void) interrupt 1{

TL0? = T0_L;//12MHz,50ms

TH0? = T0_H;

chH=TH1;

chL=TL1;

TL1=0;

TH1=0;}

3.2 定時器1

定時器1采用16位、外部計數(shù)方式,用來對外部脈沖進行計數(shù),每個脈沖加1。定時器1初始化代碼如下:

ET1? = 1;

TMOD|= 0x50;

TH1? = 0;

TL1? = 0;

TR1? = 1;

3.3 數(shù)據(jù)處理與液晶顯示

每次中斷時間為50ms,采用遞推方式存儲20次數(shù)據(jù),其和在時間意義代表1s脈沖個數(shù)。

unsigned char str1[]={"? ? ? ? 000000Hz"};

unsigned int numf[20];//存儲數(shù)組

void display(){ //液晶顯示函數(shù)

unsigned char i;

unsigned long int sum=0;

for(i=0;i<19;i++){

numf[i]=numf[i+1];

sum+=numf[i];}

numf[19]=chH*256+chL;

sum+=numf[19];

i=8;? str1[i]='0'+sum%1000000/100000;

i++;? str1[i]='0'+sum%100000/10000;

i++;? str1[i]='0'+sum%10000/1000;

i++;? str1[i]='0'+sum%1000/100;

i++;? str1[i]='0'+sum%100/10;

i++;? str1[i]='0'+sum%10;

for(i=0;i<16;i++){

LCD_dis(0,i,str1[i]);}}

3.4 主函數(shù)

在主程序或其他合適的位置,調(diào)用液晶顯示函數(shù)display()。

4 結(jié)論

運行程序,輸入方波信號頻率為500KHz時仿真結(jié)果如圖3所示,不同頻率下的測試結(jié)果如見表1。

通過表1我們看到,100Hz測量誤差為1%,500KHz為0.02%,頻率越高誤差越小。測試結(jié)果表明,利用單片機中2個16位定時器、采用測頻法設(shè)計的頻率計,思路是可行的,設(shè)計是成功的,可測量500KHz的頻率信號,誤差小、精度高、性價比高。

參考文獻:

[1] 王淑青,吳作健.基于單片機高精度測頻方法的研究[J].湖北工業(yè)大學(xué)學(xué)報,2005,(4):35-37,48.

[2] 鮑芳,王春茹.新型單片機頻率測量系統(tǒng)的研究[J].儀表技術(shù)與傳感器,2001,(2):33-35.

[3] 彭嵐峰,胡佳佳.基于AT89C51單片機的簡易頻率計的設(shè)計[J].科技廣場,2012,(9):121-123.

[4] 任小青,王曉娟.基于AT89C51單片機的頻率計設(shè)計方法的研究[J].青海大學(xué)學(xué)報:自然科學(xué)版,2009,(2):10-12.

[5] 趙銀玲.基于單片機的數(shù)字頻率計的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2017,(18):178-180,184.

[6] 張糧雨.基于51單片機的高頻頻率計的設(shè)計[J].電子科技,2014,(2):82-84.

[7] 劉竹琴,白澤生.一種基于單片機的數(shù)字頻率計的實現(xiàn)[J].現(xiàn)代電子技術(shù),2010,(1):90-92,96.

[8] 盧飛躍.基于單片機的高精度頻率計設(shè)計[J].電子測量技術(shù),2006,(5):96-97,150.

[通聯(lián)編輯:梁書]

猜你喜歡
頻率計單片機
基于物聯(lián)網(wǎng)的頻率計設(shè)計
基于VHDL 的數(shù)字頻率計設(shè)計與仿真*
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
Microchip推出兩個全新PIC單片機系列
無晶振輸出頻率計的自動檢定裝置研究
基于等精度測量原理頻率計的設(shè)計與實現(xiàn)
沙洋县| 新昌县| 龙海市| 保靖县| 江门市| 青田县| 晋江市| 女性| 新竹县| 井冈山市| 宁武县| 枣庄市| 清新县| 理塘县| 景德镇市| 香港| 嘉峪关市| 泰和县| 正安县| 且末县| 安徽省| 修水县| 东宁县| 兰溪市| 任丘市| 时尚| 千阳县| 兰考县| 白朗县| 宜丰县| 玛沁县| 济南市| 南部县| 清水河县| 沙洋县| 刚察县| 晋城| 贵港市| 甘谷县| 武山县| 垫江县|