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

📄 main.c

📁 proteus电子钟(带闹钟数码管显示)
💻 C
字号:
// ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═一 ︻┳═ ︻┳═ ︻┳═一

// 为了便于阅读和打印,最大行长为100个字符.
//	     1	       2	     3	       4	     5	       6	     7	       8	     9	       A
//3456789#123456789#123456789#123456789#123456789#123456789#123456789#123456789#123456789#123456789#
/*------------------------------------------------------------------------------------------------*-

/*
 * Copyright (c) 2008,
 * All rights reserved
 * 
 * 文件名称: main.C 
 * 文件标识: 
 * 摘    要: 
 * 
 * 当前版本: 1.0             * 取代版本:
 * 作    者: wsl          	 * 原作者  : 
 * 完成日期: 2008-02-17      * 完成日期:
 **------------------------------------------------------------------------------------------------*/

#include "main.h"
#include "SysTick.h"
#include "Port.h"
#include "key.h"
#include "DisplayDir.h"
#include "Menu.h"
#include "RTC.h"

sfr WDT_CONTR = 0xE1;
#define PS0 		0
#define	PS1	 		1
#define	PS2	  		2
#define	IDLE_WDT	3
#define CLR_WDT		4
#define	EN_WDT 		5
#define	WDT_FLAG 	7

void main(void)
{
	Timer0_init();
	Timer1_init();
	WDT_CONTR |= (1<<EN_WDT)|(1<<CLR_WDT)|(1<<IDLE_WDT);
	IP |= (1 << _PT0);
	OS_EXIT_CRITICAL();

	LED_DISP_ALL_FLASH();	
	LedChangeFlag = 0x00;		
	LedChangeFlag |= (1 << DOT2);	// 只有时钟的时个位点可以闪烁
	
	bUpdateDisplayEn = 1;

    while (1)    // 超级循环
    {
		if (ftick)
		{
		 	ftick = 0;
			KeyPad();
			LedFlashFreq();
		}

		KeyProcess();

		if (bUpdateDisplayEn)
		{
			UpdateDisplayBuffer(Rtc.hour, Rtc.min);
			//UpdateDisplayBuffer(Rtc.min, Rtc.sec); 		// 测试
	
		}
		
		WDT_CONTR |= (1<<EN_WDT)|(1<<CLR_WDT)|(1<<IDLE_WDT);	// 喂狗
		
		PCON |= 0x01;	   // 死机
    }
}




⌨️ 快捷键说明

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