[mw_shl_code=c,true]#include "exti.h"
#include "led.h"
#include "key.h"
#include "delay.h"
#include "stmflash.h"
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
u8 iBeSilence;
unsigned int iQIAN;
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
// Key2 消音 PD6
// Key1 自检 PD7
// Key0 复位 PD8
//外部中断服务程序
void EXTI9_5_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY1==0) //KEY_LEFT
{
iQIAN =2015;
LCD_Show_U0000(iQIAN); // LED显示气压值
}
if(KEY2==0) //KEY_DOWN
{
iQIAN =1976;
LCD_Show_U0000(iQIAN); // LED显示气压值
}
EXTI->  R=1<<7;
EXTI->  R=1<<8;
// EXTI->  R=1<<9;
}
void EXTI15_10_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY3==0) // //KEY_RIGHT
{
iBeSilence=1;
delay_ms(10000);
iQIAN =5834;
LCD_Show_U0000(iQIAN);
}
// EXTI->  R=1<<7;
// EXTI->  R=1<<8;
EXTI->  R=1<<9;
}
//外部中断初始化程序
void EXTIX_Init(void)
{
// 消音、自检、复位
KEY_Init();
Ex_NVIC_Config(GPIO_B,8,FTIR); //下降沿触发
Ex_NVIC_Config(GPIO_B,9,FTIR); //下降沿触发
Ex_NVIC_Config(GPIO_B,10,FTIR); //下降沿触发
MY_NVIC_Init(2,2,EXTI9_5_IRQn,2); //抢占2,子优先级1,组2
MY_NVIC_Init(2,2,EXTI15_10_IRQn,2); //抢占2,子优先级0,组2
}[/mw_shl_code]
主程序部分
[mw_shl_code=c,true] while(1)[/mw_shl_code]
[mw_shl_code=c,true]{ [/mw_shl_code]
[mw_shl_code=c,true] iDecTruePressure =8888;
LCD_Show_U0000(iDecTruePressure); // LED显示气压值
if(iBeSilence==1)
{
iDecTruePressure =5674;
LCD_Show_U0000(iDecTruePressure); // LED显示气压值
}[/mw_shl_code]
[mw_shl_code=c,true]}[/mw_shl_code]
|