Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .nolist
- .include "m16def.inc"
- .list
- .listmac
- .device ATmega16
- .cseg
- .org 0x0000
- .equ zero = 0b11111100
- .equ jeden = 0b01100000
- .equ dwa = 0b11011010
- .equ trzy = 0b11110010
- .equ cztery = 0b01100110
- .equ piec = 0b10110110
- .equ szesc = 0b10111110
- .equ siedem = 0b11100000
- jmp 0x0030
- //ustawienie wektora przerwan
- .org 0x0030
- //ustawienie stosu
- ldi r16, high(RAMEND)
- out SPH, r16
- ldi r16, low(RAMEND)
- out SPL, r16
- //ustawienie portu B jako wyjscia
- ldi r16, 0b11111111
- out DDRB, r16
- //ustawienie portu A jako wejscia
- ldi r16, 0b00000000
- out DDRA, r16
- ldi r19, 0b00000000
- MAIN:
- in r16, PINA
- ZER:
- ldi r17, 0b11111110
- CPSE r16, r17
- jmp JEDE
- ldi r18, zero
- out PORTB, r18
- jmp MAIN
- JEDE:
- ldi r17, 0b11111101
- CPSE r16, r17
- jmp DW
- ldi r18, jeden
- out PORTB, r18
- jmp MAIN
- DW:
- ldi r17, 0b11111011
- CPSE r16, r17
- jmp TRZ
- ldi r18, dwa
- out PORTB, r18
- jmp MAIN
- TRZ:
- ldi r17, 0b11110111
- CPSE r16, r17
- jmp CZTER
- ldi r18, trzy
- out PORTB, r18
- jmp MAIN
- CZTER:
- ldi r17, 0b11101111
- CPSE r16, r17
- jmp PIE
- ldi r18, cztery
- out PORTB, r18
- jmp MAIN
- PIE:
- ldi r17, 0b11011111
- CPSE r16, r17
- jmp SZES
- ldi r18, piec
- out PORTB, r18
- jmp MAIN
- SZES:
- ldi r17, 0b10111111
- CPSE r16, r17
- jmp SIEDE
- ldi r18, szesc
- out PORTB, r18
- jmp MAIN
- SIEDE:
- ldi r17, 0b01111111
- CPSE r16, r17
- jmp ZEROW
- ldi r18, siedem
- out PORTB, r18
- jmp MAIN
- ZEROW:
- out PORTB, r19
- jmp MAIN
- jmp MAIN
- .org 0x0100
- DELAY:
- ldi r16, 255
- ldi r17, 255
- ldi r18, 15
- loop_DELAY:
- dec r16
- brne loop_DELAY
- dec r17
- brne loop_DELAY
- dec r18
- brne loop_DELAY
- ret
- loop:
- jmp loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement