具有放大整形電路的簡易數字頻率計,有protues仿真代碼和Word版實驗報告
0.png (4.64 KB, 下載次數: 52)
下載附件
2017-12-26 12:41 上傳
課程設計報告目錄 摘要. I 關鍵詞語. I Abstract I Key words I 前言. 1 第一章 頻率計設計. 1 1.1頻率計概要. 1 1.2發展動態. 1 1.3設計任務. 1 第二章 系統模塊設計. 1 2.1整體設計. 1 2.2測頻思路. 1 2.3模塊分析. 1 第三章 硬件設計. 1 3.1主控模塊. 1 3.2放大整形電路. 1 3.3分頻設計. 1 3.4驅動顯示. 1 第四章 軟件設計. 1 4.1模塊設計. 1 4.2中斷服務. 1 4.3顯示實現過程. 1 4.4量程轉換. 1 4.5軟件概述. 1 第五章 系統調試. 1 5.1硬件調試. 1 5.2軟件調試. 1 5.3系統調試. 1 5.4誤差分析. 1 第六章 總結. 1 參考資料. 1 致 謝. 1 附錄. 1 設計任務
1.3.1任務
設計一個以單片機為主要控制模塊的簡易數字頻率計。
1.3.2設計要求
(1)基本要求
實現對周期信號的頻率進行測量。
測量范圍:
信號:三角波、正弦波、方波;
幅度:0.5V~5V;
頻率:1Hz~1MHz;
測量誤差≤0.1%。
(2)驅動顯示部分
用74LS245驅動4位共陽極數碼管,以十進制數字顯示測量的數據。電源用電池代替。
第二章 系統模塊設計
2.1整體設計
在單位時間內對待測信號進行計數,計數值作為信號頻率顯示在數碼管上。本設計用單片機STC80C51制作簡易數字頻率計,高頻段采用外部10分頻,低頻段直接用單片機計數,實現對1HZ-1MHZ范圍的頻率測量。顯示部分用74LS245驅動四位共陽極數碼管,顯示測量出來的頻率結果。可以測量正弦波、三角波及方波的頻率值。
設計的原理框圖如圖2.1所示。
0.png (15.21 KB, 下載次數: 71)
下載附件
2017-12-26 12:45 上傳
0.png (16.91 KB, 下載次數: 59)
下載附件
2017-12-26 12:45 上傳
仿真電路圖及結果:
簡易數字頻率計整體電路圖.jpg (592.31 KB, 下載次數: 59)
下載附件
2017-12-26 12:47 上傳
簡易數字頻率計數碼管顯示電路.jpg (401.96 KB, 下載次數: 50)
下載附件
2017-12-26 12:47 上傳
簡易數字頻率計單片機最小系統.jpg (457.37 KB, 下載次數: 50)
下載附件
2017-12-26 12:47 上傳
簡易數字頻率計波形發生與整形電路.jpg (481.06 KB, 下載次數: 52)
下載附件
2017-12-26 12:47 上傳
簡易數字頻率計3300Hz三角波仿真結果.jpg (486.16 KB, 下載次數: 57)
下載附件
2017-12-26 12:47 上傳
簡易數字頻率計880Hz正弦波仿真結果.jpg (462.31 KB, 下載次數: 57)
下載附件
2017-12-26 12:46 上傳
簡易數字頻率計52KHz鋸齒波仿真結果.jpg (446.24 KB, 下載次數: 65)
下載附件
2017-12-26 12:46 上傳
簡易數字頻率計18Hz方波仿真結果.jpg (428.33 KB, 下載次數: 53)
下載附件
2017-12-26 12:46 上傳
0.png (19.54 KB, 下載次數: 55)
下載附件
2017-12-26 12:41 上傳
單片機源程序如下:
- /*=======================================================
- <<<<<<<<<<<<<<<<<<< 愛普雷德技術團隊 >>>>>>>>>>>>>>>>>>>>
- <<<<<<<<<<<<<<<<<<< 我們一起追求卓越 >>>>>>>>>>>>>>>>>>>>
- ---------------------------------------------------------
- ---------------------------------------------------------
- All right reserved.2013.01
- ---------------------------------------------------------
- 文件名: digitron_drv.c
- 描述: 數碼管模塊c文件
- 作者:
- =========================================================
- -----------------------------------------------------------------------------------------------------------*/
- #include "digitron_drv.h"
- code uint8 Segment[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- code uint8 Select[] = {0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- /**********************************************
- 功能:
- 輸出位選字節和段碼字節
- 輸入參數:
- SelectByte: 位選字節
- SegmentByte: 段碼字節
- 輸出參數:
- 無
- 返回值:
- **********************************************/
- static void DigOutput(uint8 SelectByte, uint8 SegmentByte)
- {
- uint8 i;
-
- DIG_SHCP = 0;
- DIG_STCP = 0;
- for(i=0; i<8; i++)
- {
- if(SegmentByte&0x80)
- {
- DIG_DATA = 1;
- }
- else
- {
- DIG_DATA = 0;
- }
- _nop_();
- DIG_SHCP = 1;
- _nop_();
- DIG_SHCP = 0;
- _nop_();
- SegmentByte <<= 1;
- }
- for(i=0; i<8; i++)
- {
- if(SelectByte&0x80)
- DIG_DATA = 1;
- else
- DIG_DATA = 0;
- _nop_();
- DIG_SHCP = 1;
- _nop_();
- DIG_SHCP = 0;
- _nop_();
- SelectByte <<= 1;
- }
- DIG_STCP = 1;
- _nop_();
- DIG_STCP = 0;
- _nop_();
- }
- /**********************************************
- 功能:
- 在某位顯示自定義段碼
- 輸入參數:
- DigSelect: 數碼管位選擇(1——8,即最右到最左)
- CustomSeg: 自定義段碼值
- 輸出參數:
- 無
- 返回值:
- **********************************************/
- void DigShowCustom(uint8 DigSelect, uint8 CustomSeg)
- {
- if(0<DigSelect<9)
- {
- DigOutput(Select[DigSelect],CustomSeg);
- }
- }
- /**********************************************
- 功能:
- 在某位顯示數字
- 輸入參數:
- DigSelect: 數碼管位選擇(1——8,即最右到最左)
- Number: 數字(0——9)
- Dp: 小數點(1:顯示;0:不顯示)
- 輸出參數:
- 無
- 返回值:
- **********************************************/
- void DigShowNumber(uint8 DigSelect, uint8 Number, bit Dp)
- {
- if((0<DigSelect<9)&&(Number<10))
- {
- if(Dp)
- {
- DigOutput(Select[DigSelect],(Segment[Number]&~0x80));
- }
- else
- {
- DigOutput(Select[DigSelect],(Segment[Number]|0x80));
- }
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png (6.48 KB, 下載次數: 59)
下載附件
2017-12-26 12:42 上傳
所有資料51hei提供下載:
簡易數字頻率計(單片機課程設計).zip
(4.92 MB, 下載次數: 267)
2017-12-26 10:07 上傳
點擊文件名下載附件
簡易數字頻率計 下載積分: 黑幣 -5
|