找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11718|回复: 20
收起左侧

51单片机+AD9280采样 数字存储示波器电路程序设计(TFT液晶显示)

  [复制链接]
ID:523651 发表于 2019-7-20 15:46 | 显示全部楼层 |阅读模式
简易数字存储示波器设计(51单片机,TFT液晶显示,AD9280 采样模块),提供AD原理图,51单片机C语言程序,KEIL4软件调试通过。
51单片机采用STC12C5A60S2,显示部分采用
2.8寸TFT
彩色触摸液晶屏,数据采样部分使用AD9280高速AD转换模块。
输入部分采用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电路原理图如下:
0.png 0.png

制作出来的实物图如下:
0.jpg

单片机源程序如下:
  1. /*===================================================================================================  
  2. 工程名称:  Ex1
  3. 功能描述:        控制TFT实现示波器显示功能。
  4. 硬件连接:  查看和修改接口定义在NBCTFT.H中,请仔细检查接口连线。

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

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

  7. #include <STC12C5A60S2.h>   //包含单片机头文件
  8. #include"NBCTFT.h"   //包含TFT驱动头文件
  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. //**************声明外部函数和变量********************


  16. //================================================================================================
  17. //        函数名称:        主函数
  18. //        实现功能:        控制TFT实现汉字,字符显示.
  19. //        参数:                无
  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)                                //循环
  43.       {
  44.                                 
  45.                                 key_scanSCOPE();//按键扫描
  46.                                 
  47.                 if(da_finish) {                        //当采集完成,或者 停止运行下可以执行。
  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.   }
复制代码

所有资料51hei提供下载:
简易数字存储示波器设计.rar (7.26 MB, 下载次数: 429)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:451753 发表于 2019-8-3 14:41 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:378732 发表于 2019-8-5 21:59 | 显示全部楼层
感觉好难
回复

使用道具 举报

ID:65179 发表于 2019-12-20 09:13 | 显示全部楼层
压缩文件破坏,解压不了,浪费我10个黑币。
回复

使用道具 举报

ID:253767 发表于 2019-12-23 07:13 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

ID:372579 发表于 2020-2-29 17:17 | 显示全部楼层
这个看着好难的样子,可以哦收藏下,以备以后学习
回复

使用道具 举报

ID:734434 发表于 2020-4-21 15:34 | 显示全部楼层
感谢分享,回去要好好学习学习
回复

使用道具 举报

ID:702057 发表于 2020-4-26 05:33 | 显示全部楼层
怎么回事,解压失败,无法解压文件?
回复

使用道具 举报

ID:713306 发表于 2020-5-18 14:20 | 显示全部楼层
不是很明白自锁开关的作用,求解释呀 。新人啥也不懂。  矩阵键盘不用上拉电阻吗?
回复

使用道具 举报

ID:704585 发表于 2020-5-21 13:57 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

ID:517951 发表于 2020-11-15 17:11 | 显示全部楼层
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

ID:258375 发表于 2021-4-11 18:43 | 显示全部楼层
输入电阻竟然只要20k开玩笑的吗
回复

使用道具 举报

ID:942056 发表于 2021-6-27 06:07 | 显示全部楼层
显示屏是并口的,符合我
回复

使用道具 举报

ID:258695 发表于 2021-7-12 11:25 | 显示全部楼层
原理图的显示屏与程序中的显示屏不一样
回复

使用道具 举报

ID:372579 发表于 2022-12-14 10:53 | 显示全部楼层
楼主这个程序在生成时有12个警告】
回复

使用道具 举报

ID:1070172 发表于 2023-4-10 11:47 | 显示全部楼层
这个看起来还是有难度,也对我现在有用,感谢感谢
回复

使用道具 举报

ID:1070172 发表于 2023-4-10 11:51 | 显示全部楼层
东西确实可以,水平厉害,对现在来说有用的
回复

使用道具 举报

ID:1070172 发表于 2023-4-10 11:52 | 显示全部楼层
可以的刚好对项目有用
回复

使用道具 举报

ID:136699 发表于 2024-1-21 13:42 | 显示全部楼层
谢谢分享,学习
回复

使用道具 举报

ID:1035488 发表于 2024-1-27 20:43 | 显示全部楼层
很好的资料
回复

使用道具 举报

ID:92810 发表于 2024-1-29 17:32 | 显示全部楼层
很好的资料
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表