;##########################################################
;
; ASM51 TEMPLATE
; 
; (C) HELIUM  
; http://helium.webz.cz/
;
; compiled with MetaLink 8051 Cross-Assembler, Version 1.2k
;##########################################################

$MOD51

;XTAL	EQU	24
XTAL	EQU	11

	ORG 	0H		;
	jmp	main		;

;##########################################################
; interrupt EXT. IE0		  (flag IE0)
	ORG	03H		;
	RETI			;
;##########################################################
; interrupt C/T0 TIMER0		  (flag TF0)
	ORG	0BH		;
	RETI			;
;##########################################################
; interrupt EXT. IE1		  (flag IE1)
	ORG	013H		;
	RETI			;
;##########################################################
; interrupt C/T1 TIMER1		  (flag TF1)
	ORG	01BH		;
	RETI			;
;##########################################################
; interrupt SERIAL I/O		  (flag RI, TI)
	ORG	023H		;

 	push 	ACC 		; save Accumulator
 	push  	PSW 		; program statu word
 	push  	DPH 		; data pointer Hi
 	push  	DPL 		; data pointer Hi

	jb  	RI, ser_IN 	; RX or TX ?

;----------------------------------------------------------
ser_OUT:  
	clr	TI		; TX rutine
	jmp	ser_END		;

;----------------------------------------------------------
ser_IN:
 	clr 	RI 		; RX rutine
 	
ser_END: 	
 	pop   	DPL 		; 
 	pop   	DPH 		;
 	pop   	PSW 		; 
 	pop   	ACC 		; 
 	RETI  			; 
;##########################################################

; $include(x51_UTL.a51)		
; Knihovna utilitek pro x51

; $include(MATH.a51)		
; INFO Hlavička pro Univerzalni matematicka knihovna pro x51
; Univerzalni matematicka knihovna pro x51

; $include(math_mac.a51)	
; INFO Hlavička pro MAKRA pro Univerzalni matematickou knihovnu x51
; MAKRA pro Univerzalni matematickou knihovnu x51

; $include(LCD.a51)	
; INFO Hlavička pro LCD (HD44780) knihovnu, 4-bit rozhraní

; $include(I2C.a51)	
; Knihovna pro obsluhu rozhraní I2C (např.: AT24Cxx)

;##########################################################
;
; MAIN PROGRAM LOOP
;
;##########################################################

main:   clr	EA		; 
	mov	SP, #7		; nastaveni dna zasobniku
	clr	RS0		;
	clr	RS1		; pouzivat Banku Registru 0

loop:	nop			;

	jmp	loop		;
	
;##########################################################

;==========================================================

;----------------------------------------------------------

	END			; end asm directive