基于单片机的IC卡门禁系统 - 图文(8)

2019-04-15 14:40

{lcd_goto_xy(10,1);lcd_putc(' ');lcd_putc(' '); } }

else //否则年变量不处于修改状态,直接显示分钟

{lcd_goto_xy(10,1);lcd_number(SS/10);lcd_number(SS);} }

/****************************************************************** - 函数名称:set_time - 隶属模块:sys_app.h - 函数属性:内部

- 参数说明:无返回值,无带入参数无 - 返回说明:无

- 功能描述:系统时间设置函数,通过此函数设置时钟、日期功能。

*****************************************************************/ void set_time(void)//系统菜单——设置时间函数 {

/*时钟设置界面显示*/ dis_timer();

/*键盘扫描获取键值*/

num=keyscan();//反复扫描4*4键盘获得按键参数 /*判断是否是一次有效的按键按下*/

/*------------------被设置变量选择代码部分---------------------*/ if(num==12)//如果key_value=0代表“选择设置参数键按下” {num=255;

counter11++;//让记录设置的参数的变量值+

if(counter11>7) counter11=0; //因为只有7个参数需要修改 }

/*------------------秒钟设置程序部分代码部分-------------------*/ if(counter11==1) { if(num==13) //+

{SS++;if(SS>59) SS=59;num=255;} if(num==14) //-

{SS--;if(SS<0) SS=0;num=255;} }

/*------------------分钟设置程序部分代码部分-------------------*/ if(counter11==2) { if(num==13) //+

{MM++;if(MM>59) MM=59;num=255;} if(num==14) //-

{MM--;if(MM<0) MM=0;num=255;} }

/*------------------小时设置程序部分代码部分-------------------*/ if(counter11==3)

30

{ if(num==13) //+

{HH++;if(HH>23) HH=23;num=255;} if(num==14) //-

{HH--;if(HH<0) HH=0;num=255;} }

/*------------------星期设置程序部分代码部分-------------------*/ if(counter11==4) //设置秒钟XQ { if(num==13)//+

{XQ++;if(XQ>7) XQ=7;num=255;} if(num==14)//-

{XQ--;if(XQ<0) XQ=0;num=255;} }

/*------------------日 设置程序部分代码部分-------------------*/ if(counter11==5) { if(num==13)//+

{DA++;if(HH>31) HH=31;num=255;} if(num==14)//_

{DA--;if(DA<0) DA=0;num=255;} }

/*------------------月份设置程序部分代码部分-------------------*/ if(counter11==6) { if(num==13)//+

{MO++;if(MO>12) MO=12;num=255;} if(num==14)//-

{MO--;if(MO<0) MO=0;num=255;} }

/*------------------年份设置程序部分代码部分-------------------*/ if(counter11==7) { if(num==13)//+

{YE++;if(YE>99) YE=99;num=255;} if(num==14)//-

{YE--;if(YE<0) YE=0;num=255;} } }

uchar countt=0; uchar counter1,x;

uchar table1[5];//存储A C 参数值 基础运算数据 单个最大6位 long A;//A结果 long GG=0;

31

char flag=0;

char N,Y,R,HH,MM,SS; int RR=0; int BB;

/**************************** 延时子程序 ************************/ void Delay11(void) {

uchar i,j,k;

for(i=500;i>0;i--) for(j=50;j>0;j--)

for(k=5;k>0;k--) ; }

void shizhong1() { RR=0; while(1) { num=keyscan(); lcd_goto_xy(0,0); lcd_puts(\ lcd_goto_xy(7,1); lcd_number(BB/10); lcd_number(BB); flag=0; if(BB>30)

{Beep_key();BB=RR=0;init_lcd();table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=table1[5]=0;LED=1;A=x=counter1=0;num=255;break;} if(num==15)

{Beep_key();init_lcd();MM=HH=SS=0;table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=table1[5]=0;LED=1;A=x=counter1=0;num=255;break;} RR++; if(RR==1000) { RR=0; BB++; } } }

void change_word() {

if(num==11)

32

{

num=255;init_lcd();

table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=table1[5]=0;A=GG=x=counter1=0; Beep_key();

lcd_goto_xy(0,0);

lcd_puts(\ GG=0; beep=1; while(1)

{num=keyscan();//反复扫描4*4键盘获得按键参数 if((num<10)&&(x<6)) //A { lcd_goto_xy(5+x,1); Beep_key(); lcd_number(num); table1[counter1]=num; // 0,1,2,3,4 x++;counter1++;num=255; }

if(num==11)

{num=255; Beep_key(); if(counter1==1) {GG=table1[0];counter1=0;table1[0]=0;} if(counter1==2) {GG=table1[0]+table1[1];counter1=0;table1[0]=table1[1]=0;} if(counter1==3)

{GG=table1[0]+table1[1]+table1[2];counter1=0;table1[0]=table1[1]=table1[2]=0;} if(counter1==4)

{GG=table1[0]+table1[1]+table1[2]+table1[3];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=0;} if(counter1==5)

{GG=table1[0]+table1[1]+table1[2]+table1[3]+table1[4];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=0;} if(counter1==6)

{GG=table1[0]+table1[1]+table1[2]+table1[3]+table1[4]+table1[5];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=table1[5]=0;}

SectorErase(0X2000);byte_write(0X2000, GG); init_lcd();break; } } } }

void mimasuo() {

lcd_goto_xy(0,0);

33

lcd_puts(\ if((num<10)&&(x<6)) //A { lcd_goto_xy(5+x,1);Beep_key(); lcd_putc('*'); table1[counter1]=num; // 0,1,2,3,4 x++;counter1++;num=255; }

if(num==10)

{num=255;Beep_key(); if(counter1==1) {A=table1[0];counter1=0;table1[0]=0;} if(counter1==2) {A=table1[0]+table1[1];counter1=0;table1[0]=table1[1]=0;} if(counter1==3)

{A=table1[0]+table1[1]+table1[2];counter1=0;table1[0]=table1[1]=table1[2]=0;} if(counter1==4)

{A=table1[0]+table1[1]+table1[2]+table1[3];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=0;} if(counter1==5)

{A=table1[0]+table1[1]+table1[2]+table1[3]+table1[4];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=0;} if(counter1==6)

{A=table1[0]+table1[1]+table1[2]+table1[3]+table1[4]+table1[5];counter1=0;table1[0]=table1[1]=table1[2]=table1[3]=table1[4]=table1[5]=0;} GG=byte_read(0x2000); if(A==GG||flag1==1) { init_lcd();Beep_key();LED=0; lcd_goto_xy(0,0); lcd_puts(\ delay13(50000); delay13(50000);delay13(50000);delay13(50000);init_lcd(); JDQ=0;LED=1; lcd_goto_xy(0,0);lcd_puts(\ if(flag1==1) {lcd_goto_xy(4,1);lcd_puts(\ delay13(50000); delay13(50000);delay13(50000);delay13(50000);delay13(50000); delay13(50000);delay13(50000);delay13(50000); init_lcd(); while(1) { LED=0;beep=1; num=keyscan();//反复扫描4*4键盘获得按键参数 dis_timer(); set_time(); change_word(); if(num==10)

{Beep_key();init_lcd();beep=1;JDQ=1;LED=0;flag1=0;table1[0]=table1[1]=table1[2]=table1[3]=t

34


基于单片机的IC卡门禁系统 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新建“中国现代对外关系史”教学大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: