⑴ 单片机的发展分为几个阶段
可以把单片机的发展划分为四个阶段:
第一阶段(1974年开始):单片机初级阶段。因工艺限制,单片机采用双片的形式,而且功能比较简单,如仙童公司的F8实际上只包括了8位CPU、64字节RAM和2个并行I/O口,因此,还需加一块3851(由1K ROM、定时/计数器和2个并行I/O口构成)才能组成一台完整微型计算机。
第二阶段(1976年开始):低性能单片机阶段。以Intel 公司的MCS-48为列,采用了单片结构。即在一块芯片内就含有8位CPU、并行I/O口、8位定时/计数器、RAM和ROM等,但无串行I/O口,中断处理也比较简单,片内RAM和ROM容量较小,且寻址范围有限,一般都不大于4K字节。
第三阶段(1978年开始):高性能单片机阶段。这一类单片机带有串行I/O,有多极中断处理,定时/计数器为16位,片内的RAM和ROM相对增大,且寻址范围可达64K字节,有的片内还带有A/D转换接口。这类单片机有Intel 公司的MCS-51,Motorola公司的6801和Zilog公司Z8等。由于这类单片机应用的领域较广,目前还在不断改进和发展着。
第四阶段(1982年开始):16位单片机阶段。16位单片机除了CPU位16位外,RAM和ROM容量进一步增大,实时处理的能力更强。如Intel 公司的MCS-96,其集成度已为120000管子/片,主振幅12MHZ,片内RAM为232字节,ROM为8K字节,中断处理为8级,而且片内带有多通道10位A/D转换和高速输入/输出部件(HSIO),实时处理的能力很强。
⑵ 单片机与可编程序控制器的区别
要搞清楚单片机与PLC的异同,首先得明确什幺是单片机,什幺是PLC。对此,我们简要回顾一下计算机的发展历程也许有帮助,按计算机专家的原始定义,计算机系统由五大部分--即控制单元(CU)、算术运算单元(ALU)、存储器(Memory)、输入设备(Input)、输出设备(Output)组成。早期计算机(晶体管的或集成电路的,不包括电子管的)的CU或ALU由一块甚至多块电路板组成,CU和ALU是分离的,随着集成度的提高,CU和ALU合在一块就组成了中央处理单元(CPU),接着将CPU集成到单块集成电路中就产生MPU或MCU,出现了如Intel4004、8008、8080,8085、8086、8088、Z80等MPU。此后,MPU的发展产生了两条分支,一支往高性能、高速度、大容量方向发展,典型芯片如:Intel80186、286、386、486、586、P2、P3、P4等,速度从4.7MHz到现在的3.2GHz。另一支则往多功能方向发展,将存储器(ROM、PROM、EPROM、EEPROM、FLASH ROM、SRAM等)、输入/出接口(Timer/Counter、PWM、ADC/DAC、UART、IIC、SPI、RTC、PCA、FPGA等)全部集成在一块集成电路中而成为SOC。依愚之见,这就是当今广泛应用的单片计算机,简称单片机。这一分支可谓品种繁多,位宽从8位到32位,引脚数从6个到几百个,工作频率从几十KHz到几百MHz,体系结构既有CISC也有RISC,数不胜数。常用的有MCS-51系列、MCS-96系列、PIC系列、AVR系列、ARM7/9系列、TMS320系列、MSP430系列、MOTOROLA众多的单片机等等。
至此,我们可以将计算机核心处理器的发展划分为三个阶段:板级的CPU、芯片级的MPU和SOC。
PLC是什幺呢?PLC的全称是Programmable Logic Controller(可编程序控制器),刚引入国内时,曾简称为PC。后来,IBM-PC获得广泛应用,PC成了个人电脑的代名词,才改为PLC。PLC还有另外的一个意思是Power Line Carrier(电力线载波)。
PLC是一种产品,但这种产品有点特别,在没有下载控制程序之前,它不具备任何控制功能,也就是说,没有应用程序的PLC是毫无用处的。PLC实际上是专为工业环境使用的通用控制平台,它必须进行二次开发才能完成最终控制目的,因此,它还需程序编辑/调试软件的配合。
PLC是智能产品,它的核心控制器采用什幺方案呢?板级的CPU肯定是不能考虑的,MPU也要好几块集成电路构成,以Z80 MPU为例,需要Z80MPU、PIO、CTC、SIO、EPROM、SRAM等,把这些集成电路安装在一块电路板上,这就是早期的单板计算机。这种方案体积太大,不适合现代要求。由此可见,PLC的核心控制器采用单片机是最合适的。
由此可得出结论:
1, PLC是建立在单片机之上的产品,单片机是一种集成电路,两者不具有可比性。
2, 单片机可以构成各种各样的应用系统,从微型、小型到中型、大型都可,PLC是单片机应用系统的一个特例。
3, 不同厂家的PLC有相同的工作原理,类似的功能和指标,有一定的互换性,质量有保证,编程软件正朝标准化方向迈进。这正是PLC获得广泛应用的基础。而单片机应用系统则是八仙过海,各显神通,功能千差万别,质量参差不齐,学习、使用和维护都很困难。
最后,从工程的角度,谈谈PLC与单片机系统的选用;
1, 对单项工程或重复数极少的项目,采用PLC方案是明智、快捷的途径,成功率高,可靠性好,手尾少,但成本较高。
2,对于量大的配套项目,采用单片机系统具有成本低、效益高的优点,但这要有相当的研发力量和行业经验才能使系统稳定、可靠地运行。最好的方法是单片机系统嵌入PLC的功能,这样可大大简化单片机系统的研制时间,性能得到保障,效益也就有保证。
⑶ 单片机如何只执行一次命令
1、你滴,是神马单片机?这么牛,能直接发送汉字?还能只要一个地址传递就能将英汉混合字符串分存成单字节byte(s[i])数组?
如果单片机不能,那么是你滴编译系统能?
2、你滴单片机串口收/发中断是能分开设置是否中断滴么?看你程序收用中断发用查询,51不能分设吧?
3、在没有fifo的单片机里,一般串口收/发完成1个字节会中断一次,看你程序貌似是发完一串字符才置位ti,这样用当然是不对滴。正确的方法是发完一个字节中断后再发下一个字节(有点烦是吧^_^);
试试下面的方式调试:
unsigned
char
s[]={0,1,2,3,4,5,6,7,8,9};
unsigned
char
len
=
10;
void
sio_int()
interrupt
4
//串口中断函数
{
if
(ri
)
{
ri
=
0;
……
}
if(ti)
{
ti
=
0;
if(len)
{
sbuf
=
s[10
-
len
];
len--;
}
}
}
⑷ 编写程序实现用P1.1和1.2仿真SIO的工作方式0(同步移位寄存器工作方式)的运行结果。
个字形码,就需要从高位到低位依次向移位寄存器输出8个比特。移位寄存器的数据线和时钟线分别接到单片机的P4.5和P4.4管脚,可以使用MCS-51里面的位操作指令进行输出。连续输出3个字形,24个bit之后,欲显示的字形将稳定地显示在数码管上,程序可以转而执行其他工作。七段字形的编码方式需要通过实验获得。这些编码作为程序中的常数,使用DB命令存放。在程序
⑸ 单片机串口死机,发送一个命令进去执行一次就没反应了,必须重启单片机,这是怎么回事
1、你滴,是神马单片机?这么牛,能直接发送汉字?还能只要一个地址传递就能将英汉混合字符串分存成单字节Byte(s[i])数组? 如果单片机不能,那么是你滴编译系统能?
2、你滴单片机串口收/发中断是能分开设置是否中断滴么?看你程序收用中断发用查询,51不能分设吧?
3、在没有FIFO的单片机里,一般串口收/发完成1个字节会中断一次,看你程序貌似是发完一串字符才置位TI,这样用当然是不对滴。正确的方法是发完一个字节中断后再发下一个字节(有点烦是吧^_^); 试试下面的方式调试:
unsigned char s[]={0,1,2,3,4,5,6,7,8,9};
unsigned char len = 10;
void sio_int() interrupt 4 //串口中断函数
{
if (RI )
{
RI = 0;
……
}
if(TI)
{
TI = 0;
if(len)
{
SBUF = s[10 - len ];
len--;
}
}
}
⑹ 我想知道spi口和sio口的区别
简单介绍 SPI 接口与 SN 的 串行收发器 SIO
SPI接口是一种全双工、高速同步通讯总线,有两种操作模式:主机模式和从机模式。
无论哪种模式,均支持支持高达 3Mbps 以上的通讯速度。
SPI接口有4个引脚: MISO, MOSI , SPICLK和/SS:
SPICLK, MOSI 和 MISO 通常将两个或多个SPI设备连接在一起。数据从主机到从机使用MOSI 引脚(Master Out / Slave In主出从入) , 从从机到主机使用MISO 引脚 (Master In / Slave Out主入从出)。
SPICLK 信号在主机模式时输出,从机模式时输入。
典型 SPI 配置:
对于主机: 任何端口,包括/SS,都可以用来控制从机的/SS片选引脚。
对于从机:/SS引脚决定该设备是否被选中。
SPI 单主从机配置:
双驱动器,可以是主机或从机:
两个彼此连接的设备,均可成为主机或从机,没有SPI操作时,都可以通过设置 /SS双向口配置成主机。任何一方要发起传输,它可以配置/SS输出并强行拉低,使另一个设备发生“被改成从机模式”事件。 (称为:/SS引脚模式改变)
SPI 双驱动器,可以是主机或从机配置:
单主机和多从机
对于主机: 任何端口,包括/SS,都可以用来控制从机的/SS片选引脚。
对于所有从机:/SS引脚决定该设备是否被选中。
SPI 单主机和多从机配置:
从机注意事项:
/SS引脚可以在每次成功传输之间保持低电平(可以一直拉低),这种格式有时非常适合单固定主从机配置应用。
主机注意事项:
SPI通讯中,传输总是由主机发起。若 SPI使能并作为主机运行,写入SPI数据寄存器数据即可开始SPI时钟生成器和数据传输器,大约半个到1个SPI位时间后写入的数据开始出现在MOSI线上。
在开始传输之前,主机通过拉低相应/SS引脚选择一个从机作为当前从机。写入数据寄存器德数据从主机MOSI引脚移出,同时从从机MISO移入主机MISO的数据也写入到主机的数据寄存器中。
移出1字节后,SPI时钟发生器停止,置传输完成标志,若SPI中断使能则生成一个中断。主机CPU和从机CPU中的两个移位寄存器可以看成一个分开的16位环形移位寄存器,数据从主机移到从机同时数据也从从机移到主机。
这意味着,在一次传输过程中,主从机数据进行了交换。
/SS引脚的模式改变:
若 SPI使能在主机模式,这种情况下,其他主机可以将/SS引脚拉低来选择该设备为从机并开始发送数据过来。为避免总线冲突,该SPI设备成为一个从机,MOSI 和SPICLK引脚被强制为输入端口,MISO成为输出端口,SPI标志置位,若此时SPI中断使能,则还会产生一个SPI中断。用户软件必须经常去检查MSTR位,若该位被从机选择清零而用户又想要继续保持该SPI主机模式,用户必须再次设置相关工作在主机模式的位,否则,将处于从机模式。
数据冲突:
SPI在发送方向是单缓冲的,而在接收方向是双缓冲的。发送数据直到上一次数据发送完成后才能写入移位寄存器,数据发送过程中写入数据寄存器就会使冲突标志置位来表明数据冲突。这种情况下,正在发送的数据继续发送,而刚写入数据寄存器造成冲突的数据就会丢失。
写冲突对于主从机都有可能发生,对于主机,这种现象并不多见,因为主机控制着数据的传送;然而对于从机,由于没有控制权,因此很可能会发生。
对于数据接收,接收的数据被传输到一个并行读数据缓冲器中,以便于移位寄存器再能接收新的字节。然而,接收的数据必须在下个字节完全移入前从数据寄存器读出,否则前一个数据就会丢失。
冲突标志使用软件来清零。
SPI 时钟频率选择:
SPI时钟频率选择(主机模式)使用相关寄存器来设置 SPI 串行时钟速率,可以有多种选择,例如:93.75KHz 到 3 MHz.(与系统频率有关.)
数据模式:
可以设定数据采样和改变时的时钟沿。时钟极性等等.
提示:
SN 单片机里,好像没有看见这种内部配置,但是有一个 SIO 串行接口.简单说一下如下:
SN 单片机的串行收发器 SIO
------------留意:其使用三线!
串行输入/输出SIO收发器允许高速同步数据在SN8P2700A系列单片机和外围装置之间或者几个SN8P2700A装置之间传送。外围装置可以是:串行EEPROMs,移位寄存器,显示驱动芯片等。
SIO特性包括:
● 全双工 3 线同步传输;
● TX/RX 模式或单向TX 模式;
● 主控模式(SCK 为时钟输出)或从动模式(SCK 为时钟输入);
●LSB 数据优先传送;
● 在多路从动装置应用时,SO(P5.2)是可编程漏极开路输出引脚;
● 主控模式时可设置数据传输速率;
● 传送结束时产生SIO 中断。
寄存器SIOM用来控制SIO功能,如发送/接收、时钟速率、触发边沿等。通过设置寄存器SIOM的SENB和START位,
SIO就可自动发送和接收8位数据。SIOB是一个8位数据缓存器,用于存储发送/接收的数据,SIOC和SIOR具有自动装载功能,能够产生SIO的时钟源。3位的I/O计数器可以监控SIO的操作,每接收/发送8位数据后,会产生一个中断请求。一次发送或接收结束后,SIO电路将自动禁止,可以通过重新编程SIOM寄存器启动下一次的数据传输。
系统发送时使用一次缓存,而在接收时使用两次缓存。也就是说在整个移位周期结束前,新的数据不能写入SIOB数据寄存器中;而在接收数据时,在新的数据完全移入前,必须从SIOB数据寄存器中读出接收的数据,否则,前一个数据将会丢失。下图是一个典型的单片机之间的数据通信。由主控单片机发送SCK启动数据传输,两个单片机必须有相同的时钟沿触发方式,并将在同一时刻发送和接收数据。
注:在任何模式下,SIO总是在SCK时钟前沿发送数据,在SCK时钟后沿接收数据。
.......详细信息请查阅其芯片手册!
这种串行接口方式很多,功能大同小异,还是通过实践决定自己熟识的来使用比较方便.
仅供参考!
⑺ 单片机和可编程控制器有什么区别
嘿嘿 还是俺来帮你回答吧
1 单片机是面向工业的微处理器,它是将CPU、RAM、ROM、定时计数器、I/O接口电路集成在一块芯片上,是一种单片计算机。
因为体积小,可以植入任何仪器仪表当中或设备中,被广泛作为嵌入式控制器使用。
一般使用汇编语言或高级语言编程。
2 可编程控制器是作为工业设备的通用控制器,代替原来的继电器-接触器的传统的硬件连接控制方式。
它采用计算机软件的软连接技术来替代继电器-接触器的硬件连接,为了工程师编程方便一般采用图形编程方式,即使用梯形图作为编程语言。
呵呵 满意就给加分喽
⑻ 51单片机程序求详细注释 高分。。。。。。。。
你贴的代码大致是某个结合红外功能的自动控制设备的初始化定义部分,完全没有涉及到设备的控制逻辑。因为所有的代码几乎都是在定义变量、常量的初始值。所以这里应该没有人能给出你另一半。
给你个建议:
1、语法方面的注解我看也不用了,你的代码几乎都是C语言的变量、常量定义,如果你是连这个都不懂的新手,建议你去买本C语言的书来看看,了解下基本的C语法。
2、这个程序后续部分的核心不在你贴出的代码,而主要在于红外设备的控制协议,包括你对该设备运行特性的了解,以及你要完成的控制逻辑。 当然了,这首先取决于你对C语言足够熟悉。
⑼ PLC与单片机有什么区别功能有什么区别
1.PLC是建立在单片机之上的产品,单片机是一种集成电路,两者不具有可比性。
2.单片机可以构成各种各样的应用系统,从微型、小型到中型、大型都可,PLC是单片机应用系统的一个特例。
3.不同厂家的PLC有相同的工作原理,类似的功能和指标,有一定的互换性,质量有保证,编程软件正朝标准化方向迈进。这正是PLC获得广泛应用的基础。而单片机应用系统则是八仙过海,各显神通,功能千差万别,质量参差不齐,学习、使用和维护都很困难。
最后,从工程的角度,谈谈PLC与单片机系统的选用;
1.对单项工程或重复数极少的项目,采用PLC方案是明智、快捷的途径,成功率高,可*性好,手尾少,但成本较高。
2.对于量大的配套项目,采用单片机系统具有成本低、效益高的优点,但这要有相当的研发力量和行业经验才能使系统稳定、可*地运行。最好的方法是单片机系统嵌入PLC的功能,这样可大大简化单片机系统的研制时间,性能得到保障,效益也就有保证。
PLC与单片机的区别
看到网友在讨论PLC与单片机的区别,我也来瞎说几句: PLC其实就是一套已经做好的单片几(单片机范围很广的喔)系统.
PLC的梯形图你可以理解成是与汇编等计算器语言一样是一种编程语言,只是使用范围不同!而且通常做法是由PLC软件把你的梯形图转换成C或汇编语言(由PLC所使用的CPU决定),然后利用汇编或C编译系统编译成机器码!PLC运行的只是几器码而已.梯形图只是让使用者更加容易使用而已.
同样MCS-51单片机当然也可以用于PLC制作,只是8位CPU在一些高级应用如: 大量运算(包括浮点运算),嵌入式系统(现在UCOS也能移植到MCS-51)等,有些力不从心而已.我公司在使用的一套工业系统就是使用MCS-51单片机做的,不过加上DSP而已,已经能满足我们要求(我们设备速度较慢,而且逻辑控制为主,但是点数不少喔,128点I/O呢!!),而且同样使用梯形图编程,我们在把我们的梯形图转化为C51再利用KEIL的C51进行编译.你没有注意到不用型号的PLC会选用不同的CPU吗!!
当然也可以用单片机直接开发控制系统,但是对开发者要求相当高(不是一般水平可以胜任的),开发周期长,成本高(对于一些大型一点的体统你需要做实验,印刷电路板就需要一笔相当的费用,你可以说你用仿真器,用实验板来开发,但是我要告诉你,那样做你只是验证了硬件与软件的可行性,并不代表可以用在工业控制系统,因为工业控制系统对抗干扰的要求非常高,稳定第一,而不是性能第一,所以你的电路板设计必须不断实验,改进).当你解决了上述问题,你就发现你已经做了一台PLC了,当然如果需要别人能容易使用你还需要一套使用软件,这样你可以不需要把你的电路告诉别人(你也不可能告诉别人).
以上一些拙见,有说错的地方请指正,可不要打我喔!也不要骂我喔!我只是想和大家讨论一下而已!!!
许多人觉得PLC很神秘,其实PLC是很简单的,其内部的CPU除了速度快之外,其他功能还不如普通的单片机。通常PLC采用16位或32位的CPU,带1或2个的串行通道与外界通讯,内部有一个定时器即可,若要提高可靠性再加一个看家狗定时器足够。
PLC的关键技术在于其内部固化了一个能解释梯形图语言的程序及辅助通讯程序,梯形图语言的解释程序的效率决定了PLC的性能,通讯程序决定了PLC与外界交换信息的难易。对于简单的应用,通常以独立控制器的方式运作,不需与外界交换信息,只需内部固化有能解释梯形图语言的程序即可。实际上,设计PLC的主要工作就是开发解释梯形图语言的程序。
现在的单片机完全可以取代PLC
以前的单片机由于 稳定性和抗电磁干扰能力比较的弱 和PLC是没有办法相比的
现在的单片机已经做到了高稳定性和很强的抗干扰能力
在某些领域 已经实现了替换 比如说以前的电梯是绝对禁止使用单片机的~~现在已经有些高性能的单片机在电梯上使用了