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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10174|回復: 11
打印 上一主題 下一主題
收起左側

protues仿真stm32f103輸出PWM 附程序

  [復制鏈接]
跳轉到指定樓層
樓主
1、注意protues版本應當在8.7版本以上,8.6版本聯想后可能會出現IO讀入不能讓那個實現問題。
2、注意設置好電網,把初始的VSS和VDD添加進組。
3、注意設置好芯片界面下的默認晶振值,外接電路晶振沒有作用。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  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();        //系統時鐘初始化
  15.                  GPIO_Configuration();//端口初始化
  16.                  TIM3_Configuration(arr);//定時器和pwm配置
  17.         
  18.                  while(1)
  19.                  {        
  20.                                 TIM_SetCompare2(TIM3,led_dt); //用的是TIM3的通道2,輸出PWM         送到相應的寄存器中   //滿占空比為900               
  21.                         

  22.                                                 GPIO_SetBits(GPIOB,GPIO_Pin_5);        //LED 發光
  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 發光
  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);//這個是必須的,仿真軟件必須的
  44.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  45.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//端口復用,一定在APB2的時鐘線
  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;      //通過PWM控制,端口為復用方式輸出
  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的結構體

  75.         GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//TIM3 復用功能部分映射,可以此找到對應的管腳
  76.         //關于部分映射可以參考“STM32參考手冊”119面
  77.         //定時器初始化
  78.         
  79.         TIM_TimeBaseStruct.TIM_Period=arr;//初值
  80.         TIM_TimeBaseStruct.TIM_Prescaler=2;//預分頻
  81.         //不分頻,在晶振為72MHz的情況下,定時器執行到899后即會溢出,表示計數滿
  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;     //設置輸出極性,一定注意

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

所有資料51hei提供下載:
protues仿真stm32f103輸出PWM.7z (241.09 KB, 下載次數: 453)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:463265 發表于 2019-7-1 16:59 | 只看該作者
正需要學習
回復

使用道具 舉報

板凳
ID:576497 發表于 2019-11-7 22:21 | 只看該作者
為什么重映射到的是PB5,但是輸出pwm的是PA7?
回復

使用道具 舉報

地板
ID:650174 發表于 2019-11-26 19:47 | 只看該作者
回來哥啦 發表于 2019-11-7 22:21
為什么重映射到的是PB5,但是輸出pwm的是PA7?

我為什么仿真不了,下面的時間走的太慢了
回復

使用道具 舉報

5#
ID:146041 發表于 2019-12-26 10:12 | 只看該作者
需要學習中
回復

使用道具 舉報

6#
ID:333600 發表于 2019-12-26 11:40 | 只看該作者
非常
需要學習
回復

使用道具 舉報

7#
ID:372595 發表于 2020-4-15 16:24 | 只看該作者
感謝大佬
回復

使用道具 舉報

8#
ID:722585 發表于 2020-5-14 10:55 | 只看該作者
請問這是stm32f103r6嗎
回復

使用道具 舉報

9#
ID:722585 發表于 2020-5-15 12:49 | 只看該作者
由于資料無法正常解壓所以請問pbdata.h中包含什么內容?
回復

使用道具 舉報

10#
ID:77589 發表于 2021-11-30 16:08 | 只看該作者
下載看看有沒有驚喜
回復

使用道具 舉報

11#
ID:604096 發表于 2022-11-27 17:55 | 只看該作者
正在學習PROTUES
回復

使用道具 舉報

12#
ID:349598 發表于 2023-5-26 17:18 | 只看該作者
直接翻譯的的程序吧,這注釋
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美二区三区 | 成人做爰69片免费观看 | 天天射网站 | 欧美日韩亚洲一区二区 | 午夜在线免费观看视频 | 欧美一级久久 | 亚洲人成在线观看 | 一区二区三区欧美 | 欧美久久视频 | 国产一级特黄真人毛片 | 久久天堂 | 日韩av在线一区二区 | 深夜福利亚洲 | 欧美成人a∨高清免费观看 色999日韩 | 午夜免费网站 | 午夜久久久 | 欧美激情在线精品一区二区三区 | 国产成人免费视频网站视频社区 | 国产成人精品免费视频大全最热 | 日韩激情在线 | 国产视频中文字幕在线观看 | 国产一区二区三区 | 日韩一区二区福利视频 | 国产日韩一区二区三免费高清 | 精品亚洲一区二区 | 日韩免费一区二区 | 999热精品视频 | 国产欧美在线 | 大香在线伊779 | 成年人网站国产 | 亚洲网站在线 | 国产一区二区影院 | 国产小视频自拍 | 国产精品日本一区二区在线播放 | 亚洲毛片在线观看 | 国产成人免费视频网站高清观看视频 | 日本中文字幕一区 | 综合久久一区 | 成人三级在线播放 | 欧洲色| 激情91|