当前位置: 首页 > wzjs >正文

vuejs做视频网站设计seo外链增加

vuejs做视频网站设计,seo外链增加,在那里做网站,哪里有学计算机培训班目录 一 前言 二 E2PROM的相关讲解 AT24C02的地址 PCF8591的地址 三 根据提供的iic写代码 相关可能会有疑问的地方: 1 三个入口参数,都有什么用? 2 为什么在写中,要用IIC_SendByte,在读中,要用IIC_R…

目录

一 前言

二 E2PROM的相关讲解

AT24C02的地址

PCF8591的地址

三 根据提供的iic写代码

相关可能会有疑问的地方:

1 三个入口参数,都有什么用?

2 为什么在写中,要用IIC_SendByte,在读中,要用IIC_RecByte?

 main.c

1 要写全局变量

 2 要在主函数中,写一下E2PROM的写函数

 3 也要在调用时,再让单片机读AT24C02芯片上的内容

一 前言

这次讲的E2PROM和前面的PCF8591有着千丝万缕的联系,这次的E2PROM也是基于前面的文章中的IIC,所以,如果大家看不懂本章的内容,有可能是前一篇文章中的IIC不会,建议大家先学前一篇的PCF8591,再学本篇

E2PROM是一种存储技术,AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。用于存储数据,掉电也不丢失数据。

AT24C02和EEPROM的关系?

AT24C02 是 EEPROM 的一种具体型号,EEPROM是一种技术,在这个技术之上,我们有了AT24C02这个芯片

 

二 E2PROM的相关讲解

E2PROM是具有存储功能,也就是说,如果给E2PROM提前写好数据并改变里面的内容,即使重新给板子上电,跟上一次操作的内容是保持一样的,并不会从最开始的显示。

 

上面这个就是关于EEPROM的原理图,但是这上面的标错了,不是A3,是A2。这里真正决定着是否是EEPROM这个东西的,是A0~2这三位。还记得前面讲PCF8591的A0~2三位是什么吗?PCF8591也是接地的,跟AT24C02一样,也是三个零,那是如何告诉单片机选中的是谁呢?留个疑问,接下来解释一下。

AT24C02的地址

PCF8591的地址

现在我们看上面这两张图,八位构成的一个字节中,这两个东西的前四位不一样,如下表

PCF和E2PROM的地址
地址前四位代码中的体现(写的情况)代码中的体现(写的情况)
PCF859110010x900x91
E2PROM10100xA00xA1

 以上便解释了如何告诉单片机是选中谁了。上面这些基础的知识便够我们在蓝桥杯的使用了,那么具体是如何运行E2PROM的,请根据继续学习这篇文章,后续的代码会进行具体的讲解。

三 根据官方提供的范例写代码

(1)  IIC.c

下面的代码是比赛会提供的代码:

#include "STC15F2K60S2.H"
#include "intrins.h"
#include "iic.h"void IIC_Delay(unsigned char i)
{do{_nop_();}while(i--);        
}
//总线启动条件
void IIC_Start(void)
{SDA = 1;SCL = 1;IIC_Delay(DELAY_TIME);SDA = 0;IIC_Delay(DELAY_TIME);SCL = 0;	
}//总线停止条件
void IIC_Stop(void)
{SDA = 0;SCL = 1;IIC_Delay(DELAY_TIME);SDA = 1;IIC_Delay(DELAY_TIME);
}//发送应答
void IIC_SendAck(bit ackbit)
{SCL = 0;SDA = ackbit;  					// 0:应答,1:非应答IIC_Delay(DELAY_TIME);SCL = 1;IIC_Delay(DELAY_TIME);SCL = 0; SDA = 1;IIC_Delay(DELAY_TIME);
}//等待应答
bit IIC_WaitAck(void)
{bit ackbit;SCL  = 1;IIC_Delay(DELAY_TIME);ackbit = SDA;SCL = 0;IIC_Delay(DELAY_TIME);return ackbit;
}//通过I2C总线发送数据
void IIC_SendByte(unsigned char byt)
{unsigned char i;for(i=0; i<8; i++){SCL  = 0;IIC_Delay(DELAY_TIME);if(byt & 0x80) SDA  = 1;else SDA  = 0;IIC_Delay(DELAY_TIME);SCL = 1;byt <<= 1;IIC_Delay(DELAY_TIME);}SCL  = 0;  
}//从I2C总线上接收数据
unsigned char IIC_RecByte(void)
{unsigned char i, da;for(i=0; i<8; i++){   SCL = 1;IIC_Delay(DELAY_TIME);da <<= 1;if(SDA) da |= 1;SCL = 0;IIC_Delay(DELAY_TIME);}return da;    
}

 我们需要在这个.c代码的下面添新的代码:

//E2PROM写
void EEPROM_Write(unsigned char *EEPROM_String,unsigned char addr,unsigned char num)
{IIC_Start();IIC_SendByte(0xa0);//选中EEPROM芯片IIC_WaitAck();//IIC_SendByte(addr);//写入地址IIC_WaitAck();//等待应答	while(num--){IIC_SendByte(*EEPROM_String++);//将要写入的信息写入IIC_WaitAck();//等待EEPROM反馈IIC_Delay(200);}IIC_Stop();}//读EEPROM内容
void EEPROM_Read(unsigned char *EEPROM_String,unsigned char addr,unsigned char num)
{IIC_Start();IIC_SendByte(0xa0);//选中EEPROM芯片IIC_WaitAck();IIC_SendByte(addr);//写入要读取的数据地址IIC_WaitAck();//等待应答	IIC_Start();IIC_SendByte(0xa1);//选中EEPROM芯片,并且是读IIC_WaitAck();while(num--){*EEPROM_String++ = IIC_RecByte();if(num) IIC_SendAck(0);//发送应答else IIC_SendAck(1);}IIC_Stop();}

相关可能会有疑问的地方:

1 三个入口参数,都有什么用?
void EEPROM_Read(unsigned char *EEPROM_String,unsigned char addr,unsigned char num)

第一个参数:*EEPROM_String是要写的东西

第二个参数:addr,是对应的第几页,我们要将对应的数据写到第几页。而且这里要注意,一定要是8的倍数,或者是0

第三个参数:num,要写多少个数据

同时我们也要知道unsigned char是一个字节,unsigned int是两个字节,AT24C02这个二芯片有2k存储空间,可支持一次写入8页,每页能写八个数,也就是能写八个字节

2 为什么在写中,要用IIC_SendByte,在读中,要用IIC_RecByte?
  • 写操作:主设备向从设备(AT24C02)发送数据。

  • 读操作:主设备从从设备接收数据。

        知道对应的代码是什么

        IIC_SendByte(*EEPROM_String++);

        *EEPROM_String++ = IIC_RecByte();

 main.c

调用E2PROM的时候,有这么几个注意事项:

1 要写全局变量

 2 要在主函数中,写一下E2PROM的写函数

 3 也要在调用时,再让单片机读AT24C02芯片上的内容

 这里的EEPROM_Read也就是,单片机读EEPROM_String_2这个字符串,同时从第0位,写入8个数据

当然,以上的知识较为基础,大家只有把这篇文章认真看完,才能进入到后续跟省赛相关的试题练习,大家不必着急,跟着该系列继续往后学即可~

http://www.dtcms.com/wzjs/499346.html

相关文章:

  • 怎么样做购物网站谷歌seo顾问
  • 色轮配色网站百度推广退款投诉
  • 风水网站建设多少钱外贸seo网站推广
  • 天津网站建设-中国互联优化营商环境发言材料
  • 做房产网站能赚钱吗新网域名注册
  • 网站建设的基本费用网络推广怎么找客户
  • 一小时学做网站搜索引擎营销的实现方法有哪些
  • 有关建设网站的英语文献百度关键词查询排名
  • 潍坊知名网站建设怎么收费怎样免费给自己的公司做网站
  • 局域网网站建设软件深圳seo推广外包
  • jsp网站开发答辩海外推广代理商
  • 一站式建设网站网站排名优化培训
  • 做一个网站花多少钱店铺运营方案策划
  • 长春人文学院前端seo是什么意思
  • 网站开发模块就业前景中国的搜索引擎有哪些
  • 做类似淘宝网站怎么做的快速排名网站
  • django网站开发视频搭建一个app平台要多少钱
  • 资兴市网站建设哪个好市场调研方法有哪些
  • 微积壹佰 网站建设收录批量查询工具
  • 站长统计是什么意思网络营销案例ppt课件
  • 做课展网站网站维护
  • kuake自助建站系统源码百度搜索数据
  • 深圳建设交易公司济南seo公司报价
  • wordpress 文章 路径厦门seo排名优化方式
  • 百度网站的优点seo的外链平台有哪些
  • 网站域名选择安卓手机优化软件哪个好
  • 做网站公司有什么出路百度霸屏推广多少钱一个月
  • 展示型网站怎么做网络宣传策划方案
  • wordpress怎样临时关闭网址青岛百度快速优化排名
  • 建站快车登陆网站友情链接的作用