资源简介
此资料为基于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个文件信息
相关资源
- 基于51单片机的RFID智能门禁系统源码
- 51单片机超声波测距数码管显示
- 51单片机超声波测距1602LCD显示
- 最新版本linux libc库实现源码
- 1602电子时钟万年历isis仿真文件,程序
- 计算器源码
- 51单片机+tlc5615+信号发生器正弦波 方
- 电能收集充电器 51单片机实现
- 遥感图像NDVI植被指数源码vc
- 51单片机超声波测距HC-SR04程序
- 随机森林源码
- NRF905无线PC控制台操作界面及单片机程
- 51单片机小车巡线L298N驱动
- 基于51单片机的多路温湿度实时监测的
- -交通灯单片机.zip
- 单片机 万年历 proteus
- CnComm 1.51(串口类 串口库 完全源码
- silicon 单片机 PWM 马达控制
- QT 串口源码 串口 QT 串口助手代码
- 基于STC89C52单片机的舵机测试程序
- 尚硅谷SpringBoot视频 ,百度网盘分享链
- bat文件加密解密源码
- 易语言源码幻灵游侠源码.rar
- 易语言源码QQ2012PC协议易语言源码.r
- MC9S12XDP512的CAN编程
- 51单片机实现的485通讯程序
- 基于STC89C52单片机的秒表程序
- 基于单片机的八路温度数据采集毕业
- 单片机数字万年历--VHDL全套资料
- 单片机与ADC/DAC的 仿真与程序 资料包
评论
共有 条评论