欢迎来到天天文库
浏览记录
ID:57651124
大小:59.00 KB
页数:12页
时间:2020-08-30
《单片机电子日历(电子时钟)程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、51单片机电子日历(电子时钟)程序 经过两天的调试,完成了51单片机电子日历课程设计,现在把C程序源代码帖出来纪念一下:~硬件实验箱是伟福LAB2000实验箱。程序代码:/****************************************************************************//* 电子日历,有时间显示、闹铃、日期、秒表及键盘设置功能 *//*功能键A: 设置位数字+1
2、 闹钟模式下为闹钟开关 秒表模式下为记时开关 *//*功能键B: 设置位数字-1 闹钟模式下为闹钟开关 *//*功能键C:设置模式及设置位选择 秒表模式下为清零键 */ /*功能键D:在四种工作模式下切换设置闹钟开关 */ /* 曹宇 03电子 0201029
3、 *//* 2006.6.3 更新 *//* 中央民族大学 */***********************************************************************/#include#include 4、.h>/***************这里设置程序初始化时显示的时间****************/#defineSET_HOUR12 /*设置初始化小时*/#defineSET_MINUTE00 /*设置初始化分钟*/#defineSET_SECOND00 /*设置初始化秒数*//*************************系统地址****************************/#defineBASE_PORT0x8000 /*选通基地址*/#defineKEY_LINEBASE_PORT+1 /*键盘行5、线地址*/#defineKEY_COLUMNBASE_PORT+2 /*键盘列线地址*/#defineLED_SEGBASE_PORT+4 /*数码管段选地址*/#defineLED_BITBASE_PORT+2 /*数码管位选地址*/#defineLED_ON(x)XBYTE[LED_BIT]=(0x01<<1)6、****************/#defineSECOND0 /*对应数码管右边两位*/#defineMINUTE1 /*对应数码管中间两位*/#defineHOUR2 /*对应数码管左边两位*//********************定义四种工作模式***********************/#defineCLOCKclockstr/*时钟模式*/#defineALARTalartstr/*闹钟模式*/#defineDATEdatestr /*日期模式*/#defineTIMERtimerstr/*秒表模式*7、//****************以下是所有子函数的声明*********************/voidsys_init(void); /*系统的初始化程序*/voiddisplay(void); /*动态刷新一次数码管子程序*/voidclockplus(void); /*时间加1S的子程序*/voidupdate_clockstr(void); /*更新时间显示编码*/voidupdate_alartstr(void); /*更新闹钟时间的显示编码*/v8、oidupdate_datestr(void); /*更新日期显示编码*/voidupdate_timerstr(void); /*更新秒表时间的显示编码*/voiddeley(int); /*延时子程序*/voidup
4、.h>/***************这里设置程序初始化时显示的时间****************/#defineSET_HOUR12 /*设置初始化小时*/#defineSET_MINUTE00 /*设置初始化分钟*/#defineSET_SECOND00 /*设置初始化秒数*//*************************系统地址****************************/#defineBASE_PORT0x8000 /*选通基地址*/#defineKEY_LINEBASE_PORT+1 /*键盘行
5、线地址*/#defineKEY_COLUMNBASE_PORT+2 /*键盘列线地址*/#defineLED_SEGBASE_PORT+4 /*数码管段选地址*/#defineLED_BITBASE_PORT+2 /*数码管位选地址*/#defineLED_ON(x)XBYTE[LED_BIT]=(0x01<<1)6、****************/#defineSECOND0 /*对应数码管右边两位*/#defineMINUTE1 /*对应数码管中间两位*/#defineHOUR2 /*对应数码管左边两位*//********************定义四种工作模式***********************/#defineCLOCKclockstr/*时钟模式*/#defineALARTalartstr/*闹钟模式*/#defineDATEdatestr /*日期模式*/#defineTIMERtimerstr/*秒表模式*7、//****************以下是所有子函数的声明*********************/voidsys_init(void); /*系统的初始化程序*/voiddisplay(void); /*动态刷新一次数码管子程序*/voidclockplus(void); /*时间加1S的子程序*/voidupdate_clockstr(void); /*更新时间显示编码*/voidupdate_alartstr(void); /*更新闹钟时间的显示编码*/v8、oidupdate_datestr(void); /*更新日期显示编码*/voidupdate_timerstr(void); /*更新秒表时间的显示编码*/voiddeley(int); /*延时子程序*/voidup
6、****************/#defineSECOND0 /*对应数码管右边两位*/#defineMINUTE1 /*对应数码管中间两位*/#defineHOUR2 /*对应数码管左边两位*//********************定义四种工作模式***********************/#defineCLOCKclockstr/*时钟模式*/#defineALARTalartstr/*闹钟模式*/#defineDATEdatestr /*日期模式*/#defineTIMERtimerstr/*秒表模式*
7、//****************以下是所有子函数的声明*********************/voidsys_init(void); /*系统的初始化程序*/voiddisplay(void); /*动态刷新一次数码管子程序*/voidclockplus(void); /*时间加1S的子程序*/voidupdate_clockstr(void); /*更新时间显示编码*/voidupdate_alartstr(void); /*更新闹钟时间的显示编码*/v
8、oidupdate_datestr(void); /*更新日期显示编码*/voidupdate_timerstr(void); /*更新秒表时间的显示编码*/voiddeley(int); /*延时子程序*/voidup
此文档下载收益归作者所有