Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

Tm tt 1 s tp lnh ASM v v d v Pic 16f877a

by hts on Sat Jan 14, 2012 3:22 am 1. Hnh dng v S chn :

2. Cu trc I/O (input/output) : Pic 16f877a c 5 port c chc nng I/O * Port A : (RA0 - RA5), port A c iu khin bi thanh ghi trisA. Ngoi ra port A cn l ng ra ca b chuyn i ADC, b so snh in p v l ng vo ca xung Clock cho Timer 0 hot

ng. * Port B : (RB0 - RB7) 8 bit I/O cng c iu khin bi thanh ghi trisB, ngoi ra Port B cn lin quan n tnh nng ngt ngoi vi. * Port C : (RC0 - RC7) 8 bit I/O cng c iu khin bi thanh ghi trisC, bn cnh port C cn c cc chn c tnh nng so snh, ng thi l ng vo xung Clock ca b Timer 1 v cc chun giao tip ni tip. * Port D : (RD0 - RD7) : 8 bit I/O c iu khin bi thanh ghi trisD. Port E : (RE0 - RE2) : 3 bit I/O c iu khin bi thanh ghi trisE, ngoi ra cn c tnh nng nhn ng vo Analog thc hin chuyn i ADC. 3. T chc b nh : Gm 2 b nh : b nh chng trnh (ROM) v b nh d liu (RAM) * B nh chng trnh : 8 kword c kh nng lp trnh 8192 lnh * B nh d liu : 4 bank , mi bank cha 128 byte d liu. 4. B nh thi (Timer) : Gm 3 b : Timer0, Timer1, Timer2. * Timer 0 : l b m 8 bit , gi tr m nm trong thanh ghi TMR0 (8 bit). * Timer 1: 16 bit , gi tr m nm trong 2 thanh ghi TMR1H (cha bit cao) v TMR1L (cha bit thp). * Timer 2 : 8 bit ging timer0 nhng tn s nh thi c th thay i c. -------------------TP LNH : Lnh MOVLW K; * W l thanh ghi trung gian di 8 bit * 0 <= k <= 255 * Mang gi tr ca K gn vo thanh ghi W V d : MOVLW 85H; //Sau khi thc hin lnh W = 85H 1 0000101 Lnh MOVWF f ; * f l tn ca thanh ghi * Mang gi tr ca thanh ghi W chuyn vo thanh ghi f V d : MOVLW 85H; // thanh ghi W c gi tr 85H (85H l s m HEX - thp lc phn) MOVWF trisB; // trisB c gi tr 85H Lnh ADDLW K; *w=wk * Cng thm gi tr thanh ghi K vo thanh ghi trung gian W, kt qu lu vo W * 0 <= k <= 255

V d : MOVLW d'100'; //w c gi tr 100 tnh theo gi tr decimal (thp phn) ADDLW d'37'; // w c gi tr l 137 ADDWF f,d; * Thc hin php ton cng gia w v f * Nu d= 0 th kt qu lu vo w * Nu d = 1 kt qu lu vo f * Vi d l gi tr iu khin (0|1) V d : MOVLW d'15'; // w =15 MOVWF trisB ; // trisB = 15 MOVLW d'30' ; // w =30 ADDWF trisB,1; //trisB = 45 (lu vo tris B v d = 1) Lnh ANDLW K; * 0 < = k <= 255 * Thc hin php ton AND gia thanh ghi W v K, kt qu lu vo W. V d : MOVLW 85H; ANDLW 15H; // sau khi thc hin kt qu s cho ra W = 05H Thanh Ghi W = 85H (tch 2 s ra 8 v 5 . S 8 mang 4 bit cao t tri qua phi " 1000" v s 5 mang 4 bit thp " 0101") Bit th 8 Th 4 Th 2 Th1 Th 8 Th 4 Th 2 Th 1 1 0 0 0 0 1 0 1

AND Gi tr a vo AND l 15H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 0 1 0 1 0 1

KT QU CHO RA W = 05H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 0 0 0 1 0 1

c c kt qu nh vy ta phi ly bng chn l ca hm AND mi thy c : * Kt qu ng ra hm AND mc 1 khi ng vo u mc cao (1) input input output

X 0 0 1 1

Y 0 1 0 1

XY 0 0 0 1

Lnh ANDWF f,d; * Thc hin php ton AND (tng bit) ca 2 thanh ghi w v f * Nu d = 0 kt qu lu trong w * Nu d = 1 kt qu lu trong f V d : MOVLW 32H ;// w = 32 h MOVWF trisA; // trisA = 32h MOVLW 27H; // W = 27h ANDWF trisA,0; // W = 22h (do d = 0 nn kt qu lu vo W). Lnh IORLW k ; * 0 <= k <= 255 * Thc hin php ton OR gia thanh ghi w v k V d : MOVLW 15H; IORLW 02; THANH GHI W C GI TR 15H Bit th 8 Th 4 Th 2 Th1 Th 8 Th 4 Th 2 Th 1 0 0 0 1 0 1 0 1

IOR Gi tr a vo OR l 02H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 0 0 0 0 1 0

KT QU CHO RA W = 17H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 0 1 0 1 1 1

c c kt qu nh vy ta phi ly bng chn l ca hm OR mi thy c : * Kt qu ng ra hm OR mc 1 khi 1 trong 2 ng vo mc cao (1)

input input output X Y X/Y 0 0 1 1 0 1 0 1 0 1 1 1

Lnh IORWF f,d; * Thc hin php ton OR gia 2 thanh ghi w v f. * Nu d = 0 lu kt qu vo w * Nu d = 1 lu kt qu vo f V d : tng t nh lnh ANDWF Lnh XORLW K; * 0 <= k <= 255 * Thc hin php ton EX-OR gia w v k, kt qu lu vo w V d : MOVLW 25H; XORLW 15H; THANH GHI W C GI TR 20H Bit th 8 Th 4 Th 2 Th1 Th 8 Th 4 Th 2 Th 1 0 0 1 0 0 1 0 1

XOR Gi tr a vo XOR l 15H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 0 1 0 1 0 1

KT QU CHO RA W = 30H Bit th 8 Th 4 Th 2 Th 1 Th 8 Th 4 Th 2 Th 1 0 0 1 1 0 0 0 0

c c kt qu nh vy ta phi ly bng chn l ca hm EXOR mi thy c :

* Kt qu ng ra hm EX-OR mc 0 khi 2 ng vo tch cc ging nhau (cng cao (1) hoc cng thp (0)). input input output X Y X/Y 0 0 1 1 0 1 0 1 0 1 1 0

Lnh XORWF f,d; * Thc hin php ton EXOR gia 2 thanh ghi w v f. * Nu d = 0 lu kt qu vo w * Nu d = 1 lu kt qu vo f V d : tng t nh lnh XORWF ----------------Cn na hm khc vit tip nh , bun ng qu ri

hts
Tng s bi gi: 232 Cm n: 2 Join date: 26/06/2009 Age: 26 n t: Tay Ninh Province

You might also like