89C54和89C51的主要区别除了大家说的ROM大小外,
还有一些区别
你可以对比 reg1.h 和 reg2.h两个库函数
sbit P = PSW^0; //8052 only
sbit ET2 = IE^5; //8052 only
sbit T2EX = P1^1; // 8052 only
sbit T2 = P1^0; // 8052 only
/* 8052 Extensions */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
/* T2CON */
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;
没有reg54.h,一般stc89c54 MCU也用的reg52.h做库函数。
估计是54和52 除了rom容量,内部结构类似。
很明显,89c52 (89c54)和89c51的区别主要是89c52多了一个(16位可自动装入初值的)T2定时器,相应的多了一些 控制寄存器TCON及相关的中断申请,中断允许等等
另外就是 psw 是状态字寄存器,学汇编的都懂些
我了解的也不多,更详细的区别,还请高手们补充!
只是表示程序存储器的大小不同 1代表4k 4就代表16k
同理89c516 就代表64k的rom 他们都是51系列 如果是DIP40引脚的封装的话 ,针脚一样 ,程序可以通用(在不超过其中ROM容量的条件下)。
只是存储容量不同,程序完全兼容。
89C51 ROM4K,RAM128B
89C54 ROM16K,RAM256B