硬件資源:
1,AD9833
2,OLED顯示屏
3,4*4矩陣鍵盤
◆硬件連接:
OLED顯示屏------>stm32大黃板
VCC------>VCC
GND------>GND
SCL------>PB6
SDA------>PB7
AD9833信號發生器------>stm32大黃板
VCC------>VCC
GND------>GND
FSY------>PB10
CLK------>PB11
DAT------>PA12
CSP------>A11
4*4矩陣鍵盤
PA0-PA7
◆實驗現象:
通過按鍵控制產生正弦波、方波、三角波,頻率和幅值可通過按鍵輸入數字設置
單片機源程序如下:
- #include "key.h"
- #include "delay.h"
- #include "sys.h"
- #include "5110.h"
- #include "math.h"
- #include <stdlib.h>
- #include "ad9833.h"
- #include "source.h"
- #include "oled.h"
- #define CLK BIT_ADDR(GPIOA_ODR_Addr,10)
- extern u32 freq;
- extern u32 ampli;
- int main(void)
- {
- u8 flag;
- u8 keyval=0;
- SystemInit();
- delay_init();
- AD9833_Init_GPIO();
- OLED_Init();
- OLED_Clear();
-
- // LCD_set_XY(0,0);
- // LCD_write_str("Signal");
- // LCD_set_XY(0,1);
- // LCD_write_str(" Generator");
- // LCD_set_XY(0,3);
- // LCD_write_str("Sin");
- // LCD_set_XY(0,4);
- // LCD_write_str("Square");
- // LCD_set_XY(0,5);
- // LCD_write_str("Sawtooth");
- OLED_ShowString(0,0,"SIGNAL CREATER",24);
- OLED_ShowString(0,3,"Sin",24);
- OLED_ShowString(0,4,"Square",24);
- OLED_ShowString(0,5,"Sawtooth",24);
- delay_ms(200);
- while(1)
- {
- keyval=HL_Scan();
- switch(keyval)
- {
- case 13:
- flag=1;
- break;
- case 14:
- flag=2;
- break;
- case 15:
- flag=3;
- break;
- }
- source_creat(flag);
- flag=0;
- }
- }
復制代碼
所有資料51hei提供下載:
AD9833(4X4鍵盤控制).7z
(194.59 KB, 下載次數: 69)
2020-12-19 15:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|