STC89C52单片机内部EEPROM驱动】的更多相关文章

STC89C52单片机自身带有4K的存储空间,分为8个扇区,每个扇区512字节,第一扇区起始地址为:0x2000, 结束地址为:21FF, 第八扇区起始地址为0x2E00,结束地址是2FFF #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int /******************定义命令字节******************/ #define…
最近又看了一下关于stc单片机的知识,感觉在使用中EEPROM是个经常用到的东西,特地学习了一下,给大家分享一下心得,如有不足,多多包涵,废话不多说,一图解千言,先上图: /*--------------------------------------------------------------分界线-----------------------------------------------------------------------------------*/ main_eeppro…
STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已.STM32L的EEPROM使用寿命设计为100000次擦写以上,容量为2K-4K,这对于一般设备的参数存储来说是非常理想的.但从EEPROM使用方式看,其不适用于被反复修改的数据存储使用,一般作为配置参数,其修改次数往往是比较少量的. STM32L的EEPROM和FLASH是统一编址,操作共用同一个读写电路,所以在EEPROM读写的时候STM3…
STC89C51.52内部都自带有2K字节的EEPROM,54.55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100,000 次以上,先来介绍下ISP与IAP的区别和特点. 知识点:ISP与IAP介绍     ISP:In System Programable 是指在系统编程,通俗的讲,就是片子已经焊板子上,不用取下,就可以简单而方便地对其进行编程.比如我们通过电脑给STC单片机下载程序,或给AT89S51单片机下载程序,这…
N76e003单片机内部没有EEPROM,但是可以使用 APROM模拟EEPROM功能,代码如下: eeprom.h #ifndef _EEPROM_H_ #define _EEPROM_H_ //EEPROM 指令 #define BYTE_PROGRAM_AP 0x21 //APROM 字节编程(数据写入) #define PAGE_ERASE_AP 0x22 //APROM 页擦除 (128字节) #define BYTE_Read_AP 0x00 //APROM 字节读 (数据字节) /…
51单片机内部只有128字节的RAM(8051),而8052有256字节的RAM,低128字节RAM直接或间接寻址都可以,高128字节RAM与SRF特殊功能寄存器共用地址,SFR只能直接寻址,高128字节RAM只能间接寻址.所以通常用总线方式扩展一片RAM.一般用62256(32kX8bit RAM).访问方式可参考我的博文: http://blog.ednchina.com/tengjingshu/218041/message.aspx 现在新出的51单片机都在内部扩展了外部RAM.这个RAM…
实物图 硬件说明 开发板板载说明: 1.主控芯片: STC89C52 2.Wi-Fi模块: ESP8266 3.温湿度传感器: DHT11 4.液晶屏: IIC OLED 5.继电器: 220V 10A 6.其它:请看原理图 串口通信控制说明 请看以下两个橘黄色的跳线帽连接 一,电脑串口和51单片机通信 二,电脑串口和ESP8266通信 三,51单片机和ESP8266通信 下载51单片机程序步骤 1.如果自己的电脑没有安装CH340(串口模块)驱动,请先安装CH340(串口模块)驱动程序 2,U…
以STM32的IO口为例,最大的输出电流和灌入电流在芯片手册上都有说明.单个IO口一般都是十几mA到几十mA,同时总的VDD电流也有限制,大概为150mA.所以单片机驱动外设时,如果不是信号型而是功率型的,如继电器,都要用三极管等缓冲器扩流.…
Lpc1788内置有eeprom 使用代码 #ifndef __E2PRONINCHIP_H_ #define __E2PROMINCHIP_H #include "common.h" #include "sys.h" #include "debugserial.h" #define EEPROM_CLOCK    375000 void e2prom_init(void); u8 e2prom_write_8(u8 page,u8 addr,u…
做一个MSP430的项目,虽然430内部有硬件I2C的模块,略难,准备直接移植51的..碰到一句代码 dat <<= 1; //移出数据的最高位 pSDA = CY; //送数据口 digitalWrite(pSCL, HIGH); //拉高时钟线 CY是什么?? 百度了一下.. 位 7: CY:进位标志. 当最后一次算术操作产生进位(加法)或借位(减法)时,该位置 1.其它算术操作将其清 0.右移时最高位被移入CY.循环移八次,刚好把一字节移完. 意思就是左移的时候溢出后CY会成为1 一次一…
前言 实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器, 简而言之: 51单片机+ESP8266用AT指令实现实现MQTT,(连接的本人云服务器上的MQTT服务器软件) 订阅的主题:user/Wi-Fi的MAC地址 发布的主题:device/Wi-Fi的MAC地址 下载单片机程序 安装APP 调整拨动开关-51单片机和ESP8266通信 跳线帽 打开APP 选择添加设备 手机连接自家的路由器,输入路由器密码 长按开发板 "输入P0…
http://www.21easyic.com/yx/VGA%E6%8E%A7%E5%88%B6%E6%9D%BF.htm…
单片机,大概三年前,就买了一本 <爱上单片机> 最后就学会,用面包板了,编程书上基本没讲. 看原理图,看时序图,看数据手册, 都没讲. 而且书上自带的代码写的很烂. 1,缩近控制不好 2,命名混乱 3,做if 的时候 不变的常量放在左侧,这是很基本的约定 ... 最后,还是什么也没有学会. 直到去年,开始学 ARM 了. 学完了 ARM 前面发的(s3c2440)以后, 在回头看单片机,发现单片机真是,简单的不得了! 但是也发现,单片机,不如 ARM 功能强大.速度也慢.很多控制器,没有,要用…
可以这样理解 先配置adc :有几个通道就配置几个通道. 然后配置dma,dma是针对adc的,而不是针对通道的. 一开始我以为一个adc通道对应一个dma通道.(这里是错的,其实是我想复杂了) 一个adc,对应一个dma. adc可以开多个通道.比如采集电池的电量是一个通道,采集单片机温度是另一个通道. adc1的所有通道对应着dma的某一个通道. 然后开启后dma,就会依次把各通道的数据存入数组: 数组元素1: 通道1的数据 数组元素2: 通道2的数据 数组元素3: 通道3的数据 数组元素4…
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后数据不丢失 RAM 存储中间运算过程中产生和需要的数据 数据断电丢失 读写速度非常快 无限次擦写 SFR 单片机内部的功能对应一个或多个SFR 对SFR的读写.配置来实现单片机各种功能 啥是51单片机? 兼容Inter的MCS-51体系架构的一系列单片机 选择的STC89C52的数据 想让单片机运行…
目录SAIU R20 1 6 第1页第1 章. 初识STM32...................................................................................................................... 11.1. 课前预习..........................................................................................…
做过51单片机或者ARM开发的人都知道,单片机内部都有自己的“片内外设”,比如UART,比如I2C,比如SPI等等... 写单片机程序的时候,比如对于UART的驱动,我们都是在程序中直接写一套函数,来操作相关的UART寄存器,在程序中的其它地方调用这些函数,完成串口的收发. 在小规模的单片机程序中,这样做是再正常不过的. 但是,在规模庞大的LINUX内核中,要处理各种各样的CPU,各种各样的UART收发器,上述办法就有心无力了:没有灵活性,无法移植,接口不一致,很难想象有一个UART驱动程序能够…
SPI协议简述 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.由Motorola首创.SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线. 优缺点: 协议简单,相对数据速率高. 占用的Pin口较多 没有指定的流控制,没有应答机制确认是否接收到数据. SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,…
本文隶属于AVR单片机教程系列.   在用DAC做了一个稍大的项目之后,我们来拿ADC开开刀.在本讲中,我们将了解0.96寸OLED屏,移植著名的U8g2库到我们的开发板上,学习在屏幕上画直线的算法,编写一个示波器程序,使用EEPROM加入人性化功能,最后利用示波器观察555定时器.放大电路.波形变换电路的各种波形. OLED屏 我们使用的是0.96寸OLED屏,它由128*64个像素点构成,上16行为蓝色,下48行为黄色,两部分之间有大约两像素的空隙.虽然有两种颜色,但每个像素点都只能发出一种…
标准51架构的单片机有2个定时器 :T0  和  T1,他们2个的用法几乎一样.下面主要讲T0定时器的用法. 初步认知 定时器 和 计数器 都是单片机中同一个模块.他们的实质都是: 加法存储计数器.对于计数器很好理解,每来一个信号(信号从P3.4 或者P3.5输入),就加1,以此达到计数的目的. 对于定时器,每隔1个机器周期 加 1,假如(只是假如)一个机器周期为 1ms , 当加到1000时,我们就认为经过了1s,这就是定时器的原理. 加法存储寄存器THx & TLx   定时器依赖计数,需要…
C51常用的数据类型 数据类型 关键字 所占位数 表示数范围 无符号字符型 unsigned char 8 0~255 有符号字符型 char 8 -128~127 无符号整型 unsigned int 16 0~65535 有符号整型 int 16 -32768~32767 无符号长整型 unsigned long 32 0~2^32-1 有符号长整型 long 32 -2^31~2^31-1 单精度实型 float 32 3.4e-38~3.4e38 双精度实型 double 64 1.7e…
一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成. 下面,我们先就组成P0口的每个单元部份跟大家介绍一下:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平.低电平,同时还有一种就是高…
51单片机的4个控制引脚,其中一个引脚是复位引脚(RST/Vpd),RST是复位引脚,当RST输入端保持2个机器周期以上高电平时,就实现复位. ALE/PROG是地址锁存允许信号输出端,在读写外部存储器时,用于锁存低8位地址信号.当单片机正常工作后,ALE以时钟振荡频率的1/6输出固定的脉冲信号.第二功能PROG是对片内带有4K EPROM的8751固化程序时,作为编程脉冲输入端. PSEN 是片外程序存储器的读选通信号,低电平有效,CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,…
此文档包含了最新版本的说明及最近的更新特别是对 ISD51 的说明(用户手册没有此说明) Keil Software,Inc and Keil Elektronik GmbH保留所有此文件中涉及的信息.派生的用户手册以及软件的版权 /*如果发现有错误请提出---blu1译注*/ 目 录 ISD51 概况 ISD51 是如何工作的 ISD51 如何与用户程序整合 ISD51 应用程序接口规则 如何设置 uVision2 用以针对 ISD51 的应用 使用ISD51调试 疑难解决 ISD51 存在的…
eeprom简介 eeprom电可擦除可编程只读存储器,是一种类似于flash的固态存储器,但是与flash相比又存在一些区别: 1.eeprom可以按位擦写,而flash只能大片擦除. 2.eeprom一般容量都不大,一般都在64kb以下. I2C初始化 在ARM内部有I2C控制器,可以对I2C器件进行访问.所以I2C初始化也就是对I2C控制器初始化. 1.如果需要,写入处理器的I2C从设备地址. 2.设置IICCON寄存器 2.1.允许中断 2.2.设置SCL周期 3.设置IICSTAT允许…
一.C语言相关 Q1:sbit与sfr代表是什么?有什么作用? Q2:#define OSC_FREQ  22118400L这句宏命令里的“L”是什么意思? Q3:我粘贴了别人的代码,怎么发现没有unit这个类型? Q4:为什么好多变量都是char类型?它不是字符类型吗?怎么可以用来计数? Q4.1:51单片机中的char,int,long,float,double各占多少个字节,取值范围多大? Q5:unsigned char data是什么数据类型? Q6:void timer() inte…
单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识. 上期在<单片机入门(1)>中,我们讲解了单片机的基础知识.本期让我们来学习单片机必须具有的硬件电路(外围功能电路).这样,下期就可以将挑战一个实际单片机的运行了! “动力”―电源电路 “总指挥”―振荡电路 「闹钟」―复位电路 “动力”―电源电路 上期我们学习了单片机的基本构成和工作原理.想必大家对单片机的工…
Preface    内核源码版本:linux-2.6.18    网卡驱动·linux内核网络分层结构:http://infohacker.blog.51cto.com/6751239/1221140   DM9000芯片 DM9000是一款高度集成低功耗快速以太网处理器,该芯片集成了MAC和PHY.DM9000可以和CPU直接连接,支持8位.16位和32位数据总线宽度.该芯片支持10M和100M自适应以太网接口,内部有16K的FIFO以及4K双字节SRAM,支持全双工工作. DM9000内部…
AT89C51的内部4K flash, 是用来下载程序代码的,程序运行时只能做读取数据操作,不能写入.单片机断电时需要候保存数据,可以选择 带EEPROM的单片机 就可以,如STC 系列的单片机有内部EEPROM 就可以,或者扩展外部 EEPROM 芯片.…
本节教你如何学习单片机,如何选择合适的开发板和开发工具. 现在我们知道单片机是要学习的,那么怎么去学习单片机?在上一课我们说不要使用老一套的方法学习,实际上是指的两个问题. 第一:选择什么开发板: 第二:使用什么开发工具: 我们学习单片机的目的是干嘛?目的是为后续嵌入式Linux学习服务.  在这条学习线路上: 单片机->bootloader->Linux系统/驱动->APP(QT) 可以使用同一套开发板. 我们选择开发板的原则是:资料丰富. 开发板首推三星 (SAMSUNG)系列的,资…