资源简介

N76E003串口0、串口1中断程序模板,配置两个串口工作在模式0(半双工模式),程序由KEIL4 创建,注释清晰,已成功编译。具体程序解析,可看我博客

资源截图

代码片段和文件信息

/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2016 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp. 
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2016
//***********************************************************************************************************

#include “N76E003.h“
#include “Common.h“
#include “Delay.h“
#include “SFR_Macro.h“
#include “Function_define.h“

//----------------------------------------------------------------------------------
// UART0 baud rate initial setting 
//----------------------------------------------------------------------------------
void InitialUART0_Timer1(UINT32 u32Baudrate)    //T1M = 1 SMOD = 1
{
P06_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
P07_Quasi_Mode; //Setting UART pin as Quasi mode for transmit

    SCON = 0x50;      //UART0 Mode1REN=1TI=1
    TMOD |= 0x20;     //Timer1 Mode1
    
    set_SMOD;         //UART0 Double Rate Enable
    set_T1M;
    clr_BRCK;         //Serial port 0 baud rate clock source = Timer1
 
#ifdef FOSC_160000
    TH1 = 256 - (1000000/u32Baudrate+1);               /*16 MHz */
#endif    
#ifdef FOSC_166000
    TH1 = 256 - (1037500/u32Baudrate);               /*16.6 MHz */
#endif
    set_TR1;
set_TI; //For printf function must setting TI = 1
}
//---------------------------------------------------------------
void InitialUART0_Timer3(UINT32 u32Baudrate) //use timer3 as Baudrate generator
{
P06_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
P07_Quasi_Mode; //Setting UART pin as Quasi mode for transmit

    SCON = 0x50;     //UART0 Mode1REN=1TI=1
    set_SMOD;        //UART0 Double Rate Enable
    T3CON &= 0xF8;   //T3PS2=0T3PS1=0T3PS0=0(Prescale=1)
    set_BRCK;        //UART0 baud rate clock source = Timer3

#ifdef FOSC_160000
RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);   /*16 MHz */
RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
#endif
#ifdef FOSC_166000
    RH3    = HIBYTE(65536 - (1037500/u32Baudrate));  /*16.6 MHz */
    RL3    = LOBYTE(65536 - (1037500/u32Baudrate));  /*16.6 MHz */
#endif
    set_TR3;         //Trigger Timer3
set_TI;  //For printf function must setting TI = 1
}

UINT8 Receive_Data_From_UART0(void)
{
    UINT8 c;
    while (!RI);
    c = SBUF;
    RI = 0;
    retu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2298  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Code\GPIO.C

     文件       7742  2017-05-16 19:59  N76E003串口0、串口1中断程序模板\Code\GPIO_LED.C

     文件       4542  2017-01-17 16:31  N76E003串口0、串口1中断程序模板\Common.c

     文件       4980  2017-02-09 15:12  N76E003串口0、串口1中断程序模板\Delay.c

    .......    141241  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\GPIO.uvgui.Administrator

    .......    141241  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\GPIO.uvgui_Administrator.bak

    .......     12058  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\GPIO.uvopt

     文件      15167  2018-08-14 01:27  N76E003串口0、串口1中断程序模板\GPIO.uvproj

     文件       1046  2016-11-18 10:17  N76E003串口0、串口1中断程序模板\Include\Common.h

     文件        275  2017-02-09 15:12  N76E003串口0、串口1中断程序模板\Include\Delay.h

     文件      39991  2018-07-03 11:31  N76E003串口0、串口1中断程序模板\Include\Function_Define.h

     文件       6589  2016-12-21 14:12  N76E003串口0、串口1中断程序模板\Include\N76E003.h

     文件      48616  2017-12-28 17:38  N76E003串口0、串口1中断程序模板\Include\SFR_Macro.h

     文件       7702  2018-08-13 23:50  N76E003串口0、串口1中断程序模板\LST\Common.lst

     文件       7937  2018-08-13 23:50  N76E003串口0、串口1中断程序模板\LST\Delay.lst

     文件       4789  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\LST\GPIO.lst

     文件      23517  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\LST\GPIO.m51

     文件      12275  2018-08-12 14:28  N76E003串口0、串口1中断程序模板\LST\STARTUP.lst

     文件        329  2018-09-07 16:11  N76E003串口0、串口1中断程序模板\Nu_link_8051_Driver.ini

     文件      84728  2018-08-13 23:50  N76E003串口0、串口1中断程序模板\Output\Common.obj

     文件      85552  2018-08-13 23:50  N76E003串口0、串口1中断程序模板\Output\Delay.obj

     文件         19  2018-08-14 01:25  N76E003串口0、串口1中断程序模板\Output\ExtDll.iex

     文件     251225  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Output\GPIO

     文件       4052  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Output\GPIO.hex

     文件        176  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Output\GPIO.lnp

     文件      83326  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Output\GPIO.obj

     文件       4315  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Output\GPIO.plg

     文件        944  2018-08-12 14:28  N76E003串口0、串口1中断程序模板\Output\STARTUP.obj

     文件       5237  2017-05-09 17:09  N76E003串口0、串口1中断程序模板\STARTUP.A51

     目录          0  2018-09-13 18:38  N76E003串口0、串口1中断程序模板\Code

............此处省略7个文件信息

评论

共有 条评论