锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

新唐M051外部中断1使用程序

时间:2024-04-11 22:37:09

共享一个新唐M051单片机的外部中断1的使用程序:

#include "SmartM_M0.h"

#define DEBUGMSG printf /**************************************** *函数名称:KeyIntInit *输 入:无 *输 出:无 *功 能:按键中断初始化 ******************************************/ VOID KeyIntInit(VOID) { P3_PMD=0xFFFF; //准双向模式 P3_DOUT=0xFF; //输出高电平 P3_MFP = (P3_MFP & (~P33_EINT1_MCLK)) | EINT1; //P3.2引脚设置为外部中断 N ON &= ~ICLK_ON; //禁用时钟? DBNCECON &= DBCLK_HCLK;//防反弹 时钟源为 HCLK DBNCECON |= SMP_256CK; //设置防反弹采样周期选择 P3_DBEN |= DBEN3; //使能P3.2防反弹功能 P3_IMD &= IMD3_EDG; P3_IEN |= IF_EN3; //设置外部中断0为下降沿触发 N _ISER |= EXT_INT1; } /**************************************** *函数名称:main *输 入:无 *输 出:无 *功 能:函数主体 ******************************************/ INT32 main(VOID) { PROTECT_REG //ISP下载时保护FL 存储器 ( PWRCON |= X 2M_EN; //默认时钟源为外部晶振 while((CLK & XTL12M_STB) == 0); //等待12MHz时钟稳定 CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;//设置外部晶振为系统时钟 ) UartInit(12000000,9600); //波特率设置为9600bps KeyIntInit(); //按键中断初始化 DEBUGMSG("Init ok\r\b"); while(1); } /**************************************** *函数名称:__KEYISR *输 入:无 *输 出:无 *功 能:按键中断服务函数 ******************************************/ VOID EINT1_ QHandler(VOID) { DEBUGMSG("Key int\r\n"); //打印按键中断信息 P3_ISRC = P3_ISRC; //写1清空 }
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章