Dear all, Thank you for your help in advance. I created a very simple program to test my Monitor-51 which is showed below:
#include "AT89X55.H" sbit P25 = 0xA5; void DELAY(int j) { int i; for(;j>0;j--) { for(i=2;i>0;i--) {;} } } main(){ while(1) { P25 = 0; DELAY(1); P25 = 1; DELAY(1); } }
... C:0x00AE E4 CLR A C:0x00AF F5CB MOV RCAP2H(0xCB),A C:0x00B1 F5CA MOV RCAP2L(0xCA),A C:0x00B3 F5CC MOV TL2(0xCC),A C:0x00B5 F5CD MOV TH2(0xCD),A C:0x00B7 F5C9 MOV T2MOD(0xC9),A C:0x00B9 F5C8 MOV T2CON(0xC8),A C:0x00BB 20B0FD JB RXD(0xB0.0),C:00BB C:0x00BE 30B0FD JNB RXD(0xB0.0),C:00BE C:0x00C1 D2CA SETB TR2(0xC8.2) C:0x00C3 30B003 JNB RXD(0xB0.0),C:00C9 C:0x00C6 30CFFA JNB TF2(0xC8.7),C:00C3 C:0x00C9 30B0FD JNB RXD(0xB0.0),C:00C9 C:0x00CC 30B003 JNB RXD(0xB0.0),C:00D2 C:0x00CF 30CFFA JNB TF2(0xC8.7),C:00CC C:0x00D2 30B0FD JNB RXD(0xB0.0),C:00D2 C:0x00D5 C2CA CLR TR2(0xC8.2) C:0x00D7 20CFD4 JB TF2(0xC8.7),C:00AE C:0x00DA AFCC MOV R7,TL2(0xCC) C:0x00DC AECD MOV R6,TH2(0xCD) C:0x00DE EE MOV A,R6 C:0x00DF C3 CLR C ...
The MON51 documentation will tell you what resources it requires in your hardware. Have you checked?
Yes. I have checked it carefully according to MON51.
"Why the assembly try to initial the timer2?" Because that's what it says on the tin: "The monitor [MON51] uses a serial interface with a timer as the baudrate generator." (my emphasis) It's in the uVision Getting Started Guide - in the MON51 section.