ednan
Advanced Member level 4
this assemble code is build using RIDE software...but m using Keil software and it gives error..plz tell me wat i do....
#include reg_51.inc
MAG1 EQU P1.0
MAG2 EQU P1.2
LOOP1 EQU P1.4
LOOP2 EQU P1.7
FIRE1 EQU P3.6
FIRE2 EQU P3.7
TOUCH EQU P1.6
MAG1L EQU P0.0
MAG2L EQU P0.1
LOOP1L EQU P0.2
LOOP2L EQU P0.3
FIRE1L EQU P0.4
FIRE2L EQU P0.5
TOUCHL EQU P0.6
BUZZER EQU P0.7
RB0 EQU 000H ; Select Register Bank 0
RB1 EQU 008H ; Select Register Bank 1 ...poke to PSW to use
DSEG ; This is internal data memory
ORG 20H ; Bit adressable memory
COUNT: DS 1
STACK: DS 1 ; Stack begins here
CSEG ; Code begins here
;---------==========----------==========---------=========---------
; PROCESSOR INTERRUPT AND RESET VECTORS
;---------==========----------==========---------=========---------
ORG 0000H ; Reset
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
; MAIN PROGRAM
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MAIN:
MOV PSW,#RB0 ; Select register bank 0
MOV SP,STACK
MOV P0,#0FFH
CLR TOUCHL
TOP: MOV COUNT,#00H
MOV P1,#0FFH
MOV P3,#0FFH
JB MAG1,LED1 ;Chk Magnetic Sensor 1
SETB MAG1L
LD1: JB MAG2,LED2 ;Chk Magnetic Sensor 2
SETB MAG2L
LD2: JB LOOP1,LED3 ;Chk Loop Sensor 1
SETB LOOP1L
LD3: JB LOOP2,LED4 ;Chk Loop Sensor 2
SETB LOOP2L
LD4: JNB FIRE1,LED5 ;Chk Fire sensor 1
SETB FIRE1L
LD5: JNB FIRE2,LED6 ;Chk Fire sensor 2
SETB FIRE2L
LD6: JB TOUCH,LED7 ;Chk Touch sensor
SETB TOUCHL
LD7: MOV A,COUNT
CJNE A,#0FFH,TOPS
SETB BUZZER
AJMP TOP
TOPS: CLR BUZZER
AJMP TOP
LED1: CLR MAG1L
MOV COUNT,#0FFH
AJMP LD1
LED2: CLR MAG2L
MOV COUNT,#0FFH
AJMP LD2
LED3: CLR LOOP1L
MOV COUNT,#0FFH
AJMP LD3
LED4: CLR LOOP2L
MOV COUNT,#0FFH
AJMP LD4
LED5: CLR FIRE1L
MOV COUNT,#0FFH
AJMP LD5
LED6: CLR FIRE2L
MOV COUNT,#0FFH
AJMP LD6
LED7: CLR TOUCHL
MOV COUNT,#0FFH
AJMP LD7
;**********************************************************
END
#include reg_51.inc
MAG1 EQU P1.0
MAG2 EQU P1.2
LOOP1 EQU P1.4
LOOP2 EQU P1.7
FIRE1 EQU P3.6
FIRE2 EQU P3.7
TOUCH EQU P1.6
MAG1L EQU P0.0
MAG2L EQU P0.1
LOOP1L EQU P0.2
LOOP2L EQU P0.3
FIRE1L EQU P0.4
FIRE2L EQU P0.5
TOUCHL EQU P0.6
BUZZER EQU P0.7
RB0 EQU 000H ; Select Register Bank 0
RB1 EQU 008H ; Select Register Bank 1 ...poke to PSW to use
DSEG ; This is internal data memory
ORG 20H ; Bit adressable memory
COUNT: DS 1
STACK: DS 1 ; Stack begins here
CSEG ; Code begins here
;---------==========----------==========---------=========---------
; PROCESSOR INTERRUPT AND RESET VECTORS
;---------==========----------==========---------=========---------
ORG 0000H ; Reset
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
; MAIN PROGRAM
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MAIN:
MOV PSW,#RB0 ; Select register bank 0
MOV SP,STACK
MOV P0,#0FFH
CLR TOUCHL
TOP: MOV COUNT,#00H
MOV P1,#0FFH
MOV P3,#0FFH
JB MAG1,LED1 ;Chk Magnetic Sensor 1
SETB MAG1L
LD1: JB MAG2,LED2 ;Chk Magnetic Sensor 2
SETB MAG2L
LD2: JB LOOP1,LED3 ;Chk Loop Sensor 1
SETB LOOP1L
LD3: JB LOOP2,LED4 ;Chk Loop Sensor 2
SETB LOOP2L
LD4: JNB FIRE1,LED5 ;Chk Fire sensor 1
SETB FIRE1L
LD5: JNB FIRE2,LED6 ;Chk Fire sensor 2
SETB FIRE2L
LD6: JB TOUCH,LED7 ;Chk Touch sensor
SETB TOUCHL
LD7: MOV A,COUNT
CJNE A,#0FFH,TOPS
SETB BUZZER
AJMP TOP
TOPS: CLR BUZZER
AJMP TOP
LED1: CLR MAG1L
MOV COUNT,#0FFH
AJMP LD1
LED2: CLR MAG2L
MOV COUNT,#0FFH
AJMP LD2
LED3: CLR LOOP1L
MOV COUNT,#0FFH
AJMP LD3
LED4: CLR LOOP2L
MOV COUNT,#0FFH
AJMP LD4
LED5: CLR FIRE1L
MOV COUNT,#0FFH
AJMP LD5
LED6: CLR FIRE2L
MOV COUNT,#0FFH
AJMP LD6
LED7: CLR TOUCHL
MOV COUNT,#0FFH
AJMP LD7
;**********************************************************
END