W6MLP Blinkey

Today is August 27, 2008


Description:
W6MLP Blinkey was designed for MARES workshop where kids build electronic kits. The project is built around ATTiny11 microcontroller by Atmel. Because it was designed for newbies and kids, the project is very simple to build as it has only a few components. The parts are:
  • Programmed microcontroller
  • 5 LEDs
  • 5 resistors for current limiting
  • 78L05 voltage regulator
The PCB is designed such that it can be assembled using SMT LEDs and resistors. I built the first prototype using surface mount LEDs. As it can be seen in the picture that I haven't used any current limiting resistors because the LEDs that I have used have built in resistor and they operate on 5V.
The Microcontroller operates 4.0v - 5.5v so a 78L05 regulator is used to regulate the voltage. This enables us to use 9V batteries to power the blinkey.
The microcontroller runs on the internal clock of 1MHz.
W6MLP blinkey early prototype W6MLP blinkey early prototype


Assembly Language Source Code:
;
;W6MLP Blinkey - LED Chaser Effect
;Author: Chetan Bhargava - KG6NFG
;http://www.bhargavaz.net/w6mlp/blinkey
;Date: 7/14/04
;CPU: ATTiny11-6PC with internal oscillator

.device ATTiny11
.include "tn11def.inc"
.def Temp = R16
.org  0x0000
	rjmp init
init:
	ldi temp, 0x0FF		;All portB outputs
	out DDRB, temp		;
	ldi temp, 0x01		;we will move 1 led
		
main:
	rol temp		;Rotate temp
	out portb, temp
	rcall delay
	rjmp main		;loop infinitely! Forever!

delay:				; provides some delay so that the LEDs are visible
; ============================= 
;    delay loop generator 
;     499998 cycles: about 1/2 seconds
; ----------------------------- 
; delaying 499995 cycles:
          ldi  R29, $0F
WGLOOP0:  ldi  R30, $37
WGLOOP1:  ldi  R31, $C9
WGLOOP2:  dec  R31
          brne WGLOOP2
          dec  R30
          brne WGLOOP1
          dec  R29
          brne WGLOOP0
; ----------------------------- 
; delaying 3 cycles:
          ldi  R29, $01
WGLOOP3:  dec  R29
          brne WGLOOP3
; ============================= 
ret
Sitemap