单片机内部资源模拟探讨论文

时间:2022-06-14 06:47:00

导语:单片机内部资源模拟探讨论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

单片机内部资源模拟探讨论文

摘要:由于信息技术和互联网技术的发展,单片机应用系统的网络化已经成为时展的必然。例如家用电器的控制就可以通过具备网络功能的单片机系统来实现。上班族可以在离开办公室回家的时候通过互联网来操纵家用电器,对家里的电器实现远程控制开机或关机,甚至可以通过互联网实时视频监控家里的情况。而这些功能的实现就要求单片机具备很强的互联网接入功能。传统的MCS-51系列单片机不具备网络传输功能,笔者立足实践,详细介绍了目前MCS-51单片机的发展现状、接口类型和串口模拟方法。

关键词:MCS-51单片机

一、MCS-51单片机概述

MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业培训学校的教材仍以MCS-51单片机作为代表进行理论基础学习。

MCS-51系列单片机主要包括8031、8051和8751等产品,MCS-51以其结构紧凑、逻辑位操作功能丰富和直接面向控制的指令系统等优势,堪称为一代“名机”。正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气制造商发展了MCS-51单片机,象PHILIPS、Dallas、ATMEL等著名的半导体公司都推出了兼容MCS-51的单片机产品,就连我国的台湾WINBOND公司也发展了兼容C51的单片机产品。

近年来C51获得了飞速的发展,C51的发源公司INTEL由于忙于开发PC及高端微处理器而无精力继续发展自己的单片机,因而将其独立开发的知识产权核出售给其它厂商,最典型的是PHILIPS和ATMEL公司。

ATMEL公司推出的兼容MCS-C5l的AT89Cxx系列单片机,完美地将Flash(非易失闪存技术)EEPROM与80C51内核结合起来,仍采用C51的总体结构和指令系统,可以通过改写单片机内部程序使得单片机能在开发过程中多次使用。

SIEMENS公司也沿用C5l的内核,相继推出了C500系列单片机,在保持了与C51指令兼容的前提下,其产品的性能得到了进一步的提升,特别是在抗干扰性能,电磁兼容和通信控制总线功能上独树一帜,其产品常用于工作环境恶劣的场合,亦适用于通信和家用电器控制领域。

WINBOND公司亦开发了一系列兼容C5l的单片机,其产品通常具备丰富的功能特性,而且以其质优价廉在市场占有了一定的分额。

二、MCS-51单片机内部资源及接口简述

2.1、MCS-51单片机内部资源

1、时钟电路引脚XTALI和XTALZ

XTALI:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。XTALZ:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。

2、地址锁存允许ALE

在系统扩展时,ALE用于控制地址锁存器锁存PO口输出的低8位地址,从而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。

3、外部程序存储器读选通信号PSEN

PSEN是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取指令时,它在每个机器周期中两次有效。

4、程序存储器地址允许输入端E刀VPP

当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过OFFFH,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU只执行片外程序存储器指令。对于8031,由于其无片内ROM,故EA必须接低电平。

5.、复位信号RST

该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。具有新型接口的MCS-51单片机实验系统设计

2.2、国内外单片机应用的基本接口设计方式

由于MCS-51单片机的产生时间较其它新型单片机要早,而且在投入市场之后很快得到市场的认可,MCS-51以其性能稳定、成本低廉等特点很快占据了市场,并且在工业控制等领域中得到了广泛的应用。但是就MCS-51单片机技术的发展更新而言却不如人们想象的那样理想,基本保持了当年面市时的本色。

主要表现为,接口方式简单,自身具备的接口只有并行口、串行口等一些基本的接口类型。基于该结构的单片机系统,局限于单片机的通信能力,使得其应用面受到一点限制。存储器的扩展容量受地址总线条数的限制,最大只能扩展到64K。在开发手段上仍然采用汇编语言作为开发平台,影响了单片机应用系统的开发周期。

2.3、单片机应用中对新型接口的实际需求

基于国内外MCS-51单片机接口的实际情况看,在一定程度上限制了MCS-51单片机的进一步推广和应用。原因如下:

1、现在的单片机系统要求以更加灵活的方式与其它电子设备之间进行通信。比如单片机应用系统在和计算机通信时仅仅依赖原来的串口通信方式已经不能满足要求,而且现在有些笔记本电脑已经没有了串行接口,另外串行通信接口的通信速度也远远不及当前的USB口通信方式。

2、由于多媒体技术的发展和推广,要求现在单片机应用系统具备一定的多媒体处理能力,多媒体信息在单片机系统中的存储成为难题,因为MCS-51通过传统的存储器扩展方式外扩存储器的最大容量是64K,而64K的存储空间用于存储多媒体信息几乎是不可能的。MCS-51单片机通过扩展大容量存储器,如CF卡,SD卡等,可以使单片机系统的数据存储能力大大提高。

3、信息技术的发展要求现在的单片机系统具备网络通信能力。为扩展其通信能力,单片机系统的网络化己经成为时展的必然。

纵观国内、国外的单片机应用系统,能够很好解决上述问题的应用系统在MCS-51单片机系统的应用中几乎还没有,有些新型单片机虽然在设计时满足了上述的一个或几个要求,但是由于没有经过长时间的市场的考验,所以在一些对单片机系统的稳定性和抗干扰能力有较高要求的情况下,设计师们首选的单片机还是MCS-51系列的产品。所以解决MCS-51单片机与新型接口的连接已经成为一个具体的实际需求的问题。

三、51单片机模拟串口的方法

随着单片机的使用日益频繁,用其作前置机进行采集和通信在应用中也十分常见。一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被动上报给管理站。这种情况下下,采集会需要一个串口,上报又需要另一个串口,这就要求单片机具有双串口的功能,但我们知道一般的51系列只提供一个串口,那么另一个串口只能靠程序模拟。现在就以11.0592M的晶振为例,谈谈使用延时法是如何模拟串口的。

串口的每位需延时0.104秒,中间可执行96个指令周期。

#defineucharunsignedchar

sbitP1_0=0x90;

sbitP1_1=0x91;

sbitP1_2=0x92;

#defineRXDP1_0

#defineTXDP1_1

#defineWRDYN44//写延时

#defineRDDYN43//读延时

//往串口写一个字节

voidWByte(ucharinput)

{

uchari="8";

TXD=(bit)0;//发送启始位

Delay2cp(39);

//发送8位数据位

while(i--)

{

TXD=(bit)(input&0x01);//先传低位

Delay2cp(36);

input=input>>1;

}

//发送校验位(无)

TXD=(bit)1;//发送结束位

Delay2cp(46);

}

//从串口读一个字节

ucharRByte(void)

{

ucharOutput="0";

uchari="8";

uchartemp="RDDYN";

//发送8位数据位

Delay2cp(RDDYN*1.5);//此处注意,等过起始位

while(i--)

{

Output>>=1;

if(RXD)Output|=0x80;//先收低位

Delay2cp(35);//(96-26)/2,循环共

占用26个指令周期

}

while(--temp)//在指定的

时间内搜寻结束位。

{

Delay2cp(1);

if(RXD)break;//收到结束位便退出

}

returnOutput;

}

//延时程序*

voidDelay2cp(unsignedchari)

{

while(--i);//刚好两个

指令周期。

}

此种方法在接收上存在一定的难度,主要是采样定位存在需较准确,另外还必须知道每条语句的指令周期数。此法可能模拟若干个串口,实际中采用它的人也很多,但如果你用KeilC,本人不建议使用此种方法,上述程序在P89C52、AT89C52和W78E52三种单片机上实验通过。

参考文献:

1杜春雷,ARM体系结构与编程,清华大学出版社,2003

2王卓人,邓晋钧,刘宗祥.IC片的技术与应用.北京:电子L业出版社,1999.2

3罗亚非等,凌阳16位单片机应用基础,北京航空航天大学出版社,2002,7

4边春远,王志,MCS-51单片机应用开发实用子程序,人民邮电出版社,2005.9

5于京,张景璐,51系列单片机C程序设计与应用案例,中国电力出版社,2006.3