1. 51单片机异步通信
PC机与单片机之间通常采用2种通信方式:并行通信和串行通信。并行通信是指将待发送数据的各位同时传送,串行通信则将数据一位一位地按顺序传送。并行通信虽然传输效率高,由于所需硬件设备复杂,不适于长距离通信,所以一般只适用于要求实时性强,传送速率较高的控制系统中,实用面较窄;相比之下,串行通信简单易实现,传输距离较长,所以已被广泛应用于各种工控系统中。
串行通信分为同步通信和异步通信2种方式。同步通信是指通过在每个数据块开始时的同步字符来实现收/发双方同步的一种数据传输方法,常用于信息量大,速度要求高的场合;异步通信则规定了标准的字符数据传输格式,即每一帧信息由起始位、数据位、奇偶校验位和停止位组成。由于有冗余位,所以传送效率不高,常用于信息量不大,速度较低的场合。在计算机测控系统中,由于串行接口的标准化,一般采用异步串行通信方式,以提高其通用性。由于各种接口的机械和电器特性有所差异,串行通信分为近程通信和远程通信。
2. 51单片机异步通信特点
51单片机的种类的种类非常多,主要有:
1,Intel(英特尔)的:80C31、80C51、87C51,80C32、80C52、87C52等;
2,ATMEL(艾德梅尔)的:89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
3,Philips(飞利浦)、华邦、Dallas(拉达斯)、Siemens(西门子)等公司的许多产品;
4,STC(国产宏晶)单片机:89c51、89c52、89c516、90c516等众多品牌。
关于51单片机的功能;
1,8位CPU·4kbytes程序存储器(ROM) (52为8K);
2,128bytes的数据存储器(RAM) (52有256bytes的RAM);
3,32条I/O口线·111条指令,大部分为单字节指令;
4,21个专用寄存器;
5,2个可编程定时/计数器·5个中断源,2个优先级(52有6个);
6,一个全双工串行通信口;
7,外部数据存储器寻址空间为64kB;
8,外部程序存储器寻址空间为64kB;
9,逻辑操作位寻址功能·双列直插40PinDIP封装;
10,单一+5V电源供电;
11,CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
12,RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
13,ROM:用以存放程序、一些原始数据和表格;
14,I/O口:四个8位并行I/O口,既可用作输入,也可用作输出
15,T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
16,五个中断源的中断控制系统;
17,一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
18,片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。
关于51单片机;
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
3. 51单片机异步通信口为
异步通信(UART)指两个互不同步的设备通过计时机制或其他技术进行数据传输。异步通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。基本上,发送方可以随时传输数据,而接收方必须在信息到达时准备好接收。相反,同步传输是一个精确同步的位流,其中字符的起始是由计时机制来定位的。
异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
4. 51单片机双机通讯
最常用也是最好用的就是串口了。建立一个通信协议,以此编写上位机软件和单片机的程序,根据这个协议进行通信,采集数据或者控制单片机都可以实现。使用VISA写入读取等很容易就可以实现。其实难点并不在通信功能实现上,而是协议的制定,主要在单片机上。上位机使用LabVIEW很容易。
5. 51单片机异步串行通信
串行异步通信:串行通信的数据或字符是一帧一帧地传送,在异步通信中,一帧数据先用一个起始位“0”表示字符的开始,然后是5~8位数据,即该字符的代码,规定低位在前、高位在后,接下来是奇偶校验码,最后一个停止位“1”表示字符结束。 特点:成本低,硬件方便,适合远距离通信,传输速度低。
51的UART可以与电脑或其他单片机通信 帧格式有起始位,数据位,奇偶校验位,停止位。 没有及时回答,希望有用!
6. 51单片机网络通信
你这类似modbus协议,发送8个字节,这程序好写的。先声明一个数组,8个元素,依次对应一帧数据的8个字节,按协议先写成每个元素的初始数。
发送时,地址字节重写入需要发送的地址,功能码,数据码需要变化就重写入数组,然后循环计算前面字节的和,作为校验和写入最后的元素内。好啦,要发送的数据帧准备完,就可以循环发送这个数组了,就是发送一帧数据了。
下位机接收数据也采用类似方法,只是先接收,后判断处理一帧数据。
7. 51单片机通信程序
地线+一个MCU的TXD和另一个MCU的RXD,共两根线
8. 51单片机异步通信程序
一、STC51单片机外部引脚介绍
1、电源和时钟引脚。如Vcc、GND、XTAL1、XTAL2
2、编程控制引脚。如RST(复位)。
3、I/O口引脚。
Vcc、GND——单片机电源引脚,不同的型号单片机接入对应电压电源,常压为+5V,低压为+3.3V
XTAL1、XTAL2——外接时钟引脚。XTAL1为片内震荡电路的输入端,XTAL2为片内震荡电路的输出端。8051的时钟有两种方式,一种是片内时钟震荡方式,需要在这两个脚外接石英晶体和震荡电容,震荡电容的值一般取10p~30p;另一种是外部时钟方式,将XTAL1接地,外部时钟信号从XTAL2脚输入。
P0口——双向8位I/O口,每个口可独立控制,没有上拉电阻,为高阻态,所以不能正常的输出高低电平,因此该组IO口在使用时务必要接上拉电阻,一般选10千欧。
P1口——准双向8位IO口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向IO口。之所以称它为准双向,是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才可正确的读出外部信号,也就是要使其先有个“准”备的过程,所以说才是准双向接口。
P3口——与P1口类似,作为第二功能使用时,和引脚有着各种功能的定义,要查手册。
二、电平特性
单片机的输入输出电平为TTL电平,其中高电平为+5V,低电平为0V。计算机串口为RS-232电平,其中高电平为-12V,低电平为+12V。注意,RS-232为负逻辑电平。
三、单片机的几个周期介绍
1、时钟周期:也称为震荡周期,定义为时钟频率的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,如12Mhz的晶振,它的时钟周期就是1/12us),它是单片机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成这一个最基本的动作
2、状态周期:它是时钟周期的两倍
3、机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读写等。它由12个时钟周期(6个状态周期)组成。
4、指令周期:他是指CPU执行一条指令所需要的时间。一般一个指令周期含有1~4个机器周期。
四、移位操作
1、左移。C51操作符为“<<”,最低位补零
2、右移。同上
3、循环左移,最高位移入最低位,其他依次向左移一位。
五、数码管显示原理
电路方面有共阴极和共阳极之分,让数码管显示不同的数字就是先定义一个保存16进制数的数组,然后在程序中把这个16进制数赋值给相应的引脚。
六、中断概念
1、51单片机一共有6个中断源
INT0——外部中断0
INT1——外部中断1
T0/1/2——计时器/定时器中断,由计数器满回零引起。
T1/R1——串行口中断,串行端完成一帧字符发送/接收后引起。
七、单片机的定时器中断
51单片机内部共有两个16位可编程的定时器/计数器,即定时器T0和定时器T1。它们既有定时功能又有计数功能。定时器/计数器的实质是加1计数器(16位),由高8位和底8位两个寄存器组成,TMOD寄存器是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0,T1的启动和停止以及设置溢出标志。
加一计数器的输入计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;另一个是T0或T1引脚输入的外部脉冲源。如果定时器/计数器工作在定时模式,则表示时间已到;如果工作在计数模式,则表示计数值已经满了。
定时器初始化过程如下:
①对TMOD赋值,以确定T0和T1的工作方式
②计算初值,并将初值写入TH0、TL0或TH1、TL1中。
③中断方式时,则对IE赋值,开放中断。
④使TR0或TR1置位,启动定时器/计数器定时或计数
八、并行与串行基本通信方式
1、并行通信方式:将数据字节的各位用多条数据线同时进行传输,每位数据都需要一条传输线。
2、串行通信方式:串行通信是将数据字节分成一位一位的形式在一条传输线上逐个的传输,此时只需要一条数据线
3、异步串行通信方式:指通信的接收与发送设备使用各自的时钟控制数据的发送和接收过程。其特点是:不要求发送双方时钟严格一致,容易实现,设备开销小,但每个字符要附加2~3位,用于起始位、校验位、停止位,各帧之间还有间隔,因此传输效率不高。在单片机与单片机之间,单片机与计算机之间通信时,通常采用异步串行通信方式。
4、同步串行通信方式:同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方完全达到同步。
九、RS-232电平与TTL电平的转换
一般使用MAX232实现电平转换
十、波特率与定时器初值的关系
1、波特率:单片机或计算机在串口通信时的速率用波特率表示,它定义为每秒传输二进制代码的位数,即1波特 = 1位/秒,单位是bps。
2、波特率的计算:在串行通信中,收、发双方对发送或接受数据的速率有约定。通过编程可对单片机串行口设定四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。
3、为什么51系列单片机常用11.0592MHz的晶振设计?常用波特率通常按规范取1200,2400,4800,9600···,若采用晶振12Mhz或6Mhz,计算得出的T1定时初值将不是一个整数,这样通信时便会产生积累误差。
十一、串行口结构描述
1、串行口结构:51单片机的串行口是一个可编程全双工的通信接口,具有UART(通用异步收发器)的全部功能,能同时进行数据的发送和接收。串行口主要由两个独立的串行数据缓冲寄存器SBUF(一个发送缓冲寄存器,一个接收缓冲寄存器)和发送控制器、接收控制器、输入移位寄存器以及若干控制门电路组成。执行写指令时,访问串行发送寄存器;执行读指令时,访问串行接收寄存器。与串口紧密相关的一个特殊功能寄存器是串行口控制寄存器SCON,它用来设定串行口的工作方式,接收/发送控制以及设置状态标志位等。
2、串口方式简介:重点介绍方式1:。方式1是十位数据的异步通信口,其中1为起始位,8为数据位,1位停止位。TXD为数据发送引脚,RXD为数据接收引脚。其传输的波特率是可变的,对于51单片机,波特率由定时器1的溢出率决定。通常在做单片机与单片机串口通信、单片机与计算机串口通信、计算机与计算机串口通信时,基本都选择方式1。
3、在具体操作串行口之前,需要对单片机的一些与串口有关的特殊功能寄存器进行初始化设置,主要是设置产生波特率的定时器1、串行口控制和中断控制。①确定T1工作方式(编程TMOD寄存器)②计算T1的初值,装载TH1,TL1③启动T1(编程TCON寄存器的TR1位)④确定串行口工作方式(编程SCON寄存器)⑤串行口工作在中断方式时,要进行中断设置(编程IE、IP寄存器)
十二、I2C总线概述
1、I2C具有接线口少,控制简单,器件封装形式小,通信速率高等优点。I2C总线由数据线SDA和时钟线SCL两条线构成通信线路,即可发送数据,也可接受数据。
2、单片机模拟I2C总线通信,因为有许多单片机没有I2C总线接口,如51单片机,不过我们可以在单片机应用系统中通过软件模拟I2C总线的工作时序,在使用时,只需要正确调用各个函数就能方便地扩展I2C总线接口器件。
3、单片机在模拟I2C通信时,需要写出如下几个关键部分的程序:总线的初始化、启动信号、应答信号、停止信号、写一个字节、读一个字节。
十三、单片机空闲与掉电模式
1、空闲模式:除CPU处于休眠状态之外,其余硬件全部处于活动状态。
2、掉电模式:也成为休眠模式,外部晶振停振,CPU,定时器、串行口全部停止工作,只有外部中断继续工作。
十四、看门狗概念
在由单片机构成的系统中,由于单片机的工作有可能受到外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗。
其工作过程如下:看门狗芯片和单片机的一个IO引脚相连,该IO引脚通过单片机程序控制,使他定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散的放在单片机其他控制语句中间的,一旦单片机由于干扰造成的程序跑飞而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时看门狗电路会由于得不到单片机送来的信号,便对它与单片机复位引脚相连接的引脚送一个复位信号,使单片机复位。
十五、SPI接口
1. 概述
SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。现在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。
优点:
支持全双工,push-pull的驱动性能相比open-drain信号完整性更好;
支持高速(100MHz以上);
协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;
硬件连接简单;
缺点:
相比IIC多两根线;
没有寻址机制,只能靠片选选择不同设备;
没有从设备接受ACK,主设备对于发送成功与否不得而知;
典型应用只支持单主控;
相比RS232 RS485和CAN总线,SPI传输距离短;
2. 硬件结构
SPI总线定义两个及以上设备间的数据通信,提供时钟的设备为主设备Master,接收时钟的设备为从设备Slave;
信号定义如下:
SCK : Serial Clock 串行时钟
MOSI : Master Output, Slave Input 主发从收信号
MISO : Master Input, Slave Output 主收从发信号
SS/CS : Slave Select 片选信号
9. 51单片机之间的通信
单片机多机通信很复杂的,给你解释下原理,其他的自己到网上去搜下资料,看下程序就可以理解了的。我们学的是51单片机,我就给你说51单片机的通信原理哈! 51单片机具有多机通信的功能,可实现一台主机于多台从机的通信。 多机通信充分利用了单片机内部的多机通信控制位SM2。当从机SM2=1时,从机只接收主机发出的地址帧(第九位为1),对数据帧(第九位为0)不予理睬;而当SM2=0时,可接收主机发送过来的所有信息。 多机通信的过程如下: (1)所有从机SM2均置1,处于只接收地址帧状态。 (2)主机先发送一个地址帧,其中前8位数据表示地址,第9位为1表示该帧为地址帧。 (3)所有从机接收到地址帧后,进行中断处理,把接收到的地址与自身地址相比较。地址相符时将SM2清成0,脱离多机状态,地址不相符的从机不作任何处理,即保持SM2=1。 (4)地址相符的从机SM2=0,可以接收到主机随后发来的信息,即主机发送的所有信息。收到信息TB8=0,则表示是数据帧,而对于地址不符的从机SM2=1,收到信息TB8=0,则不予理睬,这样就实现了主机与地址相符的从机之间的双机通信。 (5)被寻址的从机通信结束后置SM2=1,恢复多机通信系统原有的状态。