资源描述:
《基于单片机的电子密码锁程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四个部分很简单的写法适合大部分人群!!!欢迎下载!//****************************无存储功能电子密码锁******************************************//****************************头文件******************************************#include"reg52.h"#include"speak.h"#include"lcd_1602.h"#include"keysca.h"
2、//******************************变量定义*************************************************unsignedintshurumima[6];//****************************主函数******************************************voidmain(){init_1602();//初始化while(1){duoyu_1602();keyscan();}}、、、、、、、、
3、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、#include"reg52.h"#include"lcd_1602.h"//******************************************************************************sbitrw=P0^2;sbitrs=P0^3;sbiten=P0^1;unsignedcharcodeyejing[]={'z',
4、'h','o','u','a','i','u','*'};unsignedintmima_init[];externunsignedintshurumima[6];//********************************写命令、数据*********************************************voidwrite(unsignedchardate,unsignedchark){rs=k;P2=date;delay1ms(5);en=1;delay1ms(5);en=
5、0;}//******************************液晶初始化************************************************voidinit_1602(){en=0;rw=0;write(0x38,0);write(0x0c,0);write(0x06,0);write(0x01,0);}//******************************1ms延时函数********************************************
6、***voiddelay1ms(unsignedintz)//1ms延时{unsignedintx,y;for(x=z;x>0;x--)for(y=120;y>0;y--);}//******************************液晶多余部分显示***********************************************voidduoyu_1602(){unsignedchari;write(0x80+0x40,0);write(yejing[7],1);write(0x80
7、+0x41,0);for(i=0;i<4;i++)write(yejing[i],1);write(0x80+0x45,0);write(yejing[1],1);write(0x80+0x46,0);write(yejing[4],1);write(0x80+0x47,0);write(yejing[2],1);write(0x80+0x48,0);write(yejing[0],1);write(0x80+0x49,0);write(yejing[1],1);write(0x80+0x4a,0);w
8、rite(yejing[5],1);write(0x80+0x4b,0);write(yejing[0],1);write(0x80+0x4c,0);write(yejing[6],1);write(0x80+0x4d,0);write(yejing[2],1);write(0x80+0x4e,0);write(yejing[7],1);write(0x80+0x4f,0);write(yejing[7],1);write(0x80,0);