20
មវិាល័យ អគ សនី ២០១១- ២០១២ Microcontroller PIC16F84A បងរៀនងោយ ហួ វ នត

Learn microcontroller pic16f84a

  • Upload
    npic

  • View
    334

  • Download
    0

Embed Size (px)

DESCRIPTION

Introduction to Microcontroller PIC16F84A and how to write program for Microcontroller. The program that i use to write is MikroC. You can download this program by:​http://eelibrary.wordpress.com

Citation preview

Page 1: Learn microcontroller pic16f84a

មហាវិទ្យាល័យ អគ្គិសនី

ឆ្ន ាំ ២០១១- ២០១២

Microcontroller PIC16F84A

បង្រៀនងោយ ហួ ជាវន័ត

Page 2: Learn microcontroller pic16f84a

etIGVICa Microcontroller ?

Microcontroller KWCaRbB½næRtYtBinitümYy

manlkçNdUckMuBüÚT½rEdlfitenAkñúgsMbk Chip

Page 3: Learn microcontroller pic16f84a

rUbPaBbgðajEpñkxagkñúg Microcontroller

Page 4: Learn microcontroller pic16f84a

karBiBN’naBIeCIg PIC16F84A

Page 5: Learn microcontroller pic16f84a

karBiBN’naBIeCIg PIC16F84A

= RckcUl signal

= Rckecj signal

= RckcUlk¾)an

Rckecjk¾)an

EtvaGaRs½yelI

karsresr Code

Page 6: Learn microcontroller pic16f84a

karBiBN’naBIeCIg PIC16F84A

RA0, RA1, RA2, RA3, RA4 RtUv)anehAfa Port A

RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 RtUv)anehAfa Port B

karehAfa Port A KWsMedAelIeCIgTaMgGs;rbs; Port A

karehAfa Port A Pin 0 KWsMedAelIeCIgrbs; Port A bit 0 ( eCIg RA0 )

karehAfa Port A nig Port B manlkçNdUcKña

Vdd RbPBviC¢man +5V nigVss RbPBGviC¢man 0V

Page 7: Learn microcontroller pic16f84a

etIGVICa Reset or Master clear (MCLR) ?

Master clear KWCaeCIgmYysRmab;eFIVeGay

Microcontroller RtLb;eTAGas½ydæanedImKW 00h

Page 8: Learn microcontroller pic16f84a

kartP¢ab; Reset or Master clear

Page 9: Learn microcontroller pic16f84a

kartP¢ab;esoKVIlMeyaledayeRbIRKiHsþal;

esoKVIlMeyalCaEpñkmYysMxan;EdlmantYnaTIbegáIteGayman Square Signal

Page 10: Learn microcontroller pic16f84a

kareRbIR)as; PORT CaRckecj( Output )

ral;eCIgnimYy²rbs; PORT A, PORT B mantémøcrnþGtibrma 25 mA TaMgcrnþviC¢man nigcrnþGviC¢man ( Source Current and Sink Current)

Page 11: Learn microcontroller pic16f84a

kartP¢ab;GMBUl LED eTAkan; PORT

ebIGMBUlLEDsIucrnþ 10mA nigtg;süúg 2V

CaFmµtaGMBUl LEDsIucrnþRbEhlBI 8mA eTA 16 mA nigtg;süúgRbEhl BI 1.6V eTA 2.4V .

Page 12: Learn microcontroller pic16f84a

kareRbIR)as; PORT CaRckcUl( Input )

témøtg;süúgEdlcUleTAkan;eCIg PORTebItg;süúgcUlmantémøBI

2V~5V tMNageGayHigh

ebItg;süúgcUlmantémøBI

0V~0.8V tMNageGayLow

Page 13: Learn microcontroller pic16f84a

kartP¢ab; Button eTARckcUl( Input )

Active High PORT

Gt;cucLow

cucHigh

Active Low PORT

Gt;cucHigh

cucLow

+5V +5V

Page 14: Learn microcontroller pic16f84a

rebobkMnt; PORT Ca Input or Output

TRISx KWCa Register mYysRmab;kMnt;muxgar

rbs; PORTxTRISx = 1PORTx as Input.TRISx = 0PORTx as Output.

Page 15: Learn microcontroller pic16f84a

karsresrkmµviFIsRmab; PIC16F84A

TMrg;TUeTArbs;Pasa C sRmab; Microcontroller

void main(){

while(1){

program body;}

}

Page 16: Learn microcontroller pic16f84a

karsresrkmµviFIsRmab; PIC16F84A

void main(){

while(1){

program body;}

}

CatMbn;sRmab;RbkasGefr

rWkarkMnt;nUvmuxgarmYycMnYn

rbs; MicrocontrollerdUcCa Trisb = 0; or Portb = 0; CaedIm .

Page 17: Learn microcontroller pic16f84a

karsresrkmµviFIsRmab; PIC16F84A

void main(){

while(1){

program body;}

}

CatMbn;EdlmandMeNIrkarrhUt

Example: GMBUlmYyebIk

ehIybiT²CaerogrhUt.

eyIgRtUvsresr Code enA

kñúgtMbn;enH(program body)

Page 18: Learn microcontroller pic16f84a

sresrkmµviFIeGayGMBUlmYyebIkehIybiT²CaerogrhUt

void main(){

Trisb = 0b00000000; // Config PortB all pin as output

Portb = 0b00000000; // Send data low to all pin of PortB

while(1){

Portb = 0b00000001; // Send data High to bit 0 of PortB

delay_ms(1000); // Wait 1 second

Portb =0b00000000; // Send data low to all pin of PortB

delay_ms(1000); // Wait 1 second

} }

Page 19: Learn microcontroller pic16f84a

karKUsesoKVI PIC16F84A

Page 20: Learn microcontroller pic16f84a

GrKuN