资源简介
使用N76E003单片机定时器0进行红外编码发射的工程文件,包含电路图,遵循NEC协议(38K载波),已通过逻辑分析仪及红外接收设备验证,程序稳定,注释清楚,使用N76E003单片机内置16M晶振。
代码片段和文件信息
/*---------------------------------------------------------------------------------------------------------*/
/* */
/* 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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3897 2018-09-09 19:10 红外发射程序(N76E0031\Code\GPIO.C
文件 7742 2017-05-16 19:59 红外发射程序(N76E0031\Code\GPIO_LED.C
文件 4542 2017-01-17 16:31 红外发射程序(N76E0031\Common.c
文件 4980 2017-02-09 15:12 红外发射程序(N76E0031\Delay.c
....... 141195 2018-09-09 19:15 红外发射程序(N76E0031\GPIO.uvgui.Administrator
....... 141195 2018-09-09 19:10 红外发射程序(N76E0031\GPIO.uvgui_Administrator.bak
....... 12059 2018-09-09 19:15 红外发射程序(N76E0031\GPIO.uvopt
文件 15167 2018-08-14 01:27 红外发射程序(N76E0031\GPIO.uvproj
文件 1046 2016-11-18 10:17 红外发射程序(N76E0031\Include\Common.h
文件 275 2017-02-09 15:12 红外发射程序(N76E0031\Include\Delay.h
文件 39991 2018-07-03 11:31 红外发射程序(N76E0031\Include\Function_Define.h
文件 6589 2016-12-21 14:12 红外发射程序(N76E0031\Include\N76E003.h
文件 48616 2017-12-28 17:38 红外发射程序(N76E0031\Include\SFR_Macro.h
文件 7702 2018-08-13 23:50 红外发射程序(N76E0031\LST\Common.lst
文件 7937 2018-08-13 23:50 红外发射程序(N76E0031\LST\Delay.lst
文件 9107 2018-09-09 19:10 红外发射程序(N76E0031\LST\GPIO.lst
文件 27255 2018-09-09 19:10 红外发射程序(N76E0031\LST\GPIO.m51
文件 12275 2018-08-12 14:28 红外发射程序(N76E0031\LST\STARTUP.lst
文件 329 2018-09-07 16:11 红外发射程序(N76E0031\Nu_li
文件 84728 2018-08-13 23:50 红外发射程序(N76E0031\Output\Common.obj
文件 85552 2018-08-13 23:50 红外发射程序(N76E0031\Output\Delay.obj
文件 19 2018-08-14 01:25 红外发射程序(N76E0031\Output\ExtDll.iex
文件 253462 2018-09-09 19:10 红外发射程序(N76E0031\Output\GPIO
文件 5288 2018-09-09 19:10 红外发射程序(N76E0031\Output\GPIO.hex
文件 176 2018-09-09 19:10 红外发射程序(N76E0031\Output\GPIO.lnp
文件 86414 2018-09-09 19:10 红外发射程序(N76E0031\Output\GPIO.obj
文件 189 2018-09-09 19:15 红外发射程序(N76E0031\Output\GPIO.plg
文件 944 2018-08-12 14:28 红外发射程序(N76E0031\Output\STARTUP.obj
文件 5237 2017-05-09 17:09 红外发射程序(N76E0031\STARTUP.A51
文件 64643 2018-09-09 19:15 红外发射程序(N76E0031\红外发射电路图.jpg
............此处省略8个文件信息
评论
共有 条评论