文档详情

单片机实现电子钟万年历秒表闹铃.doc

发布:2020-02-20约1.17万字共11页下载文档
文本预览下载声明
. . . . 程序清单 ***************************************************************/ //项目名称: 数字电子钟 //项目设计者: //项目设计时间: 2011年12月23日 //项目功能: 电子钟上电或按键复位后能自动显示系统提示符“P.”, 并不断闪烁进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。电子钟能显示年月日时分秒、秒表,任意时间闹铃,整点闹铃 /**************************************************************/ /* crystal=12Mhz */ #includereg52.h #define uchar unsigned char #define uint unsigned int sbit kaig=P1^0; /*启动/调制键*/ sbit ksec=P1^1; /*调整秒/日/秒表开关*/ sbit kmin=P1^2; /*调整分/月/显示秒表*/ sbit khour=P1^3; /*调整时/年的低两位*/ sbit date=P1^4; /*显示日期开关*/ sbit bai=P1^5; /*调整年高二位/整点闹钟开关*/ sbit save=P1^6; /*保存设置的闹铃时间*/ sbit offl=P1^7; /*闹铃开关*/ sbit loud=P3^1; /*扬声器*/ uint num=0,sec=0,min=0,hour=0,hao=0,miao=0,fen=0,shi=0; // 计时 秒 分 时 毫秒 秒 分 时 uint day=1,mou=1,year=2000,dx=0,co=0,stopnao=0,shour=0,smin=2; // 日 月 年 显示 整点//闹铃开关 时 分 uchar secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0; //时间 秒个位 秒十位 分个位 分十位 时个位 时十位 uchar i=0, flag=0, j=0, yearqian=0, yearbai=0; // 上电标志 电子钟启停标志 秒表启动标志 年千位 年百位 uchar moushi=0,mouge=0,dayge=0,dayshi=0,yearshi=0,yearge=0; // 月十位 月个位 日个位 日十位 年十位 年个位 uchar haoshi=0,haoge=0,miaoshi=0,miaoge=0,fenge=0,fenshi=0,shige=0,shishi=0; //秒表 毫秒十位 个位 秒十位 秒个位 分个位 分十位 时个位 时十位 Unsigned char code table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; /* ********0***1****2****3****4****5****6****7****8***9************/ void delay(unsigned int z); //延时1ms函数 void time0(); // 定时器0中断方式工作 void time1(); // 定时器1中断方式工作 void display(); //显示子程序 void keyscan(); //键扫描键功能子程序 /********************************************************************/ //函数名: main() //功能: 主函数 //调用函数:display(),keyscan() /***************************************************************
显示全部
相似文档