please dont rip this site

Microchip IO Dev Motor Esc-js_files 1.ASM

; ****************************************************************************
;* Inställningar
;****************************************************************************

	include 	"P16f873.inc"
	include 	"inkl.inc"

	__CONFIG	_WDT_OFF & _XT_OSC & _CP_OFF & _PWRTE_OFF
	__IDLOCS	0x1234

;****************************************************************************
;* Här startar programmet
;****************************************************************************

;--->Huvudprogrammet:

	ORG     0x000		; processor reset position
	GOTO    ProgramStart	; start

	cblock H'20'
	TMP1
	TMP2
	PULSLÄNGD
	endc

;****************************************************************************
;* interupt
;****************************************************************************
	org 0x0004
	RETFIE

;****************************************************************************
;* ProgramStart och huvudloop
;****************************************************************************

ProgramStart


	BANK1
	MOVLW	0x06
	MOVWF	ADCON1
	CLRF	TRISA
	MOVLW	B'00000011'
	MOVWF	TRISB
	BSF	OPTION_REG, 7
	CLRF	TRISC

	BANK0
	
	;PWM:
	; osc / 4 * Fpwm *  4 - 1
	; 1000000 / 5000 = fpwm = 2000 hz
	BSF	STATUS,RP0
	MOVLW	D'125'
	MOVWF	PR2
	BCF	STATUS,RP0

	;ställer in duty cycle:
	;01111101 = 125 * 0.00000025  * 4 
	;01000000 = 64
	MOVLW	B'01000000'
	MOVWF	CCPR1L
	BCF	CCP1CON,CCP1X
	BCF	CCP1CON,CCP1Y

	MOVLW	b'00000101'  ; prescaler = 4
	MOVWF	T2CON

	MOVF	CCP1CON, W
	ANDLW	b'00110000' 
	IORLW	b'00001111' 
	MOVWF	CCP1CON


HL	

	CLRF	PULSLÄNGD
	BTFSS	PORTB, 0	;Wait for a pulse to arrive
	GOTO	$-1		; Waiting...

	CALL	PAUS1MS		;Wait 1 ms before counting

	BTFSS	PORTB, 0	;Count as long as the pulse is active
	GOTO	PULSKLAR	; pulse has stopped, goto "pulsklar"
	INCF	PULSLÄNGD, F	; counting...
	GOTO	$-3		; 

PULSKLAR

	MOVF	PULSLÄNGD, W
	ADDLW	D'60'
	MOVLW	D'255'
	BTFSC	STATUS, C
	MOVWF	PULSLÄNGD

	MOVF	PULSLÄNGD, W	;SET PWM DUTY CYCLE!
	MOVWF	CCPR1L		

				
	BTFSC	STATUS, Z	;BRAKE IF DUTY CYCLE = 0%
	BSF	PORTC, 6
	BTFSS	STATUS, Z
	BCF	PORTC, 6

	
	GOTO	HL



;****************************************************************************
;* PAUS1MS
;****************************************************************************

PAUS1MS

	MOVLW	0xDB
	MOVWF	TMP1
	MOVLW	0x01
	MOVWF	TMP2
PAUS1MS_0
	DECFSZ	TMP1, f
	GOTO	$+2
	DECFSZ	TMP2, f
	GOTO	PAUS1MS_0

	RETURN

	END

file: /Techref/microchip/io/dev/motor/esc-js_files/1.asm, 2KB, , updated: 2002/6/3 14:03, local time: 2024/3/29 02:01,
TOP NEW HELP FIND: 
44.211.49.158:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://www.massmind.org/techref/microchip/io/dev/motor/esc-js_files/1.asm"> microchip io dev motor esc-js_files 1</A>

Did you find what you needed?

 

Welcome to massmind.org!

 

Welcome to www.massmind.org!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .