|
簡(jiǎn)易數(shù)字存儲(chǔ)示波器設(shè)計(jì)(51單片機(jī),TFT液晶顯示,AD9280 采樣模塊),提供AD原理圖,51單片機(jī)C語(yǔ)言程序,KEIL4軟件調(diào)試通過(guò)。
51單片機(jī)采用STC12C5A60S2,顯示部分采用
2.8寸TFT
彩色觸摸液晶屏,數(shù)據(jù)采樣部分使用AD9280高速AD轉(zhuǎn)換模塊。
輸入部分采用4*4矩陣鍵盤,鍵盤功能如下:
1、S1,S2: 橫向、縱向光標(biāo)顯示、選擇;
2、S3:光標(biāo)左移或上移;
3、S4:光標(biāo)右移或下移;
4、S9:波形左移;
5、S10:波形右移;
6、S11:波形上移;
7、S12:波形下移;
8、S13:減少水平掃描速率;
9、S14:增加水平掃描速率;
10、S15:垂直顯示,減小伏/格值;
11、S16:垂直顯示,增加伏/格值。
AD9280電路原理圖如下:
0.png (63.48 KB, 下載次數(shù): 129)
下載附件
2019-7-20 16:16 上傳
0.png (53.29 KB, 下載次數(shù): 117)
下載附件
2019-7-20 16:16 上傳
制作出來(lái)的實(shí)物圖如下:
0.jpg (58.7 KB, 下載次數(shù): 114)
下載附件
2019-7-20 16:20 上傳
單片機(jī)源程序如下:
- /*===================================================================================================
- 工程名稱: Ex1
- 功能描述: 控制TFT實(shí)現(xiàn)示波器顯示功能。
- 硬件連接: 查看和修改接口定義在NBCTFT.H中,請(qǐng)仔細(xì)檢查接口連線。
- ====================================================================================================*/
- //******************包含頭文件***************************
- #include <STC12C5A60S2.h> //包含單片機(jī)頭文件
- #include"NBCTFT.h" //包含TFT驅(qū)動(dòng)頭文件
- #include "OSC.h"
- #include "timer2.h"
- #include "keyScan.h"
- //******************全局變量***************************
- unsigned char dah,dal,dam;
- unsigned char f1,f2;
- //**************聲明外部函數(shù)和變量********************
- //================================================================================================
- // 函數(shù)名稱: 主函數(shù)
- // 實(shí)現(xiàn)功能: 控制TFT實(shí)現(xiàn)漢字,字符顯示.
- // 參數(shù): 無(wú)
- // 返回值: 無(wú)
- //================================================================================================
- void main()
- {
- unsigned int i;
-
-
- for(i=0;i<500;i=i+1)
- {
- ad_buffer[i]=i*5;
- //ad_buffer[i]=ad_buffer[i];
- }
- pointxA=35;
- pointxB=85;//X軸間距標(biāo)尺
- pointyA=55;
- pointyB=180;//Y軸間距標(biāo)尺
-
- TFT_Initial(); //初始化LCD
- delayms(100);
- init_panel();
- timer0_init();
-
- while(1) //循環(huán)
- {
-
- key_scanSCOPE();//按鍵掃描
-
- if(da_finish) { //當(dāng)采集完成,或者 停止運(yùn)行下可以執(zhí)行。
- //delayms(100);
- dah=0;dal=255;
- for(i=0;i<150;i++) {//DATA_SIZE=255
- if(ad_buffer[i] > dah) dah = ad_buffer[i]; //找出最大值
- if(ad_buffer[i] < dal) dal = ad_buffer[i]; //找出最小值
- }
- dam=(dah-dal)/2+dal; //計(jì)算出中間值,為了顯示同步準(zhǔn)備
-
- i=0;
- while(ad_buffer[i] >= dam) if(++i >150) break;
- while(ad_buffer[i] < dam) if(++i >150) break;f1=i;
- while(ad_buffer[i] >= dam) if(++i >150) break;
- while(ad_buffer[i] < dam) if(++i >150) break;f2=i; //顯示同步處理
-
- DISP_WAVE(i,dam); //畫波形
-
- da_finish=0;
- EA=1;
-
- DISP_scale() ;
- DISP_freq_am() ;
- refresh_screen(); /*** 刷新屏幕 ****/
- }
-
- }
-
- }
復(fù)制代碼
所有資料51hei提供下載:
簡(jiǎn)易數(shù)字存儲(chǔ)示波器設(shè)計(jì).rar
(7.26 MB, 下載次數(shù): 474)
2019-7-20 15:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|