Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .NOLIST
- .INCLUDE "m128def.inc"
- .LIST
- .DEF defstav = R20
- .DEF realstav = R21
- .DEF krealstav = R24
- .DEF output = R22
- .DEF cycles = R23
- .CSEG
- LDI R16,low(RAMEND)
- OUT SPL,R16
- LDI R16,high(RAMEND)
- OUT SPH,R16
- LDI R16,0x00
- OUT DDRB,R16
- LDI R16,0xFF
- OUT DDRD,R16
- test1:
- LDI defstav,0b10111110
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice1
- test2:
- LDI defstav,0b01111110
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice1
- test3:
- LDI defstav,0b10111101
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice2
- test4:
- LDI defstav,0b01111101
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice2
- test5:
- LDI defstav,0b10111011
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice3
- test6:
- LDI defstav,0b01111011
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice3
- test7:
- LDI defstav,0b10110111
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice4
- test8:
- LDI defstav,0b01110111
- IN realstav,pinB
- CP defstav,realstav
- BREQ definice4
- BRNE extrem
- definice1:
- LDI ZL,low(kombinace1*2)
- LDI ZH,high(kombinace1*2)
- RJMP operace
- definice2:
- LDI ZL,low(kombinace2*2)
- LDI ZH,high(kombinace2*2)
- RJMP operace
- definice3:
- LDI ZL,low(kombinace3*2)
- LDI ZH,high(kombinace3*2)
- RJMP operace
- definice4:
- LDI ZL,low(kombinace4*2)
- LDI ZH,high(kombinace4*2)
- RJMP operace
- extrem:
- LDI R25,0xFF
- OUT PORTD,R25
- CALL delay
- operace:
- LPM output,Z+
- OUT PORTD,output
- CALL delay
- DEC cycles
- BRNE operace
- RJMP test1
- delay:
- IN krealstav,pinB
- SBRC realstav,7
- CALL delay1
- CALL delay2
- delay1:
- ldi r17, 82
- ldi r18, 43
- ldi r19, 0
- L1: IN krealstav,PINB
- CP realstav,krealstav
- BRNE test1
- dec r19
- brne L1
- dec r18
- brne L1
- dec r17
- brne L1
- lpm
- nop
- RET
- delay2:
- ldi r17, 41
- ldi r18, 150
- ldi r19, 128
- L2: IN krealstav,PINB
- CP realstav,krealstav
- BRNE test1
- dec r19
- brne L2
- dec r18
- brne L2
- dec r17
- brne L2
- RET
- kombinace1:
- .DB 0b01111111,0b10111111,0b11011111,0b11101111
- .DB 0b11110111,0b11111011,0b11111101,0b11111110
- kombinace2:
- .DB 0b01111110,0b10111101,0b11011011,0b11100111
- .DB 0b11100111,0b11011011,0b10111101,0b01111110
- kombinace3:
- .DB 0b01111111,0b11011111,0b11110111,0b11111101
- .DB 0b11111110,0b11111011,0b11101111,0b10111111
- kombinace4:
- .DB 0b00111100,0b01011010,0b10011001,0b10100101
- .DB 0b11000011,0b11011011,0b11111111,0b00000000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement