欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9617|回復: 3
收起左側

具有放大整形電路的簡易數字頻率計單片機課程設計報告及全套資料下載

[復制鏈接]
ID:266921 發表于 2017-12-26 10:08 | 顯示全部樓層 |閱讀模式
具有放大整形電路的簡易數字頻率計,有protues仿真代碼和Word版實驗報告
0.png
課程設計報告目錄
摘要. 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

0.png

仿真電路圖及結果:
簡易數字頻率計整體電路圖.jpg 簡易數字頻率計數碼管顯示電路.jpg 簡易數字頻率計單片機最小系統.jpg 簡易數字頻率計波形發生與整形電路.jpg 簡易數字頻率計3300Hz三角波仿真結果.jpg 簡易數字頻率計880Hz正弦波仿真結果.jpg 簡易數字頻率計52KHz鋸齒波仿真結果.jpg 簡易數字頻率計18Hz方波仿真結果.jpg 0.png
單片機源程序如下:
  1. /*=======================================================
  2. <<<<<<<<<<<<<<<<<<< 愛普雷德技術團隊 >>>>>>>>>>>>>>>>>>>>
  3. <<<<<<<<<<<<<<<<<<< 我們一起追求卓越 >>>>>>>>>>>>>>>>>>>>
  4. ---------------------------------------------------------
  5. ---------------------------------------------------------
  6.                All right reserved.2013.01
  7. ---------------------------------------------------------
  8. 文件名: digitron_drv.c
  9. 描述: 數碼管模塊c文件
  10. 作者:
  11. =========================================================
  12. -----------------------------------------------------------------------------------------------------------*/
  13. #include "digitron_drv.h"

  14. code uint8 Segment[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  15. code uint8 Select[] = {0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  16. /**********************************************
  17. 功能:
  18.     輸出位選字節和段碼字節
  19. 輸入參數:
  20.     SelectByte:  位選字節
  21.     SegmentByte: 段碼字節
  22. 輸出參數:
  23.     無
  24. 返回值:
  25. **********************************************/
  26. static void DigOutput(uint8 SelectByte, uint8 SegmentByte)
  27. {
  28.     uint8 i;
  29.    
  30.         DIG_SHCP = 0;
  31.         DIG_STCP = 0;

  32.         for(i=0; i<8; i++)
  33.         {
  34.             if(SegmentByte&0x80)
  35.         {
  36.                 DIG_DATA = 1;
  37.         }
  38.                 else
  39.         {
  40.                     DIG_DATA = 0;
  41.         }
  42.                 _nop_();
  43.                 DIG_SHCP = 1;
  44.                 _nop_();
  45.                 DIG_SHCP = 0;
  46.                 _nop_();
  47.                 SegmentByte <<= 1;
  48.         }
  49.         for(i=0; i<8; i++)
  50.         {
  51.             if(SelectByte&0x80)
  52.                 DIG_DATA = 1;
  53.                 else
  54.                     DIG_DATA = 0;
  55.                 _nop_();
  56.                 DIG_SHCP = 1;
  57.                 _nop_();
  58.                 DIG_SHCP = 0;
  59.                 _nop_();
  60.                 SelectByte <<= 1;
  61.         }
  62.         DIG_STCP = 1;
  63.         _nop_();
  64.         DIG_STCP = 0;
  65.         _nop_();
  66. }

  67. /**********************************************
  68. 功能:
  69.     在某位顯示自定義段碼
  70. 輸入參數:
  71.     DigSelect: 數碼管位選擇(1——8,即最右到最左)
  72.     CustomSeg: 自定義段碼值
  73. 輸出參數:
  74.     無
  75. 返回值:
  76. **********************************************/
  77. void DigShowCustom(uint8 DigSelect, uint8 CustomSeg)
  78. {
  79.     if(0<DigSelect<9)
  80.     {
  81.         DigOutput(Select[DigSelect],CustomSeg);
  82.     }
  83. }

  84. /**********************************************
  85. 功能:
  86.     在某位顯示數字
  87. 輸入參數:
  88.     DigSelect: 數碼管位選擇(1——8,即最右到最左)
  89.     Number:    數字(0——9)
  90.     Dp:        小數點(1:顯示;0:不顯示)
  91. 輸出參數:
  92.     無
  93. 返回值:
  94. **********************************************/
  95. void DigShowNumber(uint8 DigSelect, uint8 Number, bit Dp)
  96. {
  97.     if((0<DigSelect<9)&&(Number<10))
  98.     {
  99.         if(Dp)
  100.             {
  101.             DigOutput(Select[DigSelect],(Segment[Number]&~0x80));
  102.             }
  103.             else
  104.             {
  105.             DigOutput(Select[DigSelect],(Segment[Number]|0x80));
  106.             }
  107.     }
  108. }


  109. ……………………

  110. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png
所有資料51hei提供下載:
簡易數字頻率計(單片機課程設計).zip (4.92 MB, 下載次數: 267)

回復

使用道具 舉報

ID:661037 發表于 2019-12-31 16:27 | 顯示全部樓層
請問怎么創建select目標
回復

使用道具 舉報

ID:854025 發表于 2020-12-3 20:26 | 顯示全部樓層
這個我為什么運行不出來,顯示cpu過載,里面的參數該怎么設置
回復

使用道具 舉報

ID:854025 發表于 2020-12-3 20:50 | 顯示全部樓層
為什么我運行顯示cpu過載
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表