找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5481|回复: 2
打印 上一主题 下一主题
收起左侧

Proteus仿真STM32的外部中断 源程序

[复制链接]
跳转到指定楼层
楼主
也贡献点力量。
STM32的外部中断仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "exti.h"



  6. int main(void)
  7. {
  8.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  9.   LED_Init();
  10.   Exti_Init();
  11.         while(1);
  12. }

  13. // int main(void)
  14. // {        
  15. //        u8 i,data;
  16. //    data='a';
  17. //         //
  18. //        My_UsartInit();
  19. //        for(i=0;i<30;i++)
  20. //         {
  21. //            
  22. //           USART_SendData(USART1,data);
  23. //                 data++;
  24. //                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
  25. //         }
  26. // }


  27. /**
  28. *****************下面注视的代码是通过调用库函数来实现IO控制的方法*****************************************
  29. int main(void)
  30. {

  31.         delay_init();                  //初始化延时函数
  32.         LED_Init();                        //初始化LED端口
  33.         while(1)
  34.         {
  35.                         GPIO_ResetBits(GPIOB,GPIO_Pin_5);  //LED0对应引脚GPIOB.5拉低,亮  等同LED0=0;
  36.                         GPIO_SetBits(GPIOE,GPIO_Pin_5);   //LED1对应引脚GPIOE.5拉高,灭 等同LED1=1;
  37.                         delay_ms(300);                     //延时300ms
  38.                         GPIO_SetBits(GPIOB,GPIO_Pin_5);           //LED0对应引脚GPIOB.5拉高,灭  等同LED0=1;
  39.                         GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1对应引脚GPIOE.5拉低,亮 等同LED1=0;
  40.                         delay_ms(300);                     //延时300ms
  41.         }
  42. }

  43. ****************************************************************************************************
  44. ***/


  45.         
  46. /**
  47. *******************下面注释掉的代码是通过 直接操作寄存器 方式实现IO口控制**************************************
  48. int main(void)
  49. {

  50.         delay_init();                  //初始化延时函数
  51.         LED_Init();                        //初始化LED端口
  52.         while(1)
  53.         {
  54.      GPIOB->BRR=GPIO_Pin_5;//LED0亮
  55.            GPIOE->BSRR=GPIO_Pin_5;//LED1灭
  56.                  delay_ms(300);
  57.      GPIOB->BSRR=GPIO_Pin_5;//LED0灭
  58.            GPIOE->BRR=GPIO_Pin_5;//LED1亮
  59.                  delay_ms(300);

  60.          }
  61. }
  62. **************************************************************************************************
  63. **/
复制代码

Keil5代码与Proteus8.8仿真下载:资料51hei下载:
5exti.rar (391.59 KB, 下载次数: 129)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:287636 发表于 2020-5-29 18:44 | 只看该作者
学习一下
回复

使用道具 举报

板凳
ID:997411 发表于 2022-5-10 16:07 | 只看该作者
hex文件在 这个目录code\OBJ\LED.hex
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表