AT89S5X系列 与 STC89C5X系列单片机的差别

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:11:16
我刚刚开始接触单片机,但是单片机的种类繁多,我最后选择了一块
STC89C52RC作入门,但是我们的课本上讲的是AT89S5X的开发方法

我想问一下,它们二者的区别很大吗,特别是在管脚,内部电路,编程指令上的差别

各位大虾能跟我详细解释一下吗,回答满意者追加50分,万分谢谢
二楼的三楼的四楼的兄弟,你们说指令系统一样,那是否就意味着一个程序比如在装有AT89S51的开发板里能成功“作用”,这里的“作用”是指有效,比如一个数码管显示程序能实现正常显示,那也能在STC89C52RC里面正常显示呢,比如我有下面的程序:
#include<REG52.H> //只在这里我做了改动,原来是AT89S51.h

void delay()
{
unsigned int i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}

#define uchar unsigned char
char code tab[]={0x2a,0x1c,0xbc,0xbc,0x88,0x7f};
void main()
{
uchar i,a=5;
SCON=0;
for(;;)
{
for(i=0;i<6;i++)
{
SBUF=tab[a];
a--;
while(!TI);
TI=0;
}
delay();
a=5;
}
}
除了所包含的头文件做了改动外,其它都是照抄的,在keil c里能够正常编译运行,并且生成一个HEX文件,但是就是不能正常显示,是什么原因呢??

差别不大,一般可以把AT89S5X系列当成基本部件,其他的51CPU当成扩展,STC89C5X包括AT89S5X的全部,且多出一些特殊应用需求的部分.多了写部件内部电路当然不一样,不过你和内部电路不打交道,只需要关心他们的引脚定义和电气特性,编程指令上也是兼容的,某些会多出写增强指令,在不使用这些指令时可以说他们就是一样的.查芯片资料到这里查,非常全.
http://www.alldatasheet.com

若是c51代码就更不必关心指令集了,甚至你不用改动#include<REG52.H>,在不用特殊指令,无非是存储空间大小的差异,在如上简短代码中存储空间大小差异也忽略不计了,那只是让你无法直接用别名访问一些寄存器罢了.

数码管显示和具体硬件设计相关,COPY不一定和你的硬件设计的相同,数码管电器特性连接方式影响数码管的显示编码(共阴共阳,段码线连接方式),中间的电路决定了你编码控制的方式,有像现在这样通过串口输出,外部移位锁存控制显示多个数码管.也可以直接控制段码输出,片选信号的.这个和硬件相关很大,不是任意程序都能用的.

刚开始学,不要管那么多,都是51系列的,指令肯定是一样的,管脚的基本功能肯定也是一样的(可能会一些新加的功能不一样),内部电路基本功能也是一样的,但又各有其特点.
总之一句话,刚开始学,把它们当普通的51单片机来学就是了,等到基本的学会了,再去考虑那些新加的功能,新加的功能厂家不同,肯定是有点不同的.

找到一些。下面是关于STC89C52RC的一些基本参数:最高工作频率80MHz(@5V),8KB FLASH,512B SRAM,低EMI,2KB EEPROM,支持ISP和IAP,对于PLCC44封装的还有P4口。

和AT89S5X相比,STC89C52RC的P0口和P1口多出了第二功能;但常规的引脚定义,内部结构和AT89S8252系列大同小异,指令系统和普通的MCS51指令系统相同,因此不必考虑开发环境的问题。

在ST