这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 芯圣HC18M003的一个中断例程

共4条 1/1 1 跳转至

芯圣HC18M003的一个中断例程

专家
2023-09-14 21:32:48     打赏

前面我们简单地介绍过HC18M003的中断处理用寄存器。这次我们就做一个小例子,学习学习中断处理过程。我们采用的是SSTOP20封装的HC18M003,因此在程序中我们使用PA0作为输出,控制LED的亮灭。用PC1作为外部中断的触发脚,使用下降沿方式触发,代码如下:

1、main.c

#include"holychip_define.h"
 
/*********************************************
 
工作电源
   当CPU运行在4M时,BOR必须使能为3.0V及以上;
   当CPU运行在8M时,BOR必须使能为4.2V;
 
**********************************************/
 
// 延时毫秒
void delay(unsigned int d) {
    unsigned int i;
    for(;d > 0;d --)
        for(i = 205;i > 0;i --);
}
 
void main(void) { 
    /*********************************系统初始化*******************************************/
    OSCCON = 0x04;  //Fosc=32MHz,Fcpu=4MHz(Fosc四分频,2T)
    /**********************************IO初始化********************************************/
  ANSELA = 0x01;      // PA0设为数字模式
    TRISA  = 0x01;  // PA0设为输出模式
    ANSELC = 0x02;      // PC1设为数字模式
    TRISC  = 0x00;  // PC1设为输入模式
    WPUC   = 0x02;  // PC1设置为上拉模式 
    /*********************************INT0初始化*******************************************/
    INTMAP = 0x01;      // INT0端口映射PC1  
    OPTION = 0x00;  // INT0下降沿触发
    INTE = 1;   // 允许INT0中断 
    INTF = 0;   // INT0中断标志位置0
    GIE = 1;            // 打开总中断
        
    while(1) {
        // 灭掉LED
      PORTA0  = 1;
    }
}
 
/***************************************************************************************
  * @说明   INT0中断服务函数
  * @参数 无
  * @返回值 无
  * @注  无
***************************************************************************************/
void interrupt Int0_Isr(void) {
    if(INTF)  { 
        PORTA0 = 0;
        delay(200); // 中断处理很快,LED亮200ms,是为了证明中断处理被执行
        INTF = 0;  // 清除中断标志位
    } 
}


 

2holychip_define.h

#ifndef __holychip_define__
#define __holychip_define__
 
 
#include"hc18m003.h"
 
 
 
#endif


依然是使用芯圣自己的IDE,将程序编译后,下载到芯片中。然后重新建立芯片的测试环境,也就是去掉下载连接,给开发板接上电源。上电开始测试后,会看到,当PC1上产生下降沿的时候,连接在PA0上的LED会亮一段时间。





关键词: 菜鸟学单片机     芯圣     HC18M003     中断例程    

专家
2023-09-15 08:44:28     打赏
2楼

写的好,学习


专家
2023-09-18 23:02:15     打赏
3楼

厉害啊


专家
2023-09-19 08:48:49     打赏
4楼

谢谢分享,学习了


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]