Когда мало выводов, а надо много светлячков
Симуляция + исходник - скачать
$map ' Получаем карту распределения памяти
$regfile = "m8def.dat" ' Используемый контроллер
$crystal = 1000000 ' 18,432 МГц, кварц для стабильной работы USART во всём диапазоне скоростей передачи и приёма
$framesize = 128 'размер области используемой и необходимой для преобразований
$hwstack = 128 ' Размер аппаратного стека
$swstack = 128 ' Размер программного стека
$baud = 4800 '1200 '2400 '4800 '9600 '19200 '38400 '57600 '115000 '230400Ddrb = 0
Portb = 0Dim Val_byte As Byte
Do
Incr Val_byte
If Val_byte > 20 Then
Val_byte = 1
End IfSelect Case Val_byte
Case 0:
Ddrb = 0
Portb = 0
Case 1:
Ddrb = &B_0000_0011
Portb = &B_0000_0001
Case 2:
Ddrb = &B_0000_0011
Portb = &B_0000_0010
Case 3:
Ddrb = &B_0000_0101
Portb = &B_0000_0001
Case 4:
Ddrb = &B_0000_0101
Portb = &B_0000_0100
Case 5:
Ddrb = &B_0000_0110
Portb = &B_0000_0100
Case 6:
Ddrb = &B_0000_0110
Portb = &B_0000_0010
Case 7:
Ddrb = &B_0000_1001
Portb = &B_0000_0001
Case 8:
Ddrb = &B_0000_1001
Portb = &B_0000_1000
Case 9:
Ddrb = &B_0000_1100
Portb = &B_0000_0100
Case 10:
Ddrb = &B_0000_1100
Portb = &B_0000_1000
Case 11:
Ddrb = &B_0000_1010
Portb = &B_0000_1000
Case 12:
Ddrb = &B_0000_1010
Portb = &B_0000_0010
Case 13:
Ddrb = &B_0001_0001
Portb = &B_0000_0001
Case 14:
Ddrb = &B_0001_0001
Portb = &B_0001_0000
Case 15:
Ddrb = &B_0010_0001
Portb = &B_0000_0001
Case 16:
Ddrb = &B_0010_0001
Portb = &B_0010_0000
Case 17:
Ddrb = &B_0010_0100
Portb = &B_0000_0100
Case 18:
Ddrb = &B_0010_0100
Portb = &B_0010_0000
Case 19:
Ddrb = &B_0010_1000
Portb = &B_0000_1000
Case 20:
Ddrb = &B_0010_1000
Portb = &B_0010_0000
End SelectWaitms 100
Loop
End


