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

標題: 基于51單片機的數字頻率計(電路圖+pcb+論文+仿真+源碼) [打印本頁]

作者: taczer    時間: 2018-5-2 13:26
標題: 基于51單片機的數字頻率計(電路圖+pcb+論文+仿真+源碼)
基于51單片機的數字頻率計
設計的頻率計范圍能夠達到1HZ-1MHZ(實際上51單片機達不到這個范圍,不要在實驗環境下進行),這個是課設來著,用Proteus仿真實現的,給有需要的同學參考一下

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

Altium Designer畫的數字頻率計電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)





論文內容截圖:


單片機源碼:
  1. #include<reg51.h>
  2. #include<stdio.h>
  3. #include<intrins.h>
  4. typedef unsigned char uchar;
  5. typedef unsigned int  uint;
  6. sbit RS=P2^5;
  7. sbit RW=P2^6;
  8. sbit E=P2^7;
  9. sbit CLK=P2^0;
  10. sbit DO=P2^1;
  11. sbit DI=P2^1;
  12. sbit CS=P2^2;
  13. sbit CLR=P3^0;
  14. sbit GATE=P3^1;
  15. sbit K1=P3^7;
  16. uint  num=0;
  17. uint  c=0;
  18. float d=0;
  19. uchar e=1,f=1;
  20. unsigned long int aaa=0,bbb=0;
  21. uchar LCD_wait()//LCD1602內部等待函數
  22. {
  23.         RS=0;
  24.         RW=1;        
  25.         _nop_();
  26.         E=1;
  27.         _nop_();
  28.         E=0;
  29.         return P0;               
  30. }
  31. void LCD_write(bit aa,uchar bb)//向LCD寫入命令或數據
  32. {
  33.         E=0;
  34.         RS=aa;
  35.         RW=0;               
  36.         _nop_();
  37.         P0=bb;        
  38.         _nop_();//注意順序
  39.         E=1;               
  40.         _nop_();//注意順序
  41.         E=0;               
  42.         _nop_();
  43.         LCD_wait();//LCD1602內部等待函數        
  44. }
  45. void LCD_display(uchar temp)
  46. {
  47.         LCD_write(0,0x08|temp);        
  48. }
  49. void LCD_input(uchar cc)
  50. {
  51.         LCD_write(0,0x04|cc);
  52. }
  53. void LCD_init()//初始化LCD
  54. {
  55.         //RW=0;
  56.         LCD_write(0,0x38);//8位數據端口,2行顯示,5*7點陣
  57.         LCD_write(0,0x38);
  58.         
  59.         LCD_write(0,0x0C);//開啟顯示, 無光標
  60.         LCD_write(0,0x01);//清屏
  61.         LCD_write(0,0x0C);//AC遞增,畫面不動
  62.         
  63. }
  64. void LCD_sfj1(uchar x,uchar y)
  65. {
  66.         if(y==0)
  67.                 LCD_write(0,0x80|x);
  68.         if(y==1)
  69.                 LCD_write(0,0x80|(x-0x40));
  70. }
  71. void LCD_print(uchar *p)
  72. {
  73.         while(*p!='\0')
  74.         {
  75.                 LCD_write(1,*p);
  76.                 p++;
  77.         }
  78. }
  79. void delay1(uchar x)//ms延時子函數
  80. {                    
  81.     uchar i;
  82.     for(i=0;i<x;i++); //延時,脈沖一位持續的時間
  83. }
  84. uchar start(bit temp) //把模擬電壓值轉換成8位二進制數并返回,dat為通道選擇。
  85. {         
  86.         uchar i,aa=0;
  87.     CS=0;
  88.     DO=0;//片選,DO為高阻態
  89.     delay1(10);
  90.     CLK=0;
  91.     delay1(2);
  92.     DI=1;         
  93.     CLK=1;         
  94.     delay1(2);//第一個脈沖,起始位
  95.     CLK=0;                                          
  96.     delay1(2);                                          
  97.     DI=1;                                          
  98.     CLK=1;                                          
  99.     delay1(2);//第二個脈沖,DI=1表示雙通道單極性輸入         
  100.     CLK=0;                                                                                 
  101.     delay1(2);                                                                                 
  102.     DI=temp;        /*******************************/                                                                                         
  103.     CLK=1;
  104.     delay1(2);//第三個脈沖,DI=1表示選擇通道1(CH2)         
  105.     DI=0;                                                                                   
  106.     DO=1;//DI轉為高阻態,DO脫離高阻態為輸出數據作準備
  107.     CLK=1;                                                                                                                                                                                    
  108.     delay1(2);                                                                           
  109.     CLK=0;                                                                           
  110.     delay1(2);//經實驗,這里加一個脈沖AD便能正確讀出數據,
  111.         //不加的話讀出的數據少一位(最低位d0讀不出)                  
  112.         for(i=0;i<8;i++)                                                                          
  113.     {
  114.             CLK=1;
  115.                delay1(2);
  116.                CLK=0;
  117.                delay1(2);
  118.                aa=(aa<<1)|DO;//在每個脈沖的下降沿DO輸出一位數據,最終ch為8位二進制數
  119.         }
  120.     CS=1;//取消片選,一個轉換周期結束
  121.     return(aa);//把轉換結果返回
  122. }
  123. uint fenjie(bit cc)
  124. {
  125.         uchar dd;
  126.         uint  ee;
  127.         dd=start(cc);
  128.         ee=(uint)dd*100/51; //51是由5/255的倒數得來的,5是5V,255是8位AD。
  129.         return(ee);
  130. }        
  131. void delay2(uint z)//按鍵消抖
  132. {
  133.         uint x;
  134.         uchar y;
  135.         for(x=0;x<z;x++)
  136.                 for(y=0;y<110;y++);
  137. }
  138. void delay3()//1s延時子函數            
  139. {
  140.         uchar h,i,j,k;
  141.         for(h=5;h>0;h--)
  142.                 for(i=4;i>0;i--)
  143.                         for(j=116;j>0;j--)
  144.                                 for(k=214;k>0;k--);
  145. }
復制代碼
礙于篇幅,上述只有部分代碼,其他在壓縮包中

論文內容預覽:http://www.zg4o1577.cn/bbs/dpj-115892-1.html
全部資料51hei下載地址:
基于51單片機數字頻率計的設計.zip (984.6 KB, 下載次數: 2082)



作者: 249796790    時間: 2018-7-12 21:07
作者做的很詳細,新手表示找到救命稻草了
作者: lczyzr    時間: 2018-10-10 12:03
作者做的很詳細!
作者: 乾坤    時間: 2018-10-10 14:30
非常好,很實用!
作者: vcfang    時間: 2018-10-10 15:55
很詳細還得慢慢研究
作者: 1628235666    時間: 2018-10-30 12:12
剛剛試過 特別好用 如果用12M晶振 可以測下限130HZ 上限16MHZ   估計改成24M晶振 可以測的更高
作者: 流年藕    時間: 2018-11-3 15:09
做的十分詳細了,可以一步步看明白
作者: 586486    時間: 2018-12-9 21:40
謝謝分享,非常好的學習資料。
作者: entice321    時間: 2018-12-22 19:44
感謝樓主
作者: wswa    時間: 2019-2-28 20:31
感謝樓主
作者: zgf123456    時間: 2019-3-5 18:10
感謝樓主

作者: sylmm    時間: 2019-3-7 08:51
很給力的資料
作者: RYLM123123    時間: 2019-3-21 21:05
很詳細哦
作者: 無敵中華小子    時間: 2019-3-21 21:17
感謝了樓主
作者: 凌冰啊    時間: 2019-3-26 09:09
謝謝啊
作者: 774388942    時間: 2019-3-31 10:37
謝謝分享

作者: 浮云般飄散    時間: 2019-4-9 10:33
感謝分享
作者: 北極光123    時間: 2019-4-13 14:41
本帖最后由 北極光123 于 2019-4-13 22:18 編輯

感謝樓主

作者: 北極光123    時間: 2019-4-13 22:19

感謝樓主
作者: 小七七七    時間: 2019-4-14 17:01
感謝分享
作者: 小七七七    時間: 2019-4-14 17:06
感謝分享
作者: jacki    時間: 2019-4-26 19:11
實用啊
作者: hanmeiqi    時間: 2019-5-4 12:20
可以好好研究一下

作者: jacki    時間: 2019-5-5 18:08
這里的74HC393芯片在這里就是計數用嗎?
作者: zhuchengzhou    時間: 2019-5-13 10:14
很專業嘛
作者: zhuchengzhou    時間: 2019-5-13 10:15
謝謝樓主,可惜沒有黑比下載
作者: ftj    時間: 2019-5-13 22:14
感謝樓主
作者: 嵌入單芯    時間: 2019-5-14 10:35
謝謝樓主

作者: dada3966    時間: 2019-5-15 00:05
非常的棒
作者: dada3966    時間: 2019-5-15 00:05
非常非常的棒
作者: llj99127    時間: 2019-5-16 18:40
為什么仿真不了呀樓主
作者: ETETT    時間: 2019-6-6 16:51
謝謝樓主分享,這個找了很久了,太需要了
作者: a929301750    時間: 2019-6-12 13:05
感謝樓主分享 謝謝
作者: HearingWings    時間: 2019-6-12 14:54
這個代碼正確嗎
作者: byxiao    時間: 2019-6-14 02:42
好資料,51黑有你更精彩!。
作者: liuleiniubi    時間: 2019-6-18 08:50
不錯  這個程序可以
作者: 清風清酒    時間: 2019-6-30 16:44
小新找到迷茫的方向了,感謝
作者: 林一游    時間: 2019-7-1 14:41
牛,太牛了。
作者: winkle    時間: 2019-7-12 13:19
做的真不錯,很有幫助
作者: sjwjwj    時間: 2019-7-12 15:23
很好用。
作者: 高山低谷    時間: 2019-7-30 18:36
非常不錯,學到了
作者: 1124952194    時間: 2019-8-6 14:52
不能打開?
作者: huatuo    時間: 2019-8-19 14:37
作者做的很詳細,新手表示找到救命稻草了
作者: afeiaa    時間: 2019-9-4 16:25
感謝樓主
作者: 9782    時間: 2019-9-18 14:22
很好,感謝樓主
作者: 清風清酒    時間: 2019-10-17 16:54
感謝分享
作者: sxcbiss    時間: 2019-10-25 15:39
給力嗷
作者: 586486    時間: 2019-11-30 20:20
謝謝分享,學習了。
作者: 活躍的萬金油    時間: 2019-12-7 17:12
樓主 為啥下載完程序 電路也接好了 屏幕沒顯示呢
作者: 活躍的萬金油    時間: 2019-12-9 00:59
1628235666 發表于 2018-10-30 12:12
剛剛試過 特別好用 如果用12M晶振 可以測下限130HZ 上限16MHZ   估計改成24M晶振 可以測的更高

請問一下  為什么按照電路接好之后 1602只有第一排一行塊塊呀,沒有顯示,是正常的嗎   以后加入一個輸入信號也是沒反應的呢  我的晶振是11.0592的 麻煩你啦幫我看看好嗎
作者: 乘大風破浪    時間: 2019-12-12 20:22
真的很謝謝樓主,解決了問題,電路還有些看不懂,樓主很棒。

作者: cghe    時間: 2019-12-12 22:28
非常好的資料,感謝分享
作者: 24k純帥的    時間: 2019-12-13 08:34
很詳細,太棒了給新手研究很管用
作者: qq17620639340    時間: 2019-12-16 16:37
樓主你好,我輸入程序都搞定后,1602上有waiting 但是之后沒有仿真上的沒信號時的F=...hz,全是方塊,請問下是什么原因?
作者: 962499    時間: 2019-12-16 17:33
感謝大佬
作者: 物業tuan    時間: 2019-12-26 19:13
大家誰知道怎么實現分頻?
作者: martian618    時間: 2019-12-27 21:26
做的不錯,謝謝分享!
作者: 不朽夢    時間: 2020-1-2 15:06
謝謝樓主
作者: 不朽夢    時間: 2020-1-2 15:09
好棒    很好
作者: 不朽夢    時間: 2020-1-2 15:12
很好  真的好棒
作者: suntt    時間: 2020-1-2 22:30
謝謝,很好
作者: 小江哥哥    時間: 2020-4-5 09:56
很好,不錯的東西
作者: jgjbd    時間: 2020-4-6 23:09
感謝感謝,有做出實物的嘛,精度是多少啊
作者: Tempo03    時間: 2020-5-10 17:26
nice!!!!!
作者: frinos    時間: 2020-5-12 18:05
謝謝分享。!
作者: mxq12123    時間: 2020-5-13 11:33
非常感謝 學習了很多
作者: mxq12123    時間: 2020-5-13 11:33
感謝你的資料,很有幫助
作者: mxq12123    時間: 2020-5-13 11:37
非常感謝,很有幫助的資料
作者: jianghuiasd    時間: 2020-6-6 09:55
大神啊太厲害了叭
作者: jianghuiasd    時間: 2020-6-6 09:57
很好很詳細
作者: 陸明松    時間: 2020-6-7 15:07
感謝作者分享的學習資料
作者: 545457415    時間: 2020-6-9 23:54
謝謝分享
作者: 衛中豪    時間: 2020-6-10 12:55
頻率計單片機,這下不愁看
作者: duyunyun    時間: 2020-6-14 05:19
....我們要求范圍是10HZ-100KHZ   怎么改啊?
作者: duyunyun    時間: 2020-6-14 05:22
...我們要求10HZ-100KHZ 怎么改。
作者: 123學習者    時間: 2020-6-17 15:42
進來學習,感謝樓主
作者: hhdsdy    時間: 2020-6-17 23:31
這個和最近DIY了一個簡易數字頻率計(PCB+電路圖+單片機源碼+實物制作)極為相似啊
作者: fanfan1234    時間: 2020-6-18 00:58

非常好,很實用!
作者: 黑心蓮    時間: 2020-6-19 10:26
做的十分詳細了,可以一步步看明白
作者: 111ssss    時間: 2020-6-20 19:45
樓主這個好詳細呀

作者: Pauljh    時間: 2020-6-23 18:18
感謝樓主

作者: 包郵拉桿我    時間: 2020-6-26 20:32

很詳細還得慢慢研究
作者: sunnywu503    時間: 2020-6-28 02:44
試驗中不知道能否防制OK
作者: zhihong    時間: 2020-7-12 22:56
1628235666 發表于 2018-10-30 12:12
剛剛試過 特別好用 如果用12M晶振 可以測下限130HZ 上限16MHZ   估計改成24M晶振 可以測的更高

感謝樓主分享的資料,并且也感謝朋友們的文檔,謝謝
作者: 974608483    時間: 2020-7-13 11:00
感謝樓主的分享,51有你更精彩
作者: maple597    時間: 2020-8-7 12:50
這個RP1是什么東西啊
作者: maple597    時間: 2020-8-7 12:58
樓主為什么我照著你這個弄了一個 lcd不顯示啊
作者: dr.out    時間: 2020-8-7 13:30
最近正好在學習相關的東西,謝謝樓主!
作者: 立即倆的爹    時間: 2020-10-13 13:06
很實用,感謝作者的分享。

作者: juice12138    時間: 2020-10-23 10:32
謝謝作者!
作者: a1159900630    時間: 2020-10-24 17:27
這個pcb打印出來  能直接用嗎
作者: wbwcf13e    時間: 2020-11-2 19:07
a1159900630 發表于 2020-10-24 17:27
這個pcb打印出來  能直接用嗎

圖片上的PCB打印出來不能用,必須是擴展名為PCB的文件,而且還在軟件里需要設置,然后打印。
作者: 小表弟    時間: 2021-3-24 11:44
怎么修改頻率計上限為1m,2m,3m以上或者改為500k
作者: akaichan    時間: 2021-3-24 14:21
樓主好厲害! 要收藏
作者: cmyldd    時間: 2021-10-9 09:08
做得不錯的工具
作者: ZOUYUEYUE777    時間: 2021-10-15 14:19
作者做的新手小白都可以看得懂

作者: ZOUYUEYUE777    時間: 2021-10-15 14:21
實用的,可以平常做實驗用

作者: 享有生活    時間: 2022-4-11 13:13
很給力,慢慢研究,謝謝分享
作者: iucv    時間: 2022-12-4 19:12
你好,我看了你的數字頻率計,在原理圖轉換成PCB的時候出現了線程出錯的情況,不知道是什么原因
作者: 愛電路i    時間: 2023-1-13 23:05
感謝樓主分享,非常的詳細、實用。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美一区二区三区 | 91视频大全 | av毛片 | 草草视频在线观看 | 成人一区二区在线 | 成人精品一区二区三区中文字幕 | 精品一区二区观看 | 色久电影 | 成人激情视频免费观看 | 日本 欧美 国产 | 亚洲精品一区二区在线观看 | 男人天堂久久久 | 久久av一区 | 中文字幕日韩在线 | 久久久www成人免费无遮挡大片 | av网站在线播放 | 亚洲国产一区二区三区在线观看 | 亚洲 日本 欧美 中文幕 | 久久精品一级 | 亚洲精品久久久久久国产精华液 | 国产精品午夜电影 | 日韩一区二区三区在线视频 | 欧美综合一区二区 | 日韩免费激情视频 | 免费观看一级特黄欧美大片 | 色精品视频 | 精品一区二区电影 | 久久久青草婷婷精品综合日韩 | 国产福利在线 | 91麻豆蜜桃一区二区三区 | 国内精品视频在线观看 | 国产日韩免费观看 | 国产精品三级久久久久久电影 | 久久视频一区 | 成人精品啪啪欧美成 | 日韩伦理一区二区 | 欧美精品一区三区 | 日本天天操 | 国产高清一区二区三区 | 日韩欧美三级电影在线观看 | 国产欧美精品一区二区 |