基于Proteus和_Keil的串行通信系统仿真
Keil 与Proteus的联合仿真调试
Keil 与Proteus的联合仿真调试Keil与Proteus的联合仿真调试================================Keil和 Proteus是两个优秀的单片机仿真调试软件,如果让它们联合工作,其效果更是如虎添翼。
使它们联合仿真调试的工作的步骤共有4步,如下所示。
1.复制文件把 Proteus安装目录下的 VDM51.dll文件复制到 Keil安装目录下的\C51\BIN目录中。
VDM51.dll也可以到网上下载。
2.修改 Keil的 TOOLS.INI文件用记事本打开 Keil安装目录下的 TOOLS.INI文件,在 [C51]栏目下加入: TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")注意其中“TDRV3”中的“3”要根据实际情况写,不要和文件中原有的重复。
3. Keil的设置(1)在 Keil的 project菜单 DEBUG选项中,选中右边的“use:”,并在右栏上部的下拉菜单里选中“Proteus VSM Monitor-51 Driver”。
(2)接着进入setings设置通信接口,如果同一台机器则IP名为127.0.0.1,如不是同一台则填另一台的 IP地址。
在 Port后面添上 8000。
4. Proteus的设置在 Proteus (ISIS)的 DEBUG菜单中,选中“use romote debuger monitor”。
================================做到这一步,就可以开始他们的联调工作了。
打开 Keil和 Proteus项目,点击 Debug-start/stop debug session进入联调状态,点击单步运行,如果能看到 Protues中的电路根据 Keil运行的程序位置而显示不同的现象,这就说明联调成功了。
单片机串行通信实验报告(实验要求、原理、仿真图及例程)
《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备1.PC机一套2.Keil C51开发系统一套3.Proteus 仿真系统一套三、实验容1.甲机通过串口控制乙机LED闪烁(1)要求a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,关闭所有的LED。
b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。
i.甲机发送“A”,控制乙机LED1闪烁。
ii.甲机发送“B”,控制乙机LED2闪烁。
iii.甲机发送“C”,控制乙机LED1,LED2闪烁。
iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。
c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。
两机的程序要分别编写。
d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下:i.设置串口模式(SCON)ii.设置定时器1的工作模式(TMOD)iii.计算定时器1的初值iv.启动定时器v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。
(2)电路原理图Figure 1 甲机通过串口控制乙机LED闪烁的原理图(3)程序设计提示a.模式1下波特率由定时器控制,波特率计算公式参考:b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。
2.单片机与PC串口通讯及函数指针的使用(1)要求:a.编写用单片机求取整数平方的函数。
b.单片机把计算结果向PC机发送字符串。
c.PC机接收计算结果并显示出来。
d.可以调用Keil C51 stdio.h 中的printf来实现字符串的发送。
proteus与keil Cx51的单片机仿真(串行通信口)
proteus 与keil Cx51 的单片机仿真(串行通信口)单片机串行口工作于方式0,通过74LS164 实现串并转换,来控制共阳极数码管的显示,当按下K01 按钮显示2010,按下K02 键显示1987,按下K03键显示0606,按下K04 键显示1988,按下K05 键显示1224。
其中数字显示可由自己设定.电路图:C 程序:#include#include#include#define uchar unsigned char//宏定义sbit P1_1=P1;sb it P1_2=P1 ;sbit P1_3=P1;sb it P1_4=P1;sb it P1_5=P1 ;sbit P2_0=P2;uchar code discode[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//串行方式下共阳极数码管段码表0~9unsigned char leddis[4]={0,1,2,3};//显存,有几个数码管进行定义void display(void)//数码管显示函数{unsigned char count;//数码管个数P2_0=0;//P2.0 引脚输出清零信号,对74LS164 清零_nop_();_nop_();//延时,保证清零完成P2_0=1;//结束对74LS164 清零for(count=4;count>0;count--){SBUF=discode[leddis[count-1]];while(TI==0);TI=0;}}void main(){SCON=0x00;//设定UART 的工作方式为方式0leddis[0]=0;leddis[1]=1;leddis[2]=2;leddis[3]=3;//显示内容初始化display();//显示函数while(1){if(P1_1==0)//K01 按下,即P1_1被按下,显示2010{leddis[0]=2;leddis[1]=0;leddis[2]=1;leddis[3]=0;display();P1_1=1;}if(P1_2==0)//K02 按下,即P1_2 被按下,显示1987{leddis[0]=1;leddis[1]=9;leddis[2]=8;leddis[3]=7;display();P1_2=1;}if(P1_3==0)//K03 按下,即P1_3 被按下,显示0606{leddis[0]=0;leddis[1]=6;leddis[2]=0;leddis[3]=6;display();P1_3=1;}if(P1_4==0)//K04 按下,即P1_4 被按下,显示1988{leddis[0]=1;leddis[1]=9;leddis[2]=8;leddis[3]=8;display();P1_4=1;}if(P1_5==0)/ /K05 按下,即P1_5 被按下,显示1224{leddis[0]=1;leddis[1]=2;leddis[2]。
PROTEUS与KEIL的联合仿真
译结果如图 14 下方所示。
图 14 源程序编译
④ 加 载 目标 代 码文 件 右击 选中 ISIS 编辑 区中 单片 机 AT89C51,选择 “Edit Properties”打开其属性窗口,如图 15 所示。在其中的“Program File”右侧框中输入目 标代码文件(目标代码与 DSN 文件在同一目录下,直接输入代码文件名即可,否则要写出完 整的路径。或单击本栏打开按钮,选取目标文件),再在“Clock Frequency”栏中设置 12MHz, 仿真系统则以 12MHz 的时钟频率运行。
图 12 目标输出设置
● Debug:设置调试工具,如图 13 所示,在下拉组合框选择“PROTEUS VSM Sipnulator”。
图 13 KEIL 中目标调试设置
● 通信设置:单击调试工具框右边的“Settings”,如图 13 所示,设置 Host、Port。 KEIL 与 PROTEUS 在同一台机器上时,Host 设为 127.0.0.1;若不在同一台机子上,则填另 一台的 IP 地址。Port 为 8000。
图 15 注:因运行时钟频率以单片机属性设置中的时钟频率 (Clock Frequency)为准,所以在编辑区设计 以仿真为目标的 MCS-51 系列单片机系统电路时,可以略去单片机振荡电路。另外,对 MCS-51 系列单片机 而言,复位电路也可略去,EA 控制引脚也可悬空。但要注意若要进行电路电气检测,不可略去。
图7
这时,新建立的项目出现在项目窗口中,如图 8 所示。
图 8 项目窗口中新建立的项目
(4)编译、调试 C51 程序 ① 加入 C51 程序 用鼠标右击项目工作区里的源代码组,选择“把文件加入到源代码 组(Add Files to Group‘Source Group1)”命令,把刚保存的 C51 程序源代码加入到新建
KeilC与Proteus相结合的仿真过程
KeilC与Proteus相结合的仿真过程单片机电路设计如图所示。
电路的核心是单片机A T89C51。
单片机的P1口八个引脚接LED显示器的段选码(a、b、c、d、e、f、g、dp)的引脚上,单片机的P2口六个引脚接LED显示器的位选码(1、2、3、4、5、6)的引脚上,电阻起限流作用,总线使电路图变得简洁。
程序设计实现LED显示器的选通并显示字符。
电路图的绘制1、将所需元器件加入到对象选择器窗口。
Picking Components into the Schematic单击对象选择器按钮,如图所示弹出“Pick Devices”页面,在“Keywords”输入A T89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。
在“Results”栏中的列表项中,双击“A T89C51”,则可将“A T89C51”添加至对象选择器窗口。
接着在“Keywords”栏中重新输入7SEG,如图所示。
双击“7SEG-MPX6-CA-BLUE”,则可将“7SEG-MPX6-CA-BLUE”(6位共阳7段LED显示器)添加至对象选择器窗口。
最后,在“Keywords”栏中重新输入RES,选中“Match Whole Words”,如图所示。
在“Results”栏中获得与RES完全匹配的搜索结果。
双击“RES”,则可将“RES”(电阻)添加至对象选择器窗口。
单击“OK”按钮,结束对象选择。
经过以上操作,在对象选择器窗口中,已有了7SEG-MPX6-CA-BLUE、A T89C51、RES三个元器件对象,若单击A T89C51,在预览窗口中,见到A T89C51的实物图,如图所示;若单击RES或7SEG-MPX6-CA-BLUE,在预览窗口中,见到RES和7SEG-MPX6-CA-BLUE的实物图,如图所示。
此时,我们已注意到在绘图工具栏中的元器件按钮处于选中状态。
2、放置元器件至图形编辑窗口Placing Components onto the Schematic在对象选择器窗口中,选中7SEG-MPX6-CA-BLUE,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。
单片机串行通信仿真实验
目的:掌握电平转换器件RS-232的使用方法;掌握 Proteus VSM虚拟终端(VITUAL TERMINAL)的使用; 掌握单片机与PC机间的串行通信软硬件设计方法。
1 2013年3月 2006-2-10
传感器原理与应用
1
51系列单片机与PC机串行通信实验Proteus仿真
1 Proteus电路设计
所属子类
8051 Family Generic Generic - Generic
7SEG-BCD-GRN
MAX232 COMPIM
2 2013年3月
Optoelectronics
Microprocessor ICs Miscellaneous
2006-2-10
7-Segment Displays
Peripherals -
在Proteus仿真中,单片机和COMPIM之间也可以 不用加MAX232器件
11 2013年3月
2006-2-10
传感器原理与应用
11
传感器原理与应用
2
51系列单片机与PC机串行通信实验Proteus仿真(2)串口模型介绍
串口模型COMPIM及其引脚功能如图1中(a)所示。需要 注意的是,在Proteus ISIS元件库的“Connectors”类的 “D-Type”子类中,也有一个串口模型器件CONN-D9F, 如图1中(b)所示,因该器件在使用时没有仿真模型,将 导致仿真失败,所以要避免选用。
进入调试环境执行程序,进行以下操作: (I) 在Proteus ISIS界面中的PCT虚拟终端上单击右键,在弹出的 快捷菜单中选择“Echo Typed Characters”项; (II) 鼠标指针在PCT终端窗口单击,该窗口出现闪烁的光标,从 键盘输入数字“8”,在PCS终端窗口中就出现“8”,表明PC机 发送数据“8”,按照设计好的程序,单片机将接收到“8”,所 以在单片机接收虚拟终端SCMR上会显示“8”,同时又将数字 “8”送显到数码管上。接下来,单片机又将该数回发给PC机, 因此在单片机发送终端SCMT上也显示“8”,PC机接收到数据 后在接收终端PCR上同样显示“8”,结果如图6所示。根据程序 设计,当在键盘上输入0~9以外的字符时,单片机输出到数码 管上显示的则是该字符的ASCII码,如图7所示。
郑丕凯 基于Proteus和 Keil的串行通信系统仿真
毕业设计设计题目:基于Proteus和 Keil的串行通信系统仿真2011年6月1日目录1. 引言 12. I2C总线原理 1 2.1 数据位的传送 2 2.2 启始和停止状态 2 2.3 传输数据 3 2.4 应答 3 2.5 数据传输格式 4 2.6 I2C总线的寻址 5 3.I2C总线应用 63.1 I2C总线扩展E2PROM 6 3.2 I2C总线扩展I/O口7 3.3 I2C总线A/D及D/A转换8 3.3.1 PCF8591芯片介绍8 3.3.2 器件总地址9 3.3.3 D/A转换与A/D转换9 4.I2C总线通信系统仿真114.1 I2C总线扩展E2PROM与I/O口11 4.2 I2C总线接PCF8591 13 5.总结14 程序附录15 参考文献24 致谢24基于Proteus和 Keil(I2C)串行通信系统仿真郑丕凯(电子与电气工程学院电气工程及其自动化2007级1班20072926061)摘要:本文主要是基于I2C技术,应用Proteus 和Keil软件,设计虚拟I2C总线串行通信外围扩展。
介绍了I2C串行通信的基本原理,虚拟I2C总线技术,I2C总线与E2PROM,ADC/DAC,I/O口等外围器件接线方法,时序,及其寻址方法。
关键词: I2C总线技术;串行通信;I2C总线虚拟技术;串行外围扩展Serial (I2C) Communication System Simulation Based on Proteusand Keil SoftwareZheng Pikai(College of Electronics and Electrical Engineering,Electrical Engineering and Automation,Class1 Grade2007, 20072926061) Abstract:This article is based on I2C technology, application Proteus keil software, designing virtual I2C bus serial communications peripherals expansion. It has Introduced the basic principles of I2C serial communication, virtual I2C bus, I2C bus and E2PROM, ADC / DAC, I / O ports and other peripheral device connection method, timing, and addressing methods.Key Words:I2C bus technology; serial communication; I2C bus virtual technology; serial peripheral expansion1 引言I2C(Inter IC BUS)总线是一种可用于IC器件间连接通信的二进制总线。
基于Proteus和Keil的单片机仿真实验系统设计
河北建筑工程学院本科毕业设计(论文)学科专业机械电子工程班级机电102班姓名冯立岗指导教师张东辉摘要本设计是基于51系列的单片机进行的单片机实验仿真系统设计,可以进行键盘输入显示、计数器、流水灯、LCD显示字符、抢答器等八个实验的仿真。
单片机实验仿真系统的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,4×4键盘阵列,七段数码管显示,8×8LED显示模块,16×16LED点阵显示模块,流水灯模块,LCD液晶模块,以及抢答器按键电路等组成,系统通过LED及LCD显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
由于本设计实验项目有多个,考虑到汇编语言并不适于比较繁琐的程序的编写,故本系统以单片机的C 语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现实验的选取及显示功能。
所有程序在Keil软件编写完成后调试编译最后生成hex格式的文件导入到Proteus 软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:AT89C51;流水灯;抢答器;键盘ABSTRACTIt is a design of single chip experimental simulation system based on the 51 series single chip. It can perform eight experimental simulations including the keyboard input display, counter, water lights, LCD display character, responder.This design’s process is designed to synchronize the hardware and software aspects. The hardware part is mainly composed of AT89C51 microcontroller,4*4 keyboard array, seven segment LED display, 8*8 LED display module, 16*16 dot matrix display module, water light module, LCD liquid crystal module and responder key circuit and other components. The system displays the data via LED and LCD, so it has humanized operation and intuitive display effect. The software includes a clock procedure, the keyboard procedure and the display procedure. Since there are many experimental projects in this design, assembly language does not take into account the relatively cumbersome procedures for the preparation, and the system is designed of the microcontroller C language. In order to facilitate the expansion and change, the software is designed with modular structure, so that the logic programming is more concise and easier to realize the experimental selection and display. All the programs are debugged and compiled after the completion of the written of the keil software. And the final completed files of hex form are debugged in the Proteus software. When there is no problem, embedded the microcontroller into the Proteus software to simulate.Key words: AT89C51;water lights;responder;keyboard目录第1章前言 (1)1.1 单片机现状及发展概述 (1)1.2 单片机的性能特点 (2)1.3 AT89系列单片机简介 (2)1.4 单片机实验仿真系统 (3)第2章 Proteus和Keil软件 (4)2.1 Proteus与Keil的历史及联合仿真 (4)2.2 Proteus与Keil的联合仿真的优势 (5)2.3 Proteus与Keil的使用 (6)2.3.1 Keil C软件的使用 (6)2.3.2 Proteus仿真软件的使用 (9)第3章系统总体设计及方案的确定 (10)3.1 单片机实验仿真系统实验项目的设计 (10)3.2 系统总体设计 (11)3.3 系统总线的设计 (11)3.3 系统设计用到的元件 (12)第4章硬件及电路原理图的设计 (12)4.1 单片机最小系统设计 (12)4.2 流水灯的设计 (14)4.3 4×4矩阵键盘扫描与显示 (14)4.3.1键盘处理 (14)4.3.2 LED显示 (16)4.4 INT0中断三位计数器演示实验 (18)4.5 LCD液晶屏的字符显示实验 (19)4.5.1 液晶显示简介 (20)4.5.2 1602字符型LCD简介 (21)4.5.3 1602LCD的指令说明及时序 (21)4.5.4 1602LCD的指令说明及时序 (23)4.5.5 1602LCD的RAM地址映射及标准字库表 (25)4.5.6 1602LCD的一般初始化(复位)过程 (26)4.6 点阵显示字符实验 (27)4.6.1 LED简介 (28)4.6.2 LED点阵 (29)4.6.3点阵显示原理 (29)4.6.4 显示屏的原理图及结构 (30)4.6.5 显示屏的实验内容 (31)4.7 数码管动态显示实验 (32)4.8 8位计数器实验 (33)第5章系统的软件设计 (34)5.1 系统软件设计流程图 (34)5.2 单片机实验仿真系统原理图 (35)5.3 系统主程序 (36)第6章单片机实验仿真系统的仿真与调试 (38)6.1 利用Keil进行源程序的编译及调试 (38)6.2 利用Proteus调试电路检查系统的运行情况 (39)6.3 单片机实验仿真系统的运行及调试结果 (40)第7章毕业设计小结 (44)参考文献 (46)附录 (47)附:英文原文英文翻译毕业实习报告指导教师:张东辉设计项目计算与说明结果2.3.1 KeilC软件的使用创建工程: Keil C 把用户的每个工程都当作一个项目。
Keil 与Proteus仿真问题总结
Keil 与Proteus仿真问题总结1、Keil与Proteus联调8051单片机的时候,效果相当于添加.hex文件到单片机后运行;Keil下关于off-chip code memory 、off-chip Xdata memory的设置对调试没有任何影响。
如下图:使用了T80C31,内部没有ROM,外部ROM也不设置,同样可以仿真,RAM也一样。
如果选择的是AT89S51,内部ROM只有4K,而编译的程序有6K多,设置如下图示:就可以仿真运行,不管是Keil自带的Simulator,还是与Proteus联调。
2、如果Proteus对51单片机的设置如下图示:Simulate Program Fetches属性选择了Yes,则Keil与Proteus无法联合调试;若选择了No,则不用设置Program Files,Keil与Proteus一样可以联合调试,效果就相当于为Program Files添加了.hex文件一样。
上图示CPU为80C31,内部没有ROM,“{ROM=0} ”,但照样可以添加.hex文件,而且添加的.hex文件大小为6K多。
只要Simulate Program Fetches属性选择了No,则不管电路有没有外部扩展ROM,一样可以仿真运行。
而如果Simulate Program Fetches属性选择了Yes,那么即使外部ROM连接正确,但是不管怎么设置属性EXTROM、EXTRAM、Code memory map、Data memorymap的值,都不能仿真。
如果在Proteus中,外部RAM设置到了8000-FFFF这个地址段,那么需要在程序中指定地址,否则读取不到外部RAM,仿真失败。
因此一般把外部RAM的地址分配到0000开始的地址空间。
3、关于仿真外部程序存储器的问题,主要要了解清楚8051Model的内部构架规则。
摘抄英文帮助如下:By default, all external data memory accesses are fully modelled. That is to say that each external data memory cycle involves simulating the numerous transitions of ALE and the P0 and P2 port pins. A typically cycle will involve around 50 pin state transitions is thus vastly expensive in terms of simulation time.In contrast, all program memory cycles are simulated internal to the 8051 model - that is to say that the program bytes are looked up in a memory buffer internal to the chip and no pin-state transitions are simulated. This is the case irrespective of the amount of internal ROM available on a particular 8051 part, and is done in order to achieve reasonable simulation speeds. This optimisation can be disabled by specifying:DBG_FETCH=FALSEFor applications which make extensive use of external data RAM, two further optimisations can be specified.DA TARAM PropertyThis specifies regions of the external memory map which can be treated as RAM and simulated internally to the 8051 model. A typical example would be:DA TARAM=0000-7FFF,C000-FFFFThis would specify two regions of external data memory.CODERAM PropertyWhere regions of the external memory map are wired in a Von-Neumann configuration (external data memory and code memory are the same), this can be specified as follows:CODERAM=0000-7FFFAny external memory writes to the region 0000-7FFF will then 'write through' to the internal program memory buffer of the model and be 'seen' by subsequent instruction fetches and MOVC instructions.4、关于8051Model的所有属性,摘抄如下:The 8051 model supports the following properties:Property Default DescriptionPROGRAM-Specifies one or more program files to be loaded into the model's internal code memory. The files can be either Intel hex files or OMF51 absolute object module formatfiles. Use commas to separate multiple file names. See Specifying The Program File for more information.CLOCK 1.2MHz Specifies the clock frequency of the processor. For reasons of efficiency, the clock circuitry is not simulated, and the clock rate of the processor is determined solely by this value.DBG_FETCH FALSE If TRUE, causes the model to simulate external program fetches.This mode of operation is extremely slow, but will allow you to test external program memory decode circuitry.DA TARAM-Specifies regions of the memory map that correspond to external data RAM. This allows for much faster simulation of external memory accesses. See Modelling the Memory Map for more information.CODERAM-Specifies regions of the external memory map that are shared between code and data (i.e. von-neumann decoding). See Modelling the Memory Map for more information.5、6、。
Proteus与keil的联机仿真设置问题
Proteus与keil的联机仿真设置问题KeilC 与Proteus 连接调试1、假若KeilC 与Proteus 均已正确安装在C:\Program Files 的目录里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\VDM51.dll 复制到C:\Program Files\keilC\C51\BIN 目录中。
如果没有可以去网上下载;2、用记事本打开C:\Program Files\keilC\C51\TOOLS.INI 文件,在[C51]栏目下加入:TDRV8=BIN\VDM51.DLL (“Proteus VSM Monitor-51 Driver”)其中TDRV8 中的8 要根据实际情况写,不要和原来的重复。
(步骤1 和2 只需在初次使用设置。
)3 上面两步只需要设置初次即第一次设置即可;4 在keilc51 程序写好后,在Proteus 中电路也做好了后要分别在他们中进行设置:5 单击Project 菜单/Options for Target 选项或者点击工具栏的option for ta rget按钮,弹出窗口,点击Debug 按钮,出现如图所示页面。
选中那个Proteus VSM Monitor-51 Driver 在出现的对话框里在右栏上部的下拉菜单里选中Proteus VSM Monitor 一51 Driver。
并且还要点击一下Use 前面表明选中的小圆点。
再点击Setting 按钮,设置通信接口,在Host 后面添上127.0.0.1,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP 地址(另一台电脑也应安装Proteus)。
在Port 后面添加8000。
设置好的情形如图所示,点击OK 按钮即可。
最后将工程编译,进入调试状态,并运行。
基于Proteus的单片机串口通信仿真
Proteus班级:电信13-2姓名:段学亮邓成智崔俊杰邓石磊陈亮高金玉成绩:电子与信息工程学院信息与通信工程系1.设计要求甲单片机向乙单片机机发送控制命令字符,甲单片机同时接收乙单片机机发送的数字,并显示在数码管上。
乙机程序接收甲机发送字符并完成相应动作乙机接收到甲机发送的信号后,根据相应信号控制LED完成不同闪烁动作。
2. 仿真电路图串口通信仿真电路图如图一图1:串口通信仿真电路图3.串口通信C51程序/* 名称:甲机串口程序说明:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。
*/#include<>#define uchar unsigned char#define uint unsigned intsbit LED1=P1^0;sbit LED2=P1^3;sbit K1=P1^7;uchar Operation_No=0; 通灯仿真效果按下甲单片机的按钮向单片机乙发送数据,再松开甲单片机的按钮,此时甲单片机的LED1和乙单片机的LED3亮如下图4-1。
4-1:甲机的LED1和乙机的LED3分别点亮再次按下甲单片机的按钮向单片机乙发送数据,再松开甲单片机的按钮,此时甲单片机的LED2和乙单片机的LED4亮如下图4-2。
4-2:甲机的LED2和乙机的LED4分别点亮再次按下甲单片机的按钮向单片机乙发送数据,再松开甲单片机的按钮,此时甲单片机的LED1、LED2和乙单片机的LED3、LED4亮如下图4-3。
4-3:甲机的LED1、LED2和乙机的LED3、LED4全部点亮按下乙单片机的按钮向单片机甲发送数据,再松开乙单片机的按钮,此时甲单片机的数码管显示‘0’如下图4-4。
此乙单片机的串口程序可以控制甲单片机的数码管从0显示到9.4-4:甲机的数码管点亮,显示‘0’不停按下和松开乙单片机的按钮向单片机甲发送数据,甲单片机的数码管显示从‘0’到9,以此循环。
Keil 与 Proteus 联合仿真设置步骤
四、Keil 属性设置
1、点击 Keil 界面上如图按钮。
2、选择“Debug”窗口。
3、将仿真模式设置为 Proteus 模式,点击“确定”,即可将 Keil 和 Proteus 进行 联合仿真。
Keil 与 Proteus 联合仿真设置步骤
一、联调破解补丁的安装
1、找到联调破解补丁“Vdmagdi ”文件,双击打开。
2、 点击下一步“Next ”按钮。
3、根据 Keil 版本选择安装版本,我们选择 uv2 ,点击下一步“Next ”按钮。
4、 点击下一步“Next ”按钮。 Nhomakorabea4、 点击下一步“Next ”按钮。
5、 点击完成“Finish ”按钮。
联调破解补丁文件就安装成功了。
二、复制文件
在 Proteus 安装文件夹中找到 PROSPICE.DLL 文件, 把此文件复制到 Proteus 安装目录的 Proteus 6 Professiona l\BI N 目录下。
三、Proteus 属性设置
点击 Proteus 界面上“Debug”菜单,将“Use Remote Debug Monitor”选项选中。
Keil与Proteus的安装与联合仿真设置
Keil与Proteus的安装与联合仿真设置对于Keil与Proteus的介绍就不多说了,可以百度或谷歌,直接入正题,尽量多上图讲得明白点儿,希望别嫌我磨叽,哈哈。
Keil可以到官网去下载:/download/product/。
根据自己的芯片选择对应的版本,这里以C51的为例,所以点C51那个。
之后进入一个页面,随便填一些东西,乱填都行,加粗的是必须填的,填完点下面的Submit按钮,就有下载链接了,见图01、图02、图03。
Proteus 7.10(2012发布的)在文后附有地址,Keil u4 C51v9.50a也有。
图01图02图03下载完后就可以安装了,顺序无所谓,就先装Keil吧。
安装很简单,直接用图说明,双击运行c51v950a.exe。
Customer Information 那一页,也就是图06显示那一页必须得填,不然Next按钮是无效的,随便填就行了,别整上中文就成,没办法,分别是名、姓、公司和邮箱。
其他的按默认选项就得了,直接Next。
图04图05图06图07图08不装ARM版的(MDK)从这儿飘过去吧,看Proteus去。
如果也想装上ARM版的Keil,那也没问题,二者是可以共存的,不过我在网上看到过出现过装了ARM版的Keil再装上C51版的Keil不能正常使用的问题,这时重装一下ARM版的就行了。
我这儿是先装C51的再装ARM的,没出现问题,ARM版的安装也直接上图。
图09图10图11图12图13图14图15图15中点“Finish”后,会出现图16,安装相关驱动,点“安装”,安装后完后面的黑窗口会自动关掉的。
图16安装后之后的还是试用版,还得注册一下,莫急,有和谐文件,KEIL_Lic.exe,同样文后附有下载地址。
双击桌面的“Keil uVision4”(开始-所有程序,也行)运行Keil,点“File-Licence Management”之后便进入证书管理窗口了,见图17。
proteus简明教程(含KEIL与PROTEUS的联合使用方法)
proteus简明教程(含KEIL与PROTEUS的联合使用方法)
一、制作PCB步骤
1.画图
2.ERC检测
3.生成网表
4.导入网表到ARES中
5.制作PCB.
二、仿真步骤
1. 画图
2. ERC检查
3. 若是单片机则编写程序/代码;
若是汇编语言asm,则Proteus 自己本身就可以编译与调试;
若是C语言,则需要与KEIL C 3uvision 一起联合。
而且KEIL C 的调试功能远比PROTEUS强大。
4. 两者联合的方法
1)proteus 设置方法:
“Debug”菜单下选择“use remote debugger monitor”即可。
2)KEIL C设置方法:
Options for target ‘target1’
Debuger选项卡设置:点击“use”,选“Proteus VSM Monitor”,并单击“setting”设置通信口,在host后面添加“127.0.0.1”。
如果调试的仿真电路在另外一台电脑上,则需要在这里添加另一台电脑的IP地址。
在port后面添加“8000”。
点击“ok”.
设置output选项卡:
选择“Create HEX file”。
6.如何画总线分支?
在接触到总线前的一个方格,按住ctrl键即可,会发现线斜了。
然后单击鼠标左键即可。
7. 为了总线可靠通信,在总线两端需要放置总线端口。
Keil 与 Proteus 联合仿真设置步骤
一、联调破解补丁的安装
1、找到联调破解补丁“Vdmagdi ”文件,双击打开。
2、 点击下一步“Next ”按钮。
3、根据 Keil 版本选择安装版本,我们选择 uv2 ,点击下一步“Next ”按钮。
4、 点击下一步“Next ”按钮。
4、 点击下一步“Next ”按钮。
四、Keil 属性设置
1、点击 Keil 界面上如图按钮。
2、选择“Debug”窗口。
3、将仿真模式设置为 Proteus 模式,点击“确定”,即可将 Keil 和 Proteus 进行 联合仿真。
5、 点击完成“Finish ”按钮。
联调破解补丁文件就安装成功了。
二、复制文件
在 Proteus 安装文件夹中找到 PROSPICE.DLL 文件, 把此文件复制 Proteus 安装目录的 Proteus 6 Professiona l\BI N 目录下。
三、Proteus 属性设置
点击 Proteus 界面上“Debug”菜单,将“Use Remote Debug Monitor”选项选中。
proteus与keil Cx51的单片机仿真(串行口单工通信2)
proteus 与keil Cx51 的单片机仿真(串行口单工通信2)单片机U1 和U2 串行口均工作于方式3,其中U1 作为接收机,U2 作为发送机,波特率为9600,U1 接收U2 发送数据后,依次送P1、P0 和P2 口进行流水灯显示,编写程序,并用Proteus 仿真。
电路图:U1 程序:#include//包含单片机寄存器的头文件sbit p=PSW;unsigned char receive(void)// 接收一个字节数据{unsigned char dat;while(RI==0);RI=0;//只要接收中断标志位RI 没有被置1,等待,直至接收完(RI1)ACC=SBUF;//将接收缓冲器中的数据存于datif(RB8==P)//奇校验{dat=ACC;return dat;}}void main(void){unsigned char i;TMOD=0x20;//定时器T1 工作于方式2SCON=0xd0;//SCON=1101 0000B,串行口工作方式1,允许接收(REN=1)PCON=0x00;//PCON=0000 0000B,波特率9600TH1=0xfd;TL1=0xfd;//根据规定给定时器T1 赋初值TR1=1;//启动定时器T1REN=1;//允许接收while(1){for(i=0;iU2 程序:#include//包含单片机寄存器的头文件sbit p=PSW;unsigned char code Tab[] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf, 0x7f,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};//流水灯灯控制码,该数据被定义为全局变量void send(unsigned char dat)//向PC 发一个字节数据{ACC=dat;TB8=p;SBUF=dat;while(TI==0);//发送等待TI=0;}void delay(void)//延时约150ms{unsigned char m,n;for(m=0;mtips:感谢大家的阅读,本文由我司收集整编。
基于PROTEUS的PC机与单片机串口通信的仿真
图4
图5
打开自编的串口调试工具,如图图 4 串口 选择一对虚拟串口 C O M 3 、C O M 4 中的 C O M 3 波特率、数据位、停止位等参数的设置见图 5。
用 Proteus 打开仿真电路文件,先设置 AT89C51 的属性,右击选中 A T 8 9 C 5 1 ,再用
图6
左键单击 A T 8 9 C 5 1 ,在出现的属性对话框里 点击 P r o g r a m F i l e 后的打开按钮, 找到自 Wave 或 Keil 源程序编译好的.HEX 文件后单 击打开,然后在 Clock Frequency 后填写 l1. 0 5 9 2 M , 单击 O K . 接下来打开串口 C O M P I N 的属性对话框,在 PhsicalPort 后选择 COM4, 其它参数的设置见图 6 。
科技咨询导报 2007 NO.26
Science and Technology Consulting Herald
地区管理可以将同一地区的用户资料进行汇 总,方便催缴任务管理中对相同地区的用户制 定统一的催缴方式。
催缴方式管理.催缴方式管理包括催缴内 容设定、呼出方式设定、催缴频率设定等。
设定催缴内容: 如: 欢迎辞( 信) 、感谢辞 ( 信) 、礼貌催缴、严厉催缴、停机警告等;
系统通过催缴系统与营帐系统互连,根据 用户的余额、欠费和实时话费,实时更新用户 记录的状态。保证话费预警催缴系统必须使 催缴表中的数据与用户资料中的数据同步。 避免已经缴过费的用户又收到催缴信息。
为方便系统运营者进行方便的催缴管 理。系统提供统一的一个催缴管理设置界面, 可以让管理者根据需要灵活设置催缴任务。 同时, 系统支持对通知, 催缴过程及效果的分 析统计。在欠费用户数据库中,设置用户在通 过一次话费催缴后缴费与否,然后可据此对催 缴效果的统计分析。
Keil软件与Proteus的联合仿真
Keil软件与Proteus的联合仿真在前面我们介绍了Keil软件的软件模拟仿真方法,可以对程序运行时的寄存器值、变量等资源进行监视。
但这种仿真方法仅针对于单片机本身,而不涉及周边电路。
比如,实际的电路中有一些显示器件或其它元件,单片机对它们的操作效果就是没法仿真的。
对Proteus 比较熟悉的读者一定有过在Proteus软件中进行电路仿真的经历。
如果能够将Keil的软件仿真功能与Proteus的电路仿真功能结合在一起,必将进一步给我们的开发带来方便。
这就是Keil与Proteus的联合仿真。
这里就对其仿真方法进行详细的介绍。
1、用Proteus画电路原理图Proteus中提供了非常丰富的元件与部件,可以轻而易举完成电路原理图的编辑。
这时给出一个非常简单的例子,请看下图:使用上一节中编译出来的HEX文件,将其加载到图中的单片机中,启动电路后,程序就会开始运行。
正如上一节中软件仿真的效果,单片机会从P1端口输出一定周期的方波。
图中下方为软件提供的计数器,用来计量单片机输出的脉冲数。
2、Keil软件的设置方法要实现联合仿真,其实就是要实现Keil软件与Proteus的通信,使Keil可以控制Proteus中的电路仿真,同时又可以从中获得相关的状态信息。
要使Keil不再使用自身的软件仿真,而切换到联合仿真模式,需要进行一些设置。
1)拷贝VDM51.dll文件需要将VDM51.dll(在Proteus目录下)文件拷贝到Keil安装目录下的C51\BIN文件夹中。
VDM51.dll是用以进行仿真通信的动态链接库文件。
是仿真的基础,因此它是非常重要的。
2)修改TOOLS.INI文件在上一节我们已经提到过这个配置文件,在Keil软件启动时,会从这个文件中读取配置信息,来更新开发环境中的一些表项。
这里的联合仿真,实质上就等于给Keil加入第三方的仿真接口,从而需要去TOOLS.INI文件进行修改。
在此文件[C51]标签下加入如下信息:TDRV8=BIN\VDM51.DLL("Proteus VSM Monitor-51Driver")这条语句中的TDRV后面的数字要按照实际的序号来填写,("Proteus VSM Monitor-51Driver")中的字符串,会在软件的相应表项中显示出来,以供选择。
基于PROTEUS和KEIL C的单片机仿真技术浅析
基于P R O T E U S和K E I L C的单片机仿真技术浅析姚烨(安徽工业经济职业技术学院,安徽合肥230051)摘要:单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。
在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。
Pr o t eus仿真软件很好的解决了这些问题,它可以象Pr ot el一样画好硬件原理图,并与最流行的K E I L编程软件结合进行编程仿真调试。
关键词:单片机;Pr ot eus;软件;Kei l软件;仿真引言单片机在很多产品中得到广泛的应用。
无论是51系列、A V R、还是PI C系列,他们各有各的特点,学习者也是逐年增加。
但是在学习开发过程中,我们在确定方案后做试验的开支往往比较大,尤其是对于一些学生或者初学者,这就可能成为他们学习的障碍。
若能够将Pr ot eus软件引入学习过程,则可以大大节省时间和开发费。
尤其将此软件用在单片机开发中是一个不错的选择。
我们这里主要讲述的是Pr ot eus软件与K ei l软件的结合与应用。
1PR O T E U S和K E I L C简介Pr ot eua是英国Labcent er公司开发的电路分析与实物仿真软件。
它运行于W i ndow s操作系统上,可以仿真、分析(SPIC E)各种模拟器件和集成电路,该软件的特点是:1.1实现了单片机仿真和SPI C E电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、R S232动态仿真、12C调试器、SPI调试器、键盘和LC D系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
1.2支持主流单片机系统的仿真。
目前支持的单片机类型有:A R N7fLPC2Ixx)、805l/52系列、A V R系列、PI C l0/12/16,18系列,H Cl1系列以及多种外围芯片。
1.3提供软件调试功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
聊城大学本科生毕业论文(设计)题目:基于Proteus和keil的串行通信系统仿真专业代码:交通运输(081201)作者姓名:管国阳学号:单位:汽车与交通工程学院指导教师:2012年5月19日原创性声明本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。
除文中已经注明引用的内容外,论文中不含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。
本人承担本声明的相应责任。
学位论文作者签名:日期指导教师签名: 日期摘要本文主要是基于I2C技术,应用proteus和keil软件,设计虚拟I2C总线串行通信外围扩展。
介绍了I2C串行通信的基本原理,I2C总线设计系统的优点,虚拟I2C总线技术,I2C总线与E2PROM,ADC/DAC,I/O接口等外围器件接线方法,时序,及其寻址方法。
关键词:I2C总线技术;串行通信;I2C总线虚拟技术;串行外围扩AbstractThis article is based on I2C technology, application Proteus keil software, designing virtual I2C bus serial communications peripherals expansion. It has Introduced the basic principles of I2C serial communication, Design of I2C bus system,virtual I2C bus, I2C bus and E2PROM, ADC / DAC, I / O ports and other peripheral device connection method, timing, and addressing methods.Key Words: I2C bus technology; serial communication; I2C bus virtual technology; serial peripheral expansion目录引言 (1)1.I2C总线原理 (1)1.1 数据位的传送 (2)1.2 启始和停止状态 (3)1.3 传输数据 (3)1.4 应答 (4)1.5 数据传输格式 (4)1.6 I2C总线的寻址 (6)2.I2C总线应用 (6)2.1 I2C总线扩展E2PROM (6)2.2 I2C总线扩展I/O口 (8)2.3 I2C总线A/D及D/A转换 (9)2.3.1 PCF8591芯片介绍 (9)2.3.2 器件地址 (9)2.3.3 D/A转换与A/D转换 (10)3.I2C总线通信系统仿真 (12)3.1 I2C总线扩展E2PROM与I/O口 (13)3.2 I2C总线接PCF8591 (14)总结 (16)程序附录 (17)参考文献 (26)致谢 (27)基于Proteus和keil的串行通信系统仿真引言I2C(Inter IC BUS)总线是一种可用于IC器件间连接通信的二进制总线,是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
I2C总线产生于80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。
例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。
可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
它通过串行数据线(SDA)及串行时钟线(SCL)两根线连到总线的器件之间传送信息,并可根据地址识别每个器件。
采用串行总线扩展技术可使系统的硬件设计简化,系统的体积减小,同时系统的更改和扩充变得更为容易。
目前常用的串行扩展总线有:I2C总线、SPI(Serial Peripheral Interface)总线、Microwire总线及单总线(1-Wire BUS)等。
有些单片机(如MCS-51)没有串行总线接口,利用其自身的通用并行线可以模拟多种串行总线时序信号,因此可以充分利用各种串行接口芯片资源。
目前,Philips及其它半导体厂商提供了大量的含有I2C总线的外围接口芯片,I2C总线已成为广泛应用的工业标准之一,有广阔的发展前景。
1.I2C总线原理I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
在CPU与被控IC之间、IC与IC之间进行双向传送。
各种被控制电路均并联在这条总线上,但就像电话机一样只有在拨通各自的号码时才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。
CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。
这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。
I2C总线位传输是由于连接到I2C 总线的器件有不同种类的工艺,逻辑0(低)和逻辑1(高)的电平不是固定的,它由电源VCC的相关电平决定,没传输一个数据位就产生一个时钟脉冲。
I2C总线特征:(1)只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;(2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;(3)它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;(4)串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s;(5)连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。
I2C总线设计系统的优点:(1)功能框图中的功能模块与实际的外围器件对应,可以使系统设计直接由功能框图很快地过渡到系统样机。
(2)外围器件直接挂在I2C总线上,不需设计总线接口;增加或删减系统中的外围器件,不会影响系统总线和其他器件的工作,便于系统功能的改进和升级。
(3)集成在器件中的寻址和数据传输协议可以使系统完全由预设软件来定义。
1.1 数据位的传送图1.1 数据位传送I2C总线上一次传送的数据称为一帧。
由启动信号、若干个数据字节、应答位和停止信号组成。
数据传送的基本单元为一位数据。
时钟线SCL在一个时钟周期内只能传输一位数据。
SCL时钟线为高电平期间内,数据线SDA上的数据必须稳定。
只有当SCL时钟线变为低电平时,数据线SDA的状态才能改变。
1.2 启始和停止状态图1.2 启动与停止起始(START)状态: I2C总线传输过程中,当时钟线SCL为高电平时,数据线SDA由高电平到低电平跳变时,标志I2C总线传输数据开始。
停止(STOP)状态:I2C总线传输过程中,当时钟线SCL为高电平时,数据线SDA由低电平到高电平跳变时,标志着I2C总线传输数据结束。
1.3 传输数据图1.3 传输数据时序波形每次传输的字节数不受限制,每个字节后必须跟一个应答(acknowledge)位。
数据传输时,首先传送最高位,如图所示,如果从机暂时不能接收下一个字节数据(如从机响应内部中断),那么,可以使时钟线SCL保持为低电平,迫使主机处于等待状态;当从机准备就绪后,再释放时钟线SCL,使数据传输继续进行。
1.4 应答图1.4 应答时序I2C协议规定,每个数据发送完之后,应有一个应答位。
应答位的时钟脉冲有主机产生。
应答时钟有效期间,发送设备把数据线SDA置为高电平;接收设备把数据线SDA置为低电平,并且在此期间保持低电平状态,以产生有效的应答信号。
1.5 数据传输格式图1.5 数据传输格式数据传输格式可介绍如下:在起始状态s之后,先发送一个字,它的前7位是R/,0表示发送(写),1表示请求数据(读)。
一从机地址,第8位是数据方向位W次数据传输一般是由主机产生停止状态P而结束。
但如果主机还要继续为其他器件传输数据,它可以产生另一个起始状态和寻址另一个从机,不需要先产生一个停止状态。
在这种传输方式中,就可能有读写方式的组合。
在I2C总线启动或应答信号后的第1~8个时钟脉冲,对应一个字节的8位数据传送。
SCL高电平期间,数据串行传送;低电平期间为数据准备,允许总线上数据电平变化I2C总线启动后,传送的字节数一般没有限制,只要求每传送一个字节后,对方回应一个应答位。
发送时,数据由高位开始依次发送。
传送完一个字节,可以通过对时钟线SCL的控制使传送暂停。
数据传输的字节格式:发送到SDA线上的每个字节必须为8位,每次传输可以发送的字节数量不受限制。
每个字节后必须跟一个响应位,首先传输的是数据的最高位,如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。
在I2C总线上,传输数据的数据格式:(1)主机发送器发送到从机接收器(数据传输的方向不变化)图1.6 主机写数据格式(2)在第一个字节后主机立即读从机图1.7 主机读数据格式(3)组合格式图1.8 读写组合格式1.6 I 2C 总线的寻址每个连接在I 2C 总线的器件,都具有一个唯一确定的地址。
在任何时刻,I 2C 总线上只能有一个主机对总线实行控制权,分时地实现点对点的数据传送。
器件(从机)的地址由7位地址位和一个方向位组成,是数据传输时起始状态S 之后第1个字节。
A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0WR/图1.9 寻址格式从机地址由固定位和可编程位组成。
固定位是器件出厂时给定的,用户不能自行设置,它是器件的标识码。
当主机发送了第1个字节后,系统中的每个从机(器件)都在起始状态S 之后把高7位与本机的地址比较,如果与本机地址一样,则该从机被主机选中,是接收数据还是发送数据由 W R/ 确定。
当系统中使用了多个相同器件时,从机地址中的可编程位,使这些器件具有不同的地址;因此这些可编程位也规定了I 2C 总线上同类芯片的最大个数。
常见I 2C 器件的标识码如下表12.I 2C 总线应用2.1 I 2C 总线扩展E 2PROMAT24CXX 系列串行E 2PROM 是Atme1公司生产的具有I 2C 总线接口功能的串行E2PROM 器件,有掉电保护功能,AT24C02容量为256B 。