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?
"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.
View all questions in Keil forum