资源描述:
《凌阳十六位单片机 电子时钟程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、//==========================================================================//Theinformationcontainedhereinistheexclusivepropertyof//SunnnorthTechnologyCo.Andshallnotbedistributed,reproduced,//ordisclosedinwholeinpartwithoutpriorwrittenpermission.//(C)COPYRIGHT2003SUN
2、NORTHTECHNOLOGYCO.//ALLRIGHTSRESERVED//Theentirenoticeabovemustbereproducedonallauthorizedcopies.//============================================================================//============================================================================//工程名称:ex3_Cloc
3、k//功能描述:《实验指导书》综合实验//电子时钟//通过按键设置时钟,按确认键后,时钟运行。//IDE环境:SUNPLUSu'nSPTMIDE1.8.0(orlater)//涉及的库:CMacro1016.lib//组成文件:main.c//isr.asm/Dig.asm/Key.asm/system.asm//Dig.inc/SPCE061A.inc/Key.inc//Dig.h/SPCE061A.h/Key.h//硬件连接:IOA口低8位连接1*8数码管的段选//IOB口IOB15、IOB14、IOB13、IOB12、IOB
4、2、IOB1、IOB0连接位选//IOA口高8位连接4*4键盘//日期:2005-10-14v1.0//============================================================================//========================================================//文件名称:main.c//功能描述:时钟时间设置和显示//维护记录:2005-10-14v1.0//==============================
5、==========================#include"Key.h"#include"Dig.h"#include"SPCE061A.h"typedefunsignedcharuchar;#defineKEY_DEL11#defineKEY_ENT12#defineYESCarryFlag1#defineClearCarryFlag0#defineYESIntFlag1#defineClearIntFlag0#definetrue1#definefalse0unsignedintINTflag;unsignedint
6、KeyVal;unsignedintKeyDownTimes;//保存按键次数unsignedintKeycodeLED[6];//保存显示的LED数字unsignedintEnterFg;//按确认键标识1、有确认键按下0无确认键按下unsignedintsecFlag,minFlag,hourFlag;voidclockPro(void);//时钟处理函数unsignedintSetKeyValPro(void);//设置时钟值的合法性检测函数unsignedintKeyDataChange(unsignedintKey_Da
7、ta);//键值转换子程序,把4X4键盘的键值转换成程序所需要的unsignedintg_Data[11]={0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};//0,1,2,3,4,5,6,7,8,9//========================================================//语法格式:intmain(void)//实现功能:时钟设置及显示//参数:无//返回值:无//==============
8、==========================================intmain(){unsignedinti;KeyDownTimes=0;INTflag=0;EnterFg=0;i=0;Key_Init();//键盘扫描初始化