找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

proteus仿真stm32點亮LED不成功

[復制鏈接]
跳轉到指定樓層
樓主
ID:492452 發(fā)表于 2021-1-11 22:09 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
在網(wǎng)上看了其他人的一些帖子
仿真:


單片機程序:
#include "delay.h"

#define LED PBout(5)// PB5

void LED_Init(void)
{
GPIO_InitTypeDef  GPIO_InitStructure;
     
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);     //使能PB,PE端口時鐘
   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                 //LED0-->PB.5 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //IO口速度為50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);                     //根據(jù)設定參數(shù)初始化GPIOB.5
GPIO_SetBits(GPIOB,GPIO_Pin_5);                         //PB.5 輸出
}

int main()
{
    delay_init();             //延時函數(shù)初始化      
    LED_Init();

    while(1)
    {
        LED=0;
        delay_ms(500);
    }
}

實物都能正常運行,但是就是仿真不成功
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:752974 發(fā)表于 2021-1-12 14:52 | 只看該作者
電源不能空著,要設定好電壓值,如+3.3V或+5V,如果用這樣的位帶操作,需要包含相應的頭文件。另外,二極管應加限流電阻,不然對于實際工作易產(chǎn)生誤導。
回復

使用道具 舉報

板凳
ID:877522 發(fā)表于 2021-9-15 19:36 | 只看該作者
是的  我也是仿真不成功 咋回事
回復

使用道具 舉報

地板
ID:94031 發(fā)表于 2021-9-15 20:32 | 只看該作者
D2發(fā)光二極管要串電阻限流。
回復

使用道具 舉報

5#
ID:966354 發(fā)表于 2021-9-15 20:37 | 只看該作者
加個電阻限流
回復

使用道具 舉報

6#
ID:893765 發(fā)表于 2021-9-15 20:46 | 只看該作者
你試一下

5.png (22.74 KB, 下載次數(shù): 93)

5.png

4.png (28.02 KB, 下載次數(shù): 98)

4.png

3.png (30.04 KB, 下載次數(shù): 103)

3.png

2.png (85.28 KB, 下載次數(shù): 115)

2.png

1.png (126.24 KB, 下載次數(shù): 119)

1.png
回復

使用道具 舉報

7#
ID:877522 發(fā)表于 2021-9-17 13:59 | 只看該作者
我的仿真成功了
回復

使用道具 舉報

8#
ID:877522 發(fā)表于 2021-9-17 14:01 | 只看該作者
代碼如下  可以試下  不行 我在給你分析proteus  仿真文件

  1. #include"stm32f10x_lib.h"                //包含所有的頭文件
  2. #include<stdio.h>
  3. //----------------函數(shù)聲明--------------------
  4. void Delay_MS(u16 dly);
  5. void RCC_Configuration(void);
  6. void GPIO_Configuration(void);

  7. void delay(void)  
  8. {
  9.   int i,j;
  10. for(i=1000;i>0;i--)
  11.   for(j=1000;j>0;j--);
  12. }

  13. void GPIO_Config(void)
  14. {
  15.             GPIO_InitTypeDef  GPIO_InitStructure;   
  16.             RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  17.             GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;   
  18.             GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  19.             GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  20.             GPIO_Init(GPIOB , &GPIO_InitStructure);
  21. }

  22. int main(void)
  23. {  

  24.                 GPIO_Config();
  25.                 // SystemInit();
  26.                   
  27.                 while(1)
  28.                 {
  29.                 GPIO_SetBits(GPIOB,GPIO_Pin_5 ); //點亮PB.5
  30.                      delay();
  31.                 GPIO_ResetBits(GPIOB,GPIO_Pin_5 );//熄滅PB.5
  32.                    delay();
  33.                 GPIO_SetBits(GPIOB,GPIO_Pin_6 );//點亮PB.6
  34.                      delay();
  35.                 GPIO_ResetBits(GPIOB,GPIO_Pin_6 );//熄滅PB.6
  36.                     delay();
  37.                   }

  38. }





  39. // void GPIO_Config(void)                            //GPIO初始配置
  40. //{
  41. //    GPIO_InitTypeDef GPIO_InitStructure;                                     //定義結構體變量
  42. //    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         //使能GPIOA的時鐘
  43. //    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                 //指定引腳13
  44. //    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //設置輸出速率50MHz
  45. //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //推挽輸出模式
  46. //    GPIO_Init(GPIOA, &GPIO_InitStructure);                  //初始化外設GPIOx寄存器
  47. //}
  48. //
  49. //#define LED_ON GPIO_SetBits(GPIOA, GPIO_Pin_1)         //端口置1
  50. //#define LED_OFF GPIO_ResetBits(GPIOA, GPIO_Pin_1)            //端口置0
  51. //
  52. //
  53. //int main()
  54. //{
  55. //    GPIO_Config();            //GPIOD_1初始化配置
  56. //    while(1)
  57. //    {
  58. //        LED_ON;                    //點亮
  59. //        Delay_MS(200);        //延時大概幾百毫秒
  60. //        LED_OFF;                //熄滅
  61. //        Delay_MS(200);
  62. //    }
  63. //
  64. //}



  65. ////延時函數(shù)
  66. //
  67. //void Delay_MS(u16 dly)
  68. //{
  69. //        u16 i,j;
  70. //        for(i=0;i<dly;i++)
  71. //  for(j=200;j>0;j--);
  72. //}
復制代碼



回復

使用道具 舉報

9#
ID:966186 發(fā)表于 2021-9-17 16:24 來自手機 | 只看該作者
SGW2020 發(fā)表于 2021-9-17 14:01
代碼如下  可以試下  不行 我在給你分析proteus  仿真文件

想問一下 我這個是純數(shù)電 8×8 點陣驅動電路設計,我的圖可以進行仿真,但是我用easyPro編寫的程序進行仿真后,顯示的數(shù)字不對是怎么回事啊,求大佬指點一下
下面的是我的原理圖和編寫的0-9的程序

1631867045943.jpg (1.12 MB, 下載次數(shù): 116)

1631867045943.jpg

1631867023650.jpg (1.13 MB, 下載次數(shù): 100)

1631867023650.jpg
回復

使用道具 舉報

10#
ID:824490 發(fā)表于 2021-9-18 16:53 | 只看該作者
小小小白。 發(fā)表于 2021-9-17 16:24
想問一下 我這個是純數(shù)電 8×8 點陣驅動電路設計,我的圖可以進行仿真,但是我用easyPro編寫的程序進行仿 ...

純邏輯線路,也可以通過單步跟蹤來調試的:把CLK拿掉,用一個按鍵代替CLK,按一下一個脈沖。。。。
回復

使用道具 舉報

11#
ID:966186 發(fā)表于 2021-9-19 11:58 來自手機 | 只看該作者
名字不是重點 發(fā)表于 2021-9-18 16:53
純邏輯線路,也可以通過單步跟蹤來調試的:把CLK拿掉,用一個按鍵代替CLK,按一下一個脈沖。。。。

我和我?guī)熜值姆抡鎴D是一樣的,他的那個程序導入里面是對的,但是我用他那個程序就不行,不知道是怎么回事
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表