Proteus仿真EEPROM数据的写入

合集下载

(完整版)PROTEUS仿真调试使用手册

(完整版)PROTEUS仿真调试使用手册

目录第1章Proteus ISIS简介 (1)第2章Proteus ISIS编辑环境 (2)第3章Proteus ISIS原理图输入 (3)3.1 Proteus ISIS原理图输入的可视工具介绍 (3)3.2 在Proteus ISIS原理图编辑窗口查找元件 (4)3.3 放置元件 (9)3.4 连线 (14)3.4.1 无模式连线 (14)3.4.2 自动连线模式 (14)3.4.3 动态光标显示 (14)3.5 元件标签 (17)3.5.1 编辑元件标签 (17)3.5.2 移动元件标签 (18)3.6 器件标注 (18)3.6.1 属性分配工具(PAT) (19)3.6.2 全局标注器 (20)第4章Proteus ISIS 8086仿真 (21)4.1 在Proteus ISIS中输入电路原理图 (21)4.2 在Proteus中设置外部代码编译器 (22)4.3 添加源代码,选择编译器。

(24)4.4 仿真调试 (26)4.4.1 调试模式 (26)4.4.2 设置断点 (27)第1章Proteus ISIS简介Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路。

软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。

Proteus 7主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES 主要用于印制电路板的设计。

本手册介绍如何利用Proteus ISIS输入电路原理图、利用外部编译器编译8086汇编程序并进行基于8086微处理器的VSM 仿真。

Proteus 7可以在以下操作系统中使用:注意,Proteus软件也可能能在Windows 98,NT, Millennuium等合法Windows 系统中使用,只不过Labcenter和Microsoft都已经不再对此提供技术支持服务。

eeprom读写程序详解

eeprom读写程序详解

eeprom读写程序详解EEPROM(Electrically Erasable Programmable Read-Only Memory) 是一种可编程只读存储器,可以在电信号的作用下进行擦写和改写。

它通常用于存储单片机或其他嵌入式系统中的数据、设置参数、配置文件等。

对于 EEPROM 的读写程序,需要考虑以下几个方面:1. 读操作:读操作通常包括以下步骤:- 等待上次读操作完成。

- 获取要读取的数据的单元地址。

- 将 EEPGD 位和 CFGS 位清零。

- 启动读操作控制位 RD。

- 等待本次读操作完成。

- 将该单元地址中对应的数据返回。

在读取 EEPROM 数据时,为了避免芯片在一瞬间无法获取到数据,需要给芯片一定的时间来稳定获取数据。

因此,在读取操作中需要加入等待步骤。

2. 写操作:写操作通常包括以下步骤:- 等待上次写操作完成。

- 获取要写的数据的单元地址。

- 将要写的数据写入 EEPROM 的单元中。

- 将 EEPGD 位和 CFGS 位清零。

- 启动写操作控制位 WP。

- 等待写操作完成。

在写操作中,为了确保数据的可靠性,需要将要写的数据写入EEPROM 的单元中,并等待写操作完成。

同时,在写操作过程中,需要注意避免对无关的单元进行写操作,以免损坏 EEPROM 芯片。

3. 中断处理:在 EEPROM 的读写操作中,通常需要加入中断处理机制,以便在读写过程中及时响应和处理异常情况。

例如,在读取 EEPROM 数据时,如果 EEPROM 芯片出现故障,可能会导致读取失败。

为了避免这种情况,可以在读取操作中加入中断处理机制,在读取失败时及时报警或采取相应的应对措施。

总之,EEPROM 读写程序的实现需要考虑多个方面的因素,包括读操作、写操作、中断处理等。

同时,需要考虑 EEPROM 芯片的特性和限制,以便实现高效、稳定、可靠的 EEPROM 读写操作。

Proteus仿真I2C存储器实验

Proteus仿真I2C存储器实验

2Proteus 仿真I 2 C 存储器实验、实验目的1、了解I2C 总线的工作原理2、掌握I2C 总线驱动程序的设计和调试方法3、掌握I2C 总线存储器的读写方法、实验说明1、I2C 总线常识I2C 总线上的每个器件均由一个存储于该器件中的唯一地址来识别,并可被用作一个发送器或接收器(视其功能而定)。

AT24C02 是一个2K 位串行EEPROM ,内部含有256 个8 位字节,AT24C02 有一个8 字节页写缓冲器,该器件通过I2C 总线接口进行操作。

引脚名称和功能如图1 所示图1 24 系例I2C 存储器引脚说明通过器件地址输入端A0 、A1 和A2 可以实现将最多8 个24C02 器件连接到总线上。

2、I2C 总线协议(1)只有在总线空闲时才允许启动数据传送。

(2)在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变。

时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止-可编辑修改-信号。

(3)起始信号,时钟线保持高电平期间,数据线电平从高到低的跳变作为I2 C 总线的起始信号。

2 (4)停止信号,时钟线保持高电平期间,数据线电平从低到高的跳变作为I 2 C 总线的停止信号。

2I2 C 总线时序:3、页写操作的数据帧结构根据页缓冲区的大小,页写的字节数不能超过缓冲区大小。

如果在发送停止信号之前主器件发送超过缓冲区大小,地址计数器将自动翻转,先前写入的数据被覆盖。

如图2所示。

图2 页写操作数据帧结构三、实验内容2先搭建一个“I 2 C 存储器实验”的仿真电路,该单片机系统功能是采用页写的方式,把器件地址为A0H 的24C02 器件的片内50H 地址开始的8 个存储单元分别写入数据“00 、11 、22 、、、、、、77 ”。

四、.参考硬件电路-可编辑修改-五、参考汇编程序SDA EQU P3.5 ;定义24c02 的串行数据线SCL EQU P3.4 ;定义24c02 的串行时钟线SNUM EQU 40HSLAW EQU 41HORG 0000HAJMP MAINORG 0040HMAIN:MOV SP ,#5FHLCALL LDATA的器件地址MOV SLAW,#0A0H ;24c02;要发送9 个字节数据MOV SNUM,#9MOV R1,#30H ;数据缓冲区的首地址CALL WRNB ;调用发送n 个字节的子程序SJMP $-可编辑修改-LDATA:MOV R0,#30H ;片内ram 的地址:30H 31H 32H 33H 34H 35H ⋯..50H 00H 11H 22H 33H 44H MOV @R0,#50H ;存放的数据:INC R0MOV @R0,#00HINC R0MOV @R0,#11HINC R0MOV @R0,#22HINC R0MOV @R0,#33HINC R0MOV @R0,#44HINC R0MOV @R0,#55HINC R0MOV @R0,#66HINC R0MOV @R0,#77HRET;起始信号STA:SETB SDASETB SCLNOP-可编辑修改-CLR SDANOPNOPCLR SCLRET;终止信号STP:CLR SDASETB SCLNOPNOPSETB SDANOPNOPCLR SDACLR SCLRET;发应答位"0"ASK:CLR SDASETB SCLNOPNOPCLR SCL-可编辑修改-SETB SDA;发非应答位"1"NAS:SETB SDASETB SCLNOPNOPCLR SCLCLR SDARET;应答位检查,正常应答时F0 标志为0, 否则F0 为1 ASKC:SETB SDASETB SCLCLR F0MOV C,SDAJNC CEND ;应答位为1, 不置位F0SETB F0CEND: CLR SCLRET;发送到24c02 一个字节,预发送的数据存于A 中WRB: MOV R0,#08H-可编辑修改-LOOP0:RLC AMOV SDA,CNOPNOPSETB SCLNOPNOPNOPNOPCLR SCLDJNZ R0,LOOP0RET;* 函数名称:WRNB;*功能描述:对E2PROM 指定的页写入SNUM 个字节的数据;* 调用函数:STA WRB ASKC STP;* 入口条件:SLAW--I2C 器件写地址;* R1- 片内RAM 发送数据缓冲区的首地址WRNB:LCALL STAMOV A,SLAWLCALL WRB ;写器件的写地址-可编辑修改-MOV A,@R1 LCALL WRB LCALL ASKCINC R1DJNZ SNUM, WLP LCALL STP RET END六、思考练习题1、请说说 I 2C 总线的优点有哪些?2、编写程序,将自己学号写入 24C02 地址为 30H 开始的存储单元3、编写程序,将写入 24C02 的数据读出。

PROTEUS仿真教程

PROTEUS仿真教程

PROTEUS仿真教程第一步:安装PROTEUS软件第二步:创建新项目在PROTEUS软件中,您可以创建新项目来开始您的电路仿真工作。

点击菜单栏中的“File”选项,选择“New Project”来创建一个新项目。

然后输入项目的名称并选择保存路径。

第三步:添加元件在PROTEUS软件中,您可以通过“Library”选项来选择各种电子元件,包括电阻、电容、电压源等。

点击“Library”选项,选择您需要的元件并将其拖动到工作区中。

连接元件之间的引脚以搭建电路。

第四步:设置仿真参数在搭建完电路后,您需要设置仿真参数。

点击菜单栏中的“Graph”选项,选择“Set Simulator Parameters”来设置仿真参数,包括仿真时间、步长等。

您还可以设置输出波形的显示格式和范围。

第五步:运行仿真设置好仿真参数后,点击菜单栏中的“Simulate”选项,选择“Run”来运行仿真。

PROTEUS将模拟您搭建的电路,并显示仿真结果。

您可以查看电压、电流等参数,并分析电路的工作情况。

第六步:调试电路在仿真过程中,您可能会发现电路存在问题,比如输出波形不符合预期,电流过大等。

您可以通过调试电路来解决这些问题。

尝试更改元件参数、连接方式等,并重新运行仿真来检查效果。

第七步:保存和导出仿真结果在完成仿真后,您可以保存仿真结果并导出到其他格式。

点击菜单栏中的“File”选项,选择“Save As”来保存仿真文件。

您还可以导出波形图、数据表等结果,以便后续分析和报告。

总结:本教程介绍了PROTEUS的基本功能和使用方法,帮助您快速上手该软件进行电路仿真工作。

通过创建新项目、添加元件、设置仿真参数、运行仿真、调试电路和保存结果,您可以轻松完成电路仿真工作。

希望本教程对您有所帮助,祝您在PROTEUS软件中取得成功!。

PROTEUS操作步骤

PROTEUS操作步骤

简单实例助你快速掌握PROTEUS的用法为了更快掌握PROTEUS设计与仿真操作,我们先从一简单实例入手带你入门。

让我们首先来熟悉一下仿真软件的主界面:图1-1 仿真软件的主界面运行protues的ISIS模块,进入仿真软件的主界面,如图1-1所示,区域①为菜单及工具栏,区域②为元器件预览区,区域③为对象选择器窗口,区域④为编辑窗口,区域⑤为绘图工具栏,区域⑥为元器件调整工具栏,区域⑦为运行工具条。

Proteus是一种集单片机仿真和SPICE分析于一身的仿真软件。

其功能非常强大,不仅能仿真模拟电路、数字电路以及模拟数字混合电路,更重要的是可以仿真51系列、AVR、PIC等常用主流单片机。

Protues提供了丰富的资源:(1)Proteus拥有的元器件资源:Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

(2)Proteus可提供的仿真仪表资源:仿真仪器仪表的数量、类型和质量是衡量仿真实验室是否合格的一个关键因素。

Proteus可提供常用的示波器(本文的实例中示波器被用来观察产生的波形)、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。

以下简要罗列了proteus中常用元器件和仿真仪表中英文对照表:7407 驱动门1N914 二极管74Ls00 与非门74LS04 非门74LS08 与门74LS390 TTL 双十进制计数器7SEG 4针BCD-LED 输出从0-9 对应于4根线的BCD码7SEG 3-8译码器电路BCD-7SEG转换电路AND 与门BATTERY 电池/电池组BUS 总线CAP 电容if(P0_0==0){P1_0=0;}else P1_1=0;CAPACITOR 电容器CLOCK 时钟信号源CRYSTAL 晶振FUSE 保险丝GROUND 地LAMP 灯LED-RED 红色发光二极管void int0_isr(void) interrupt 0{ P1=1;}void int1_isr(void) interrupt 2{ P1=1;}LM016L 2行16列液晶可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。

eeprom的写入时序

eeprom的写入时序

eeprom的写入时序EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,它可以被多次擦除和写入。

EEPROM的写入时序是指在进行数据写入时所需的操作步骤和时间顺序。

下面是关于EEPROM写入时序的文章:EEPROM的写入时序是指在对EEPROM进行数据写入时所需的操作步骤和时间顺序。

EEPROM是一种非易失性存储器,它可以被多次擦除和写入,因此在实际应用中,对EEPROM进行数据写入是非常常见的操作。

在进行EEPROM写入时,首先需要确定要写入的数据,然后将数据发送给EEPROM,接着进行写入操作。

在进行写入操作时,需要遵循一定的时序要求,以确保数据能够正确地被写入并保持稳定。

通常,EEPROM的写入时序包括以下几个步骤:1. 发送写入命令,首先需要向EEPROM发送写入命令,以告知EEPROM即将进行数据写入操作。

2. 发送地址,接着需要发送要写入数据的地址,以指定数据写入的位置。

3. 发送数据,一旦地址确定,就可以发送要写入的数据。

4. 写入确认,在数据发送完成后,需要发送写入确认命令,以告知EEPROM可以开始写入数据。

5. 写入时间,EEPROM需要一定的时间来完成数据写入操作,这个时间通常是毫秒级别的。

6. 写入完成确认,最后,需要发送写入完成确认命令,以告知系统数据写入已经完成。

在进行EEPROM写入时,以上步骤需要严格遵循,以确保数据能够正确地被写入并保持稳定。

同时,EEPROM的写入时序也受到EEPROM型号和制造商的影响,因此在实际应用中,需要根据具体的EEPROM型号和规格来确定相应的写入时序。

总之,EEPROM的写入时序是进行数据写入时所需的操作步骤和时间顺序,严格遵循写入时序是确保数据写入正确和稳定的关键。

对于工程师和开发人员来说,了解并掌握EEPROM的写入时序是非常重要的,可以帮助他们更好地进行EEPROM的数据写入操作。

Realview仿真调试Eeprom

Realview仿真调试Eeprom

if ((AT25_Status & 0x01) == 0)
{ // Set Write Enable Bit
AT25_Status |= 0x02;
}
SSI_IN = 0xFF;
}
}
else if (AT_Inst == 1)
// Read SR
{
SSI_IN = AT25_Status;
AT_Inst = 0;
if ((AT25_Status & 0x01) == 0)
{
AT_Inst = 3;
}
SSI_IN = 0xFF;
}
else if (tmpV == 0x04)
{//WRDI:禁止写入指令
if ((AT25_Status & 0x01) == 0)
{
// Clear Write Enable Bit
*
SSI_OUT - MOSI (SSI)
*
PORTA&0x04 - CS
=============================================*/
define unsigned char AT_Inst; define unsigned long AT25_Address; define unsigned char AT25_Status;
while (1) {
wwatch (SSI_OUT); twatch (10); if ((PORTA & 0x08) == 0) {
printf("MOSI=%x; ", SSI_OUT); printf("AT25_Status=%d; ",AT_Inst); printf("AT_Inst=%d; ",AT_Inst);

Proteus仿真EEPROM数据的写入

Proteus仿真EEPROM数据的写入

今天做的是一个往EEPROM写入数据的项目。

项目没有什么实际意义,主要是练习一下学习的关于写EEPROM的知识。

项目的构思如下,向单片机的EEPROM中写入数据,00单元写入数据00,01单元写入数据01,FF单元写入数据FF,即任意一个EEPROM单元都根据其地址来写入相应的数据。

项目源程序十分简单,但需要注意EEPROM写入数据的操作步骤。

源程序如下:在MPLAB中编辑好源程序以后,编译生成相应的源代码,然后我们在Proteus中绘制本例的电路图。

本例电路图更为简单,因为我们使用的都是单片机内部资源,所以只需将一片PIC16F877放入电路图中就可以了。

电路图如下所示:绘制好电路图以后,我们就可以将前面生成的源代码装入单片机来进行仿真了。

此例其他方面都比较简单,最关键的在于仿真时的操作。

可以看到,当你点击仿真按钮的时候,系统并没有任何反映,我们根本看不到仿真效果。

这时你可以点击主菜单中的Debug菜单下的“PIC CPU EPROM Memory - U1”,如下图:此时系统将弹出相应的“EEPROM”窗口,在这个窗口中,你就可以看到EEPROM中的内容,看看仿真是否成功,其中的数据是否已经按照我们的要求变成了相应的内容。

如下图所示:当然,你也可以在仿真中使用Proteus的单步功能,你一步一步地点击单步按钮,可以看到,EEPROM中的内容一步一步地在变动。

如下图的两个图形所示:而且,从上图你还能看到,每点击一次单步按钮,EEPROM大约写入5个数据。

当然,如果你修改一下相应的时钟频率,每次写入的数据量可能会有改变。

本项目的内容简单,但需要掌握以下几个方面的内容:1.EEPROM数据写入的步骤。

2.Proteus中仿真单片机内部的RAM、EEPROM、FLASH等的操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

今天做的是一个往EEPROM写入数据的项目。

项目没有什么实际意义,主要是练习一下学习的关于写EEPROM的知识。

项目的构思如下,向单片机的EEPROM中写入数据,00单元写入数据00,01单元写入数据01,FF单元写入数据FF,即任意一个EEPROM 单元都根据其地址来写入相应的数据。

项目源程序十分简单,但需要注意EEPROM写入数据的操作步骤。

源程序如下:
在MPLAB中编辑好源程序以后,编译生成相应的源代码,然后我们在Proteus中绘制本例的电路图。

本例电路图更为简单,因为我们使用的都是单片机内部资源,所以只需将一片PIC16F877放入电路图中就可以了。

电路图如下所示:
绘制好电路图以后,我们就可以将前面生成的源代码装入单片机来进行仿真了。

此例其他方面都比较简单,最关键的在于仿真时的操作。

可以看到,当你点击仿真按钮的时候,系统并没有任何反映,我们根本看不到仿真效果。

这时你可以点击主菜单中的Debug菜单下的“PIC CPU EPROM Memory - U1”,如下图:
此时系统将弹出相应的“EEPROM”窗口,在这个窗口中,你就可以看到EEPROM中的内容,看看仿真是否成功,其中的数据是否已经按照我们的要求变成了相应的内容。

如下图所示:
当然,你也可以在仿真中使用Proteus的单步功能,你一步一步地点击单步按钮,可以看到,EEPROM中的内容一步一步地在变动。

如下图的两个图形所示:
而且,从上图你还能看到,每点击一次单步按钮,EEPROM大约写入5个数据。

当然,如果你修改一下相应的时钟频率,每次写入的数据量可能会有改变。

本项目的内容简单,但需要掌握以下几个方面的内容:
1.EEPROM数据写入的步骤。

2.Proteus中仿真单片机内部的RAM、EEPROM、FLASH等的操作。

相关文档
最新文档