利用红外线实现单片机间的数据通信
上传时间: 2013-11-05
上传用户:Pzj
在此介绍了一种基于单片机和W5100组合实现以太网通信的设计方法。采用以TCPdP协议为基础的网络解决方案。W5100是嵌入式以太网硬件协议栈芯片,它同时集TCP/IP协议栈、以太网MAC和PHY于一体,支持多种网络协议。阐述了其具体的使用方法、接口方式、时序,以及程序实现等。
上传时间: 2014-12-26
上传用户:helmos
在通信系统中从多检错手段中,CRC是非常著名的一种。CRC-全称循环冗余校验是对数据块校验的一种高效的差错控制方法。在单片机通信系统设计过程中,当传输距离较远或是采用无线传输时,为了保证高效而无错地传输数据,必须对数据进行检错,从性能和成本上考虑,采用CRC校验算法远优于奇遇校验和算术和校验等方法。CRC的计算有两种方法,一种是采用专门的硬件,另一种就是软件方法。对于小型低成本的51单片机系统而言,常常需要在没有相关硬件的支持下实现CRC校验,也即通过软件来完成CRC计算(CRC算法)。 这里给出了3种算法,从性能和成本上考虑,它们的适用范围也稍有不同:第一种适用于单片机程序存储空间较小但CRC计算速度要求不高的情况;第二种适用于程序存储空间较大且CRC计算速度要求较高的情况;最后一种适用于程序存储空间不太大,且CRC计算速度要求适中的情况。
上传时间: 2014-12-26
上传用户:dongbaobao
摘要:在工业自动控制中,单片机与PLC的远距离通信是一个难点与热点问题。本文设计了S7-200PLC与PIC16F877单片机实现远距离串行通信的硬件连接和软件实现方法。本文采用了MAX485E芯片进行TTL电平与差分信号之间的转换,使用RS-485端口和半双工模式进行通信。最后通过异或校验码对接收到的数据进行核对,以进一步提高数据传输的可靠性。实验证明,该方法成功实现了单片机与PLC的远距离通信,并且具有开发简单,抗干扰能力强的特点,具有一定实用价值。关键词:单片机 PLC 串行通信
上传时间: 2014-12-27
上传用户:YUANQINHUI
摘要:本文介绍了TCP/IP协议、RTL8029的结构特性以及PCI总线协议的特点,给出了一种用P89C51RD2单片机控制以太网接口芯片RTL80内实现以太网通信的设计方案,阐述了用EMP7128型CPLD实现单片机接口与PCI接口之间的转换,以及TCP/IP协议的实砚关键词:RTL8029,PCI总线,TCP/IP
上传时间: 2013-11-14
上传用户:thinode
介绍一种运用PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。关键词 异步串行通信 发送与接收 VB4 Win95 串口查询法 1 前言 美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。 但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间的可靠数据传输。有的PIC16单片机内并没有提供串行口,所以串行通信必须通过自己设计的硬件电路和通信软件来实现。 下面介绍用查询法实现异步串行通讯的方法。同时给出了用PIC16F84单片机的两个I/O口模拟2线串行口的硬件接口电路、程序流程框图、单片机内通信程序以及微机内的通信程序等。2 硬件实现方法与电路 PIC16F84的程序存储器由1K×14的闪速(flash)存储器构成,它只有13条I/O口,1个定时器,为了尽量节省单片机的软硬件资源,采用下述异步串行通信的实现方法。 如图1所示,PIC16F84在4MHz时钟下,采用半双工方式,可实现9600波特率的异步串行数据通信,1位停止位,8位数据位,无校验位。接收和发送以低位在先(一般模式),采用软件延时。为节省篇幅,单片机内的通信程序中未提供任何握手协议,用户可根据自己的需要在软件中加入握手方式。
上传时间: 2014-12-27
上传用户:偷心的海盗
本文采用 altera 公司cyclone 系列芯片ep1c12 实现了与ts101/ts201 两种芯片的链路口的双工通信,并给出了具体的设计实现方法。其中ts101 的设计已经成功应用于某信号处理机中。
上传时间: 2014-01-12
上传用户:ZJX5201314
LPC900 系列单片机由于其功能强大,性能稳定一直深受用户欢迎。P89LPC901 是LPC900 系列单片机的一员,性价比极高,为SO8/DIP8 封装,内含1KB FLASH,支持ICP,且具有6 个I/O 口、4 个TIMER、1 路PWM 输出、模拟比较器、键盘中断等众多功能部件。本文利用LPC901 单片机的强大功能实现ADC/DAC,并且通过模拟UART 与PC 机进行通信;通过PC 端软件可以显示DA 转换结果及控制DA 输出电压。
上传时间: 2013-11-06
上传用户:shus521
PC机之间串口通信的实现一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下:(1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据;(2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据;(3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A异步工作方式:如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号通知CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案根据系统设计的要求,对系统设计的总体方案进行论证分析如下:1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。4:显示和键盘输入均使用DOS功能调用来实现。设计思路框图,如下图所示: 六、硬件设计硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。1.8位开关量数据获取电路该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。2.串行通信电路串行通信电路本设计中8253主要为8251充当频率发生器,接线如下图所示。
上传时间: 2013-12-19
上传用户:小火车啦啦啦
在点对多点主从通信系统中,需要合适的接口形式和通信协议实现主站与各从站的信息交换。RS -485 接口是适合这种需求的一种标准接口形式。当选择主从多点同步通信方式时,工作过程与帧格式符合HDLC/SDLC协议。介绍了采用VHDL 语言在FPGA 上实现的以HDLC/ SDLC 协议控制为基础的RS - 485 通信接口芯片。实验表明,这种接口芯片操作简单、体积小、功耗低、可靠性高,极具实用价值。
上传时间: 2013-11-02
上传用户:zhf01y