16x64点阵+ds1302实时时钟.doc
上传人:天马****23 上传时间:2024-09-13 格式:DOC 页数:22 大小:122KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

16x64点阵+ds1302实时时钟.doc

16x64点阵+ds1302实时时钟.doc

预览

免费试读已结束,剩余 12 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

16x64LED点阵+ds1302实时时钟----------游政园/**************************头文件***********************************************/#include"STC12C5A60S2.h"#include"macroandconst.h"#include<intrins.h>/***************************接口定义**************************************/sbitR=P2^2;//定义数据输入端口P2^0sbitCLK=P2^0;//时钟信号sbitSTB=P2^1;//595锁存信号sbitkeymenue=P1^0;sbitkeyup=P1^1;sbitkeydown=P1^2;sbitkeyswitch=P1^3;sbitkeyok=P1^4;/***************************调用外部变量与函数声明**************************************/externucharcodetable[];externucharcodetable1[];externucharset;//按键选择标志位;externcharkey_flag;//按键加减标志位;externucharmenue;//菜单选择标志位;externucharok;//确认标志位;externcharmiao,fen,shi,ri,yue,zhou,nian;/*时间日期数值标志位;*/externucharl_tmpDate[];//秒分时日月周年08-05-1512:00:00externucharl_tmpdisplay[];externvoidWrite_Ds1302(unsignedcharaddress,unsignedchardat);externvoidRead_RTC(void);intnum;voidDelay10ms()//@11.0592MHz{unsignedchari,j;i=108;j=145;do{while(--j);}while(--i);}/*********************************按键扫描*******************************************/voidkey(){/*判断选择按键是否按下;如果按下了当松开的时候让背光打开;set++;*/if(keyswitch==0){Delay10ms();if(keyswitch==0){Delay10ms();while(keyswitch==0);set++;if(set>8){set=0;menue=0;}}}/*up和down按键的检测;加减标志位*/if(keyup==0){Delay10ms();if(keyup==0){Delay10ms();while(keyup==0);key_flag++;}}if(keydown==0){Delay10ms();if(keydown==0){Delay10ms();while(keydown==0);key_flag--;}}if(keymenue==0){Delay10ms();if(keymenue==0)//菜单选择标志位;{Delay10ms();while(keymenue==0);menue++;if(menue>3)menue=0;}}if(keyok==0){Delay10ms();if(keyok==0)//确认标志位;{Delay10ms();while(keyok==0);ok++;if(ok>1){ok=0;menue=0;set=0;}}}}/*************************595写数据部分***************************************/voidWrit