⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 周立功2103开发板CD资料
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                 http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:           main.c
** Last modified Date:  2006-02-22
** Last Version:        1.0
** Descriptions:        header file of the specific codes for LPC2200 target boards
**              Every project should include a copy of this file, user may modify it as needed
**------------------------------------------------------------------------------------------------------
** Modified by: 
** Modified date:
** Version: 
** Descriptions: 
**
********************************************************************************************************/

#define IN_MAIN
#include "config.h"
#include "uart.h"
#include "RTC.h"


#pragma import(__use_no_semihosting_swi)        //don't delete this line

/*********************************************************************************************************
** Function name:			IRQ_Exception
**
** Descriptions:			interrupt exceptional handler , change it as needed
**                          don't delete this function 
** input parameters:		None
** Returned value:			None
**         
**
** Created by:				Chenmingji
** Created Date:			2006/02/22
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void  IRQ_Exception(void)
{
}



/**************************************************************************************
**函数名称:PC_DispChar()
**函数功能:向PC机发送显示字符
**入口参数:no    显示位置
**          char   显示的字符,不能为0xff
**出口参数:无
**************************************************************************************/
void PC_DispChar (uint8 no, uint8 chr)
{
	UARTn_SendByte(0,0xff);
	UARTn_SendByte(0,0x81);
	UARTn_SendByte(0,no);
	UARTn_SendByte(0,chr);
	UARTn_SendByte(0,0x00);
}


uint8 const SHOWTABLE[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};


/**************************************************************************************
**函数名称:SendTimeRTC ()
**函数功能:读取RTC的时间值,并将读出的时间通过串口发送到PC机显示。
**入口参数:无
**出口参数:无
**************************************************************************************/
void SendTimeRTC(void)
{
    RTCtime curtime;
    uint32 bak;
    
    GetRTCtime(&curtime);
    
    bak = curtime.year;	// 获取 年
    
	PC_DispChar(0, SHOWTABLE[bak / 1000]);
	bak = bak % 1000;
	PC_DispChar(1, SHOWTABLE[bak / 100]);
	bak = bak % 100;
	PC_DispChar(2, SHOWTABLE[bak / 10]);
	PC_DispChar(3, SHOWTABLE[bak % 10]);
	
	bak = curtime.month;		// 获取 月
	
	PC_DispChar(4, SHOWTABLE[bak / 10]);
	PC_DispChar(5, SHOWTABLE[bak % 10]);
	
	bak = curtime.day;				// 获取 日
	
	PC_DispChar(6, SHOWTABLE[bak / 10]);
	PC_DispChar(7, SHOWTABLE[bak % 10]);
	
	bak = curtime.week;		// 获取 星期
	
	PC_DispChar(8, SHOWTABLE[bak]);
		
	bak = curtime.hour;		// 获取 小时
	
	PC_DispChar(9, SHOWTABLE[bak / 10]);
	PC_DispChar(10, SHOWTABLE[bak % 10]);
	
	bak = curtime.min;		// 获取 分钟
	
	PC_DispChar(11, SHOWTABLE[bak / 10]);
	PC_DispChar(12, SHOWTABLE[bak % 10]);
	
	bak = curtime.sec;				// 获取 秒钟
	
	PC_DispChar(13, SHOWTABLE[bak / 10]);
	PC_DispChar(14, SHOWTABLE[bak % 10]); 
       
}


/*********************************************************************************************************
**函数名称:Main ()
**函数功能:读取实时时钟的值,通过串口发送出去。
********************************************************************************************************/
void Main(void)
{
    RTCtime time;
    
    TargetInit(VPBDIV_DATA, PLLCFG_DATA, MAMTIM_DATA);      // don't delete
    while((PLLSTAT & (1 << 10)) == 0);                      // can delete
   
    
    UARTn_Init(0,115200,8,1,0,0);
    
    RTCInit(1);  	   //选择外部32.768KHz晶振
   
   
    //设置时间为:2006-2-21    23:00:00 星期2
    time.sec = 0;
    time.min = 0;
    time.hour = 23;
    time.day = 21;
    time.week = 2;
    time.month = 2;
    time.year = 2006;
    
    SetRTCtime(time);
    
    CIIR = 0x01;	// 设置秒值的增量产生1次中断
    
    while(1)
    {
        while (0 == (ILR & 0x01));	// 等待RTC增量中断
		ILR = 0x01;	 
        SendTimeRTC();
        
    }
}


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -