N76E003 单片机 学习
本专栏主要针对新唐单片机——N76e003进行学习,参考资料源于该芯片使用手册及示例代码。
XS30
这个作者很懒,什么都没留下…
展开
-
N76E003 标定 10Khz低速振荡器
N76E003内部有两个RC振荡器——16M(HIRC)、10K(LIRC)。高速16MHz误差在出厂时校准到±2%(全温度、全电压范围内),而10K低速振荡器,据说是35%的误差,一个小时定时,多出十几分钟就不足为奇了。以下代码源于新唐官方例程,其运行原理大概是同时使用HLRC&LIRC定时器,两者同时开启,LIRC定时固定时间,溢出后查看HIRC计数值,求出差值(时间越短越精确),用...原创 2022-01-06 21:47:32 · 499 阅读 · 0 评论 -
N76E003 之 定时器0使用
程序说明,定时器0按工作模式1工作,初值为10ms。#include "N76E003.h"#include "SFR_Macro.h"#include "Function_define.h"#include "Common.h"#include "Delay.h"UINT8 u8TH0_Tmp,u8TL0_Tmp;//初始化配置函数void Init_Timer0(void){ CKDIV=0X0C; TIMER0_MODE1_ENABLE;原创 2021-10-24 16:26:09 · 3047 阅读 · 2 评论 -
N76E003之ADC采集NTC温度
RG选用10k 1%精度NTC热敏电阻,R1使用10k 1%精度贴片电阻,电路如下图1所示,使用N76E003单片机AIN4通道进行采样,使用带隙电压进行修正。(图1)下图2为NTC热敏电阻数据手册中给出的电阻值对应温度表(图2)在程序中建立一温度/电阻对应数组(其中温度为数组的对应位)//正温度数组 float TemperList1[55]={32.1,30.6,29.1,2...原创 2019-04-22 11:50:49 · 4491 阅读 · 0 评论 -
N76E003之模拟EEPROM
之前在使用STM32时,常可以将内部flash作为数据储存,用于保存diaodian原创 2019-04-14 02:17:41 · 5530 阅读 · 9 评论 -
N76E003之ADC 多通道采样
首先让我们来看看N76E003单片机的ADC工作方式,从下图中可以看到ADCHS寄存器决定当前使用哪一个通道的寄存器。接下来我们再来看看具体的寄存器含义接下来就是N76e003库中包含的相关宏定义,可以看到每次使能一个ADC通道时,会先关闭所有通道,再去打开指定对象的通道,之后将对应ADC设置为输入模式#define Enable_ADC_AIN3 ADCCON0&=0xF0...原创 2019-03-28 00:04:53 · 3714 阅读 · 2 评论 -
N76E003 下载引脚 Dat、Clk、Rst做常规使用
N76e003单片机在驱动8080并口屏时,因为占用引脚太多,无法实现更多的功能,所以我对下载引脚动了歪脑筋。在之前的博文中,我尝试了使用Dat(P16)、Clk(P02)的串口功能——N76E003串口1、串口0,中断程序(模式0),既然串口都可以用,那常规IO不就也可以吗。需要注意的是,这几个引脚无法再调试中正常使用,如需要debug,建议用点灯、打印等办法//--------------...原创 2019-03-15 11:06:43 · 4490 阅读 · 0 评论 -
N76E003 驱动 UC1705并口屏(8080)
Tips:本文主要代码源于原子哥STM32驱动8080液晶屏代码,在此表示感谢。通过数据手册可以得知CD引脚其实就是控制命令与数据切换的I/O。在程序中我们使用RS代替下图为8080并口连接图下图为N76E003引脚分配(因为没钱开板,所以本次全部使用热转印制作测试,故GPIO分配存在不合理的地方)其中D0-D7使用下列函数赋值,具体操作就是每次右移一次,到最低位与1进行&运...原创 2019-03-11 20:24:59 · 2641 阅读 · 0 评论 -
N76E003 驱动 串口屏
原创 2019-02-24 17:10:47 · 1068 阅读 · 0 评论 -
N76E003 低功耗(掉电模式&管脚中断唤醒)
N76E003每个管脚都提供管脚输入中断功能,用于检测管脚电平状态,如按键或键盘是否按下。最多配置8个I/O管脚用于管脚中断。任何按键按下时通过边沿或电平触发产生一个管脚中断事件。管脚中断能 使MCU从空闲模式或掉电模式唤醒可以通过外部中断使N76E003从掉电模式唤醒。触发外部中断管脚会重启系统时钟,在振荡器稳定后,设备执行外部中断对应的中断服务程序( ISR)。 从ISR返回后,设备立...原创 2019-01-31 19:51:44 · 6757 阅读 · 7 评论 -
N76E003 低功耗(掉电模式&定时唤醒)
#include "N76E003.h"#include "Common.h"#include "Delay.h"#include "SFR_Macro.h&qu原创 2019-01-24 16:13:05 · 6004 阅读 · 6 评论 -
N76E003 定时唤醒WKT
1、分析10KHz内部振荡器,通过WKTR寄存器控制是否启动,后进入分频器,通过WKPS进行预分频(1/1 到 1/2048),再通过RWK重载值,实现对溢出速度的控制,最后通过WKTF溢出标志触发自动唤醒定时器中断。计算公式大致如下定时时间/((Pre-scalar预分频+1)/10)=255-重载值(RWK)eg:定时1000ms,64分频,算重载值1000/((64+1)/10...原创 2019-01-24 01:34:49 · 1674 阅读 · 0 评论 -
N76E003 输入捕获
1、寄存器说明定时器2是一个16位的向上计数器,由高8位寄存器(TH2)和低8位寄存器(TL2)组成。通过配置寄存器RCMP2H和RCMP2L,设置 (T2CON.0)后,定时器2能工作在比较模式和自动重载模式下。 定时器2具有3通道输入捕获模块,可用于测量输入脉冲宽度或周期。 3通道捕获结果分别存放在寄存器C0H及 C0L, C1H 及 C1L, C2H 及 C2L中。定时器2的时钟来...原创 2019-01-13 12:30:18 · 4180 阅读 · 18 评论 -
N76E003 管脚中断
N76E003单片机的每个管脚都可用于触发中断,最多可配置八个管脚,四种触发方式(上升沿,下降沿,高电平,低电平),并且管脚中断可以使MCU从空闲模式或掉电模式唤醒。...原创 2019-01-07 15:35:41 · 8209 阅读 · 26 评论 -
N76E003 PWM中断及设定新的占空比
首先还是来看看PWM中断寄存器,及其含义。PWM模块带有标志位 PWMF (PWMCON0.5) 用来标志当前 PWM周期完成状态。PWMF通过软件清零。别忘记了使能PWM中断,以及开启总中断。再来看看PWM中断的中断号。就是这么简单,就是这么直接,接下来我们就开始配置代码吧。在本次的例程中,我们将在中断中,修改初始设定的占空比,最后再逻辑分析仪中进行查看。void main...原创 2018-09-26 02:06:38 · 8242 阅读 · 2 评论 -
N76E003 PWM程序及分析2(互补模式&死区插入)
互补模式是N76E003单片机提供的第二种PWM输出模式,相较于上一次我们所讨论的N76E003 PWM 程序及分析(边沿对齐、独立输出模式),我们下面就来看看此种模式有合不同。首先我们需要了解,什么是“死区时间”通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往...原创 2018-09-24 23:18:55 · 4670 阅读 · 1 评论 -
N76E003 PWM之极性控制
可能一些同学可能对PWM的极性控制不怎么理解(对,说的就是我自己。。。),那么就让我们在本次博文中,一起来探究下极性控制的原理及程序吧。如果有描述错误的情况,希望各位大佬指出。首先我们来看看官方手册中对极性控制的描述,其中可以发现,对于PWM极性,是通过PNPn来进行控制的。 知道极性控制寄存器后,我们再来看看单片机内部的模块图,我们可以发现,PNPn寄存器,是对应通道二选一选择器的...原创 2018-09-17 20:06:17 · 4174 阅读 · 7 评论 -
N76E003 PWM 程序及分析(边沿对齐、独立输出模式)
N76E003 包含三对( 6个PWM通道) 16位精度、可调周期和占空比的PWM输出让我们来看看六个通道的引脚分别是 可能有同学会疑问,为什么P1.5和P0.3都是PWM5,那如果要使用PWM5,该如何选择引脚呢?我们来看看芯片内部的原理图。 还是以PWM5为例:芯片内部是通过一个二选一选择器来进行引脚选择的,通过PIO05/PIO15寄存器来进行数据选择. 如果我...原创 2018-09-16 20:31:16 · 11534 阅读 · 7 评论 -
N76E003串口1、串口0,中断程序(模式0)
关于串口1,串口0中断的相关寄存器配置请看N76E003双串口中断配置、问题及解决方法 完整代码已在本文中贴出,如出现无法编译的问题,可以考虑下载本文的工程文件 工程文件在此下载 串口1控制寄存器与串口0命名上后置”_1”再次不再赘述,官方技术手册表述如下 N76E003包含两个具备增强的自动地址识别和帧错误检测功能的全双工串口。由于两个串口的控制位是 一样的,为了区分...原创 2018-09-13 18:47:38 · 9091 阅读 · 0 评论 -
N76E003红外解码程序、电路
N76E003红外解码程序、电路红外解码和红外编码的数据一一对应,在此不再对红外编码协议过多赘述,红外编码相关知识可以看这里在N76E003单片机中,我们使用外部中断1进行读取红外信号。参照下图,进行配置,外部中断1的引脚为P17 外部中断1:中断号为2 IE = 0x84; //允许总中断中断,使能 INT1 外部中断TCON = 0x1...原创 2018-09-10 13:30:11 · 5486 阅读 · 1 评论 -
N76E003红外编码程序及NEC协议分析
N76E003红外编码程序及电路(38kHZ,NEC协议)N76E003是一款带有flash的增强型8位8051内核单片机,指令集与标准的80C51完全兼容,并且内置16M晶振,故在51上使用的红外发射程序,修改一下定时器数据(晶振不同),就可在N76E003上运行,本文重点说一下NEC红外协议,电路等。完整工程文件可以看此处由于 NEC协议需要工作在38kHZ载波上,在N76E003中我...原创 2018-09-09 22:59:11 · 6558 阅读 · 0 评论 -
N76E003双串口中断配置、问题及解决方法
N76E003双串口中断配置、问题及解决方法最近在调试N76E003串口0,串口1中断时,发现当串口0开启中断后,串口1中断无法正常工作,下面详细说说自己的办法。(我的问题原因是中断优先级造成的,取消串口1中断优先级即可解决)由下图1可以看到,N76E003这颗芯片,RXD_1、TXD_1为串口1,并且两个引脚也分别是仿真器的TICECLK、TICEDAT。所以无法在编译器中进行硬件仿真。...原创 2018-09-09 18:44:00 · 8097 阅读 · 0 评论