首页 AVR单片机 8051单片机 PIC单片机 msp430应用 motorola单片机 C166单片机 开关电源 电源设计 电源技术应用 电磁兼容
ARM芯片开发 DSP开发技术 PowerPC处理器 RABBIT单片机 嵌入式系统设计 工业控制 控制电路 PLC编程 机器人技术 电机原理
vhdl语言学习 asic芯片技术 fpga培训 cpld编程 verilog hdl Vxworks开发 wince开发教程 嵌入式linux uclinux开发 ucos入门
电路设计 数字电路设计 模拟电路设计 音频电路设计 模拟滤波器设计 电子技术基础 电子名词解析

首页->微处理器->单片机8051->正文

学用8051单片机的常见问题

作者:  来源:51mcu 

上篇:微处理器硬件电路设计的几个基本问题
下篇:关于单片机硬件抗干扰

 

一、8051基本概念

1、MCS8051是什么东西?
答:最开始,MCS8051是指INTEL公司出品的MCS51系列的单片机芯片,由于后来很多厂家的8051其指令集兼容INTEL公司的,所以,MCS8051又指8051基本指令集。

2、市面上有哪些常见的MCS8051兼容芯片?

答:INTEL的MCS8051内核转让过很多厂家。目前用的比较多的,最常见的厂家有:

(1)ATMEL公司的AT89C51/AT89C52/AT89C55、AT89S51/AT89S52/AT89S53等。这些芯片可以反复编程1000次,常见的封装是40引脚的PDIP。其中AT89C51已经停产。AT代表ATMEL公司,C的意思就是该芯片使用CMOS工艺。S的意思就是该芯片具有ISP功能。C系列的换代产品是S系列,其最明显的特点是加入了ISP功能,即In System Programeable(在系统编程),这使得只要有根ISP下载线就能在单片机应用系统板上进行编程,无须拔下芯片插入编程器,在现场改变程序时比较方便。

(2)ATMEL公司的AT89C2051和AT89C4051等。这些芯片都只有20引脚,芯片上资源较少,一般做些简单的玩具和仪表。

(3)SST公司的SST89C54/C55。这两种芯片在国内有个很重要的用途,就是制作8051系统的仿真器。在西门子的手册上说,SST89C54和SST89C58可以反复编程1万次~10万次(新出的)。所以凡是用这两者芯片做仿真CPU的仿真器,到了一定时间后都要更换写坏了的芯片。因此在购买所谓的8051 FLASH仿真器时一定要注意这个问题。


3、AT89C51/AT89S51和基本MCS8051的相同点和不同点各是什么?

答:在ATMEL公司出的手册上说,AT89C51和AT89S51都是片内4K字节的FLASH程序 存储器,128字节的片内RAM,2个定时器/计数器,6个中断源,5个在手册上可用中断,2个中断级别。都支持掉电模式和空闲模式,都是MSC8051指令集。这两种芯片与INTEL的8051芯片相比,多了些东西,比如6个中断源就比书上MCS8051的5个中断多1个,这个中断源用于芯片的编程。另外多了所谓的空闲模式和掉电模式。



二、AT89C51/AT89S51的问题

1、为什么要采用这两种芯片做8051基本实验和设计?

答:答案很简单,因为这两种芯片容易买的到,价格也便宜,一般在10元以下。特别是AT89C51已经停产后,其换代产品AT89S51在价格基本不变的条件下,多了ISP功能,利用一条ISP下载线+国人编写免费的EASYISP软件或者ISPDOWN软件,在现场编程很方便。在保护自己的程序方面,这些芯片都有3级保护位,一旦写入保护,破译芯片中的内容会变的非常困难。

2、AT89C51/AT89S51的掉电模式怎么用?

答:虽然AT89C51已经停产,但市面上还是有很多存货的。而AT89S51在这方面与其兼容。在ATMEL手册上说,掉电模式下,芯片时钟停止,调用掉电模式的指令是最后执行的指令。从掉电模式中恢复后,片内RAM的数据不丢失。复位时特殊功能寄存器被复位,但其它内部RAM的内容不改变。在VCC电源没有达到正常电压之前,复位不会发生。复位时芯片会自己等晶振的工作恢复正常。

进入掉电模式时,软件将位于片内数据RAM的87H地址的PCON的PCON.1,即PD位置1,此时ALE引脚和/PSEN引脚都会置为0,这是标志。在使用内部程序存储器时,P0口~P3口都会是数据。在使用外部程序存储器时,P0口会浮空,P1~P3口都是数据。

3、AT89C51/AT89S51的空闲模式怎么用?

答:ATMEL手册上说,空闲模式下CPU内核进入休眠,功耗下降,芯片内部的周边设备-即定时器中断、计数器中断、外部中断、串口中断仍然工作。该模式与掉电模式不同的是,空闲模式由软件调用。芯片上的RAM和特殊功能寄存器在该模式下保持原来的值。空闲模式可以由任何中断或者硬件复位来唤醒。

值得注意的是,当空闲模式由硬件复位来唤醒的时候,设备正常地从程序停止的地方恢复运行,内部运算器运行前要过2个机器周期。在该事件中,芯片上的硬件控制内部RAM的存取。当空闲模式被硬件唤醒时,要排除不希望的端口的写操作。在调用空闲模式的指令后面的第1条指令不能是写端口引脚或者是写外部内存。

进入空闲模式时,软件将位于片内数据RAM的87H地址的PCON的PCON.0,即IDL位置1,此时ALE引脚和/PSEN都会置被为0,这是标志。在使用内部程序存储器时,P0口~P3口都是数据。在使用外部程序存储器时,P0口浮空,P1~P3口都是数据。


4、这两款芯片有什么具体不同的地方?

答:有无ISP功能、特殊功能寄存器和不同的极限工作频率。AT89S51不但多了ISP功能,还有一个很好用的内部看门狗。看门狗是直译的说法,即一个不断自己工作的定时器,如果不不断地“喂”它(不断地复位它,表示程序自己没有死机),过一段时间,它就会计数溢出,MCU就复位,以避免程序卡死后没人管。

AT89S51的内部看门狗叫做WDTRST寄存器,14位长度,最大计数值16383,即3FFFH,用来替代原来AT89C51要使用外部看门狗。其位置在内部数据RAM的十六进制地址0A6H。激活该看门狗的方法是先向该地址写01EH,然后写0E1H即可。此看门狗在晶振工作时工作!在CPU掉电模式下,该功能失效。如果晶振工作,每个机器周期,该定时器加1,直到自己复位(喂狗)或者溢出。

AT89C51最高可以使用的晶振频率时24MHz,AT89S51可以使用的晶振频率更高,达33MHz。

5、如何选择合适的晶振电容?

答:任何一个8051系统都需要一个时钟来指导MCU芯片工作。很多书上说AT89C51/AT89S51使用的晶振配合的两个电容C1和C2选25pF的陶瓷电容,取得是下限。

实际上,AT89C51/AT89SS51的这两个电容的取值范围如下:如果使用的是晶振,可取30pF±10pF。如果使用的是陶瓷振荡器,那么电容就要取40±10pF。本人就买35pF的陶瓷电容,反正不管是配合使用什么振荡器,都可以用。


三、学习设计中的问题

1、如何开始我的第1个设计?

答:记得学C语言的时候,第1个例子就是“Hello,World!”,不知道激起了多少程序员的梦想。在单片机学习中,一般第1个例子就是流水灯,也有人把它叫做跑马灯的。从这个例子入门后,你可以想想看看,怎么反向流动?怎么象霓虹灯那样闪烁?等等。在设计中学习一直是我向学生提倡的方法,因为这样,学的实在、学的不会忘记。而且基本上一开始,就可以接触比较复杂点的东西了。

2、一个正规的设计要做哪几步?

答:除开为了火烧眉毛赶交导师作业的人以外(开个玩笑)。首先不要急,要写出设计的指标,比如要完成什么功能、使用多少伏特的电源、是交流供电还是直流供电、等等。

然后选择要使用什么芯片。分析一下这些芯片具体运算能力是多少,有没有可能完成需要的运算任务等。要学会一边设计、一边写设计说明书,这点非常重要。一个设计投入工作之日不等于设计者就可以撒手不管了。而是不断地改进设计,完成更加完善的功能。

平常的时候还多看看相关的书本、杂志,上相应的网站收集些资料,在虚拟社区中同那些工程师们讨论些问题,虚心向高手学习、认真做好学习记录,你的设计就一定会不断进步的。


3、我怎么才能靠单片机赚钱?

答:这大概是最重要的问题之一了。这个问题不但困惑着你,也困惑着我的学生(笑)。这其实并不困难,关键在于你要观查周围人的需要,善于观察,善于分析,善于移植。比方作个金鱼缸的温度控制,实验成功后,可以移植成工业上恒温箱的控制,可以卖设备、可以卖设计,不都是钱吗?还可以象我一样,把经验总结出来,一起讨论一下,可以交到朋友。他有活干的时候,自然也会叫上你。条条道路通罗马,路就在脚下。

4、你说的这些芯片上的标号我看不懂,有什么意义?

答:这个问题问得很严谨。知道这些标号就不会被奸商欺骗。以AT89S51为例,有很多不同的型号,如下表1:

标号

最高工作

频率

供电电压

范围

封装形式

芯片级别

AT89S51-24AC

24MHz

4.0V到5.5V

44脚TQFP

商用(0~70℃)

AT89S51-24JC

24MHz

4.0V到5.5V

44脚PLCC

商用(0~70℃)

AT89S51-24PC

24MHz

4.0V到5.5V

40脚DIP

商用(0~70℃)

AT89S51-24AI

24MHz

相关资料:
c语言编程的难点单片机的C语言应用程序设计
关于单片机硬件抗干扰微处理器硬件电路设计的几个基本问题
51系列单片机I/O口上拉电阻使用点滴关于C51的中断编程
嵌入式系统综述MCS-51单片机实用子程序库(7)
MCS-51单片机实用子程序库(6)MCS-51单片机实用子程序库(5)
MCS-51单片机实用子程序库(4)MCS-51单片机实用子程序库(3)
MCS-51单片机实用子程序库(2)MCS-51单片机实用子程序库(1)
单片机基础知识接口技术的基本知识


网站地图 | 联系我们 | 免责声明 | 招聘信息 | 友情链接
Copyright © 2005 - 2006 单片机设计网