资源简介
个人毕业设计,可以实现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个文件信息
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- lcd12864的VHDL程序
- LCD12864滚动显示
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论