.


:




:

































 

 

 

 


ORG -




ORG , . SRAM (), , EEPROM EEPROM. ( ) . EEPROM , 32 ( 0-31 ). EEPROM - .

:
.ORG

:
.DSEG;

.ORG 0x37; SRAM 0x37

variable:.BYTE 1; 0x37H

 

.CSEG
.ORG 0x10; 0x10

mov r0,r1; 0x10

 

SET - .

SET . . EQU SET.

:
.SET =

:
.SET io_offset = 0x23

.SET porta = io_offset + 2

.CSEG;

clr r2; r2

out porta,r2; A

, , . 32-.

:

( ).

SET

EQU

:

o ( ): 10, 255

o ( ): 0x0a, $0a, 0xff, $ff

o : 0b00001010, 0b11111111

o ( ): 010, 077

PC - (Programm Counter)

 

 

               
ADD1 Rd, Rr Rd =Rd + Rr Z,C,N,V,H  
ADC Rd, Rr Rd = Rd + Rr + C Z,C,N,V,H  
ADIW Rdl,K Rdh:Rdl = Rdh:Rdl + K Z,C,N,V,S  
SUB Rd, Rr Rd=Rd - Rr Z,C,N,V,H  
SUBI Rd, K Rd=Rd - K Z,C,N,V,H  
SBC Rd, Rr Rd=Rd - Rr - C Z,C,N,V,H  
SBCI Rd, K Rd=Rd - K - C Z,C,N,V,H  
SBIW Rdl,K Rdh:Rdl= Rdh:Rdl-K Z,C,N,V,S  
AND Rd, Rr Rd=Rd&Rr Z,N,V  
ANDI Rd, K Rd=Rd&K Z,N,V  
OR Rd, Rr Rd=Rd v Rr Z,N,V  
ORI Rd, K Rd=Rd v K Z,N,V  
EOR Rd, Rr . Rd=Rd  Rr Z,N,V  
COM Rd 0b11111111 ($FF), Rd=$FF - Rd Z,C,N,V  
NEG Rd 0b00000000 ($00) Rd=$00 - Rd Z,C,N,V,H  
SBR Rd, K () Rd=Rd v K Z,N,V  
CBR Rd, K () Rd=Rd ($FF - K) Z,N,V  
INC Rd Rd=Rd + 1 Z,N,V  
DEC Rd Rd=Rd - 1 Z,N,V  
TST Rd Rd=Rd. Rd Z,N,V  
CLR Rd Rd=Rd-Rd Z,N,V  
SER Rd Rd=$FF  
MUL Rd, Rr R1:R0=RdxRr Z, C  
MULS Rd, Rr R1:R0=RdxRr Z, C  
MULSU Rd, Rr R1:R0=Rd x Rr Z, C  
FMUL Rd. Rr R1:R0= (RdxRr) << 1 Z, C  
FMULS Rd, Rr R1:R0= (RdxRr) << 1 Z, C  
FMULSU Rd, Rr R1:R0= (RdxRr) << 1 Z, C  
RJMP k PC=PC + k +1  
IJMP   (Z) PC=Z  
JMP k PC=k  
RCALL k PC=PC + k + 1  
ICALL   (Z) PC=Z  
CALL k PC=k  
RET   PC=STACK  
RETI   PC=STACK I  
CPSE Rd,Rr , if (Rd = Rr) PC=PC + 2 3 1/2/3
CP Rd,Rr Rd-Rr Z, N,V,C,H  
CPC Rd,Rr Rd - Rr-C Z, N,V,C,H  
CPI Rd,K Rd-K Z, N,V,C,H  
SBRC Rr,b , if(Rr(b)=O) PC=PC+2 3 1 /2/3
SBRS Rr, b , if (Rr(b)=1) PC=PC+ 2 3 1/2/3
SBIC P, b , - if (P(b)=O) PC=PC + 2 3 1 /2/3
SBIS P, b , - if (P(b)=1) PC=PC + 2 3 1 /2/3
BRBS s, k , if(SREG(s)=1) then PC=PC+k + 1 1/2
BRBC s, k , if(SREG(s)=0) then PC=PC+k + 1 1 /2
BREQ k , if(Z=1) then PC=PC + k + 1 1 /2
BRNE k , if(Z=0) then PC=PC + k + 1 1 /2
BRCS k , if(C=1)then PC=PC+k+ 1 1 /2
BRCC k , if(C=0) then PC=PC +k+ 1 1 /2
BRSH k , if(C=0) then PC=PC+k+ 1 /2
BRLO k , if(C=1) then PC=PC+k+1 1 /2
BRMI k , if(N=1) then PC=PC+k + 1 1 /2
BRPL k , if(N=0) then PC=PC + k + 1 1 /2
BRGE k , if(NeV=0) then PC=PC+k+1 1 /2
BRLT k , if(NeV=1) then PC=PC+k+ 1 /2
BRHS k , if(H=1) then PC=PC+k+1 1 /2
BRHC k , if (H=0) then PC=PC+k + 1 1 /2
BRTS k , if (T=1) then PC=PC + k +1 1 /2
BRTC k , if (T=0) then PC=PC+k+1 1 /2
BRVS k , V if (V=) then PC=PC+k+1 1 /2
BRVC k , V if (V=0) then PC=PC + k+1 1 /2
BRIE k , if (I = 1)then PC=PC+ k+ 1 1 /2
BRID k , if (I =0) then PC=PC +k +1 1 /2
MOV Rd, Rr Rd=Rr  
MOVW Rd, Rr Rd+1:Rd=Rr+1:Rr  
LDI Rd, K Rd=K  
LD Rd, X Rd=(X)  
LD Rd, X+ . Rd=(X), X=X + 1  
LD Rd,-X , X=X - 1, Rd=(X)  
LD Rd,Y Rd=(Y)  
LD Rd, Y+ . Rd=(Y), Y=Y + 1  
LD Rd,-Y , Y=Y - 1, Rd=(Y)  
LDD Rd,Y+q Rd=(Y + q)  
LD Rd, Z Rd=(Z)  
LD Rd, Z+ . Rd=(Z),Z=Z+1  
LD Rd.-Z , Z=Z - 1, Rd=(Z)  
LDD Rd, Z+q Rd=(Z + q)  
LDS Rd, k Rd=(k)  
ST X, Rr (X)=Rr  
ST X+, Rr . (X)=Rr, X=X + 1  
ST -X, Rr . X=X - 1, (X)=Rr  
ST Y, Rr (Y)=Rr  
ST Y+, Rr . (Y)=Rr, Y=Y + 1  
ST -Y, Rr . Y=Y - 1, (Y)=Rr  
STD Y+q,Rr (Y + q)=Rr  
ST Z, Rr (Z)=Rr  
ST Z+, Rr . (Z)=Rr, Z=Z + 1  
ST -Z. Rr . Z=Z - 1, (Z)=Rr  
STD Z+q,Rr (Z + q)=Rr  
STS k, Rr (k)=Rr  
LPM   R0=(Z)  
LPM Rd, Z Rd=(Z)  
LPM Rd, Z+ Rd=(Z), Z=Z+1  
ELPM   R0=(RAMPZ:Z)  
ELPM Rd, Z Rd=(RAMPZ:Z)  
ELPM Rd, Z+ Rd=(RAMPZ:Z), RAMPZ:Z=RAMPZ:Z+1  
SPM   (Z)=R1:R0 -
IN Rd, P - Rd=P  
OUT P, Rr - P=Rd  
PUSH Rr STACK=Rr  
POP Rd Rd=STACK  
SBI P,b - l/O(P,b)=1  
CBI P,b - l/O(P,b)=0  
LSL Rd Rd(n+1)=Rd(n), Rd(0)=0 Z,C,N,V  
LSR Rd Rd(n)=Rd(n+1), Rd(7)=0 Z,C,N,V  
ROL Rd Rd(0)= C, Rd(n+1)=Rd(n), C=Rd(7) Z,C,N,V  
ROR Rd Rd(7)=C, Rd(n)=Rd(n+1), C=Rd(0) Z,C,N,V  
ASR Rd Rd(n)= Rd(n+1), n=0..6 Z,C,N,V  
SWAP Rd Rd(3..0)=Rd(7..4), Rd(7..4)=Rd(3..0)  
BSET s SREG SREG(s)=1 SREG(s)  
BCLR s SREG SREG(s)=0 SREG(s)  
BST Rr, b T T=Rr(b) T  
BLD Rd, b T Rd(b)=T  
SEC   C=1 C  
CLC   C=0 C  
SEN   N N=1 N  
CLN   N N=0 N  
SEZ   Z Z=1 Z  
CLZ   Z Z=0 Z  
SEI   L= 1 I  
CLI   l=0 I  
SES   S S=1 S  
CLS   S S=0 S  
SEV   V SREG V=1 V  
CLV   V SREG V=0 V  
SET   T SREG T=1 T  
CLT   T SREG T=0 T  
SEH   SREG H=1 H  
CLH   SREG H=0 H  
NOP      
SLEEP   (. )  
WDR   (. )  
BREAK   -
             

 

3

5.

AVR

7 6 5 3 2 1 0
($FF)- - - - - - - - -
($9E)- - - - - - - - -
($9D)-UCSR1C C 1 - UMSEL1 UPM11 UPM10 USBS1 UCSZ11 UCSZ10 UCPOL1
($9C)-UDR1 1
($9B)-UCSR1A 1 RXC1 TXC1 UDRE1 FE1 DOR1 UPE1 U2X1 MPCM1
($9A)-UCSR1B B 1 RXCIE1 TXCIE1 UDRIE1 RXEN1 TXEN1 UCSZ12 RXB81 TXB81
($99)-UBRR1L 1
($98)-UBRR1H - - - - 1
($97)- - - - - - - - -
($96)- - - - - - - - -
($95)-UCSR0C. C 0 - UMSEL0 UPM01 UPM00 USBS0 UCSZ01 UCSZ00 UCPOL0
($94)- - - - - - - - -
($93)- - - - - - - - -
($92)- - - - - - - - -
($91)- - - - - - - - -
($90)-UBRR0H - - - - . 0
($8F)- - - - - - - - -
($8E)- - - - - - - - -
($8D)- - - - - - - - -
($8C)-TCCR3C FOC3A FOC3B FOC3C - - - - -
($8B)-TCCR3A COM3A1 COM3A0 COM3B1 COM3B0 COM3C1 COM3C0 WGM31 WGM30
($8A)-TCCR3B ICNC3 ICES3 - WGM33 WGM32 CS32 CS31 CS30
($89)-TCNT3H - 3 -
($88)-TCNT3L - 3 -
($87)-OCR3AH - 3 -
($86)-OCR3AL - 3 -
($85)-OCR3BH - 3 -
($84)-OCR3BL - 3 -
($83)-OCR3CH - 3 -
($82)-OCR3CL - 3 -
($81)-ICR3H - 3 -
($80)-ICR3L - 3 -
($7F)- - - - - - - - -
($7E)- - - - - - - - -
($7D)-ETIMSK - - TICIE3 OCIE3A OCIE3B TOIE3 OCIE3C OCIE1C
($7C)-ETIFR - - ICF3 OCF3A OCF3B TOV3 OCF3C OCF1C
($7B)- - - - - - - - -
($7A)-TCCR1C FOC1A FOC1B FOC1C - - - - -
($79)-OCR1CH - 1 -
($78)-OCR1CL - 1 -
($77)- - - - - - - - -
($76)- - - - - - - - -
($75)- - - - - - - - -
($74)-TWCR. TWI TWINT TWEA TWSTA TWSTO TWWC TWEN - TWIE
($73)-TWDR. TWI
($72)-TWAR. TWI TWA6 TWA5 TWA4 TWA3 TWA2 TWA1 TWA0 TWGCE
($71)-TWSR. TWI TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0
($70)-TWBR
($6F)-OSCCAL
($6E)- - - - - - - - -
($6D)-XMCRA - SRL2 SRL1 SRL0 SRW01 SRW00 SRW11 -
($6C)-XMCRB - - - - - XMM2 XMM1 XMM0
($6B)- - - - - - - - -
($6A)-EICRA ISC31 ISC30 ISC21 ISC20 ISC11 ISC10 ISC01 ISC00
($69)- - - - - - - - -
($68)-SPMCSR SPMIE RWWSB - RWWSRE BLBSET PGWRT PGERS SPMEN
($67)- - - - - - - - -
($66)- - - - - - - - -
($65)-PORTG - - - PORTG4 PORTG3 PORTG2 PORTG1 PORTG0
($64)-DDRG. G - - - DDG4 DDG3 DDG2 DDG1 DDG0
($63)-PING - - - PING4 PING3 PING2 PING1 PING0
($62)-PORTF PORTF7 PORTF6 PORTF5 PORTF4 PORTF3 PORTF2 PORTF1 PORTF0
($61)-DDRF. F DDF7 DDF6 DDF5 DDF4 DDF3 DDF2 DDF1 DDF0
($60)- - - - - - - - -
$3F($5F)-SREG. I T H S V N Z C
$3E($5E)-SPH. (. ) SP15 SP14 SP13 SP12 SP11 SP10 SP9 SP8
$3D($5D)-SPL (. ) SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0
$3C($5C)-XDIV XDIVEN XDIV6 XDIV5 XDIV4 XDIV3 XDIV2 XDIV1 XDIV0

 

:

1. . 0. .

2. . 1. , CBI SBI - (--). CBI SBI $00$1F.

 

 

4

 

6. ATmega128

  $0000 RESET , , , JTAG-
  $0002 INT0 0
  $0004 INT1 1
  $0006 INT2 2
  $0008 INT3 3
  $000A INT4 4
  $000C INT5 5
  $000E INT6 6
  $0010 INT7 7
  $0012 TIMER2 COMP - 2
  $0014 TIMER2 OVF - 2
  $0016 TIMER1 CAPT - 1
  $0018 TIMER1 COMPA - 1
  $001A TIMER1 COMPB - 1
  $001C TIMER1 OVF - 1
  $001E TIMER0 COMP - 0
  $0020 TIMER0 OVF - 0
  $0022 SPI, STC SPI
  $0024 USART0, RX 0
  $0026 USART0, UDRE 0
  $0028 USART0, TX 0
  $002A ADC
  $002C EE READY EEPROM
  $002E ANALOG COMP
  $0030(3) TIMER1 COMPC - 1
  $0032(3) TIMER3 CAPT 3
  $0034(3) TIMER3 COMPA - 3
  $0036(3) TIMER3 COMPB - 3
  $0038(3) TIMER3 COMPC - 3
  $003A(3) TIMER3 OVF 3
  $003C(3) USART1, RX 1
  $003E(3) USART1, UDRE 1
  $0040(3) USART1, TX 1
  $0042(3) TWI
  $0044(3) SPM READY

 

.

1. BOOTRST , .

2. IVSEL MCUCR, -. -.

3. $0030 - $0044 ATmega103.

 

5

AVR

 

ATmega8(L)

 

 

ATmega128

ATmega64

 

ATmega32

 

ATmega16

 
 

 


ATmega169

 

 

ATmega8535

 

ATmega163

 

ATtiny15L

 

ATtiny26

 

ATtiny28

AT90S2313


[1] http://logic-bratsk.ru/radio/micro/atmega128/index.htm

[2] - - , .

[3] BLB02 , . BLB12 , .

 

[4] (ACO) - 1 . - 3 .

 

[5] TWI.

-, . SCL ;

, ;

- , ;

-, .

 

[6] 3 ..





:


: 2016-11-02; !; : 741 |


:

:

- , - .
==> ...

1458 - | 1373 -


© 2015-2024 lektsii.org - -

: 0.1 .