门禁电子密码锁说明书(7)

2020-02-22 12:09

ms=0;

for(i=0;i<8;i++) {

jm_disp[i]=0x00; mima[i]=0x00; } }

/**************** k13按键功能函数 ******************/ void k13() {

if((ms==2&&y==3)&&v<6) { mima[v]=0x00; jm_disp[v]=0x40; v=v+1; }

if((ms==3&&y==3)&&v<8) {

mima[v]=0x00; jm_disp[v]=0x40; v=v+1; }

if((y==1||y==2)&&(ms==0&&lock<8)) {

y=2; w=1;

keyvalue=keyvalue-13; lock=lock+1; count=0; }

if((ms==1&&y==1)&&v<8) {

keyvalue=keyvalue-13; seg_disp[v]=sdm[keyvalue]; if(v==1||v==4) v=v+2; else v=v+1; } }

/**************** k14按键功能函数 ******************/ void k14() //确定按键 {

uint i,p,t=0,r=0; uchar j;

if((ms==2&&y==3)&&v==6)

31

{

j=0x00; for(i=0;i<6;i++) { At24c02Write(j,mima[i]); j=j+1; } for(i=0;i<8;i++) jm_disp[i]=0x00; v=0; ms=0; y=1; }

if((ms==3&&y==3)&&v==8) {

j=0x06; for(i=0;i<8;i++) { At24c02Write(j,mima[i]); j=j+1; } for(i=0;i<8;i++) jm_disp[i]=0x00; v=0; ms=0; y=1; }

if((y==2)&&(w==0)) ent=1;

if(ms==1&&y==1) { for(i=0;i<8;i++) { for(p=0;p<16;p++) { if(seg_disp[i]==sdm[p]) { if((i==0||i==3)||i==6) clk_value[t]=p*10; if((i==1||i==4)||i==7) { clk_value[t]=clk_value[t]+p; t=t+1; } } } } TR0=1; ms=0; v=0;

32

} }

/**************** k15按键功能函数 ******************/ void k15() //设置时间按键 {

if(ms==0&&y==1) {

TR0=0; ms=1; } }

/***************** 核对密码函数 *****************/ void open_lock() {

uint i,i1; uchar j;

if((y==2&&w==1)) {

if(v<8) {

mima[v]=keyvalue; jm_disp[v]=0x40; w=0; v=v+1; } }

if((ent==1)&&((lock==6)||(lock==8))) {

for(i=0;i

33

{ seg=0x79; LSA=1; LSB=1; LSC=1; Delay1ms(3000); y=1; ent=0; v=0; lock=0; for(i1=0;i1<8;i1++) { jm_disp[i1]=0x00; mima[i1]=0x00; } return; } } if(lock==6) { OP=0; ms=4; y=1; v=0; lock=0; for(i1=0;i1<8;i1++) { jm_disp[i1]=0x00; mima[i1]=0x00; } } else { y=3; v=0; lock=0; for(i=0;i<8;i++) { jm_disp[i]=0x08; mima[i]=0x00; } } lock=0; }

ent=0; }

/******************** 24c02写数据函数 *********************/ void At24c02Write(unsigned char addr,unsigned char dat) { I2C_Start(); I2C_SendByte(0xa0, 1); //发送写器件地址 I2C_SendByte(addr, 1); //发送要写入内存地址 I2C_SendByte(dat, 0); //发送数据 I2C_Stop(); }

34

/******************** 24c02读数据函数 *********************/ unsigned char At24c02Read(unsigned char addr) { unsigned char num; I2C_Start(); }

I2C_SendByte(0xa0, 1); //发送写器件地址 I2C_SendByte(addr, 1); //发送要读取的地址 I2C_Start();

I2C_SendByte(0xa1, 1); //发送读器件地址 num=I2C_ReadByte(); //读取数据 I2C_Stop(); return num;

35


门禁电子密码锁说明书(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:洛阳牡丹通讯股份有限公司生产实习方案2015

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

马上注册会员

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