2013-03-17 00:01:43 Инглар нид хелп, 555331587 |
2013-03-17 10:16:09 Инглар плачу, ес-сно, там копеечная прога |
2013-03-17 23:58:56 Инглар |
2013-03-18 00:37:48 Инглар .include <m8def.inc> .def temp=r16 .def index=r20 .def raz = r21 .DSEG .org SRAM_START Out_Mas: .BYTE 3 .CSEG .org 200 Table_BCD: // массив знакогенератора .db 63,6,91,79,102,109,125,7,127,111 //,.db 64,121,36,48,25,18,2,120,0,16 .org 0 rjmp START .org OVF0addr rjmp Timer_Over .org $13 // подпрограмма обработки прерывания по таймеру Т0 Timer_Over: inc raz cpi raz,3 brlt T1 ldi raz,0 T1: ldi XL,low(Out_Mas) ldi XH,high(Out_Mas) add XL,raz ld index,X rcall OUT_SEGMENT reti TIMER0_INIT: ldi temp,(1<<CS02) out TCCR0,temp ldi temp,(1<<TOIE0) out TIMSK,temp ret START: // инициализация стека ldi temp,high(RAMEND) out SPH,temp ldi temp,low(RAMEND) out SPL,temp rcall INIT_PORT_IO rcall TIMER0_INIT ldi XL,low(Out_Mas) ldi XH,high(Out_Mas) ldi temp,1 st X+,temp ldi temp,6 st X+,temp ldi temp,9 st X+,temp sei wait: rjmp wait // подпрограмма инициализации портов ввода вывода INIT_PORT_IO: ldi temp,0b00000111 out DDRB,temp ldi temp,0b00000110 out PORTB,temp ldi temp,0b01111111 out DDRD,temp ldi temp,0xFF out PORTD,temp ret TIME_WAIT: ldi r17,80 ldi r18,0xFF ldi r19,0xFF W1: dec r19 brne W1 dec r18 brne W1 dec r17 brne W1 ret OUT_SEGMENT: rcall Next_RAZR O1: ldi ZL,low(Table_BCD<<1) ldi ZH,high(Table_BCD<<1) add ZL,index lpm out PORTD,r0 out PORTB,temp ret Next_RAZR: in temp,PORTB ldi r18,0x07 out PORTB,r18 sec rol temp andi temp,0b00001111 cpi temp,7 brne N1 ldi temp,6 N1: //eg temp // andi temp,0b00001111 out PORTB,temp ret |
2013-03-19 00:30:31 Инглар |