找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4884|回复: 2
收起左侧

STM32F103驱动本地振荡器ADF4351产生高频正弦信号程序

[复制链接]
ID:358090 发表于 2018-6-25 00:13 | 显示全部楼层 |阅读模式
自己写的用STM32F103,正点原子的mini板(自带TTL显示屏),版接本地振荡器芯片模块ADF4351,来产生一个频率范围在250MHZ~300MHZ的本地正弦波信号。其中,程序可以根据不同按键进行不同频差的步进。
091106ne76q6j60lpj6q3q.png

源程序:


  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "adc.h"
  7. #include "key.h"
  8. #include "dac.h"
  9. #include "ADF4351.h"
  10.            
  11. int main(void)
  12. {
  13. //        u16 adcx;
  14.         u16 temp;
  15. //         u8 t=0;         
  16. //        u16 dacval=0;
  17.         int key;
  18.         float num=285.7;
  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
  20.         delay_init();                     //延时函数初始化         
  21.         uart_init(9600);                 //串口初始化为9600
  22.         LED_Init();                                  //初始化与LED连接的硬件接口
  23.          LCD_Init();                                   //初始化LCD                 
  24.   key_init();                 
  25. //         Adc_Init();                                  //ADC初始化
  26. //        Dac1_Init();                         //DAC通道1初始?
  27.         ADF4351Init();
  28.         ADF4351WriteFreq(num);

  29.         POINT_COLOR=RED;//设置字体为红色
  30.         LCD_ShowString(60,130,200,16,16,"HANG_R1:+  HANG_R3:-");        
  31.         //显示提示信息                                                                                             
  32.         POINT_COLOR=BLUE;//设置字体为蓝色
  33. ////        LCD_ShowString(60,150,200,16,16,"DAC VAL:");              
  34.         LCD_ShowString(60,170,200,16,16,"NUM VAL:000M");              
  35. ////        LCD_ShowString(60,190,200,16,16,"ADC VOL:0.000V");            
  36. //        DAC_SetChannel1Data(DAC_Align_12b_R, 0);//????0                        
  37.         while(1)
  38.         {
  39. //                t++;
  40.                 key=key_scan();        
  41.                 if(key==1)
  42.                 {                 
  43.                         LED0=!LED0;
  44.                         num+=1;
  45.                 }
  46.                 else if(key==2)        
  47.                 {
  48.                         LED0=!LED0;
  49.                         num+=0.5;
  50.                 }        
  51.                 else if(key==3)        
  52.                 {
  53.                         LED0=!LED0;
  54.                         num+=0.2;
  55.                 }        
  56.                 else if(key==4)        
  57.                 {
  58.                         LED0=!LED0;
  59.                         num+=0.1;
  60.                 }        
  61.                 else if(key==5)        
  62.                 {
  63.                         LED0=!LED0;
  64.                         num-=1;
  65.                 }        
  66.                 else if(key==6)        
  67.                 {
  68.                         LED0=!LED0;
  69.                         num-=0.5;
  70.                 }        
  71.                 else if(key==7)        
  72.                 {
  73.                         LED0=!LED0;
  74.                         num-=0.2;
  75.                 }        
  76.                 else if(key==8)        
  77.                 {
  78.                         LED0=!LED0;
  79.                         num-=0.1;
  80.                 }        
  81.                
  82.                 if(key==1|key==2|key==3|key==4|key==5|key==6|key==7|key==8)
  83.                   ADF4351WriteFreq(num);
  84.   
  85.                
  86.                 LCD_ShowxNum(124,170,num,3,16,0);
  87.     temp=num;
  88.                 temp=(num-temp)*100;
  89.                 LCD_ShowxNum(150,170,temp,5,16,0);
  90.         }

  91.         

  92. }        

  93.       
复制代码
51hei.png
代码资料51hei附件下载:
本振信号.rar (1.06 MB, 下载次数: 166)
回复

使用道具 举报

ID:451506 发表于 2020-12-19 15:35 | 显示全部楼层
感谢楼主无私分享,学习学习。
回复

使用道具 举报

ID:949999 发表于 2021-7-13 10:22 | 显示全部楼层
这个没有外接键盘吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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