$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
$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
$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
$regfile = "attiny13.dat"
$crystal = 1200000
Config Pinb.0 = Output
Portb.0 = 1
Do
Toggle Portb.0
Waitms 500
Loop
End