51单片机电子日历课程设计kqg.docx
《51单片机电子日历课程设计kqg.docx》由会员分享,可在线阅读,更多相关《51单片机电子日历课程设计kqg.docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、51单片片机电子子日历课课程设计计程序代码码:/*/* 电电子日历历,有时时间显示示、闹铃铃、日期期、秒表表及键盘盘设置功功能 */* 功功能键AA: 设置置位数字字+1 闹闹钟模式式下为闹闹钟开关关 秒秒表模式式下为记记时开关关 */* 功功能键BB: 设置置位数字字-1 闹闹钟模式式下为闹闹钟开关关 */* 功功能键CC:设置置模式及及设置位位选择 秒表表模式下下为清零零键 */ /* 功功能键DD:在四四种工作作模式下下切换 设置闹闹钟开关关 */ /* 曹宇 033电子 022010029 */* 20006.66.3 更新新 */*/#inccludde #inccludde /*这
2、里设设置程序序初始化化时显示示的时间间*/#deffinee SEET_HHOURR 122 /*设置置初始化化小时*/#deffinee SEET_MMINUUTE 00 /*设置初初始化分分钟*/#deffinee SEET_SSECOOND 00 /*设置初初始化秒秒数*/*系统统地址*/#deffinee BAASE_PORRT 00x80000 /*选选通基地地址*/#deffinee KEEY_LLINEE BAASE_PORRT+11 /*键盘行行线地址址*/#deffinee KEEY_CCOLUUMN BASSE_PPORTT+2 /*键键盘列线线地址*/#deffinee
3、LEED_SSEG BASSE_PPORTT+4 /*数数码管段段选地址址*/#deffinee LEED_BBIT BASSE_PPORTT+2 /*数数码管位位选地址址*/#deffinee LEED_OON(xx) XXBYTTELLED_BITT=(0x001#deffinee LEED_OOFF XBYYTELEDD_SEEG=0x000 /*LLED显显示空*/*在在设置模模式下对对秒分时时的宏定定义*/#deffinee SEECONND 00 /*对对应数码码管右边边两位*/#deffinee MIINUTTE 11 /*对对应数码码管中间间两位*/#deffinee HOOU
4、R 2 /*对对应数码码管左边边两位*/*定定义四种种工作模模式*/#deffinee CLLOCKK cllockkstrr /*时钟模模式*/#deffinee ALLARTT allarttstrr /*闹钟模模式*/#deffinee DAATE dattesttr /*日期模模式*/#deffinee TIIMERR tiimerrstrr /*秒表模模式*/*以下下是所有有子函数数的声明明*/voidd syys_iinitt(vooid); /*系系统的初初始化程程序*/voidd diispllay(voiid); /*动动态刷新新一次数数码管子子程序*/voidd clloc
5、kkpluus(vvoidd); /*时间间加1SS的子程程序*/voidd uppdatte_ccloccksttr(vvoidd); /*更新时时间显示示编码*/voidd uppdatte_aalarrtsttr(vvoidd); /*更更新闹钟钟时间的的显示编编码*/voidd uppdatte_ddateestrr(vooid); /*更更新日期期显示编编码*/voidd uppdatte_ttimeersttr(vvoidd); /*更更新秒表表时间的的显示编编码*/voidd deeleyy(innt); /*延时子子程序*/voidd uppdatte_ddisppbuff(u
6、nnsiggnedd chhar *); /*更新新显示缓缓冲区*/unsiigneed ccharr geetkeeycoode(voiid); /*获取取键值子子程序*/voidd keeyprroceess(unssignned chaar); /*键值值处理子子程序*/unsiigneed ccharr geetmoonthhdayys(uunsiigneed iint,unssignned chaar);/*计计算某月月的天数数子程序序*/*功能能键功能能子函数数*/voidd Akkey(voiid); /*当前设设置位+1 开开关闹钟钟 开关关秒表*/voidd Bkkey(vo
7、iid); /*当前设设置位-1 开开关闹钟钟 */voidd Ckkey(voiid); /*设置位位选择 秒表表清零*/voidd Dkkey(voiid); /*切换四四种工作作模式*/*全局局变量声声明部分分*/unsiigneed ccharr leed110=0xx3F,00x066,0xx5B,0x44F,00x666,0xx6D,0x77D,00x077,0xx7F,00x6FF;/*从009的的LEDD编码*/unsiigneed ccharr leedchhar3=0xx5c,00x544,0xx71;/*o nn f*/unnsiggnedd chhar keyy244=
8、 /* 键键值代码码数组 对应键键位:*/ 00x700,0xx71,0x772,00x733,0xx74,0x775, /* 7 8 9 A TTRACCE RRESEET*/ 00xb00,0xxb1,0xbb2,00xb33,0xxb4,0xbb5, /* 4 5 6 B STEEP MOON */ 00xd00,0xxd1,0xdd2,00xd33,0xxd4,0xdd5, /* 1 2 3 C HERRE LASST */ 00xe00,0xxe1,0xee2,00xe33,0xxe4,0xee5; /* 00 FF EE DD EXXEC NEEXT */struuct /*时间间
9、结构体体变量*/ unssignned chaar ss;unsiigneed ccharr m; unssignned chaar hh; cllockk=SSET_SECCONDD,SEET_MMINUUTE,SETT_HOOUR;struuct /*闹铃时时间结构构体变量量*/ unssignned chaar mm; unssignned chaar hh; allartt=SSET_MINNUTEE,SEET_HHOURR;struuct /*日日期结构构体变量量*/ uunsiigneed iint yeaar; unnsiggnedd chhar monnth; unnsiggn
10、edd chhar dayy; ddatee=66,1,1;struuct /*秒秒表时间间结构体体变量*/ unnsiggnedd chhar ms; unnsiggnedd chhar s; unnsiggnedd chhar m; ttimeer=0,00,0;unsiigneed ccharr diispbbuf6; /*显示缓缓冲区数数组*/unsiigneed ccharr cllockkstrr6; /*时间间显示的的数码管管编码数数组*/unsiigneed ccharr allarttstrr6; /*闹钟钟显示的的数码管管编码数数组*/unsiigneed ccharr d
11、aatesstr6; /*日期显显示的数数码管编编码数组组*/unsiigneed ccharr tiimerrstrr6; /*秒表显显示的数数码管编编码数组组*/unsiigneed iint itiime=0,iidott; /*定时时器0中中断计数数*/unsiigneed ccharr ittimee1=00; /*定定时器11中断计计数*/sbitt P33_1=P31; /*外接接蜂鸣器器的管脚脚*/bdatta bbit IsSSet=0; /*设置模模式标志志位 00:正常常走时 1:设设置模式式*/bdatta bbit Alaart_EN=0; /*闹铃功功能允许许位 0
12、:禁禁止闹铃铃 1:允许闹闹铃*/bdatta bbit IsBBeepp=0; /*响铃标标志位 00:未响响铃 1:正在响响铃*/unsiigneed ccharr SeetSeelecct=00; /*在设设置模式式IsSSet=1时,正正在被设设置的位位,对应应上面的的宏*/unsiigneed ccharr *CCurrrenttModde; /*标标志当前前正设置置的功能能,如CCurrrenttModde=CCLOCCK或CCurrrenttModde=AALARRT等*/voidd tiimerrpluus(vvoidd);/*函函数部分分*/voidd maain(voiid
13、) syys_iinitt(); whiile(1) XBBYTEEKEEY_CCOLUUMN,0x000; /*给给键盘列列线赋全全零扫描描码,判判断是否否有键按按下 */ whhilee(XXBYTTEKKEY_LINNE&0x00f)=0xx0f) /*检检测是否否有键按按下,无无则一直直进行LLED的的刷新显显示*/ iff(Allartt_ENN&(cloock.h=alaart.h)&(cclocck.mm=aalarrt.mm) IssBeeep=11; ellse IsBBeepp=0; PP3_11=0; diispllay(); keeyprroceess(gettkeyy
14、codde(); /*有键按按下时得得到键值值,并送送入键值值处理程程序*/ dissplaay(); /*可要要可不要要*/ voidd syys_iinitt(vooid) TMOOD=00x222; /*定定时器00和1都都设置为为工作方方式2,基准定定时255025500uus=00.5mms*/ TH00=6; /*定时器器0中断断服务用用来产生生1秒时时钟定时时及闹钟钟蜂鸣器器蜂鸣脉脉冲*/ TL00=6; /*定时器器1中断断服务留留给秒表表使用,产产生1/1000秒定时时*/ THH1=66; TLL1=66; ETT0=11; ETT1=11; EAA=1; TR00=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 电子 日历 课程设计 kqg
限制150内