加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機數字頻率計仿真設計(proteus仿真+程序+原理圖+參考報告+器件清單)

08/05 17:05
1876
服務支持:
技術交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術大咖們分享疑惑和經驗、收獲成長和認同、領取優(yōu)惠和紅包等。

虛擬商品不可退

當前內容為數字版權作品,購買后不支持退換且無法轉移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關方案
  • 方案介紹
  • 相關文件
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

仿真圖proteus 8.9

程序編譯器:keil 4/keil 5

編程語言:C語言

設計編號:C0052

主要功能

51單片機+信號輸入+74HC14整形電路+74HC390分頻電路+LCD1602顯示模塊+電源構成。

1、能測出正弦波、三角波方波等波形的頻率;

2、頻率的測量范圍為1Hz—12MHz,且能檢測幅度最小值為1Vpp的信號;

3、通過LCD1602液晶顯示屏顯示檢測到的即時頻率數值(最多8位數,單位為Hz)。

全部資料包括程序(注釋)、AD原理圖、protues仿真、參考論文、講解、資料使用介紹等。

任務書

數字頻率計是一種基本的測量儀器。它被廣泛應用于航天、電子、測控等領域,還被應用在計算機及各種數學儀表中。一般采用的是十進制數字,顯示被測信號頻率?;竟δ苁菧y量正弦信號,方波信號以及其他各種單位時間內變壞的物理量。由于其使用十進制數顯示,測量迅速精確,顯示直觀,所以經常被用來使用。

本文主要介紹數字頻率計的設計和調試,本作品是基于52單片機作為平臺,基本原理是通過52單片機進行頻率的采集和分析工作,在通過程序使其顯示在LCD1602的液晶顯示屏上,通過液晶顯示屏,讓使用者能夠直觀的看到當前的輸入頻率是多少。

由于52單片機能處理的頻率信號強度有限,所以這次我們先用74HC390芯片對輸入的信號進行了分頻,使其降低了100倍,才送去給單片機處理,而且為了使1602液晶顯示屏能更好的兼容,在程序上我們做了三次初始化。

實物圖

img

仿真圖

? 在電子測量領域中,頻率測量的精確度是最高的,可達10至10img數量級。因此,在生產過程中許多物理量,例如溫度、壓力、流量、液位、PH值、振動、位移、速度、加速度,乃至各種氣體的百分比成分等均用傳感器轉換成信號頻率,然后用數字頻率計來測量,以提高精確度。

? 國際上數字頻率計的分類很多。按功能分類,因計數式頻率計的測量功能很多,用途很廣。所以根據儀器具有的功能,電子計數器有通用和專用之分。一、通用型計數器:通用型計數器是一種具有多種測量功能、多種用途的萬能計數器。它可測量頻率、周期、多周期平均值、時間間隔、累加計數、計時等;若配上相應插件,就可測相位、電壓、電流、功率、電阻等電量;配上適當的傳感器,還可進行長度、重量、壓力、溫度、速度等非電量的測量。二、專用計數器:專用計數器指專門用來測量某種單一功能的計數器。如頻率計數器,只能專門用來測量高頻和微波頻率;時間計數器,是以測量時間為基礎的計數器,其測時分辨力和準確度很高,可達ns數量級;特種計數器,它具有特種功能,如可逆計數器、閾值計數器、差值計數器、倒數計數器等,用于工業(yè)和自控技術等方面。數字頻率計按頻段分類:①低速計數器:最高計數頻率<10MHz;②中速計數器:最高計數頻率10—100MHz;③高速計數器:最高計數頻率>100MHz;④微波頻率計數器:測頻范圍1—80GHz或更高。

img

img

原理圖

? 此次智能電子設計與制作實訓本小組的題目為“數字頻率計的設計”,在仔細研究了題目要求并通過小組內部積極細致的討論之后,決定作品采用的功能方案如下:①能測出正弦波、三角波或方波等波形的頻率。②頻率的測量范圍為1Hz—20MHz,且能檢測幅度最小值為1Vpp的信號;③通過LCD1602液晶顯示屏顯示檢測到的即時頻率數值(最多8位數,單位為Hz)。值得一提的是,當輸入頻率大于20KHz的信號時,由于采用了100分頻采樣,顯示結果稍有誤差,如輸入最大測量頻率20MHz的信號時,LCD1602液晶顯示屏上顯示的測量結果為19998900HZ,誤差不超過十萬分之一,在可接受范圍之內。

以下將以待測輸入信號走向為順序介紹電路中各個功能模塊。

img

信號采集模塊

img

為了有效防止因信號過小而造成的檢測障礙,在信號輸入處采用了三極管共射放大電路,如圖1.1所示。實際工作中,我們必須解決放大電路與信號源及放大電路與負載之間的耦合問題。一方面要求耦合電路能夠傳輸交流的輸入和輸出信號,傳輸過程中的信號損耗盡可能??;另一方面又要求信號源,放大電路、負載之間的直流工作狀態(tài)互補影響,即有“隔直”作用,電路的C1、C7就很好的解決了這個問題即固定偏置共射極放大器。集電極電壓通過基極偏置電阻R2使晶體管Je正偏;同時拖過R3使Jc反偏,從而實現(xiàn)信號源放大。

脈沖產生模塊

img

? 脈沖產生模塊采用74HC14實現(xiàn)了三次施密特觸發(fā)并反相,從圖1.2可以看出,來自信號采集模塊的經過放大的信號從74HC14的1腳進入,經過1A→1Y、2A→2Y和3A→3Y三次施密特觸發(fā)并反相最終將緩慢變化的輸入信號轉換成清晰、無抖動的信號從6腳輸出。

分頻模塊

74HC390具有有八個主從觸發(fā)器和附加門以構成兩個獨立的4位計數器,其中每個計數器皆包含兩個部分:“除2計數部分”和“除5計數部分”,每個計數器又有一個清除輸入和一個時鐘輸入。它可以實現(xiàn)等于2 分頻、5 分頻乃至100 分頻的任何累加倍數的周期長度,且可以連成十進制計數器或二-五進制計數器以分別實現(xiàn)兩種進制的數值輸出。由于每個計數級都有并行輸出,所以系統(tǒng)定時信號可以獲得輸入計數頻率的任何因子。

74HC390具有以下特點:

①A和B觸發(fā)器都有獨立的時鐘

②每個計數器都有直接清除

③有效提高系統(tǒng)密度

④緩沖輸出減小集電極轉換的可能性

程序

img

主要代碼

/----------------主函數--------------------
void main()
{ 
	unsigned char i;
	LCD_init();
	timer_init();             //定時/計數器初始化 
	for(i = 0;i<4;i++)
	{
	 	LCD_disp_char(i+0,1,character_1[i]);
	}
	while(1)
	{
		dis_num();         //顯示
		delay_1s();
	}
}
//-------------------定時/計數器初始化--------------
void timer_init(void)         //定時/計數器初始化
{ 
	TMOD=0x66;                //計數器0和計數器1工作工作方式2,自動重裝初值 
	TH0=0;                    //計數器初值為0
	TL0=0;
	TR0=1;                    //計數器開始計數	    
	ET0=1;                    //打開計數器0中斷   
	TH1=0;                    //計數器初值為0
	TL1=0;
	TR1=1;                    //計數器開始計數	    
	ET1=1;                    //打開計數器1中斷   
	RCAP2H=(65536-62500)/256; //在程序初始化的時候給RCAP2L和RCAP2H賦值, 
	RCAP2L=(65536-62500)%256; //TH2和TL2將會在中斷產生時自動使TH2=RCAP2H,TL2=RCAP2L。 
	TH2=RCAP2H;               //12M晶振下每次中斷62.5ms(1s=1000ms=62.5ms×16)
	TL2=RCAP2L;
	ET2=1;                    //打開定時器2中斷	 
	TR2=1;                    //定時器2開始計時  
	EA=1;                     //開總中斷   
} 
//------------------中斷函數----------------------
void timer2(void) interrupt 5 //定時器2中斷(62.5ms)
{
	time++;
	TF2=0;                    //定時器2的中斷標志位TF2不能夠由硬件清零,所以要在中斷服務程序中將其清零
	if (time==16)             //定時1s時間到  
	{
	   time=0;                //計時清0
	   EA=0;                  //關中斷		 
	   fre=(long)count1*256+TL1;     //count*256強制轉換成long型,否則將不產生進位~先判斷分頻后(計數器1)
	   FLAG = 0; 
	  
	   if(fre<2000)//如果不到200KHz則讀取分頻前(計數器0)頻率(200K÷100=2000)
	   {
	   		fre = (long)count*256+TL0;
			FLAG = 1;          
	   } 
		if(!FLAG)
		{
			fre = fre *100;//100分頻
		}
	   TL0=0;                 //清零計數器0計數	    
	   TH0=0;
	   TL1=0;
	   TH1=0; 
	   count=0;               //清零計數器0計數	  
	   count1=0;
	   EA=1;                  //開中斷	    
	}
} 
//----------------------------------------------------------------
void timer0(void) interrupt 1 //計數器0中斷(100分頻前)	 
{
	count++;
}		
//----------------------------------------------------------------
void timer1(void) interrupt 3 //計數器1中斷(100分頻后) 
{
	count1++;
}

設計報告

img

全部參考資料

資料下載鏈接

img

  • 設計資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
STM32F407VGT6 1 STMicroelectronics High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC

ECAD模型

下載ECAD模型
$20.39 查看
CP2102N-A02-GQFN28R 1 Silicon Laboratories Inc USB Bus Controller, CMOS, QFN-28

ECAD模型

下載ECAD模型
$2.5 查看
STM8S003F3P6 1 STMicroelectronics Mainstream Value line 8-bit MCU with 8 Kbytes Flash, 16 MHz CPU, integrated EEPROM

ECAD模型

下載ECAD模型
$1.53 查看

相關推薦

電子產業(yè)圖譜