(1) 可以實現四種波形:正弦波、方波、三角波、鋸齒波; (2) 通過按鍵進行選擇,頻率可以調整; (3) LCD液晶顯示; (4)設計出來之后用Proteus軟件仿真出效果;
主要硬件設備:STM32F103單片機、DAC0832數模轉換芯片、矩陣鍵盤、LCD12864液晶屏幕。
效果圖 正弦波
方波
三角波
鋸齒波
單片機源程序如下:
- #include "stm32f10x.h"
- #include "sys.h"
- #include "delay.h"
- #include "12864.h"
- #include "key4_4.h"
- #include "timer.h"
- //LYF
- #define KEY0 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10) //讀取按鍵0
- void Delay_Ms(u16 time);
- /*************** 配置Switch用到的I/O口 *******************/
- void Init_GPIO_Switch(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//關閉jtag,使能SWD,可以用SWD模式調試
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); // 使能PC端口時鐘
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PC0
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //設置成輸入
- GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PC0
- }
- /* Private functions ---------------------------------------------------------*/
- /*******************************************************************************
- *功能名稱:main
- *描述:主程序。
- *輸入:無
- *輸出:無
- *返回:無
- *******************************************************************************/
- int main(void)
- {
- u8 i=0;
- RCC_ClocksTypeDef RCC_Clocks; //初始化程序
-
- RCC_Configuration(RCC_PLLMul_4); //8M*4 == 32M
- RCC_GetClocksFreq(&RCC_Clocks); //獲取片上時鐘
-
- Init_12864(); //初始化12864液晶
-
- Key_Init();
- Init_GPIO_Switch();
- Init_GPIO_DAC0832();
-
- Data0=25;
- TIM3_Int_Init(50+Data0,320); //頻率:32000000/ 320 ==100 000 /100 == 1000 /50==20
-
- LCD_P6x8Str(3,16," Sine Wave ");
- LCD_P6x8Str(7,6*2,"Frequency: 15 Hz");
-
- while (1)
- {
- if(KEY0)
- {
- if(i!=2)
- {
- __set_PRIMASK(1);
- GPIO_ResetBits(GPIOB, ((uint16_t)0xC000));
- }
- Key_Test();
-
- i=2;
- }
- else{
-
- if(i!=5)
- {
- TIM3_Int_Init(50+Data0,320);
- __set_PRIMASK(0); //使能TIMx外設
- GPIO_ResetBits(GPIOB, ((uint16_t)0xC000));
- }
-
- i=5;
- }
- }
- }
- //LYF
復制代碼
全部資料51hei下載地址:
波形發生器.7z
(2.29 MB, 下載次數: 497)
2020-7-21 01:37 上傳
點擊文件名下載附件
設計51hei.zip
(1.24 MB, 下載次數: 359)
2020-7-17 07:28 上傳
點擊文件名下載附件
|