Download - Learn microcontroller pic16f84a
មហាវិទ្យាល័យ អគ្គិសនី
ឆ្ន ាំ ២០១១- ២០១២
Microcontroller PIC16F84A
បង្រៀនងោយ ហួ ជាវន័ត
etIGVICa Microcontroller ?
Microcontroller KWCaRbB½næRtYtBinitümYy
manlkçNdUckMuBüÚT½rEdlfitenAkñúgsMbk Chip
rUbPaBbgðajEpñkxagkñúg Microcontroller
karBiBN’naBIeCIg PIC16F84A
karBiBN’naBIeCIg PIC16F84A
= RckcUl signal
= Rckecj signal
= RckcUlk¾)an
Rckecjk¾)an
EtvaGaRs½yelI
karsresr Code
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
etIGVICa Reset or Master clear (MCLR) ?
Master clear KWCaeCIgmYysRmab;eFIVeGay
Microcontroller RtLb;eTAGas½ydæanedImKW 00h
kartP¢ab; Reset or Master clear
kartP¢ab;esoKVIlMeyaledayeRbIRKiHsþal;
esoKVIlMeyalCaEpñkmYysMxan;EdlmantYnaTIbegáIteGayman Square Signal
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)
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 .
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
kartP¢ab; Button eTARckcUl( Input )
Active High PORT
Gt;cucLow
cucHigh
Active Low PORT
Gt;cucHigh
cucLow
+5V +5V
rebobkMnt; PORT Ca Input or Output
TRISx KWCa Register mYysRmab;kMnt;muxgar
rbs; PORTxTRISx = 1PORTx as Input.TRISx = 0PORTx as Output.
karsresrkmµviFIsRmab; PIC16F84A
TMrg;TUeTArbs;Pasa C sRmab; Microcontroller
void main(){
while(1){
program body;}
}
karsresrkmµviFIsRmab; PIC16F84A
void main(){
while(1){
program body;}
}
CatMbn;sRmab;RbkasGefr
rWkarkMnt;nUvmuxgarmYycMnYn
rbs; MicrocontrollerdUcCa Trisb = 0; or Portb = 0; CaedIm .
karsresrkmµviFIsRmab; PIC16F84A
void main(){
while(1){
program body;}
}
CatMbn;EdlmandMeNIrkarrhUt
Example: GMBUlmYyebIk
ehIybiT²CaerogrhUt.
eyIgRtUvsresr Code enA
kñúgtMbn;enH(program body)
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
} }
karKUsesoKVI PIC16F84A
GrKuN