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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 31076|回復(fù): 56
打印 上一主題 下一主題
收起左側(cè)

最近DIY了一個(gè)簡(jiǎn)易數(shù)字頻率計(jì)(PCB+電路圖+單片機(jī)源碼+實(shí)物制作)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
資源全部在里面 請(qǐng)大家多多指教 一個(gè)新手  第一次發(fā)帖



全部資料51hei下載地址:
單片機(jī)頻率計(jì).rar (10.9 MB, 下載次數(shù): 1050)




頻率計(jì)電路原理圖如下:


pcb文件:


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


頻率計(jì)實(shí)物圖:


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. unsigned long int fre;
  3. unsigned char time;
  4. unsigned int count;
  5. unsigned int count1;
  6. sbit   LCD_RS=P1^0;          //片選信號(hào)
  7. sbit   LCD_RW=P1^1;          //讀寫信號(hào)
  8. sbit   LCD_E=P1^2;           //使能信號(hào)
  9. #define LCD_DB  P0        //數(shù)據(jù)信號(hào)
  10. unsigned char character[10]={0};//在屏幕上顯示的字符串
  11. unsigned char character_1[]={"fre= Hz"};
  12. unsigned char FLAG = 0;  //是否分頻選擇標(biāo)志
  13. void LCD_init(void);//初始化函數(shù)   
  14. void LCD_write_command(unsigned char command);//寫指令函數(shù)         
  15. void LCD_write_data(unsigned char dat);//寫數(shù)據(jù)函數(shù)           
  16. void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat);//在某個(gè)屏幕位置上顯示一個(gè)字符,X(0-15),y(1-2)
  17. void delay_n40us(unsigned int n);//延時(shí)函數(shù)
  18. void timer_init();            //中斷初始化函數(shù)  
  19. //-----------------------------延時(shí)函數(shù)---------------------------
  20. void delay_n40us(unsigned int n)                  //延時(shí)函數(shù)
  21. {
  22.         unsigned int i;
  23.         unsigned char j;            
  24.         for(i=n;i>0;i--)
  25.         for(j=0;j<2;j++);         
  26. }
  27. void delay_1s()
  28. {
  29.         unsigned int i,j;
  30.         for(i = 0;i<100;i++)
  31.                 for(j = 0;j<1000;j++);
  32. }
  33. //---------------------lcd1602液晶顯示函數(shù)--------------------                                    
  34. void LCD_init(void)         //液晶初始化函數(shù)
  35. {
  36.         LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7
  37.         LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7
  38.         LCD_write_command(0x38);//設(shè)置8位格式,2行,5x7
  39.         LCD_write_command(0x0c);//整體顯示,關(guān)光標(biāo),不閃爍
  40.         LCD_write_command(0x06);//設(shè)定輸入方式,增量不移位
  41.         LCD_write_command(0x01);//清除屏幕顯示         
  42.         delay_n40us(100);//清屏延時(shí)
  43. }
  44. void LCD_write_command(unsigned char dat)  //寫命令函數(shù)
  45. {
  46.         LCD_DB=dat;
  47.         LCD_RS=0;//指令         
  48.         LCD_RW=0;//寫入         
  49.         LCD_E=1; //使能         
  50.         LCD_E=0;
  51.         delay_n40us(1);//寫命令延時(shí)   
  52. }         
  53. void LCD_write_data(unsigned char dat)          //寫數(shù)據(jù)函數(shù)
  54. {
  55.         LCD_DB=dat;
  56.         LCD_RS=1;//數(shù)據(jù)         
  57.         LCD_RW=0;//寫入         
  58.         LCD_E=1;//使能  
  59.         LCD_E=0;
  60.         delay_n40us(1);         //寫數(shù)據(jù)延時(shí)
  61. }
  62. void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat)//顯示一個(gè)字符
  63. {
  64.         unsigned char address;
  65.         if(y==1)
  66.                  address=0x80+x;         //顯示在第一排的時(shí)候的x的地址
  67.         else
  68.                  address=0xc0+x;         //顯示在第二排的時(shí)候的x的地址
  69.         LCD_write_command(address);         //輸入地址
  70.         LCD_write_data(dat);                 //輸入數(shù)據(jù)
  71. }
  72. void LCD_disp_num(unsigned char x,unsigned char y,unsigned char dat)//顯示一個(gè)數(shù)字
  73. {
  74.         unsigned char address;
  75.         if(y==1)
  76.                  address=0x80+x;         //顯示在第一排的時(shí)候的x的地址
  77.         else
  78.                  address=0xc0+x;         //顯示在第二排的時(shí)候的x的地址
  79.         LCD_write_command(address);         //輸入地址
  80.         LCD_write_data(dat+48);                 //輸入數(shù)據(jù)
  81. }
  82. void dis_num(void)
  83. {
  84.         unsigned char i=0,j=0,k=0;
  85.         LCD_write_command(0x01);//清除屏幕顯示
  86.         character[0] = fre/10000000;
  87.         character[1] = fre/1000000%10;
  88.         character[2] = fre/100000%10;
  89.         character[3] = fre/10000%10;
  90.         character[4] = fre/1000%10;
  91.         character[5] = fre/100%10;
  92.         character[6] = fre/10%10;
  93.         character[7] = fre%10;
  94.     character[8] = 'H';
  95.         character[9] = 'z';
  96.         for(i = 0;i<4;i++)                 //顯示“fre=”
  97.         {
  98.                  LCD_disp_char(i+0,1,character_1[i]);
  99.         }
  100.         for(i = 0;i<10;i++)         //判斷第一個(gè)不為0的數(shù)
  101.         {
  102.                 if(character[i]!=0)
  103.                         break;
  104.         }
  105.         k = 8-i;
  106.         for(j = 0;j<k;j++)         //顯示所有的數(shù)字
  107.         {
  108.                         LCD_disp_num(4+j,1,character[i++]);        
  109.         }
  110.     for(i = 5;i<7;i++)         //顯示“Hz”
  111.         {
  112.                  LCD_disp_char(j+4,1,character_1[i]);
  113.                 j++;
  114.         }
  115. }
  116. //----------------主函數(shù)--------------------
  117. void main()
  118. {
  119.         unsigned char i;
  120.         LCD_init();
  121.         timer_init();             //定時(shí)/計(jì)數(shù)器初始化
  122.         for(i = 0;i<4;i++)
  123.         {
  124.                  LCD_disp_char(i+0,1,character_1[i]);
  125.         }
  126.         while(1)
  127.         {
  128.                 dis_num();         //顯示
  129.                 delay_1s();
  130.         }
  131. }
  132. //-------------------定時(shí)/計(jì)數(shù)器初始化--------------
  133. void timer_init(void)         //定時(shí)/計(jì)數(shù)器初始化
  134. {
  135.         TMOD=0x66;                //計(jì)數(shù)器0和計(jì)數(shù)器1工作工作方式2,自動(dòng)重裝初值
  136.         TH0=0;                    //計(jì)數(shù)器初值為0
  137.         TL0=0;
  138.         TR0=1;                    //計(jì)數(shù)器開始計(jì)數(shù)            
  139.         ET0=1;                    //打開計(jì)數(shù)器0中斷   
  140.         TH1=0;                    //計(jì)數(shù)器初值為0
  141.         TL1=0;
  142.         TR1=1;                    //計(jì)數(shù)器開始計(jì)數(shù)            
  143.         ET1=1;                    //打開計(jì)數(shù)器1中斷   
  144.         RCAP2H=(65536-62500)/256; //在程序初始化的時(shí)候給RCAP2L和RCAP2H賦值,
  145.         RCAP2L=(65536-62500)%256; //TH2和TL2將會(huì)在中斷產(chǎn)生時(shí)自動(dòng)使TH2=RCAP2H,TL2=RCAP2L。
  146.         TH2=RCAP2H;               //12M晶振下每次中斷62.5ms(1s=1000ms=62.5ms×16)
  147.         TL2=RCAP2L;
  148.         ET2=1;                    //打開定時(shí)器2中斷         
  149.         TR2=1;                    //定時(shí)器2開始計(jì)時(shí)  
  150.         EA=1;                     //開總中斷   
  151. }
  152. //------------------中斷函數(shù)----------------------
  153. void timer2(void) interrupt 5 //定時(shí)器2中斷(62.5ms)
  154. {
  155.         time++;
  156.         TF2=0;                    //定時(shí)器2的中斷標(biāo)志位TF2不能夠由硬件清零,所以要在中斷服務(wù)程序中將其清零
  157.         if (time==16)             //定時(shí)1s時(shí)間到  
  158.         {
  159.            time=0;                //計(jì)時(shí)清0
  160.            EA=0;                  //關(guān)中斷                 
  161.            fre=(long)count1*256+TL1;     //count*256強(qiáng)制轉(zhuǎn)換成long型,否則將不產(chǎn)生進(jìn)位~先判斷分頻后(計(jì)數(shù)器1)
  162.            FLAG = 0;
  163.          
  164.            if(fre<2000)//如果不到200KHz則讀取分頻前(計(jì)數(shù)器0)頻率(200K÷100=2000)
  165.            {
  166.                            fre = (long)count*256+TL0;
  167.                         FLAG = 1;         
  168.            }
  169.                 if(!FLAG)
  170. ……………………

  171. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

評(píng)分

參與人數(shù) 3黑幣 +63 收起 理由
aifengdian + 8 共享資料的黑幣獎(jiǎng)勵(lì)!
vvv64 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏46 分享淘帖 頂6 踩
回復(fù)

使用道具 舉報(bào)

來自 2#
ID:491875 發(fā)表于 2021-11-10 20:06 | 只看該作者
這個(gè)非常好,下載試制成功,因?yàn)樵O(shè)計(jì)一款產(chǎn)品需要檢測(cè)頻率差,頻率不高,100KHz以內(nèi),而且是占空比接近50%的方波,所以將這個(gè)電路簡(jiǎn)化了,省略了施密特反相器74HC14和100分頻電路74HC390以及三極管等,直接將輸入信號(hào)加到單片機(jī)的P3.4口,另外,使用了網(wǎng)購的現(xiàn)成的單片機(jī)最小系統(tǒng)板PCB(2.7元),這樣比使用點(diǎn)陣板要方便一些,因?yàn)榫W(wǎng)購的單片機(jī)最小系統(tǒng)板PCB的1602A的控制腳是P2.4(RS),P2.3(RW),P2.2(EN),所以,程序需要修改一下將原來的P1.0,P1.1,P1.2分別改成P2.4,P2.3,P2.2即可。手頭有一款最高頻率為1.5MHz的信號(hào)發(fā)生器,在此頻率范圍內(nèi)測(cè)試可靠。謝謝樓主提供的資料。
回復(fù)

使用道具 舉報(bào)

板凳
ID:113235 發(fā)表于 2018-4-16 14:13 | 只看該作者
向高手學(xué)習(xí)!!
回復(fù)

使用道具 舉報(bào)

地板
ID:314911 發(fā)表于 2018-4-24 15:53 | 只看該作者
大家不要下,有錯(cuò)誤,不能仿真
回復(fù)

使用道具 舉報(bào)

5#
ID:285047 發(fā)表于 2018-4-25 08:42 | 只看該作者

向高手學(xué)習(xí) 學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

6#
ID:285047 發(fā)表于 2018-4-25 08:42 | 只看該作者
學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

7#
ID:282850 發(fā)表于 2018-4-26 17:14 | 只看該作者
最高頻率多少?
回復(fù)

使用道具 舉報(bào)

8#
ID:26275 發(fā)表于 2018-6-11 14:33 | 只看該作者
精準(zhǔn)度 效驗(yàn)過嗎, 100-500Mhz 的頻率,有多精確? 還有,功率 亞音等,是否能測(cè)?
回復(fù)

使用道具 舉報(bào)

9#
ID:26275 發(fā)表于 2018-6-11 14:56 | 只看該作者
若夢(mèng)5151 發(fā)表于 2018-4-24 15:53
大家不要下,有錯(cuò)誤,不能仿真

注意檢查,不是任何東西都能原模原樣照抄的,照抄不一定能用,
回復(fù)

使用道具 舉報(bào)

10#
ID:245084 發(fā)表于 2018-6-24 10:12 | 只看該作者
好用!!!
回復(fù)

使用道具 舉報(bào)

11#
ID:399814 發(fā)表于 2018-9-19 09:06 | 只看該作者
厲害了
回復(fù)

使用道具 舉報(bào)

12#
ID:65956 發(fā)表于 2018-9-27 08:26 | 只看該作者
學(xué)習(xí)到了,謝謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:395304 發(fā)表于 2018-10-29 09:35 | 只看該作者
若夢(mèng)5151 發(fā)表于 2018-4-24 15:53
大家不要下,有錯(cuò)誤,不能仿真

我都仿真成功了,你是不是哪里沒有設(shè)置
回復(fù)

使用道具 舉報(bào)

14#
ID:399179 發(fā)表于 2018-10-29 18:55 來自手機(jī) | 只看該作者
感謝樓主分享!
回復(fù)

使用道具 舉報(bào)

15#
ID:68189 發(fā)表于 2019-3-25 16:38 | 只看該作者
厲害的高手,下載了全部資料學(xué)習(xí)一下感謝.
回復(fù)

使用道具 舉報(bào)

16#
ID:68189 發(fā)表于 2019-3-25 16:52 | 只看該作者
可以仿真,并仿真成功.

調(diào)整大小 快照1.jpg (112.36 KB, 下載次數(shù): 173)

調(diào)整大小 快照1.jpg
回復(fù)

使用道具 舉報(bào)

17#
ID:521318 發(fā)表于 2019-4-25 21:39 | 只看該作者
本帖最后由 paradan 于 2019-4-26 08:48 編輯

C:\Users\Administrator\Desktop為啥我這個(gè)之后10

20190425213816.png (41.02 KB, 下載次數(shù): 157)

20190425213816.png
回復(fù)

使用道具 舉報(bào)

18#
ID:524319 發(fā)表于 2019-4-29 11:28 | 只看該作者
這個(gè)可以測(cè)頻范圍是多少?
回復(fù)

使用道具 舉報(bào)

19#
ID:476752 發(fā)表于 2019-4-29 18:59 | 只看該作者
厲害了,學(xué)習(xí)學(xué)習(xí),正好要用到。
回復(fù)

使用道具 舉報(bào)

20#
ID:585016 發(fā)表于 2019-7-16 12:25 | 只看該作者


向高手學(xué)習(xí) 學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

21#
ID:300101 發(fā)表于 2019-8-26 17:23 | 只看該作者
很想知道這個(gè)可以測(cè)量的頻率范圍是多少?
回復(fù)

使用道具 舉報(bào)

22#
ID:656668 發(fā)表于 2019-12-21 08:49 | 只看該作者
這個(gè)測(cè)量范圍是多大
回復(fù)

使用道具 舉報(bào)

23#
ID:655518 發(fā)表于 2019-12-27 23:51 來自手機(jī) | 只看該作者
wpppmlah 發(fā)表于 2019-3-25 16:52
可以仿真,并仿真成功.

為啥我連了之后 這個(gè)lcd顯示屏沒有字符顯示
回復(fù)

使用道具 舉報(bào)

24#
ID:655518 發(fā)表于 2019-12-27 23:52 來自手機(jī) | 只看該作者
請(qǐng)問一下我連了之后這個(gè)lcd顯示屏為什么沒有字符顯示
回復(fù)

使用道具 舉報(bào)

25#
ID:677396 發(fā)表于 2019-12-31 16:49 來自手機(jī) | 只看該作者
為什么我測(cè)不出頻率啊
回復(fù)

使用道具 舉報(bào)

26#
ID:677584 發(fā)表于 2020-1-7 16:33 來自手機(jī) | 只看該作者
頻率范圍多少
回復(fù)

使用道具 舉報(bào)

27#
ID:683580 發(fā)表于 2020-2-3 12:13 | 只看該作者
我想咨詢一個(gè)問題,基于這個(gè)頻率計(jì),在放大電路中的信號(hào)輸入端,高頻信號(hào)是通過104pf的電容進(jìn)入放大電路,則低頻信號(hào)是通過470uf的電容進(jìn)入放大電路嗎?
回復(fù)

使用道具 舉報(bào)

28#
ID:683580 發(fā)表于 2020-2-3 12:19 | 只看該作者
我想咨詢一個(gè)問題,基于這個(gè)頻率計(jì),關(guān)于放大電路的頻率信號(hào)輸入,高頻信號(hào)通過104pf的電容進(jìn)入放大電路,而低頻信號(hào)是通過470uf的電容進(jìn)入放大電路,這樣理解對(duì)嗎?
回復(fù)

使用道具 舉報(bào)

29#
ID:24486 發(fā)表于 2020-2-6 23:43 | 只看該作者
學(xué)習(xí)了,謝謝分享!
回復(fù)

使用道具 舉報(bào)

30#
ID:418213 發(fā)表于 2020-2-10 08:45 | 只看該作者
謝謝,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

31#
ID:375357 發(fā)表于 2020-2-19 11:11 | 只看該作者
很強(qiáng),向前輩學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

32#
ID:196787 發(fā)表于 2020-3-10 09:38 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

33#
ID:745038 發(fā)表于 2020-5-7 07:55 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

34#
ID:745038 發(fā)表于 2020-5-7 08:33 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

35#
ID:736675 發(fā)表于 2020-5-13 20:46 | 只看該作者
為什么我測(cè)不出1m以上的頻率
回復(fù)

使用道具 舉報(bào)

36#
ID:159857 發(fā)表于 2020-5-14 18:56 | 只看該作者
謝謝樓主,學(xué)習(xí)一下!
回復(fù)

使用道具 舉報(bào)

37#
ID:159857 發(fā)表于 2020-5-14 21:43 | 只看該作者
謝謝樓主,學(xué)習(xí)中!
回復(fù)

使用道具 舉報(bào)

38#
ID:88256 發(fā)表于 2020-6-17 01:00 | 只看該作者
怎么都沒人回答測(cè)量范圍?
回復(fù)

使用道具 舉報(bào)

39#
ID:261884 發(fā)表于 2020-7-18 14:41 | 只看該作者
想問一下測(cè)量范圍有多大
回復(fù)

使用道具 舉報(bào)

40#
ID:774370 發(fā)表于 2020-7-25 21:38 | 只看該作者
向樓主請(qǐng)教一下:74HC390的6腳連12腳還是7腳連12腳。原理圖和PCB圖兩種連接方式都有,不知哪個(gè)正確。
回復(fù)

使用道具 舉報(bào)

41#
ID:812079 發(fā)表于 2020-8-7 10:11 | 只看該作者
向高手學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人在线国产 | 黄色大片在线 | 国产精品揄拍一区二区久久国内亚洲精 | 国产在线播放av | 成年人在线观看视频 | 视频一区二区在线观看 | 91精品国产一二三 | 在线一区二区国产 | 国产资源在线视频 | 成人综合一区二区 | 国产欧美在线 | 成人在线精品 | 国产91av视频在线观看 | 久久国产精品色av免费观看 | 超碰人人爱 | av黄色在线| 91麻豆精品国产91久久久久久 | 久久国内 | 成年人网站免费视频 | 黄色毛片在线看 | 精品欧美一区二区三区久久久 | 爱爱免费视频 | 国产精品永久 | 99色在线 | 有码在线 | 亚洲成av| 激情婷婷成人 | 国产美女视频黄a视频免费 国产精品福利视频 | 午夜电影一区二区 | 99精品国产一区二区青青牛奶 | 久久99蜜桃综合影院免费观看 | 日韩色视频| 久久久国产一区二区三区 | 天天干狠狠操 | 一区二区视频在线 | 天天拍夜夜爽 | 久久久久久久久淑女av国产精品 | 99精彩视频 | 成人a视频片观看免费 | 中文字幕欧美日韩一区 | 岛国二区|