资源简介
个人毕业设计,可以实现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个文件信息
相关资源
- stm32 hart通信程序
- STM32F107模块化入门指导书
- stm32f407读写SD卡
- HC-SR04超声波测距 STM32 keil
- 基于STM32环境智能监测、报警系统
- MiniBalance上位机所有资料
- 2018电赛FDC2214STM32 程序+PCB板工程文件
- DS1302程序开发运用在STM32F103
- STM32与HTU21的I2C通讯源码
- 基于STM32的遥控小车程序NRF24l01
- 基于STM32的机器人控制
- 基于STM32车牌识别程序_带管理计费.
- UWB测距源码
- 基于STM32的风力摆程序
- stm32读取SD卡中图片,并在TFT中显示
- STM32F1控制HC-SR04超声波测距
- 基于stm32f103的蓝牙通信模块
- stm32f103RCT6-USB->UART
- stm32的gps定位及labview上位机.zip
- stm32f103双串口收发.zip
- SPI主从通讯最终版Demo2019_3_24
- 基于STM32程序的车牌识别
- STM32作从机实现简单的Modbus RTU协议
- STM32 3d打印机源码 IAR 工程
- stm32f207 ADC测试程序
- STM32F407 定时器触发ADC-DMA采集
- stm32f4xx挂载SD卡程序,可以正常读写
- 两路DMA_DAC_stm32f103rct6.zip
- stm32矩阵键盘按键扫描程序亲测可用
- 基于stm32的lcd1602显示C程序源码
评论
共有 条评论