Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/10/07 16:48
Modified:
  05/10/07 16:57

Read: times


 
#138998 - lpc935 and mcb900. Am I missing something?
Hi.

I've just started trying to get some experience with the LPC series, so having read a few threads here & at the flashmagic forum I decided I needed an MCB900, which I purchased. First off I ran Blinky from the Keil uVision evaluation ide, which downloads via flashmagic and works fine. All good so far.

I then wrote some assembler (see below), assembled it into a hex file and downloaded that, but it doesn't run (no blink on P2.0). If I re-assemble for an Atmel (changing the include file) it runs fine on my Atmel evaluation board.

The 935 is configured for internal clock, and the watchdog is disabled.

I feel like I'm missing something. Any suggestions much appreciated.

;************************************
;  		LPC935 baby steps
;		10/05/2007
;
;************************************



;  		Primary controls

$NOMOD        
$TITLE(BYTE 935 Test)
$PAGEWIDTH(132)
$DEBUG
$OBJECT
$NOPAGING



;************************************
;
;  Variable declarations and equates.
;
;************************************

$include(C:\asm51\LPC935.inc) ;includes for LPC935
	
   T1COUNT 	Data 	30h  	;Timer 1 count
   ALARM1 	Bit 	01h  	;Flag for timer 0 set in timer 0 interrupt
	



	org	00H
		
	cseg
	
	ljmp 	INIT
	
	org 001Bh
	
	ljmp T1_INTERRUPT
	
INIT:

	setb P2.0	
	
MAIN:	

	
   START_50MS_TIMER #20h ;Delay for Delay_time * .05 seconds
   jnb Alarm1, $ 

   cpl P2.0
    
   ljmp main

			
;************************************
;
;	Subroutines
;
;************************************
	
;++++++++++++++++++++++++++++++++++++
;
;
;	Timer1 interrupt. Timer 1 used for multiples of .05 seconds.	
		
	
T1_INTERRUPT: 
	mov TH1,#03CH 
	mov TL1,#0B0H 
	djnz T1COUNT,T1_EXIT ;If we haven't reached 0 then jump out of int routine 
	setb ALARM1
	clr ET1		   ;stop timer
	clr TR1

T1_EXIT: 
reti 
;
;  End of Timer1 interrupt
;++++++++++++++++++++++++++++++++++++

;++++++++++++++++++++++++++++++++++++
;
;			Macros
;
;++++++++++++++++++++++++++++++++++++
		
	START_50MS_TIMER MACRO FIFTY_MS_INTERVALS 	           
           ;FIFTY_MS_INTERVALS is the 
	     ;number of .05 second
	     ;intervals to wait for
	clr ET1
	clr alarm1
	orl TMOD,#10h    ;Set timer 1 to 16-bit mode
	mov TH1,#0B0H       
	mov TL1,#03CH    ;Initialize TL1 to overflow every .05 seconds
	setb ET1         ;Enable timer interrupt 1
	setb EA          ;Enable all interrupts
      
      mov T1COUNT, FIFTY_MS_INTERVALS  ;Example - Set T1COUNT to 20 to wait for 1s
      setb TR1         ;Turn timer 1 on								

ENDM
;++++++++++++++++++++++++++++++++++++
;
;			End of Macros
;
;++++++++++++++++++++++++++++++++++++




END




List of 16 messages in thread
TopicAuthorDate
lpc935 and mcb900. Am I missing something?            01/01/70 00:00      
   put the MACRO at the top            01/01/70 00:00      
      Thanks...            01/01/70 00:00      
         where is it going to come from            01/01/70 00:00      
            How can I check?            01/01/70 00:00      
               Does flashmagic have a buffer?            01/01/70 00:00      
               is the oscillator running (enable clkout and scope            01/01/70 00:00      
                  Thanks guys.            01/01/70 00:00      
                     LPC9xx            01/01/70 00:00      
                        Answers            01/01/70 00:00      
                           Ah. Input only.            01/01/70 00:00      
                              LPC900 - A differnet animal            01/01/70 00:00      
                                 Thanks Joe.            01/01/70 00:00      
                                    UCFG1            01/01/70 00:00      
                                    Code Architect            01/01/70 00:00      
                                       Thanks again            01/01/70 00:00      

Back to Subject List