Пт мар 15, 2019 10:54:49
int main(void)
{
DDRD = 0b00000000;
PORTD = 0b11111111;
DDRB = 0b11111111;
PORTB = 0b00000000;
while(1)
if(PIND==0)
{
PORTB=1;
_delay_ms(300);
PORTB=0;
_delay_ms(300);
}
}
Пт мар 15, 2019 12:15:12
Пт мар 15, 2019 12:38:54
Пт мар 15, 2019 13:29:26
Пт мар 15, 2019 14:04:41
Пт мар 15, 2019 15:02:31
Пт мар 15, 2019 21:49:12
Сб мар 16, 2019 04:22:50
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
CLR R15
OUT MCUSR,R15
; Start timed sequence
LDI R16,1<<WDCE|1<<WDE
STS WDTCSR, r16
CBR R16,1<<WDE
STS WDTCSR,R16
Сб мар 16, 2019 07:49:42
Сб мар 16, 2019 08:11:42
Сб мар 16, 2019 08:19:50
Сб мар 16, 2019 08:50:00
Сб мар 16, 2019 09:37:04
.include "m328pdef.inc"
.equ Fo=1000000
.org 0
RJMP START
START:
ldi XL,low(RAMEND) ;
ldi XH,high(RAMEND) ;
out SPH, XH ;
out SPL, XL ;загрузить стек
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
CLR R15
OUT MCUSR,R15
; Start timed sequence
LDI R16,1<<WDCE|1<<WDE
STS WDTCSR, r16
CBR R16,1<<WDE
STS WDTCSR,R16
GO:
SER R16
OUT DDRB,R16
OUT PORTB,R15
OUT PORTD,R16
SBIC PIND,0
RJMP PC-1
OUT PORTB,R16
RCALL DEL_300ms
OUT PORTB,R15
RCALL DEL_300ms
RJMP GO
;****
DEL_300ms:
LDI R20,BYTE3(300*Fo/1000/5)
LDI R21,BYTE2(300*Fo/1000/5)
LDI R22,BYTE1(300*Fo/1000/5)
WAIT_DEL:
SUBI R22,BYTE1(1)
SBCI R21,BYTE2(1)
SBCI R20,BYTE3(1)
BRNE WAIT_DEL
RET
;****
.EXIT
Сб мар 16, 2019 09:42:20
bafomet911 писал(а):...
У мну английский хромает не пинайте сильно знаю что стыдоба...
Сб мар 16, 2019 12:54:58
.include "m328pdef.inc"
.equ Fo=1000000
.org 0
RJMP START
START:
ldi XL,low(RAMEND) ;
ldi XH,high(RAMEND) ;
out SPH, XH ;
out SPL, XL ;загрузить стек
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
CLR R15
OUT MCUSR,R15
; Start timed sequence
LDI R16,1<<WDCE|1<<WDE
STS WDTCSR, r16
CBR R16,1<<WDE
STS WDTCSR,R16
GO:
SER R16
OUT DDRB,R16
OUT PORTB,R15
OUT PORTD,R16
SBIC PIND,0
RJMP PC-1
OUT PORTB,R16
RCALL DEL_300ms
OUT PORTB,R15
RCALL DEL_300ms
RJMP GO
;****
DEL_300ms:
LDI R20,BYTE3(300*Fo/1000/5)
LDI R21,BYTE2(300*Fo/1000/5)
LDI R22,BYTE1(300*Fo/1000/5)
WAIT_DEL:
SUBI R22,BYTE1(1)
SBCI R21,BYTE2(1)
SBCI R20,BYTE3(1)
BRNE WAIT_DEL
RET
;****
.EXIT
.include "m328pdef.inc"
.equ Fo=1000000
.org 0
RJMP START
START:
ldi XL,low(RAMEND) ;
ldi XH,high(RAMEND) ;
out SPH, XH ;
out SPL, XL ;загрузить стек
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
CLR R15
OUT MCUSR,R15
; Start timed sequence
LDI R16,1<<WDCE|1<<WDE
STS WDTCSR, r16
CBR R16,1<<WDE
STS WDTCSR,R16
GO:
SER R16
OUT DDRB,R16
OUT PORTB,R15
OUT PORTD,R16
SBIC PIND,0
RJMP PC-1
OUT PORTB,R16
RCALL DEL_300ms
OUT PORTB,R15
RCALL DEL_300ms
RJMP GO
;****
DEL_300ms:
LDI R20,BYTE3(300*Fo/1000/5)
LDI R21,BYTE2(300*Fo/1000/5)
LDI R22,BYTE1(300*Fo/1000/5)
WAIT_DEL:
SUBI R22,BYTE1(1)
SBCI R21,BYTE2(1)
SBCI R20,BYTE3(1)
BRNE WAIT_DEL
RET
;****
.EXIT
Сб мар 16, 2019 17:02:39
bafomet911 писал(а):АСМ Сцуко Сила Великая!!!! И я ею хочу овладеть!!! Путь Джедая вибираю одако я:)
Может для начало стоило разобраться?bafomet911 писал(а):Вывод-
1)косяк атмел студии!
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/wdt.h>
int main(void)
{
DDRD = 0b00000000;
PORTD = 0b11111111;
DDRB = 0b11111111;
PORTB = 0b00000000;
wdt_enable(WDTO_2S);
wdt_reset();
while(1)
{
//if(PIND==0)
if((PIND & (1<<(0))) == 0)
{
PORTB=1;
_delay_ms(300);
PORTB=0;
_delay_ms(300);
}
wdt_reset();
}
}
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
int main(void)
{
DDRD = 0b00000000;
PORTD = 0b11111111;
DDRB = 0b11111111;
PORTB = 0b00000000;
cli();
asm volatile ("wdr");
MCUSR = 0x00;
WDTCSR = 1<<WDCE|1<<WDE;
WDTCSR &= ~(1<<WDE);
while(1)
{
//if(PIND==0)
if((PIND & (1<<(0))) == 0)
{
PORTB=1;
_delay_ms(300);
PORTB=0;
_delay_ms(300);
}
}
}
Сб мар 16, 2019 18:27:42
Сб мар 16, 2019 22:27:39
Сб мар 16, 2019 22:36:39
Чт мар 21, 2019 16:51:43
У Ди Халта неплохой учебник по асму. Спросить у Яндекса "di halt avr. учебный курс", первая же ссылка.BOB51 писал(а):Тогда поискать книги Евстифеева для освоения.