proteus8.6仿真stm32f103


下降沿或者上升沿实现外部中断,控制LED的闪烁,下载即可使用,最好使用proteus8.6或者更高版本打开。亲测可用。
资源截图
代码片段和文件信息
#include “exti.h“
#include “led.h“
#include “key.h“
#include “misc.h“
#include “stm32f10x_exti.h“
#include “pbdata.h“
#include “lcd1602.h“
//////////////////////////////////////////////////////////////////////////////////  
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//Mini STM32开发板
//外部中断 驱动代码    
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2010/12/01  
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 正点原子 2009-2019
//All rights reserved   
//////////////////////////////////////////////////////////////////////////////////    
 
int flag;
int flag1;
//外部中断初始化函数
void EXTIX_Init(void)
{
 
    EXTI_InitTypeDef EXTI_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIOENABLE);//外部中断,需要使能AFIO时钟

  KEY_Init();//初始化按键对应io模式

    //GPIOC.5 中断线以及中断初始化配置
   GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource9);

   EXTI_InitStructure.EXTI_Line=EXTI_Line9;
   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发
   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
   EXTI_Init(&EXTI_InitStructure);   //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

    //GPIOA.15   中断线以及中断初始化配置
   GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource15);

   EXTI_InitStructure.EXTI_Line=EXTI_Line15;
   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
   EXTI_Init(&EXTI_InitStructure);    //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

    //GPIOA.0   中断线以及中断初始化配置
   GPIO_EXTILineConfig(GPIO_PortSourceGPIOAGPIO_PinSource0);

    EXTI_InitStructure.EXTI_Line=EXTI_Line0;
   EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
   EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器


 
   NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //使能按键所在的外部中断通道
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2 
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02; //子优先级1
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
   NVIC_Init(&NVIC_InitStructure);     //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器

NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; //使能按键所在的外部中断通道
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //子优先级1
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
   NVIC_Init(&NVIC_InitStructure); 
 
 
    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //使能按键所在的外部中断通道
   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //子优先级1
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
   NVIC_Init(&NVIC_InitStructure); 
 
}

 
void EXTI0_I

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-11 15:57  protues仿真stm32f103
     目录           0  2019-04-11 15:57  protues仿真stm32f103stm32f103r6仿真
     文件       21413  2019-04-03 18:47  protues仿真stm32f103stm32f103r6仿真Backup Of GPIO口仿真.pdsbak
     文件       21413  2019-04-03 18:47  protues仿真stm32f103stm32f103r6仿真GPIO口仿真.pdsprj
     文件       14265  2019-04-03 18:47  protues仿真stm32f103stm32f103r6仿真GPIO口仿真.pdsprj.asus.asus1.workspace
     文件       14158  2018-04-26 13:07  protues仿真stm32f103stm32f103r6仿真GPIO口仿真.pdsprj.DESKTOP-332UV6A.happy.workspace
     文件       14486  2018-12-19 17:03  protues仿真stm32f103stm32f103r6仿真GPIO口仿真.pdsprj.USER-RA1K2PVR24.Administrator.workspace
     文件       14265  2017-05-08 14:05  protues仿真stm32f103stm32f103r6仿真GPIO口仿真.pdsprj.ZL.Liang.workspace
     文件       20856  2019-04-02 19:41  protues仿真stm32f103stm32f103r6仿真Last Loaded GPIO口仿真.pdsbak
     文件        4032  2018-04-26 11:01  protues仿真stm32f103stm32f103r6仿真STM32F103R6Demo.hex
     目录           0  2019-04-11 15:57  protues仿真stm32f103外部中断例程
     目录           0  2019-04-11 15:57  protues仿真stm32f103外部中断例程ASM
     文件       10308  2008-09-21 13:21  protues仿真stm32f103外部中断例程ASMcortexm3_macro.s
     文件       15761  2010-04-23 10:40  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_cl.s
     文件       15503  2019-04-02 19:42  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_hd.s
     文件       12376  2011-03-10 10:52  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_ld.s
     文件       13651  2010-04-23 10:40  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_ld_vl.s
     文件       12765  2011-03-10 10:52  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_md.s
     文件       14068  2010-04-23 10:40  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_md_vl.s
     文件       15950  2010-04-23 10:40  protues仿真stm32f103外部中断例程ASMstartup_stm32f10x_xl.s
     文件        9630  2009-11-21 17:22  protues仿真stm32f103外部中断例程ASMstm32f10x_startup.s
     文件        3941  2019-04-03 18:39  protues仿真stm32f103外部中断例程core_cm3.crf
     文件          93  2019-04-03 18:39  protues仿真stm32f103外部中断例程core_cm3.d
     文件       11236  2019-04-03 18:39  protues仿真stm32f103外部中断例程core_cm3.o
     目录           0  2019-04-11 15:57  protues仿真stm32f103外部中断例程DebugConfig
     文件        2403  2017-11-23 15:41  protues仿真stm32f103外部中断例程DebugConfigLY-STM32_STM32F103VE_1.0.0.dbgconf
     文件        2403  2017-11-23 15:41  protues仿真stm32f103外部中断例程DebugConfigLY-STM32_STM32F103ZE_1.0.0.dbgconf
     文件         289  2019-04-01 21:43  protues仿真stm32f103外部中断例程delay.crf
     文件          60  2019-04-01 21:43  protues仿真stm32f103外部中断例程delay.d
     文件        7820  2019-04-01 21:43  protues仿真stm32f103外部中断例程delay.o
     文件      238873  2019-04-03 18:39  protues仿真stm32f103外部中断例程dth11.crf
............此处省略168个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)