关于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的功能

相关内容

热门资讯

8个月暴涨10倍,最火AI巨头... 光模块/CPO,又创历史新高了。再创新高,“易中天”大爆发今年以来,AI板块缔造了太多大牛股,而AI...
“祥源系”掌舵人俞发祥被刑拘!... 富豪沦为阶下囚,谁该为百亿兑付“埋单”?作者 | 于婞编辑丨高岩来源 | 野马财经一场涉及上百亿资金...
【视频】超级行动派:如何保卫财... 文 | 清和 智本社社长社长,这种经济环境,该怎么降低风险?怎么配置资产?这几年,经常有社友问我这两...
持续亏损、第三次增资,深蓝汽车... 从成立至今,深蓝汽车经历了销量快速增长的喜悦,也面临着持续亏损的困境,其发展历程折射出传统车企向新能...
“00后”体育生用AI做外贸,... 当下入局做外贸,要想赚到第一桶金,靠的是一个无所不能的“超级个体”,还是分工明确的“系统战队”?两年...