You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
75 lines
1.7 KiB
;********************************************************************
|
|
;* LED flasher: LED will flash with a X on/off ratio at PD6
|
|
;*
|
|
;* NOTE: delay depends in the value of X, 1 is fast, 255 is slow
|
|
;*
|
|
;* No copyright ©1998 RES® * FREEWARE *
|
|
;*
|
|
;* NOTE: Connect a low current LED with a 1k resistor in serie from
|
|
;* Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)
|
|
;*
|
|
;* RES® can be reached by email: digitalaudio@mail.com
|
|
;* or visit the website: http://home.wanadoo.nl/electro1/avr
|
|
;*
|
|
;* Version :1.0
|
|
;* Date :12/26/98
|
|
;* Author :Rob's ElectroSoft®
|
|
;* Target MCU :AT90S1200-12PI@4MHz
|
|
;********************************************************************
|
|
|
|
.include "1200def.inc"
|
|
|
|
rjmp RESET ;reset handle
|
|
|
|
|
|
;* Long delay
|
|
|
|
;* Register variables
|
|
|
|
.def T1 = r1
|
|
.def T2 = r2
|
|
.def temp = r19
|
|
|
|
;* Code
|
|
|
|
longDelay:
|
|
clr T1 ;T1 used as delay 2nd count
|
|
clr T2 ;T2 used as delay 3d count
|
|
delay_1:
|
|
dec T2
|
|
brne delay_1
|
|
dec T1
|
|
brne delay_1
|
|
dec temp ;temp must be preset as
|
|
brne delay_1 ; delay master count
|
|
ret
|
|
|
|
|
|
;* Resets the data direction register D
|
|
|
|
;* Defines
|
|
|
|
.equ led = 6 ;LED at PD6
|
|
|
|
;* Code
|
|
|
|
RESET:
|
|
sbi DDRD, led ;connect LED to PORTD pin 6
|
|
|
|
|
|
;* Main program
|
|
|
|
;* This part will let the LED go on and off by X
|
|
|
|
;* Register variables
|
|
|
|
.equ X = 10 ;enter delaytime X
|
|
|
|
flash:
|
|
sbi PORTD, led ;LED on
|
|
ldi temp, X ;X sec delay
|
|
rcall longDelay
|
|
cbi PORTD, led ;LED off
|
|
ldi temp, X ;X sec delay
|
|
rcall longDelay
|
|
rjmp flash ;another run |