久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11322|回復(fù): 24
打印 上一主題 下一主題
收起左側(cè)

基于STM32的四種波形發(fā)生器設(shè)計(jì)和Proteus仿真

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
(1) 可以實(shí)現(xiàn)四種波形:正弦波、方波、三角波、鋸齒波;
(2) 通過按鍵進(jìn)行選擇,頻率可以調(diào)整;
(3) LCD液晶顯示;
(4)設(shè)計(jì)出來之后用Proteus軟件仿真出效果;

主要硬件設(shè)備:STM32F103單片機(jī)、DAC0832數(shù)模轉(zhuǎn)換芯片、矩陣鍵盤、LCD12864液晶屏幕。

效果圖

正弦波


方波


三角波


鋸齒波

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "sys.h"
  3. #include "delay.h"
  4. #include "12864.h"
  5. #include "key4_4.h"
  6. #include "timer.h"

  7. //LYF

  8. #define KEY0  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)                //讀取按鍵0

  9. void Delay_Ms(u16 time);

  10. /***************  配置Switch用到的I/O口 *******************/
  11. void Init_GPIO_Switch(void)       
  12. {
  13.         GPIO_InitTypeDef GPIO_InitStructure;
  14.        
  15.         GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//關(guān)閉jtag,使能SWD,可以用SWD模式調(diào)試
  16.        
  17.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);        // 使能PC端口時(shí)鐘
  18.         GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_10;                                //PC0
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                //IO口速度為50MHz
  20.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;         //設(shè)置成輸入
  21.         GPIO_Init(GPIOB, &GPIO_InitStructure);                                        //初始化PC0
  22. }

  23. /* Private functions ---------------------------------------------------------*/
  24. /*******************************************************************************
  25. *功能名稱:main
  26. *描述:主程序。
  27. *輸入:無
  28. *輸出:無
  29. *返回:無
  30. *******************************************************************************/
  31. int main(void)
  32. {
  33.         u8 i=0;
  34.         RCC_ClocksTypeDef RCC_Clocks;                //初始化程序
  35.        
  36.         RCC_Configuration(RCC_PLLMul_4);        //8M*4 == 32M
  37.         RCC_GetClocksFreq(&RCC_Clocks);                //獲取片上時(shí)鐘
  38.        
  39.     Init_12864();                                               //初始化12864液晶
  40.        
  41.         Key_Init();                                 
  42.         Init_GPIO_Switch();
  43.         Init_GPIO_DAC0832();
  44.        
  45.         Data0=25;
  46.         TIM3_Int_Init(50+Data0,320);        //頻率:32000000/ 320 ==100 000        /100 == 1000 /50==20
  47.        
  48.         LCD_P6x8Str(3,16,"   Sine Wave   ");
  49.         LCD_P6x8Str(7,6*2,"Frequency: 15 Hz");
  50.        
  51.           while (1)
  52.           {
  53.                 if(KEY0)
  54.                 {
  55.                         if(i!=2)
  56.                         {
  57.                                 __set_PRIMASK(1);
  58.                                 GPIO_ResetBits(GPIOB, ((uint16_t)0xC000));
  59.                         }
  60.                         Key_Test();       
  61.                        
  62.                         i=2;
  63.                 }
  64.                 else{
  65.                        
  66.                         if(i!=5)
  67.                         {
  68.                                 TIM3_Int_Init(50+Data0,320);
  69.                                 __set_PRIMASK(0);                                  //使能TIMx外設(shè)
  70.                                 GPIO_ResetBits(GPIOB, ((uint16_t)0xC000));
  71.                         }
  72.                        
  73.                         i=5;
  74.                 }       
  75.           }
  76. }

  77. //LYF
復(fù)制代碼

全部資料51hei下載地址:
波形發(fā)生器.7z (2.29 MB, 下載次數(shù): 497)
設(shè)計(jì)51hei.zip (1.24 MB, 下載次數(shù): 359)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏14 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

24#
ID:1149918 發(fā)表于 2025-5-8 19:47 | 只看該作者
基于STM32的四種波形發(fā)生器設(shè)計(jì)和Proteus仿真,代碼是用keil4編譯運(yùn)行嗎?
回復(fù)

使用道具 舉報(bào)

23#
ID:1116827 發(fā)表于 2024-12-8 09:46 | 只看該作者
VCC and GND nets are connected check net GND!
出現(xiàn)這個(gè)報(bào)錯(cuò)要怎么解決?
回復(fù)

使用道具 舉報(bào)

22#
ID:1116827 發(fā)表于 2024-12-8 09:45 | 只看該作者
報(bào)錯(cuò)說:VCC and GND nets are connected check net GND! 這要怎么解決?
回復(fù)

使用道具 舉報(bào)

21#
ID:1023206 發(fā)表于 2022-5-9 12:33 | 只看該作者
矩陣按鍵中0-9有什么用呢,急急急求解!
回復(fù)

使用道具 舉報(bào)

20#
ID:1023206 發(fā)表于 2022-5-9 10:24 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

19#
ID:661402 發(fā)表于 2021-8-13 14:02 | 只看該作者
YF12 發(fā)表于 2021-8-13 11:19
關(guān)閉開關(guān)(關(guān)閉波形),#鍵+,*鍵-,要改頻率上限到key4_4.c和Timer.c文件上該

main函數(shù)73行:TIM3_Int_Init(50+Data0,320/2);
sine_wave函數(shù):double x=(double)location/25*PI;//把0-100放縮到0-2派
TIM3_IRQHandler中斷函數(shù):case W_SINE:sine_wave((u8)(time*freq/50)%50);break;//計(jì)算出波的位置

3個(gè)地方改一下就可以,要波形好看,頻率高就把TIM3中斷關(guān)掉,里面的程序放到mian里面的死循環(huán)里面就可以,注意電腦性能可以跟得上
回復(fù)

使用道具 舉報(bào)

18#
ID:661402 發(fā)表于 2021-8-13 11:19 | 只看該作者
2464079027 發(fā)表于 2021-8-9 13:28
怎么調(diào)高輸出頻率呀,有沒有大神能講講

關(guān)閉開關(guān)(關(guān)閉波形),#鍵+,*鍵-,要改頻率上限到key4_4.c和Timer.c文件上該
回復(fù)

使用道具 舉報(bào)

17#
ID:822308 發(fā)表于 2021-8-9 13:28 | 只看該作者
怎么調(diào)高輸出頻率呀,有沒有大神能講講
回復(fù)

使用道具 舉報(bào)

16#
ID:947230 發(fā)表于 2021-6-30 14:52 | 只看該作者
感覺有點(diǎn)復(fù)雜
回復(fù)

使用道具 舉報(bào)

15#
ID:661402 發(fā)表于 2021-6-27 21:34 | 只看該作者
RDH 發(fā)表于 2021-6-15 15:19
請問矩陣按鍵中0-9有什么用呢,如何使用,急急急求解

測試用的
回復(fù)

使用道具 舉報(bào)

14#
ID:936992 發(fā)表于 2021-6-15 15:19 來自觸屏版 | 只看該作者
YF12 發(fā)表于 2020-8-9 21:36
重新裝載一下hex文件,還不行就根據(jù)提升配置一下供電網(wǎng)

請問矩陣按鍵中0-9有什么用呢,如何使用,急急急求解
回復(fù)

使用道具 舉報(bào)

13#
ID:936992 發(fā)表于 2021-6-15 15:18 來自觸屏版 | 只看該作者
neomuzoahea 發(fā)表于 2021-4-20 15:24
感覺方波有一點(diǎn)畸形 這怎么解決

請問矩陣按鍵中0-9有什么用呢
回復(fù)

使用道具 舉報(bào)

12#
ID:936992 發(fā)表于 2021-6-13 12:18 來自觸屏版 | 只看該作者
那個(gè)按鍵0-9怎么使用,非常著急,求解
回復(fù)

使用道具 舉報(bào)

11#
ID:936992 發(fā)表于 2021-6-13 11:19 | 只看該作者
矩陣按鍵中0-9有什么用呢,急急急求解!
回復(fù)

使用道具 舉報(bào)

10#
ID:661402 發(fā)表于 2021-5-29 11:11 | 只看該作者
neomuzoahea 發(fā)表于 2021-4-20 15:24
感覺方波有一點(diǎn)畸形 這怎么解決

把方波輸出電壓調(diào)低一點(diǎn)點(diǎn)就可以
回復(fù)

使用道具 舉報(bào)

9#
ID:661402 發(fā)表于 2021-5-29 11:10 | 只看該作者
袁木子愛學(xué)習(xí) 發(fā)表于 2021-2-1 16:49
請問這個(gè)如何切換波形   按了按鍵沒有反應(yīng)

先把開關(guān)打開關(guān)閉波形輸出,(不然電腦帶不動)在按A,B,C,D切換
回復(fù)

使用道具 舉報(bào)

8#
ID:899971 發(fā)表于 2021-4-20 15:24 來自觸屏版 | 只看該作者
感覺方波有一點(diǎn)畸形 這怎么解決
回復(fù)

使用道具 舉報(bào)

7#
ID:381245 發(fā)表于 2021-3-7 14:09 | 只看該作者
下載下來學(xué)習(xí)學(xué)習(xí)!!謝謝分享!!
回復(fù)

使用道具 舉報(bào)

6#
ID:851922 發(fā)表于 2021-2-1 16:49 | 只看該作者
請問這個(gè)如何切換波形   按了按鍵沒有反應(yīng)
回復(fù)

使用道具 舉報(bào)

5#
ID:851922 發(fā)表于 2021-2-1 16:48 | 只看該作者
拔胡蘿貝 發(fā)表于 2021-1-30 19:51
你好請問一下,仿真過程中如何更換顯示的波形啊,按鍵按了都沒有反應(yīng)呢

我也想知道 怎么切換波形
回復(fù)

使用道具 舉報(bào)

地板
ID:850214 發(fā)表于 2021-1-30 19:51 | 只看該作者
你好請問一下,仿真過程中如何更換顯示的波形啊,按鍵按了都沒有反應(yīng)呢
回復(fù)

使用道具 舉報(bào)

板凳
ID:661402 發(fā)表于 2020-8-9 21:36 | 只看該作者
烤魚c 發(fā)表于 2020-7-26 19:46
請問一下為什么仿真里報(bào)一萬個(gè)警告,顯示總線錯(cuò)誤

重新裝載一下hex文件,還不行就根據(jù)提升配置一下供電網(wǎng)
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:751623 發(fā)表于 2020-7-26 19:46 | 只看該作者
請問一下為什么仿真里報(bào)一萬個(gè)警告,顯示總線錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

樓主
ID:328014 發(fā)表于 2020-7-21 01:38 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人国产精品久久久 | 羞羞视频在线观看网站 | 久久成人国产 | www.亚洲免费 | 亚洲视频免费观看 | 在线国产欧美 | 日韩欧美国产一区二区 | 亚洲国产区 | 精品久久久久久久久亚洲 | 中文字幕亚洲一区二区三区 | 三级成人在线观看 | 福利影院在线看 | 午夜视频在线播放 | 久久一| 日韩有码一区 | 国产乱码精品一区二区三区五月婷 | 欧美国产91 | 精品在线观看一区二区 | 久久天天躁狠狠躁夜夜躁2014 | 亚洲精品中文字幕av | 亚洲一区日韩 | 日韩在线免费视频 | 日韩精品一区二区三区高清免费 | tube国产 | 欧美xxxⅹ性欧美大片 | 精品欧美一区二区精品久久 | 中文字幕乱码一区二区三区 | 亚洲一区二区中文字幕 | 99精品福利视频 | 日韩一二区 | 亚洲精品视频一区二区三区 | 日韩欧美不卡 | 国产精品欧美一区二区三区不卡 | 国产精品久久久久久久久免费高清 | 午夜男人免费视频 | 做a视频| 欧美一区二区三区视频 | 日韩综合色 | 精品一区二区三区四区 | 国产视频在线观看一区二区三区 | 免费看a|