, PIC- MPASM MPLAB.
ASII. , , : , :
Start | bcf STATUS, | RP1 | ; |
255 ; , , , , , .
_ - , _ ?.
32 , .
, MPASM Tab(), , .
. (), .
, , , ASII . 3.1. 3.2 .
3.1
d | d100 | |
. | .100 | |
9f | ||
0f9 | ||
h'' | h'9f' h'f 9' | |
h | 9fh | |
0f9h | ||
0x | 0x9f 0xf9 | |
Q'' | Q'777' | |
b'' | b'00110101' | |
ASII | '' | 'C' |
A'' | A'' |
3.2
= | TMP1= ha9 | |
+ | TMP1=TMP+.10 | |
- | TMP1=TMP-ha9 | |
- | TMP1= -TMP | |
% | ||
* | TMP1=TMP*.2 | |
/ | TMP1=TMP/10 | |
<< | ( ѻ .) | TMP1= TMP<<1 |
>> | ( ѻ .) | TMP1= TMP>>2 |
() | (TMP+2)*9 | |
= = | If TMP1 = = maska | |
!= | If TMP1! = maska | |
<= | If TMP1 < = maska | |
>= | If TMP1 > = maska | |
~ | TMP1= TMP | |
| | TMP1= TMP | maska | |
& | TMP1= TMP & maska | |
|| | If (TMP1 = = maska) || (TMP = = maska) | |
&& | If (TMP1 = = maska) && (TMP = = maska) | |
^ | TMP1= TMP ^ maska | |
$ | $+3 |
|
|
, , .
MPASM, , . MPASM, - . 3.3 .
3.3
DATA | , . |
ZERO | , , . |
SET | . |
RES | , . |
EQU | . |
INCLUDE | . |
IF | . |
ELSE | . |
ENDIF | . |
ORG | . |
END | . |
MACRO | . |
ENDM | . |
LOCAL | . |
EXITM | . |
, Microchip, . . , .
, . , PIC16F877 , 35 . 1.13, 1.18.
14- ( PIC16F628), (OPCODE), , . 3 :
- ;
- ;
- .
3.4 .
3.4 PIC16F877
ADDWF | f, d | W f | C,DC,Z | |
ANDWF | f, d | Ȼ W f | Z | |
CLRF | f | f | Z | |
CLRW | W | Z | ||
COMF | f, d | f | Z | |
DECF | f, d | 1 f | Z | |
DECFSZ | f, d | 1 f 0 | 1(2) | Z |
INCF | f, d | 1 f | Z | |
INCFSZ | f, d | 1 f 0 | 1(2) | Z |
IORWF | f, d | Ȼ W f | Z | |
MOVF | f, d | f | Z | |
MOVWF | f | W f | ||
NOP | ||||
RLF | f, d | f | C | |
RRF | f, d | f | C | |
SUBWF | f, d | W f | C,DC,Z | |
SWAPF | f, d | f | ||
XORWF | f, d | Ȼ W f | Z | |
BCF | f, b | b f | ||
BSF | f, b | b f | ||
BTFSC | f, b | b f, . 0 | 1(2) | |
BTFSS | f, b | b f, . 1 | 1(2) | |
ADDLW | k | W | C,DC,Z | |
ANDLW | k | Ȼ W | Z | |
CALL | k | |||
CLRWDT | WDT | -TO, -PD | ||
GOTO | k | |||
IORLW | k | Ȼ W | Z | |
MOVLW | k | W | ||
RETFIE | / | |||
RETLW | k | / W | ||
RETURN | / | |||
SLEEP | SLEEP | -TO, -PD | ||
SUBLW | k | W | C,DC,Z | |
XORLW | k | Ȼ W | Z |
|
|
, . , 32 ( 1, 1.3).
3.5 .
3.5
RP1 | RP0 | |
0 (000-07F) | ||
1 (0x80-0xFF) | ||
2 (0x100-0x17F) | ||
3 (0x180-0x1FF) |
bcf bsf, 5 (RP0) 6 (RP1) STATUS.
, 3 c :
bcf STATUS, RP0
bsf STATUS, RP1
, . () . : STATUS, TRISA, TRISB, PORTA PORTB.
PORT TRISA
PORTA 6 - . PORTA TRISA, . '1' TRISA 3- . '0' TRISA , PORTA ( ).
PORTA , PORTA. - - , .. , .
RA4 - , TOCKI. PORTA TTL .
PORTA VREF. / PORTA ADCON1.
: , '0'.
|
|
TRISA PORTA, . , PORTA .
: PORTA
; PORTA /
; ADCON1(9fh)
;( 1.8.1) :
; PCFG3, PCFG2, PCFG1, PCFG0 = 000001100b, 0x06.
; ADCON1 1- .
BCF STATUS, RP1; 0
BCF STATUS, RP0;RP1=0, RP0=0
CLRF PORTA; PORTA
BSF STATUS, RP0; 1(RP0=1)
MOVLW 0X06;
MOVWF ADCON1; PORTA - /
MOVLW 0xCF;
; PORTA
MOVWF TRISA; RA<3:0> ,
; RA<5:4>
; TRISA<7:6>
; '0'.
PORT TRIS, PORTA TRISA , PORT .
, , PORTA PORTB , TRISA TRISB .
PORTB TRISB
PORTB - 8- /. TRISB . '1' TRISB 3- . '0' TRISB , PORTB ( ).
PORTB . RBPU (OPTION_REG <7>) (RBPU=0) (RBPU=1) . , POR.
-, PIC16F877 : , , C, D E. . , , movwf PORTA. , , , , .
, Dat, B, Dat .