单片机课程设计报告-基于at89c52单片机的电子密码锁设计内容摘要:

e include include define uchar unsigned char define uint unsigned int //上次按键和当前按键序号,该矩阵中序号范围 0~15,16 表示无按键 uchar pre_keyno=16,keyno=16。 uchar code Title_Text[]=your password...。 //标题字符串 uchar DSY_BUFFER[16]=。 //显示缓冲 uchar userpassword[7]=。 //用户输入的密码 uchar IIC_Password[7]。 uchar IS_Valid_User = 0。 uchar i = 0。 void Beep()。 uchar Clear_Password()。 sbit LED_OPEN = P2^0。 //开锁灯亮 sbit BEEP = P3^7。 //蜂鸣器 功能控制 void key_main() { P1 = 0xF0。 if(P1 != 0xF0) keyno = keys_scan()。 //扫描键盘获取键序号 KeyNo if(pre_keyno != keyno) { if(i=6) { switch ( keyno ) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if (i == 0) display_string( ,0x40)。 userpassword[i] = keyno + 39。 039。 userpassword[i+1] = 39。 39。 //DSY_BUFFER[i] = userpassword[i]。 DSY_BUFFER[i] = 39。 *39。 DSY_BUFFER[i+1] = 39。 39。 display_string(DSY_BUFFER,0x40)。 i++。 break。 沈阳理工大学课程设计专用纸 №.10 沈阳理工大学 case 10: //按 A 键开锁 if (strcmp(userpassword,IIC_Password) == 0) { LED_OPEN = 0。 //点 亮 LED Clear_Password()。 display_string(Unlock OK! ,0x40)。 IS_Valid_User = 1。 } else { LED_OPEN =1。 //关闭 LED Clear_Password()。 display_string(ERROR ! ,0x40)。 IS_Valid_User = 0。 } i = 0。 break。 case 11: //按 B 键上锁 LED_OPEN =1。 Clear_Password()。 display_string(Title_Text,0x00)。 display_string( ,0x40)。 i = 0。 IS_Valid_User = 0。 break。 case 12: //按 C 键设置新密码 //如果是合法用户则提 示输入新密码 if ( !IS_Valid_User ) display_string(No rights !,0x40)。 else { i = 0。 display_string(N。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。