基于51单片机的指纹密码锁(程序部分)
存储器(AT24C02)
/*芯片管脚说明
A0、A1、A2:器件地址选择。可以拉高,拉低,可串联很多本芯片
SDA:串行数据,地址。用于器件所有数据的发送或接收。
SCL:串行时钟。是一个输入管脚,用来发送时钟信号。
WP:写保护。
Vcc:通工作电压。
Vss:接地。*/
/*起始信号:
时钟线保持高电平期间,数据线电平从高到低的跳变作为
I^2C总线的起始信号。
停止信号:
时钟线保持高电平期间,数据线点评从低到高的跳变作为
I^2C总线的停止信号。*/
/*器件地址位
24C02:
1 0 1 0 A2 A1 A0 R/W*/
#include <reg52.h>
#include <intrins.h>
#include "at24c02.h"
void nop(void)//空操作
{
_nop_(); //在使用12m晶振,一句1微秒
_nop_();
_nop_();
_nop_();
}
void at24c02_init(void)
{
SCL=1;
nop();
SDA=1;
nop();
}
/*24c02起始条件*/
void start(void)
{
SCL=1;
nop();
SDA=1;
nop();
SDA=0;//在延时4微秒后拉低点平造成跳变,发出起始信号。