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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 19551|回復(fù): 39
收起左側(cè)

Proteus仿真stm32f103r6輸出PWM/正弦波 源程序

  [復(fù)制鏈接]
ID:101501 發(fā)表于 2018-12-19 19:08 | 顯示全部樓層 |閱讀模式
資源全部原創(chuàng),有任何問(wèn)題歡迎聯(lián)系
基于stm32f103r6的pwm輸出,再經(jīng)過(guò)RC低通濾波實(shí)現(xiàn)正弦波輸出,使用protues仿真實(shí)現(xiàn)

仿真圖

仿真圖


51hei.gif

仿真文件
1264.JPG
示例代碼
  1. #include "pbdata.h"

  2. u16 fre;
  3. void RCC_Configuration(void);
  4. void GPIO_Configuration(void);
  5. void TIM3_Configuration();

  6. void  Delay (uint32_t nCount)
  7. {
  8.   for(; nCount != 0; nCount--);
  9. }

  10. int main(void)
  11. {
  12.      u16 arr=42000;
  13.      u16 led_dt = arr/2;

  14.                  RCC_Configuration();        //系統(tǒng)時(shí)鐘初始化
  15.                  GPIO_Configuration();//端口初始化
  16.                  TIM3_Configuration(arr);//定時(shí)器和pwm配置
  17.         
  18.                  while(1)
  19.                  {        
  20.                                 TIM_SetCompare2(TIM3,led_dt); //用的是TIM3的通道2,輸出PWM         送到相應(yīng)的寄存器中   //滿占空比為900               
  21.                         

  22.                                                 GPIO_SetBits(GPIOB,GPIO_Pin_5);        //LED 發(fā)光
  23.                                                         Delay(0x2ffff);
  24.                                                 GPIO_ResetBits(GPIOB,GPIO_Pin_5);//LED 熄滅
  25.                                                         Delay(0x2ffff);
  26.                                                 
  27.                               
  28. //                                        if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)== Bit_RESET)
  29. //                                                        {
  30. //                                                                //LED 發(fā)光
  31. //                                                                GPIO_SetBits(GPIOB,GPIO_Pin_5);
  32. //                                                         }
  33. //                                        else
  34. //                                                        {
  35. //                                                                //LED 熄滅                                 
  36. //                                                                GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  37. //                                                         }
  38.                  }        
  39. }

  40. void RCC_Configuration(void)
  41. {
  42.   SystemInit();

  43.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);//這個(gè)是必須的,仿真軟件必須的
  44.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  45.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//端口復(fù)用,一定在APB2的時(shí)鐘線
  46.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  47.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  48.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  49. }

  50. void GPIO_Configuration(void)
  51. {
  52.   GPIO_InitTypeDef GPIO_InitStructure;
  53.          
  54. //PWM
  55.         GPIO_InitStructure.GPIO_Pin= GPIO_Pin_7;
  56.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  57.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;      //通過(guò)PWM控制,端口為復(fù)用方式輸出
  58.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  59.         
  60. //LED
  61.         GPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;
  62.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  63.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;      
  64.         GPIO_Init(GPIOB,&GPIO_InitStructure);
  65.         
  66. //BUTTON
  67.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;
  68.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
  69.         GPIO_Init(GPIOC,&GPIO_InitStructure);
  70. }

  71. void TIM3_Configuration(arr)
  72. {
  73.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct;
  74.         TIM_OCInitTypeDef TIM_OCInitStructure;             //PWM的結(jié)構(gòu)體

  75.         GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//TIM3 復(fù)用功能部分映射,可以此找到對(duì)應(yīng)的管腳
  76.         //關(guān)于部分映射可以參考“STM32參考手冊(cè)”119面
  77.         //定時(shí)器初始化
  78.         
  79.         TIM_TimeBaseStruct.TIM_Period=arr;//初值
  80.         TIM_TimeBaseStruct.TIM_Prescaler=2;//預(yù)分頻
  81.         //不分頻,在晶振為72MHz的情況下,定時(shí)器執(zhí)行到899后即會(huì)溢出,表示計(jì)數(shù)滿
  82.         TIM_TimeBaseStruct.TIM_ClockDivision=0;
  83.         TIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上
  84.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStruct);
  85.         

  86.         //pwm初始化
  87.         TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;             //使用模式1
  88.         TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; //使能位
  89.         TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;     //設(shè)置輸出極性,一定注意

  90.         
  91.         TIM_OC2Init(TIM3,&TIM_OCInitStructure);
  92.   TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);            //與裝載使能,不會(huì)說(shuō)執(zhí)行一次后就不執(zhí)行了
  93.         TIM_Cmd(TIM3,ENABLE);
  94.                  
  95. }
  96. /*PWM不是中斷,所以不需要設(shè)置中斷優(yōu)先級(jí) */
復(fù)制代碼

Keil代碼與Proteus8.8仿真下載(注意要是用Proteus8.8這個(gè)版本,其他版本可能會(huì)出現(xiàn)異常):
protues仿真stm32f103輸出PWM.7z (241.15 KB, 下載次數(shù): 889)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:82809 發(fā)表于 2018-12-20 10:32 | 顯示全部樓層
我的仿真不了,死機(jī),不知哪里沒(méi)設(shè)置好。
回復(fù)

使用道具 舉報(bào)

ID:101501 發(fā)表于 2018-12-21 14:11 | 顯示全部樓層
pfdqwp 發(fā)表于 2018-12-20 10:32
我的仿真不了,死機(jī),不知哪里沒(méi)設(shè)置好。

不需要什么特殊的設(shè)置啊,是不是軟件的問(wèn)題,我用的protues8.6(8.6以上才支持仿真32)/win7,64位系統(tǒng)
回復(fù)

使用道具 舉報(bào)

ID:315121 發(fā)表于 2019-1-12 15:21 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:88852 發(fā)表于 2019-1-25 16:33 | 顯示全部樓層
下載后學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:149451 發(fā)表于 2019-1-26 10:31 | 顯示全部樓層
可惜,還在8.4
回復(fù)

使用道具 舉報(bào)

ID:27027 發(fā)表于 2019-2-13 14:31 | 顯示全部樓層
試驗(yàn)一下
回復(fù)

使用道具 舉報(bào)

ID:476823 發(fā)表于 2019-3-21 10:24 | 顯示全部樓層
感謝分享 ^_^
回復(fù)

使用道具 舉報(bào)

ID:502450 發(fā)表于 2019-4-1 16:14 | 顯示全部樓層
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:513276 發(fā)表于 2019-4-16 08:45 | 顯示全部樓層
謝謝樓主分享。。
回復(fù)

使用道具 舉報(bào)

ID:88606 發(fā)表于 2019-4-16 09:25 | 顯示全部樓層
51也能吧!
回復(fù)

使用道具 舉報(bào)

ID:495674 發(fā)表于 2019-5-5 15:33 | 顯示全部樓層
下載后學(xué)習(xí)一下,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:71282 發(fā)表于 2019-5-6 15:23 | 顯示全部樓層
謝謝分享,學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

ID:501336 發(fā)表于 2019-6-16 23:23 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:140706 發(fā)表于 2019-10-15 17:36 | 顯示全部樓層
感謝分享,非常不錯(cuò),實(shí)用的資料
回復(fù)

使用道具 舉報(bào)

ID:25310 發(fā)表于 2019-11-26 09:13 | 顯示全部樓層
這個(gè)不錯(cuò),下載看看。謝謝樓主分享!
回復(fù)

使用道具 舉報(bào)

ID:16031 發(fā)表于 2020-2-14 10:59 | 顯示全部樓層
下載,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:16031 發(fā)表于 2020-2-14 11:07 | 顯示全部樓層
可以仿真,但是波形有點(diǎn)不一樣
回復(fù)

使用道具 舉報(bào)

ID:658039 發(fā)表于 2020-3-21 08:18 | 顯示全部樓層
我的8.8綠色板的,win7 32位,老是閃退,請(qǐng)問(wèn)各位大俠什么回事?
回復(fù)

使用道具 舉報(bào)

ID:446064 發(fā)表于 2020-4-12 11:14 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:727681 發(fā)表于 2020-4-12 17:46 | 顯示全部樓層
樓主大神好,我是PROTEUS萌新,請(qǐng)問(wèn)元件庫(kù)里面找不到SRM32F103R6怎么辦呀
回復(fù)

使用道具 舉報(bào)

ID:446064 發(fā)表于 2020-4-16 15:13 | 顯示全部樓層
不是部分重印象么,怎么是pa7輸出呢
回復(fù)

使用道具 舉報(bào)

ID:88852 發(fā)表于 2020-4-27 21:19 | 顯示全部樓層
好帖子,頂一下
回復(fù)

使用道具 舉報(bào)

ID:722585 發(fā)表于 2020-5-15 09:44 | 顯示全部樓層
我下載之后為啥解壓總出錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:196216 發(fā)表于 2020-5-15 15:26 | 顯示全部樓層
123456789lrs 發(fā)表于 2020-4-16 15:13
不是部分重印象么,怎么是pa7輸出呢

同問(wèn)  應(yīng)該是PB5才對(duì)啊
回復(fù)

使用道具 舉報(bào)

ID:483144 發(fā)表于 2020-5-21 06:16 | 顯示全部樓層
感覺(jué)Proteus不能仿真STM32的端口重映射功能
回復(fù)

使用道具 舉報(bào)

ID:756647 發(fā)表于 2020-5-21 11:56 | 顯示全部樓層
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:586324 發(fā)表于 2020-5-27 14:42 | 顯示全部樓層
為什么用KEIL打不開(kāi)程序啊
回復(fù)

使用道具 舉報(bào)

ID:304785 發(fā)表于 2020-6-8 22:51 | 顯示全部樓層
stm32 的da可以仿真嗎
回復(fù)

使用道具 舉報(bào)

ID:787246 發(fā)表于 2020-6-23 13:56 | 顯示全部樓層
紫蘇2020 發(fā)表于 2020-5-15 09:44
我下載之后為啥解壓總出錯(cuò)

請(qǐng)問(wèn)下載之后文件里都簡(jiǎn)介或者分析書(shū)嗎
回復(fù)

使用道具 舉報(bào)

ID:302325 發(fā)表于 2020-6-24 11:57 | 顯示全部樓層
51黑  有你更精彩
回復(fù)

使用道具 舉報(bào)

ID:792268 發(fā)表于 2020-6-30 10:03 | 顯示全部樓層
樓主,能不能詳細(xì)講一下實(shí)現(xiàn)功能?
回復(fù)

使用道具 舉報(bào)

ID:873494 發(fā)表于 2021-1-5 15:10 | 顯示全部樓層
仿真確實(shí)很有必要,可以事先看到很多結(jié)果,如果直接硬件運(yùn)行,還需要各種檢測(cè)工具,也是不小的開(kāi)支啊
回復(fù)

使用道具 舉報(bào)

ID:228452 發(fā)表于 2022-4-5 04:58 | 顯示全部樓層
Go to PWM Keil dir and copy LY-STM32.hex

Then paste LY-STM32.hex in Proteus working dir

Working OK with Proteus 8.12 sp0 and WIN10 X64
Thank you

LY-STM32.rar

6.67 KB, 下載次數(shù): 6, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

ID:1013368 發(fā)表于 2022-4-14 09:09 | 顯示全部樓層
我的不是Proteus8.8導(dǎo)致仿真結(jié)果不正確
回復(fù)

使用道具 舉報(bào)

ID:1021179 發(fā)表于 2022-4-24 11:32 | 顯示全部樓層
換了幾個(gè)版本最后用Proteus8.8才能仿真出波形,其他版本沒(méi)有波形
回復(fù)

使用道具 舉報(bào)

ID:971289 發(fā)表于 2022-4-26 21:57 | 顯示全部樓層
感謝分享,非常不錯(cuò),實(shí)用的資料
回復(fù)

使用道具 舉報(bào)

ID:124010 發(fā)表于 2022-4-27 13:17 | 顯示全部樓層
你好,請(qǐng)問(wèn)stm32的晶振和時(shí)鐘怎么設(shè)置啊
回復(fù)

使用道具 舉報(bào)

ID:1080910 發(fā)表于 2023-6-6 11:15 | 顯示全部樓層
用8.15的版本仿真沒(méi)有PWM波的顯示
回復(fù)

使用道具 舉報(bào)

ID:977102 發(fā)表于 2023-7-21 12:06 | 顯示全部樓層
不錯(cuò)呀,可以仿真
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产69久久精品成人看动漫 | 免费久久视频 | 午夜影院在线观看视频 | 国产精品91网站 | 黑人精品欧美一区二区蜜桃 | 亚洲国产精久久久久久久 | 一区二区高清 | 国产精品高潮呻吟久久av黑人 | 干狠狠| 成人自拍av | 亚洲高清视频一区二区 | 狠狠干网站 | 视频在线亚洲 | 亚洲精品日韩视频 | 欧美激情精品久久久久久免费 | 91色在线视频 | 精品一区二区三区在线观看国产 | 国产精品一区二区av | 亚洲精品自拍 | 一区二区三区四区免费在线观看 | 国产永久免费 | 国产一区二区激情视频 | 国产一区二区毛片 | 噜久寡妇噜噜久久寡妇 | 最新一级毛片 | 三级免费av | 色婷婷一区 | 欧美一区二区三区在线播放 | 日韩在线观看一区 | www狠狠爱com| 自拍偷拍亚洲视频 | www.国产.com | 国产免费一区二区三区 | 中文字幕在线人 | 亚洲精选一区二区 | www.久久精品 | 国产91丝袜在线播放 | 亚洲一区二区三区 | 色射综合 | 国产精品欧美一区二区 | 蜜月va乱码一区二区三区 |