2014年7月9日 星期三

Use the touchpad to control LED brightness



$regfile = "attiny13a.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4 
$framesize = 4
Dim I As Byte
Dim D As Byte
Dim A As Integer



Config Portb.4 = Input
Portb.4 = 1
Config Portb.0 = Output
Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down


Label_1:
Restore Dta1
Pwm0a = 255                                                 'set darkness
A=0

Waitms 500

Do

   If Pinb.4 = 0 Then Gosub Routine
   Waitms 10
   A = A + 1
   If A = 500 Then Goto Label_2
Loop


Label_2:                                                    'adjust ok
   If Pinb.4 = 0 Then Goto Label_1
   A = 0
   Goto Label_2

End


Routine:
   Read D
   Pwm0a = D
   I = I + 1
   If I = 10 Then Restore Dta1
   If I = 10 Then I = 0
   Waitms 200
   A = 0
Return



Dta1:

Data 0
Data 195
Data 205
Data 218
Data 225
Data 235
Data 243
Data 252
Data 255

2014年6月17日 星期二

Debounce & Select Case


$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Dim A As Byte
Dim I As Byte
Config Portb = &B01111

Led1 Alias Portb.0
Led2 Alias Portb.1
Led3 Alias Portb.2
Led4 Alias Portb.3
Switch_on Alias Pinb.4

Pinb.4 = 1                                                  'PullUp
A = 0

Do
Debounce Switch_on , 0 , LABEL_01 , Sub
Select Case A

Case 0:
Led1 = 0
Led2 = 1
Led3 = 1
Led4 = 1

Case 1:
Led1 = 1
Led2 = 0
Led3 = 1
Led4 = 1


Case 2:
Led1 = 1
Led2 = 1
Led3 = 0
Led4 = 1


Case 3:
Led1 = 1
Led2 = 1
Led3 = 1
Led4 = 0

End Select

Loop

End


Label_01:
   A = A + 1
   If A = 4 Then A = 0
Return

LED Brightness using PWM


$regfile = "attiny13a.dat"
$crystal = 1000000
$hwstack = 8
$swstack = 4
$framesize = 4

Dim I As Byte
Dim D As Byte


Config Portb.0 = Output
Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down


Do

 Restore Dta0

  For I = 1 To 16
     Read D
     Pwm0a = D
     Waitms 50
  Next I

Loop

End


Dta0:
Data 255, 250, 245, 230,215,195,150,100, 40
Data 100, 150, 195, 215, 230, 245, 250

2014年5月17日 星期六

Flashing LED


$regfile = "attiny13.dat"
$crystal = 1200000
Config Pinb.0 = Output

Portb.0 = 1

Do
   Toggle Portb.0
   Waitms 500
Loop

End

AVR ISP