標題: 51單片機+AD9280采樣 數(shù)字存儲示波器電路程序設(shè)計(TFT液晶顯示) [打印本頁]

作者: dice83312324    時間: 2019-7-20 15:46
標題: 51單片機+AD9280采樣 數(shù)字存儲示波器電路程序設(shè)計(TFT液晶顯示)
簡易數(shù)字存儲示波器設(shè)計(51單片機,TFT液晶顯示,AD9280 采樣模塊),提供AD原理圖,51單片機C語言程序,KEIL4軟件調(diào)試通過。
51單片機采用STC12C5A60S2,顯示部分采用
2.8寸TFT
彩色觸摸液晶屏,數(shù)據(jù)采樣部分使用AD9280高速AD轉(zhuǎn)換模塊。
輸入部分采用4*4矩陣鍵盤,鍵盤功能如下:
1、S1,S2: 橫向、縱向光標顯示、選擇;
2、S3:光標左移或上移;
3、S4:光標右移或下移;
4、S9:波形左移;
5、S10:波形右移;
6、S11:波形上移;
7、S12:波形下移;
8、S13:減少水平掃描速率;
9、S14:增加水平掃描速率;
10、S15:垂直顯示,減小伏/格值;
11、S16:垂直顯示,增加伏/格值。

AD9280電路原理圖如下:


制作出來的實物圖如下:


單片機源程序如下:
  1. /*===================================================================================================  
  2. 工程名稱:  Ex1
  3. 功能描述:        控制TFT實現(xiàn)示波器顯示功能。
  4. 硬件連接:  查看和修改接口定義在NBCTFT.H中,請仔細檢查接口連線。

  5. ====================================================================================================*/

  6. //******************包含頭文件***************************

  7. #include <STC12C5A60S2.h>   //包含單片機頭文件
  8. #include"NBCTFT.h"   //包含TFT驅(qū)動頭文件
  9. #include "OSC.h"

  10. #include "timer2.h"

  11. #include "keyScan.h"        
  12. //******************全局變量***************************

  13. unsigned char dah,dal,dam;  
  14. unsigned        char f1,f2;
  15. //**************聲明外部函數(shù)和變量********************


  16. //================================================================================================
  17. //        函數(shù)名稱:        主函數(shù)
  18. //        實現(xiàn)功能:        控制TFT實現(xiàn)漢字,字符顯示.
  19. //        參數(shù):                無
  20. //        返回值:        無
  21. //================================================================================================
  22. void main()
  23. {
  24.        unsigned int i;
  25.          
  26.         
  27.           for(i=0;i<500;i=i+1)
  28.         {
  29.                 ad_buffer[i]=i*5;
  30.                 //ad_buffer[i]=ad_buffer[i];
  31.         }
  32.         pointxA=35;
  33.         pointxB=85;//X軸間距標尺
  34.         pointyA=55;
  35.         pointyB=180;//Y軸間距標尺
  36.       
  37.       TFT_Initial();                     //初始化LCD        
  38.       delayms(100);        
  39.       init_panel();
  40.             timer0_init();
  41.          
  42.   while(1)                                //循環(huán)
  43.       {
  44.                                 
  45.                                 key_scanSCOPE();//按鍵掃描
  46.                                 
  47.                 if(da_finish) {                        //當采集完成,或者 停止運行下可以執(zhí)行。
  48.                         //delayms(100);
  49.                         dah=0;dal=255;
  50.                         for(i=0;i<150;i++) {//DATA_SIZE=255
  51.                                 if(ad_buffer[i] > dah) dah = ad_buffer[i]; //找出最大值
  52.                                 if(ad_buffer[i] < dal) dal = ad_buffer[i]; //找出最小值
  53.                         }               
  54.                         dam=(dah-dal)/2+dal; //計算出中間值,為了顯示同步準備
  55.                         
  56.                         i=0;
  57.                         while(ad_buffer[i] >= dam) if(++i >150) break;
  58.                         while(ad_buffer[i]  < dam) if(++i >150) break;f1=i;
  59.                         while(ad_buffer[i] >= dam) if(++i >150) break;        
  60.                         while(ad_buffer[i]  < dam) if(++i >150) break;f2=i;        //顯示同步處理                                       
  61.      
  62.       DISP_WAVE(i,dam); //畫波形
  63.                         
  64.                         da_finish=0;
  65.                         EA=1;
  66.                         
  67.                   DISP_scale() ;
  68.                   DISP_freq_am() ;  
  69.                         refresh_screen();                /***                刷新屏幕           ****/
  70.                 }
  71.                                                                         
  72.           }

  73.   }
復(fù)制代碼

所有資料51hei提供下載:
簡易數(shù)字存儲示波器設(shè)計.rar (7.26 MB, 下載次數(shù): 474)


作者: lfl680    時間: 2019-8-3 14:41
學(xué)習(xí)學(xué)習(xí)
作者: ty417502873    時間: 2019-8-5 21:59
感覺好難
作者: chweji123    時間: 2019-12-20 09:13
壓縮文件破壞,解壓不了,浪費我10個黑幣。
作者: tieq1952    時間: 2019-12-23 07:13
謝謝分享!!!
作者: aide51    時間: 2020-2-29 17:17
這個看著好難的樣子,可以哦收藏下,以備以后學(xué)習(xí)
作者: fengfengfengye    時間: 2020-4-21 15:34
感謝分享,回去要好好學(xué)習(xí)學(xué)習(xí)
作者: murenxin0911    時間: 2020-4-26 05:33
怎么回事,解壓失敗,無法解壓文件?
作者: 行采桑    時間: 2020-5-18 14:20
不是很明白自鎖開關(guān)的作用,求解釋呀 。新人啥也不懂。  矩陣鍵盤不用上拉電阻嗎?
作者: zxopenljx    時間: 2020-5-21 13:57
感謝樓主分享
作者: rayin    時間: 2020-11-15 17:11
不錯,值得學(xué)習(xí)。51hei有你更精彩!!
作者: 17771904441    時間: 2021-4-11 18:43
輸入電阻竟然只要20k開玩笑的嗎
作者: Dxiaofeng    時間: 2021-6-27 06:07
顯示屏是并口的,符合我
作者: hwj828    時間: 2021-7-12 11:25
原理圖的顯示屏與程序中的顯示屏不一樣

作者: aide51    時間: 2022-12-14 10:53
樓主這個程序在生成時有12個警告】

作者: fyj1369    時間: 2023-4-10 11:47
這個看起來還是有難度,也對我現(xiàn)在有用,感謝感謝
作者: fyj1369    時間: 2023-4-10 11:51
東西確實可以,水平厲害,對現(xiàn)在來說有用的
作者: fyj1369    時間: 2023-4-10 11:52
可以的剛好對項目有用
作者: awfi888    時間: 2024-1-21 13:42
謝謝分享,學(xué)習(xí)
作者: 人在盛夏    時間: 2024-1-27 20:43
很好的資料
作者: gemxie    時間: 2024-1-29 17:32
很好的資料




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1