• 大小: 6.26MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-26
  • 语言: 其他
  • 标签: STM32  门禁  LCD12864  

资源简介

个人毕业设计,可以实现4*4矩阵按键控制、射频识别、红外控制门禁状态,使用LCD12864作为显示屏,程序已经调通的成品,可以用作参考扩展学习。

资源截图

代码片段和文件信息

#include “AT24CXX.h“

/*******************************************************************************
* 函 数 名         : AT24Cxx_ReadOneByte
* 函数功能    : 24c02读一个字节地址  数据    
* 输    入         : addr
* 输    出         : 返回值temp
*******************************************************************************/
u8 AT24Cxx_ReadOneByte(u16 addr)
{
u8 temp=0;

I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();

temp=I2C_Read_Byte(0); //  0   代表 NACK
I2C_NAck();
I2C_Stop();

return temp;
}


/*******************************************************************************
* 函 数 名         : AT24Cxx_ReadTwoByte
* 函数功能    : 24c02读2个字节地址 数据  
* 输    入         : addr
* 输    出         : 返回值temp
*******************************************************************************/
u16 AT24Cxx_ReadTwoByte(u16 addr)
{
u16 temp=0;

I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();

temp=I2C_Read_Byte(1); //  1   代表 ACK
temp<<=8;
temp|=I2C_Read_Byte(0); //  0  代表 NACK

I2C_Stop();

return temp;
}

/*******************************************************************************
* 函 数 名         : AT24Cxx_WriteOneByte
* 函数功能    : 24c02写一个字节地址  数据    
* 输    入         : addr  dt
* 输    出         : 无
*******************************************************************************/
void AT24Cxx_WriteOneByte(u16 addru8 dt)
{
I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C_Send_Byte(dt);
I2C_Wait_Ack();
I2C_Stop();

delay_ms(10);
}

/*******************************************************************************
* 函 数 名         : AT24Cxx_WriteTwoByte
* 函数功能    : 24c02写2个字节地址  数据    
* 输    入         : addr  dt
* 输    出         : 无
*******************************************************************************/
void AT24Cxx_WriteTwoByte(u16 addru16 dt)
{
I2C_Start();

if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
   I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}

I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();

I2C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-03-08 18:20  RFID-RC522门禁控制系统-6\
     目录           0  2017-03-08 16:41  RFID-RC522门禁控制系统-6\app\
     目录           0  2017-03-08 14:29  RFID-RC522门禁控制系统-6\app\AT24Cxx\
     文件        3357  2015-06-01 11:54  RFID-RC522门禁控制系统-6\app\AT24Cxx\AT24CXX.c
     文件         510  2015-06-01 11:42  RFID-RC522门禁控制系统-6\app\AT24Cxx\AT24CXX.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\beep\
     文件        1689  2017-03-04 15:02  RFID-RC522门禁控制系统-6\app\beep\beep.c
     文件         194  2017-03-04 15:02  RFID-RC522门禁控制系统-6\app\beep\beep.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\exti\
     文件        3197  2015-10-10 14:35  RFID-RC522门禁控制系统-6\app\exti\exti.c
     文件         211  2015-10-10 14:10  RFID-RC522门禁控制系统-6\app\exti\exti.h
     目录           0  2017-03-08 18:04  RFID-RC522门禁控制系统-6\app\hwjs\
     文件        2129  2017-03-08 18:04  RFID-RC522门禁控制系统-6\app\hwjs\hwjs.c
     文件         193  2017-03-08 18:04  RFID-RC522门禁控制系统-6\app\hwjs\hwjs.h
     目录           0  2017-03-08 14:33  RFID-RC522门禁控制系统-6\app\IIC(24C02)\
     文件        3329  2015-06-05 17:31  RFID-RC522门禁控制系统-6\app\IIC(24C02)\iic.c
     文件         723  2017-03-08 14:33  RFID-RC522门禁控制系统-6\app\IIC(24C02)\iic.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\iwdg\
     文件         406  2015-10-21 14:42  RFID-RC522门禁控制系统-6\app\iwdg\iwdg.c
     文件         141  2015-10-21 14:21  RFID-RC522门禁控制系统-6\app\iwdg\iwdg.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\lcd\
     目录           0  2017-03-08 09:58  RFID-RC522门禁控制系统-6\app\lcd12864\
     文件        5984  2017-03-08 09:58  RFID-RC522门禁控制系统-6\app\lcd12864\lcd12864.c
     文件         480  2017-03-02 21:33  RFID-RC522门禁控制系统-6\app\lcd12864\lcd12864.h
     文件        7775  2016-07-28 08:43  RFID-RC522门禁控制系统-6\app\lcd\lcd_driver.c
     文件        1060  2016-03-04 12:00  RFID-RC522门禁控制系统-6\app\lcd\lcd_driver.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\led\
     文件         720  2015-10-27 15:59  RFID-RC522门禁控制系统-6\app\led\led.c
     文件         346  2015-12-08 10:30  RFID-RC522门禁控制系统-6\app\led\led.h
     目录           0  2017-03-07 11:57  RFID-RC522门禁控制系统-6\app\RC522\
     文件       18183  2015-12-08 10:11  RFID-RC522门禁控制系统-6\app\RC522\RC522.c
............此处省略199个文件信息

评论

共有 条评论