一.实验目的、内容、仪器
实验目的:了解AT24C02芯片以及原理
实验内容:1.通过按键驱动AT24C02在数码管上显示数字。
2.通过按键对存储的数字进行加,减,清零等操作
实验仪器:7SEG-MPX8-CC:八位数码管共阴极,AT89C52:52单片机,RESPACK-8:排阻,RES:电阻,74HC138:译码器,74HC245:总线收发器,AT24C02:2K位串行CMOS E2PROM。
二.硬件原理
三.程序流程图
四.代码实现
#include "public.h"
#include "24c02.h"
#include "key.h"
#include "smg.h"
#define EEPROM_ADDRESS 0 //定义数据存入EEPROM的起始地址
/*
* 函 数 名 : main
* 函数功能 : 主函数
*/
void main()
{
u8 key_temp=0;
u8 save_value=0;
u8 save_buf[3];
while(1)
{
key_temp=key_scan(0);
if(key_temp==KEY1_PRESS)
{
at24c02_write_one_byte(EEPROM_ADDRESS,save_value);
}
else if(key_temp==KEY2_PRESS)
{
save_value=at24c02_read_one_byte(EEPROM_ADDRESS);
}
else if(key_temp==KEY3_PRESS)
{
save_value++;
if(save_value==255)save_value=255;
}
else if(key_temp==KEY4_PRESS)
{
save_value=0;
}
save_buf[2]=save_value/100;
save_buf[1]=save_value%100/10;
save_buf[0]=save_value%100%10;
smg_display(save_buf,6);
}
}
五.实验步骤
(1)了解AT24C02芯片以及原理
(2)搭建仿真电路,勾选debug,建立keil工程,选择单片机型号
(3)给工程创建源码文件,并以.c结尾,添加文件到源组里
(4)生成hex文件,点击魔术棒,在output中勾选Create HRX_File
(5)对代码进行编译,调试debug,点击USE,在下拉菜单里选中“Proteus VSM Monitor 一 51 ”进行设置
(6)将程序导入到单片机中运行,双击单片机,选择生成的hex文件
(7)在keil中启动调试,开始运行,观察proteus中的电路
(8)点开串口助手,选择接口,调节波特率,选择生成的hex文件进行下载。
(9)打开串口,点击文字模式,发送数据
六.结果及讨论
AT24C02通信方式为IIC通信,是EEPROM芯片,可以实现数据的掉电保存,对其写入和读取数据时只需对它的地址写入和读出就行,读出的数据可以保存在数组里面,操作只需对数组进行操作