找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5252|回复: 2
打印 上一主题 下一主题
收起左侧

简易频率特性测试仪制作 含原理图与源码

[复制链接]
跳转到指定楼层
楼主
2013年竞赛题,基于嵌入式的

原理图如下:


单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "lcd.h"
  6. #include "adc.h"
  7. #include "PROCESS.h"

  8. #include "sram.h"   
  9. #include "malloc.h"
  10. #include "sdio_sdcard.h"   

  11. #include "usmart.h"  
  12. #include "LCDView.h"
  13. #include "touch.h"
  14. #include "TOUCHKEY.h"
  15. #include "DDS.h"
  16. #include "w25qxx.h"
  17. #include "ff.h"  
  18. #include "exfuns.h"   
  19. #include "fontupd.h"
  20. #include "text.h"
  21. int main(void)
  22. {
  23.     u8 key;

  24.         //u8 lcd_id[12];                                //存放LCD ID字符串
  25.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  26.         delay_init(168);      //初始化延时函数
  27.         uart_init(115200);                //初始化串口波特率为115200
  28.         
  29.         LED_Init();                                          //初始化LED
  30.          LCD_Init();           //初始化LCD FSMC接口
  31.         W25QXX_Init();                                //初始化W25Q128

  32.         tp_dev.init();                                //初始化触摸屏
  33.         AD9854_Init();              //初始化DDS
  34.     Adc_Init();                //初始化ADC
  35.         
  36.     usmart_dev.init(168);                //初始化USMART
  37.         my_mem_init(SRAMIN);                //初始化内部内存池
  38.         my_mem_init(SRAMCCM);                //初始化CCM内存池
  39.         exfuns_init();                                //为fatfs相关变量申请内存  
  40.           f_mount(fs[0],"0:",1);                 //挂载SD卡
  41.          f_mount(fs[1],"1:",1);                 //挂载FLASH.
  42.         while(font_init())                         //检查字库
  43.         {
  44.    
  45.                 LCD_Clear(WHITE);                           //清屏
  46.                  POINT_COLOR=RED;                        //设置字体为红色                                
  47.                 LCD_ShowString(30,50,200,16,16,"STM32F4");
  48.                 while(SD_Init())                        //检测SD卡
  49.                 {
  50.                         LCD_ShowString(30,70,200,16,16,"SD Card Failed!");
  51.                         delay_ms(200);
  52.                         LCD_Fill(30,70,200+30,70+16,WHITE);
  53.                         delay_ms(200);                    
  54.                 }                                                                                                                     
  55.                 LCD_ShowString(30,70,200,16,16,"SD Card OK");
  56.                 LCD_ShowString(30,90,200,16,16,"Font Updating...");
  57.                 key=update_font(20,110,16,"0:");//更新字库
  58.                 while(key)//更新失败               
  59.                 {                                          
  60.                         LCD_ShowString(30,110,200,16,16,"Font Update Failed!");
  61.                         delay_ms(200);
  62.                         LCD_Fill(20,110,200+20,110+16,WHITE);
  63.                         delay_ms(200);                       
  64.                 }                  
  65.                 LCD_ShowString(30,110,200,16,16,"Font Update Success!   ");
  66.                 delay_ms(1500);        
  67.                 LCD_Clear(WHITE);//清屏               
  68.         }  

  69.         
  70.         
  71.         POINT_COLOR=BLUE;      //画笔颜色:蓝色
  72.         //sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。

  73.     //画背景
  74. begain:        
  75.                         
  76.         on_off=0;
  77.     mod=0;
  78.         again=0;
  79.         
  80.         Draw_Back();
  81.             
  82.         
  83.     LCD_Fill(AREA_FUNCTION_LEFT+3,AREA_FUNCTION_TOP+4+0*78,AREA_FUNCTION_LEFT+24,AREA_FUNCTION_TOP+74+0*78,GREEN);
  84.     AD9854_SetSine(1000000,4095);
  85.           while(1)
  86.         {        

  87.         py_show_result();
  88.                 if(on_off)
  89.                 {
  90.                   if(!mod)
  91.                   {
  92.                
  93.             data_process0();
  94.                    }
  95.                   else
  96. ……………………

  97. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
原理图截图.zip (237.84 KB, 下载次数: 67)
工程主要代码.rar (69.25 KB, 下载次数: 71)



评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:429158 发表于 2019-8-9 14:38 | 只看该作者
请问一下 大佬LCD用的什么型号
回复

使用道具 举报

板凳
ID:903064 发表于 2021-4-9 17:49 | 只看该作者
仿真用的ad9854那个芯片在哪里找啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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