Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Si scriva un programma in cui si configuri la routine di servizio dell’interrupt associata al TIMER_1 in modo da utilizzare le 4 porte ABCD per visualizzare in formato binario i secondi trascorsi.
- Si configurino interrupt e porte, tutti i registri devono restare invariati.*/
- include "8535def.inc" ;nomi registri
- .CSEG ;mem prog
- .ORG 0x000
- rjmp RESET ;reset 0x000
- reti ;int0 0x001
- reti ;int1 0x002
- reti ;tim2 comp 0x003
- reti ;tim2 ovf 0x004
- reti ;tim1 capt 0x005
- reti ;tim1 compB 0x006
- reti ;tim1 compA 0x007
- rjmp TIMER_1 ;tim1 ovf 0x008
- reti ;tim0 ovf 0x009
- reti ;SPI STC 0x00A
- reti ;UART RX 0x00B
- reti ;UART UDRE 0x00C
- reti ;UART TX 0x00D
- reti ;ADC 0x00E
- reti ;EE_RDY 0x00F
- reti ;ANA_COMP 0x010
- RESET:
- ldi r16, LOW(RAMEND)
- out SPL, r16
- ldi r16, HIGH(RAMEND)
- out SPH, r16
- MAIN:
- ldi r17, 0b01000000 ;set SE e idle mode
- out MCUCR, r17
- in r17, TIMSK
- ori r17, 0x04 ;enable tim1 ovf
- out TIMSK, r17
- ldi r17, 0x04
- out TCCR1B, r17 ;1 interrupt al sec: ck/64
- ;configuro porte A, B, C e D in uscita
- ser r17
- out DDRA, r17
- out DDRB, r17
- out DDRC, r17
- out DDRD, r17
- clr r17 ;portA
- clr r18 ;portB
- clr r19 ;portC
- clr r20 ;portD
- clr r21 ;zero
- sei
- loop:
- sleep
- rjmp loop
- TIMER_1:
- sec
- adc r17, r21 ;portA
- adc r18, r21 ;portB
- adc r19, r21 ;portC
- adc r20, r21 ;portD
- reti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement