如果您无法下载资料,请参考说明:
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