• 新塘 单片机例程 库函数操作 基本所有外设例程都包括在内了
  • 新塘M051系列单片机 例程 寄存器操作很多外设例程 稍加改动就可以为我所用
  • 玩转新唐单片机

    2020-07-02 17:36:05
    学习新塘单片机使用资料 玩转新唐M0/M4
  • 里面一共有两个文件,一个是单片机手册,一个是所有资源的相关例程文件。
  • 由于N76E003档次太低,新塘科技官方的管脚配置,芯片选型……都没有这一块芯片,资料唯独只有:芯片的数据手册,官方配套的例程,还有部分论坛里的资料。 我先来简单的介绍这一块芯片: 这块芯片淘宝最低价:0.75...

    单片机入门学习笔记6:新唐单片机N76E003

    学习新唐单片机是从2018年3月开始的,之前一点也不懂这一块单片机,之后脉络变的越来越清晰。

    由于N76E003档次太低,新塘科技官方的管脚配置,芯片选型……都没有这一块芯片,资料唯独只有:芯片的数据手册,官方配套的例程,还有部分论坛里的资料。

    我先来简单的介绍这一块芯片:

    这块芯片淘宝最低价:0.75元(0.03都有不知道为什么!

    新唐科技的官网:https://www.nuvoton.com/hq/

    官网资源:http://www.nuvoton.com.cn/hq/products/microcontrollers/8bit-8051-mcus/low-pin-count-8051-series/n76e003/?__locale=zh

    芯片的技术手册:http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=DA00-N76E003-SC

    驱动软件:http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=SW0520101208200142

    芯片的官方例程http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=SW0720170213111242

    芯片的论坛:http://bbs.21ic.com/iclist-187-1.html

    芯片的下载工具:?

     

    1.初始化管脚配置:一定会有很多人,感觉用单片机,初始化一个端口,还要不停的翻数据手册,很烦。新唐科技也许出于这方面的考虑,将单片机所有管脚的初始化函数都放在一个.c文件中,初始化时,调用对应的函数即可。

    函数内部(中文是我自己写的,原版是英文)

     

    2.至于其他的部分和一般的单片机没有什么两样,数据手册即可解决!

    posted @ 2018-12-08 17:02 一直走向深渊的迷途羔羊 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • N76E003 新塘单片机开发官方例程,内含Common各外设C文件代码,include:开发所需的头文件 ,sample_Code:单片机所有外设例程。 对于初学者有极大的帮助,可以更快的使用开发这款单片机。
  • 关于8051系列单片机用bootloader实现IAP的方法做了详细说明,并提供了一个工程模板
  • 一、资源网站 官网:新唐(Nuvoton) 8位8051系列-N76E003AT20(兼容STM8S003F3P6) 第三方资料:N76E003开发板用户手册.pdf 二、开发环境搭建 用户指南UM_NuTiny-SDK-N76E003_EN_Rev1.01.pdf ...

    一、资源网站

    官网:新唐(Nuvoton) 8位8051系列-N76E003AT20(兼容STM8S003F3P6)

    第三方资料:N76E003开发板用户手册.pdf

    二、开发环境搭建

    1. 用户指南UM_NuTiny-SDK-N76E003_EN_Rev1.01.pdf

    2. 安装 Keil C-51 μVision® IDE Software

    3. 安装NuMicro ICP Programming Tool

    4. 安装Nu-Link_Keil_Driver

    三、N76E003_BSP_Keil_C51_V1.0.6.zip

    1. 文件说明

      这里写图片描述

      文件 说明
      Common 常用子程序模块:delay延时函数和UART配置
      Include 头文件和宏定义
      Sample_Code 开发参考代码
      Startup N76E003启动文件
      RM_N76E003 CMSIS BSP Guide v1.06.pdf 文件使用向导
    2. 参考例程

    这里写图片描述

    四、新唐N76E003的内存架构

    • 1K-数据内存(RAM)

      • 内部RAM:256字节
      • 片上XRAM:768字节
    • 18K-编程内存(FLASH)

      • 应用ROM(APROM):存储用户代码,128字节/页

      • 加载ROM(LDROM):存储启动代码,128字节/页

      • CONFIG字节:硬件初始化

        (APROM + LDROM = 18K,当LDROM为0时,APROM的地址:0x0000~0x47FF)

    展开全文
  • void Read_2556(unsigned char channel) {  unsigned int i = 0;   channel //通道 控制位为7-4位  Vaa=0; //电压值初始为0  CS_2556_H; //先禁止所有功能  CLK_2556_L; //在CS置低前将CLK置低 ... Delay
    void Read_2556(unsigned char channel)
    {
      unsigned int  i = 0; 
      channel<<=4; //通道 控制位为7-4位
      Vaa=0; //电压值初始为0
      CS_2556_H; //先禁止所有功能
      CLK_2556_L; //在CS置低前将CLK置低
      CS_2556_L; //片选使能(可选)  
      Delay_ms(5); //延时
      for(i=0;i<12;i++)
      {
    if((channel&0x80) == 0x80) {DINPUT_2556_H;}
    if((channel&0x80) != 0x80) {DINPUT_2556_L;}
    if(DOUT_2556 == 1){Vaa |= 0x0001;}
    if(DOUT_2556 == 0){Vaa &= 0x0ffe;}
    Vaa<<=1;channel<<=1;
    CLK_2556_H; Delay_ms(5);
    CLK_2556_L; Delay_ms(5);
      }
    Vaa >>= 1;CS_2556_H;
    for(i=0;i<9;i++){Delay_ms(5);}
    /*转化为实际电压值*/
      Ge=((unsigned int)((float)Vaa*REF_2556/4.095));
    }
    展开全文
  • ;测试PWM5输出端口P0.3,LED闪烁端口是P1.5;以下是汇编代码;功能寄存器定义SFRS EQU 91HTA EQU 0C7HPWMCON0 EQU 0D8HPWMCON1 EQU 0DFHCKCON EQU 08EHPWMPL EQU 0D9HPWMPH EQU 0D1HPWM0L EQU ...

    ;测试PWM5输出端口P0.3,LED闪烁端口是P1.5

    ;以下是汇编代码

    ;功能寄存器定义

    SFRS    EQU    91H
    TA        EQU    0C7H

    PWMCON0    EQU    0D8H
    PWMCON1    EQU    0DFH
    CKCON    EQU    08EH
    PWMPL    EQU    0D9H
    PWMPH    EQU    0D1H
    PWM0L    EQU    0DAH
    PWM0H    EQU    0D2H
    PWM1L    EQU    0DBH
    PWM1H    EQU    0D3H
    PWM2L    EQU    0DCH
    PWM2H    EQU    0D4H
    PWM3L    EQU    0DDH
    PWM3H    EQU    0D5H
    PWM4L    EQU    0CCH;Page1
    PWM4H    EQU    0C4H;Page1
    PWM5L    EQU    0CDH;Page1
    PWM5H    EQU    0C5H;Page1
    PIOCON0    EQU    0DEH
    PIOCON1    EQU    0C6H
    PDTEN    EQU    0F9H
    PDTCNT    EQU    0FAH
    PMEN    EQU    0FBH
    PMD        EQU    0FCH
    PBD        EQU    0D7H
    PNP        EQU    0D6H
    PWMINTC    EQU    0B7H
    P0M1    EQU    0B1H
    P0M2    EQU    0B2H
    P1M1    EQU    0B3H
    P1M2    EQU    0B4H
    P2S        EQU    0B5H
    P3M1    EQU    0ACH
    P3M2    EQU    0ADH
    CKDIV    EQU    095H;系统时钟除频
    ;功能位定义
    CLRPWM    BIT    PWMCON0.4
    PWMF    BIT    PWMCON0.5
    LOAD    BIT    PWMCON0.6
    PWMRUN    BIT    PWMCON0.7

    ;程序入口
    ORG    0000H
    LJMP    MAIN
    ORG    0100H
    MAIN:
        ANL    P1M1,#11011111B
        ORL    P1M2,#00100000B;P1.5推挽
        ANL    P0M1,#11110111B
        ORL    P0M2,#00001000B;P0.3推挽
        MOV    PIOCON0,#00100000B;设置P0.3用作PWM5输出
        ORL    PWMCON1,#00000011B;PWM时钟为系统时钟16M的1/8=2Mhz
        CLR    CLRPWM
        ANL    PWMCON1,#00111111B;群组模式禁止
        
        MOV    PWMPH,#07H
        MOV    PWMPL,#0CFH
    ;PWM frequency = Fpwm/((PWMPH,PWMPL) + 1) <Fpwm = Fsys/PWM_CLOCK_DIV>   
    ;               = (16MHz/8)/(0x7CF + 1)                                
    ;               = 1KHz (1ms)

    ;载入PWM5的占空比值
        MOV    TA,#0AAH
        MOV    TA,#55H
        ORL    SFRS,#00000001B    ;Page1
        MOV    PWM5H,#02H
        MOV    PWM5L,#0CFH
        MOV    TA,#0AAH
        MOV    TA,#55H
        ANL    SFRS,#11111110B    ;Page0
        SETB    LOAD        ;载入占空比相关数值
        SETB    PWMRUN        ;运行PWM
        ;LJMP    $    
        
    LED:    
        SETB    P1.5
        LCALL    DL500MS
        CLR        P1.5
        LCALL    DL500MS
        LJMP    LED
        
    DL500MS: ;误差 0us
        MOV R7,#0F1H
    DL1:
        MOV R6,#48H
    DL0:
        MOV R5,#0E5H
        DJNZ R5,$
        DJNZ R6,DL0
        DJNZ R7,DL1
        NOP
        NOP
        RET
    END

    展开全文
  • N76E003为新唐高速1T 8051 单片机系列产品,支持2.4V 至 5.5V宽工作电压,超低功耗,可完美替代STM8L,本代码为全套DEMO源码,可以直接运行,也可移植,可快速入门此mcu开发。
  • 在Function_define.h文件#ifdef FOSC_160000 // if Fsys = 16MHz #define TIMER_DIV12_VALUE_10us 65536-13 //13*12/16000000 = 10 uS, // Timer divider = 12 for TM0/TM1 #define TIMER_DIV12_VALUE_...

    在Function_define.h文件


    #ifdef FOSC_160000		// if Fsys = 16MHz 
    
    		#define TIMER_DIV12_VALUE_10us			65536-13		//13*12/16000000 = 10 uS,  			// Timer divider = 12 for TM0/TM1
    		#define TIMER_DIV12_VALUE_100us			65536-130		//130*12/16000000 = 10 uS,  		// Timer divider = 12 
    		#define TIMER_DIV12_VALUE_1ms				65536-1334	//1334*12/16000000 = 1 mS,  			// Timer divider = 12 

    16M时钟,12分频后定时器的周期为16/12 us,所以1ms=1000*16/12 约为1334


    每个单位为1ms

    void Timer0_Delay1ms(UINT32 u32CNT)
    {
        clr_T0M;                                		//T0M=0, Timer0 Clock = Fsys/12 定时器0 12分频
        TMOD |= 0x01;                           		//Timer0 is 16-bit mode  16位定器/计数器
        set_TR0;                              		  //Start Timer0  开启
        while (u32CNT != 0)
        {
            TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms); 		//Find  define in "Function_define.h" "TIMER VALUE"
            TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);      //高8位和低8位设置相应值
            while (TF0 != 1);                   		//Check Timer0 Time-Out Flag  等待溢出
            clr_TF0;                                            //清除溢邮
            u32CNT --;
        }
        clr_TR0;                              		  //Stop Timer0  定时器0停止
    }

    展开全文
  • 新唐单片机学习交流群:57955260,本教程代码分享至群共享,欢迎加入学习交流 开发板上有四颗LED等,分别有PB3、PB4、PB5、PB6,低电平点亮 ① 拷贝Non-OS_KEIL\N32905_Non-OS_KEIL\gpio\lib下所有文件到工程目录...
  • 今天做的是读写Flash,因为最后从红外接收学习到的编码需要存入Flash中,所以...然而新唐的例程中没有对数据Flash的读写,只有对LDROM 和 APROM的读写,其实差不了太多,为了不给以后的同仁多走弯路,这里特地写下笔者
  • 也类似与新塘单片机的使用。不用多熟悉这种单片机的配置之类的。直接复制例子中的设置。用到哪些外设,先单独试试例子中的然后直接复制到工程里面。其余的就是执行逻辑问题。 2、资料都在这里面:ftp://...
  • 本资源将带你了解M051系列的各种模块和参数,对你今后应用提供支持。M051系列是以ARM CORTEX-M0为内核的32位为控制处理器,应用于工业控制和需要丰富通信接口的领域,成本仅相当于普通的8位单片机,性价比非常高。
  • 在有联网需求的嵌入式项目中经常有场景...下面介绍周星星在新唐单片机开发之旅中的景点FMC。 基础操作 打开FMC驱动的头文件,找到我需要的四个基础函数: 1、使能函数; 2、读函数; 3、写函数; 4、擦除函数。 ...
  • 新唐N79E715参考代码

    2020-06-05 23:30:17
    新唐的N79E715的参考代码,对于学习单片机的同学非常有用
1 2
收藏数 34
精华内容 13