资源简介

此资料为基于51单片机的电子密码锁,代码+电路图。代码亲测可用,详细原理可参考附带的电路图

资源截图

代码片段和文件信息

/*-----------------------------------------------
  名称:LCD1602
  引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include “1602.h“
#include “delay.h“

#define CHECK_BUSY

sbit RS = P2^4;   //定义端口 
sbit RW = P2^5;
sbit EN = P2^6;

#define RS_CLR RS=0 
#define RS_SET RS=1

#define RW_CLR RW=0 
#define RW_SET RW=1 

#define EN_CLR EN=0
#define EN_SET EN=1

#define DataPort P0

/*------------------------------------------------
              判忙函数
------------------------------------------------*/
 bit LCD_Check_Busy(void) 
 { 
#ifdef CHECK_BUSY
 DataPort= 0xFF; 
 RS_CLR; 
 RW_SET; 
 EN_CLR; 
 _nop_(); 
 EN_SET;
 return (bit)(DataPort & 0x80);
#else
 return 0;
#endif
 }
/*------------------------------------------------
              写入命令函数
------------------------------------------------*/
 void LCD_Write_Com(unsigned char com) 
 {  
 while(LCD_Check_Busy()); //忙则等待
 RS_CLR; 
 RW_CLR; 
 EN_SET; 
 DataPort= com; 
 _nop_(); 
 EN_CLR;
 }
/*------------------------------------------------
              写入数据函数
------------------------------------------------*/
 void LCD_Write_Data(unsigned char Data) 
 { 
 while(LCD_Check_Busy()); //忙则等待
 RS_SET; 
 RW_CLR; 
 EN_SET; 
 DataPort= Data; 
 _nop_();
 EN_CLR;
 }

/*------------------------------------------------
                清屏函数
------------------------------------------------*/
 void LCD_Clear(void) 
 { 
 LCD_Write_Com(0x01); 
 DelayMs(5);
 }
/*------------------------------------------------
              写入字符串函数
------------------------------------------------*/
 void LCD_Write_String(unsigned char xunsigned char yunsigned char *s) 
 {     
       
 while (*s) 
  {     
 LCD_Write_Char(xy*s);     
 s ++;  x++;   
  }
 }
/*------------------------------------------------
              写入字符函数
------------------------------------------------*/
void LCD_Write_Char(unsigned char xunsigned char yunsigned char Data) 
 {     
 if (y == 0) 
  {     
  LCD_Write_Com(0x80 + x);     
  }    
 else 
  {     
  LCD_Write_Com(0xC0 + x);     
  }        
 LCD_Write_Data( Data);  
 }
/*------------------------------------------------
              初始化函数
------------------------------------------------*/
 void LCD_Init(void) 
 {
   LCD_Write_Com(0x38);    /*显示模式设置*/ 
   DelayMs(5); 
   LCD_Write_Com(0x38); 
   DelayMs(5); 
   LCD_Write_Com(0x38); 
   DelayMs(5); 
   LCD_Write_Com(0x38);  
   LCD_Write_Com(0x08);    /*显示关闭*/ 
   LCD_Write_Com(0x01);    /*显示清屏*/ 
   LCD_Write_Com(0x06);    /*显示光标移动设置*/ 
   DelayMs(5); 
   LCD_Write_Com(0x0C);    /*显示开及光标设置*/
   }
   


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2825  2018-12-15 11:04  电子密码锁资料\实用密码锁源码\1602.c

     文件        692  2018-12-15 11:04  电子密码锁资料\实用密码锁源码\1602.h

     文件        738  2010-06-02 00:41  电子密码锁资料\实用密码锁源码\delay.c

     文件        654  2010-06-02 00:39  电子密码锁资料\实用密码锁源码\delay.h

     文件       1745  2018-12-15 11:04  电子密码锁资料\实用密码锁源码\keyboard.c

     文件        550  2018-12-15 11:05  电子密码锁资料\实用密码锁源码\keyboard.h

     文件       2752  2018-12-15 11:04  电子密码锁资料\实用密码锁源码\main.c

     文件       5779  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\1602.lst

     文件       6632  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\1602.obj

     文件       1899  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\delay.lst

     文件       1170  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\delay.obj

     文件       3638  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\keyboard.lst

     文件       2592  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\keyboard.obj

     文件       5227  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\main.lst

     文件       5359  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\main.obj

     文件      13589  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\实用密码锁

     文件       2401  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\实用密码锁.hex

     文件      15434  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\obj\实用密码锁.m51

     文件        175  2010-07-10 13:55  电子密码锁资料\实用密码锁源码\obj\实用密码锁.plg

     文件        175  2010-06-09 10:48  电子密码锁资料\实用密码锁源码\实用密码锁.plg

    .......     87712  2018-12-15 20:09  电子密码锁资料\实用密码锁源码\实用密码锁.uvgui.Administrator

     文件       7661  2018-12-15 11:30  电子密码锁资料\实用密码锁源码\实用密码锁.uvopt

     文件      14366  2018-12-10 22:10  电子密码锁资料\实用密码锁源码\实用密码锁.uvproj

     文件       1502  2010-06-09 11:57  电子密码锁资料\实用密码锁源码\实用密码锁_Opt.Bak

     文件      38969  2018-12-15 11:28  电子密码锁资料\密码锁电路图\单片机+1602+键盘.PrjPCB

     文件         48  2018-12-15 11:00  电子密码锁资料\密码锁电路图\单片机+1602+键盘.PrjPCBStructure

     文件     169452  2018-12-15 11:00  电子密码锁资料\密码锁电路图\原理图.pdf

     文件     178176  2018-12-15 11:28  电子密码锁资料\密码锁电路图\原理图.SchDoc

     文件         44  2018-12-07 00:00  电子密码锁资料\密码锁电路图\更多嵌入式资料.txt

     文件         44  2018-12-07 00:00  电子密码锁资料\更多嵌入式资料.txt

............此处省略7个文件信息

评论

共有 条评论