关于51内核的N76E003单片机
创始人
2025-05-30 07:18:23

资料

  1. 官方开发板硬件资料下载
    在这里插入图片描述

  2. 官网BSP及例程下载(支持 KEIL 及 IAR)
    在这里插入图片描述

  3. N76E003_datasheet

疑问

我想实现一个管脚中断,然后在用官方给的头文件时发现一个问题:发生管脚中断的端口配置。
其datasheet相关内容如下:
在这里插入图片描述
在这里插入图片描述
我不知道是我自己考虑错了,还是官方的头文件出现了问题,暂且先在这里记录一下。我觉得这里应该修改为如下定义才更准确:
在这里插入图片描述

总结

虽然很多很多年都没再接触过51单片机了,但是现在看起来感觉还是比较简单了。
既然已经研究了大半天,就记录一下吧,说不定啥时候又得用上呢。。。
在这里插入图片描述

N76E003的管脚中断和外部中断:在这里插入图片描述

管脚中断:可以随意配置任一管脚产生(datasheet说的)中断,但是一个程序中最多配置8个中断;而且所有管脚触发的中断都是通过中断号7处理的,也就是说这些中断源共用一个中断;
外部中断:指定的管脚才可以配置为外部中断源,从上面的管脚图可以看到,外部中断0 INT0只能由P30触发,而外部中断1 INT1只能由P17触发。

中断处理函数

// 首先就是关于中断函数,比如下面这个。其实它的函数名怎么取都没有关系,重点是 "interrupt 0",
// 这个"interrupt 0"就指定了这是0号中断触发中断服务函数。
void EXT_INT0(void) interrupt 0
{ cnt_int0++;
}

寄存器配置

// 以下定义了 P00 作为管脚中断触发源,上升沿触发
Enable_INT_Port0;								// set P0 as interrupt port
Enable_BIT0_RasingEdge_Trig;			// set Px0 as interrupt pin// 那上面的功能到底是怎么实现的呢?
// 可以F12看看其定义:
#define 	Enable_INT_Port0					PICON &= 0xFC;
#define		Enable_BIT2_RasingEdge_Trig			PICON|=0x10;PINEN&=0xFB;PIPEN|=0x04// 然后,直接在datasheet中搜索寄存器名,查看每个bit的功能

相关内容

热门资讯

摩尔线程张建中和他的伙伴们 资料图。摩尔线程张建中和他的伙伴们谢露茜摩尔线程是一家全功能GPU芯片研发及AI计算解决方案提供商。...
快手“午夜惊魂”,4亿用户信任... 来源丨亿欧网撰文丨杜心怡12月22日深夜,一场猝不及防的大规模黑灰产攻击,让快手遭遇了“直播惊魂夜”...
首日大涨,成都一家“AI小巨人... 来源丨深蓝财经12月23日,资本市场迎来一张新的“成都名片”。诺比侃人工智能科技(成都)股份有限公司...
宝龙地产:境外债务重组获超85... 12月22日,宝龙地产(01238.HK)发布公告,截至公告日,公司境外债务重组计划已获得超过85%...
官方首次披露:华夏银行原董事长... 突然辞职近一年,终于“靴子落地”。12月22日,中共北京市第十三届委员会第八次全体会议召开,全会审议...