You are on page 1of 195

‫ ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﺍﳌﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬: ‫ﺍﻟﺒﺎﺏ ﺍﻷﻭﻝ‬

‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


 

 IC 
  
   
    
 
  
   
 
 Mini-Computer
ROMRAMProcessor
   
Pins
 
  
 
 
 MicroController
 controller
 
  
   Micro 
   
 
 
 
 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 
              
   
 
              
            

 
 
      
 
 
 

            
 

  
   


 

    
                

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
               
 
 

 
   
 
 

               

 
 
 
 
 
 

 PIC
 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

‫ﻣﻔﺎﻫﻴﻢ ﺃﺳﺎﺳﻴﺔ‬
AVR PIC
  MICROCHIP  PIC 
  

 

 

  

 

 

‫ ﺑﻬﺬﺍ ﺍﻟﺸﻜﻞ‬PIC ‫ﻧﺮﺳﻢ ﺍﻟـ‬  

 

 

 

 A4,A3,A2,A1,A0PORTA 

B7B0PORTB

  R

  RA0A0 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 VDD 
VDD 
 

  VSS 


 

 VDD,VSS

 

            

            
    Led         Microcontroller
PIC            bit     
 

 

 

 

 

 

 

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

     PIC16f84a       
B0 LED
 
 



  

7805
‫ ﻓﻮﻟﺖ‬٩ ‫ﺑﻄﺎرﯾﺔ‬  
VDD ‫ ﻓﻮﻟﺖ‬٥+ ‫ﻛﯿﻠﻮ‬١٠ ‫ﻣﻘﺎوﻣﺔ‬

VSS ‫ﺻﻔﺮ ﻓﻮﻟﺖ‬


 

 
‫ أوم‬٤٢٠ ‫ﻣﻘﺎوﻣﺔ‬
 
‫ ﺑﯿﻜﻮ‬٢٢ ‫ﻣﻜﺜﻒ‬
 

 

 

  

   
7805
      

‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
      

      
 LED           
  LED

   


 
7805
‫ ﻓﻮﻟﺖ‬٩ ‫ﺑﻄﺎرﯾﺔ‬
VDD
 
VDD ‫ ﻓﻮﻟﺖ‬٥+
 ١٠ ‫ﻣﻘﺎوﻣﺔ‬
‫ﻛﯿﻠﻮ‬
VSS ‫ﺻﻔﺮ ﻓﻮﻟﺖ‬
 
 
‫ أوم‬٤٢٠ ‫ﻣﻘﺎوﻣﺔ‬
 
‫ﺑﯿﻜﻮ‬ ٢٢ ‫ﻣﻜﺜﻒ‬
VSS
 
VSS

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 
  B0
       MikroC          
  setup

    

 

 

 

   
‫ﻧﺨﺘﺎر اﺳﻢ ﻟﻠﻤﺸﺮوع‬   
‫وﻧﻜﺘﺒﮫ ھﻨﺎ‬

 

 
‫ھﻨﺎ ﻧﻜﺘﺐ ﻣﺴﺎر اﻟﻤﺸﺮوع‬

‫ اي اﻟﻤﻜﺎن اﻟﺬي ﺳﯿﺤﻔﻆ‬ 


‫ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﻚ‬ ‫ﻓﯿﮫ‬
‫اﻟﻤﺴﺘﺨﺪم ﻓﻲ‬
‫اﻟﻤﺸﺮوع‬  

‫ ھﻨﺎ ﻧﻜﺘﺐ ﺗﺮدد اﻟﻤﺆﻗﺖ‬ 


‫اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﻣﺸﺮوﻋﻨﺎ ھﺬا‬
  ‫اﻛﺘﺒﮫ ﺑﻨﻔﺲ اﻟﻘﯿﻢ اﻟﻤﻮﺟﻮدة‬
1.04 ‫ھﻨﺎ‬

‫اﺧﺘﺎر ھﺬا اﻻﺧﺘﯿﺎر‬


‫وھﻮ ﯾﺸﯿﺮ ﻟﻨﻮع‬
‫اﻟﻤﺆﻗﺖ‬
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
   

 

 

  
‫ھﺬه ھﻲ اﻷواﻣﺮ أو ﻣﺎ ﯾﺴﻤﻰ ﺑﺎﻟﻜﻮد‬
 
‫وﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ ﻧﺴﻤﯿﮭﺎ اﻟﺒﺮﻧﺎﻣﺞ‬

 

 

 

 

 

               
  B0

 
void main()
 
{
 
TRISB=0B00000000;
 
PORTB=0B00000001;
 
}
 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

  ; 




build project 
Ctrl+F9

 
 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 build project 

hex  MikroC



 first_experiment.hex hex 




  hex 

  

‫ﻻﺣﻆ اﻟﻨﺼﻒ داﺋﺮة‬  


‫واﻟﺘﻲ ﺗﺸﯿﺮ ﻟﻠﻄﺮﯾﻘﺔ‬
‫اﻟﺼﺤﯿﺤﺔ ﻟﺘﺮﻛﯿﺐ‬
‫اﻟﺒﻚ‬
 

 

 

  

  

 

PICPgm Programmer
 

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 hex    


 JDM             
  

 

 

 
‫ﻧﺨﺘﺎر ﻗﺎﺋﻤﺔ‬
‫ ﺛﻢ‬hardware  
‫ﻧﻀﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ‬
 

 

  

 

 

 
‫اﻟﻨﻮع اﻟﺬي اﺳﺘﺨﺪﻣﮫ‬
‫ﻓﻲ اﻟﻜﺘﺎب ﻛﻤﺎ ذﻛﺮت‬  
JDM ‫ھﻮ‬

 

 

OK
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
Browse 
 first_experiment.hex

 

‫اﺿﻐﻂ ھﻨﺎ‬  

 

 

Open

‫اﺿﻐﻂ ھﻨﺎ‬

‫ﺑﻌﺪ ﺗﺤﺪﯾﺪ اﻟﻤﻠﻒ‬

 

 PIC16F84A 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

‫ اﺿﻐﻂ ھﻨﺎ‬ 

 

 

 

 

 

 

             
                
 

 
  

    


 

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 MikroC

 
void main()
 
{ ‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد‬

‫ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ‬  
………………..
 
………………..
 
}
 

               void main()   
                
 void

 void main()

 

 
 TRIS
PORTA TRISBPORTB
 TRISA 

 TRIS

OUTPUT            0

 INPUT           1
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 B0 PORTB 
        B0     TRISB   
 B0

TRISBB0
 BIT 
     
 TRISB

 
TRISB
 

 
0 0 0 0 0 0 0 0
 
‫رﻗﻢ اﻟﺮﺟﻞ‬ B7 B6 B5 B4 B3 B2 B1 B0
 B7 B0

              
 TRISB=0B00000000;

 TRISB=0B00000000
‫ھﺬا اﻟﺒﺖ ﺧﺎص ﺑﺎﻟﺮﺟﻞ رﻗﻢ‬

B7 B6 B5 B4 B3 B2 B1 B0  
 0B

B0
 PORT PORT 

 LOW -0HI  1
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
PORTB  HIB0
 B0

TRISBPORTB
 B7 B0 
  

PORTB  

 

0 0 0 0 0 0 0 1  

B7 B6 B5 B4 B3 B2 B1 B0  

   PORTB 


 
 PORTB=0B00000001; 

 PORTB=0B00000001
‫ھﺬا اﻟﺒﺖ ﺧﺎص ﺑﺎﻟﺮﺟﻞ رﻗﻢ‬

 
B7 B6 B5 B4 B3 B2 B1 B0
 

     PORTB=0B00000001         
TRISPORTB=0B00000001; ;
 { }   TRISB=0B00000000;
 syntax  PORT TRIS
 hex 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 
void main()
 
{
 
TRISB=0B00000000;
 
PORTB=0B00000001;
 
}
 

 void main()

 TRISB   B7  B0


 

  B0


  PORT

TRISB   PORTB  ;   


 trisb portb 

 

 MikroC
 


  

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

B7B5B1B0 
 



 

 

 
7805
‫ ﻓﻮﻟﺖ‬٩ ‫ﺑﻄﺎرﯾﺔ‬
VDD  
VDD ‫ ﻓﻮﻟﺖ‬٥+
‫ﻛﯿﻠﻮ‬١٠ ‫ﻣﻘﺎوﻣﺔ‬
VSS ‫ﺻﻔﺮ ﻓﻮﻟﺖ‬  

 
‫ أوم‬٤٢٠ ‫ﻣﻘﺎوﻣﺔ‬
 
‫ ﺑﯿﻜﻮ‬٢٢ ‫ﻣﻜﺜﻒ‬

 
VSS
 

 
VSS

 

 

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


 

   

 

 

 

  
 
‫ﻧﺨﺘﺎر اﺳﻢ ﻟﻠﻤﺸﺮوع وﻧﻜﺘﺒﮫ‬
‫ھﻨﺎ‬
 

 
‫ھﻨﺎ ﻧﻜﺘﺐ ﻣﺴﺎر اﻟﻤﺸﺮوع‬
 
‫ﻧﺨﺘﺎر ﻧﻮع اﻟﺒﻚ‬ ‫اي اﻟﻤﻜﺎن اﻟﺬي ﺳﯿﺤﻔﻆ‬
‫اﻟﻤﺴﺘﺨﺪم ﻓﻲ‬ ‫ﻓﯿﮫ‬
‫اﻟﻤﺸﺮوع‬  

 
‫ھﻨﺎ ﻧﻜﺘﺐ ﺗﺮدد اﻟﻤﺆﻗﺖ‬
‫اﻟﻤﺴﺘﺨﺪم ﻓﻲ ﻣﺸﺮوﻋﻨﺎ ھﺬا‬
  ‫اﻛﺘﺒﮫ ﺑﻨﻔﺲ اﻟﻘﯿﻢ اﻟﻤﻮﺟﻮدة‬
1.04 ‫ھﻨﺎ‬

‫اﺧﺘﺮ ھﺬا اﻻﺧﺘﯿﺎر‬


‫وھﻮ ﯾﺸﯿﺮ ﻟﻨﻮع‬
‫اﻟﻤﺆﻗﺖ‬
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  

 

 

 
‫ ھﺬه ھﻲ اﻷواﻣﺮ أو ﻣﺎ ﯾﺴﻤﻰ ﺑﺎﻟﻜﻮد‬: ‫ﻣﺮاﺟﻌﺔ‬
 
‫وﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ ﻧﺴﻤﯿﮭﺎ اﻟﺒﺮﻧﺎﻣﺞ‬

 

 

 

 

 

 

 
void main()
 
{
 
TRISB=0B00000000;
 
PORTB=0B10100011;
 
}
 

Ctrl+F9
 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


 

 B7B0TRISB=0B00000000; 

B7B5B1B0PORTB=0B10100011;
B6B4B3B2
 

PORTB  

 

1 0 1 0 0 0 1 1
B7 B6 B5 B4 B3 B2 B1 B0
‫ ﺳﻮف ﯾﻀﻲء‬B5 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬

‫ ﻟﻦ ﯾﻀﻲء‬B2 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬


‫ ﺳﻮف ﯾﻀﻲء‬B7 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬

‫ ﺳﻮف ﯾﻀﻲء‬B1 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬


‫ ﻟﻦ ﯾﻀﻲء‬B6 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬

‫ ﻟﻦ ﯾﻀﻲء‬B3 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬


‫ ﻟﻦ ﯾﻀﻲء‬B4 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬

‫ ﺳﻮف ﯾﻀﻲء‬B0 ‫اﻟﻠﯿﺪ اﻟﻤﻮﺻﻞ ﺑـ‬


‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


BitsTRISB=0B00000000;
 TRISB=0;

 PORTB=0B10100011;

a30xPORTB=0XA3;
 10100011

  

 

TRISB=0B00000000; ‫ﯾﻤﻜﻦ ﻛﺘﺎﺑﺘﮭﺎ ھﻜﺬا‬


TRISB=0;  

 

 
‫ﯾﻤﻜﻦ ﻛﺘﺎﺑﺘﮭﺎ ھﻜﺬا‬
PORTB=0B10100011; PORTB=0XA3;  

 

 

 
void main()

TRISB=0;

PORTB=0XA3;

}
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 Mikroc
  binary   decimal        
 hexadecimal

 

 10100011

 QConvertor

‫اﺿﻐﻂ ھﻨﺎ‬

 
 binary

 

 

 



 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬
 


 B7B0



 

 

 
7805
‫ ﻓﻮﻟﺖ‬٩ ‫ﺑﻄﺎرﯾﺔ‬
VDD  
VDD ‫ ﻓﻮﻟﺖ‬٥+
‫ﻛﯿﻠﻮ‬١٠ ‫ﻣﻘﺎوﻣﺔ‬
VSS ‫ﺻﻔﺮ ﻓﻮﻟﺖ‬  

 
‫ أوم‬٤٢٠ ‫ﻣﻘﺎوﻣﺔ‬
 
‫ ﺑﯿﻜﻮ‬٢٢ ‫ﻣﻜﺜﻒ‬

 
VSS
 

 
VSS

 

 


 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


B7 B0 PORTB


 TRISB

 TRISB=0;


 PORTB=0XFF; PORTB=0B11111111;
 PORTB=0;


   

 

 

Void main()

{
‫اﻟﺒﻚ ﺳﯿﻨﻔﺬ اﻷﻣﺮ ﺛﻢ اﻟﺬي ﯾﻠﯿﮫ ﺛﻢ‬
TRISB=0; ‫اﻟﺬي ﯾﻠﯿﮫ وھﻜﺬا ﻓﻲ ﻣﻨﺘﮭﻰ‬
.. ‫اﻟﺴﺮﻋﺔ‬
PORTB=0XFF;

PORTB=0;

PORTB=0XFF;PORTB=0;

‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 


 


Delay_ms(500);

 

Delay_ms(250);

 

Void main()

TRISB=0;

PORTB=0xFF;

delay_ms(1000);

PORTB=0;

 delay_ms(500);

                 

 
                  
 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
‫‪‬‬
‫‪ ‬‬

‫‪LOOP:‬‬

‫‪…………………..‬‬
‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺬي‬
‫‪…………………..‬‬ ‫ﻧﺮﯾﺪه أن ﯾﺘﻜﺮر ﺑﺈﺳﺘﻤﺮار ‪.‬‬

‫‪…………………..‬‬
‫ﻣﻌﻨﻰ ھﺬ اﻷﻣﺮ اذھﺐ إﻟﻰ اﻟﻌﻨﻮان ‪ loop‬واﺑﺪأ ﺗﻨﻔﯿﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﻌﺪه‬
‫;‪goto LOOP‬‬

‫‪ ‬‬

‫)(‪void main‬‬

‫{‬
‫ھﺬا اﻷﻣﺮ ﺳﯿﻮﻇﻒ ﺟﻤﯿﻞ اﻟﺮﺟﻮل ﻓﻲ ‪ PortB‬ﻛﺨﺮج‬
‫;‪ TRISB=0‬‬
‫ھﺬا ھﻮ اﻟﻌﻨﻮان اﻟﺬي ﺳﯿﺮﺟﻊ إﻟﯿﮫ اﻟﺒﻚ ﻣﺮة أﺧﺮى‬
‫‪Loop:‬‬
‫ھﺬا اﻷﻣﺮ ﺳﯿﺠﻌﻞ ﺟﻤﯿﻊ اﻟﻠﯿﺪات ﺗﻀﻲء‬
‫;‪PORTB=0XFF‬‬
‫ھﺬا اﻷﻣﺮ ﺳﯿﺠﻌﻞ اﻟﺒﻚ ﯾﻨﺘﻈﺮ ﻟﻤﺪة ﺛﺎﻧﯿﺔ ﺛﻢ ﯾﻨﻔﺬ اﻷﻣﺮ اﻟﺬي ﯾﻠﯿﮫ‬
‫;)‪delay_ms(1000‬‬
‫ھﺬا اﻷﻣﺮ ﺳﯿﺠﻌﻞ ﺟﻤﯿﻊ اﻟﻠﯿﺪات ﺗﻄﻔﺊ‬
‫;‪PORTB=0‬‬
‫ھﺬا اﻷﻣﺮ ﺳﯿﺠﻌﻞ اﻟﺒﻚ ﯾﻨﺘﻈﺮ ﻟﻤﺪة ﺛﺎﻧﯿﺔ ﺛﻢ ﯾﻨﻔﺬ اﻷﻣﺮ اﻟﺬي ﯾﻠﯿﮫ‬
‫;)‪Delay_ms(1000‬‬

‫;‪ goto loop‬‬ ‫ھﺬا اﻷﻣﺮ ﺳﯿﺠﻌﻞ اﻟﺒﻚ ﯾﺬھﺐ ﻟﯿﻨﻔﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﻌﺪ اﻟﻌﻨﻮان اﻟﺬي‬
‫اﺳﻤﮫ ‪loop‬‬
‫}‬

‫‪‬‬
‫‪ ‬‬
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
PORTB=0;

 

Ahmad
 

 ahmad:

…………………..
‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺬي‬
………………….. . ‫ﻧﺮﯾﺪه أن ﯾﺘﻜﺮر ﺑﺈﺳﺘﻤﺮار‬

…………………..

goto ahmad;

Syntax
 

enter
 

 void main()

 { TRISB=0;

 PORTB=0XFF;}

;
 enter

 void main()

 { TRISB=0;PORTB=0XFF;}

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 void main() { TRISB=0;PORTB=0XFF;}

 

 

void main()

 { TRISB=0; Loop: PORTB=0XFF;delay_ms(1000);PORTB=0;

 Delay_ms(1000);Goto loop;}

 

void main(){TRISB=0; Loop: PORTB=0XFF;delay_ms(1000);PORTB=0;Delay_ms(1000);Goto loop;}

 


 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬
 

 

                 

 

proteus   

 

 

 

 

 

 

 

          MikroC     






‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main()

{TRISB=0; PORTB=0;

loop:

PORTB=0B00000001; delay_ms(500); // L0 ON

PORTB=0B00000011; delay_ms(500); //L0,L1 ON

PORTB=0B00000111; delay_ms(500); //L0,L1,L2 ON

PORTB=0B00001111; delay_ms(500); //L0,L1,L2,L3 ON

PORTB=0B00011111; delay_ms(500); //L0,L1,L2,L3,L4 ON

PORTB=0B00111111; delay_ms(500); //L0,L1,L2,L3,L4,L5 ON

PORTB=0B01111111; delay_ms(500); //L0,L1,L2,L3,L4,L5,L6 ON

PORTB=0B11111111; delay_ms(500); // L0,L1,L2,L3,L4,L5,L6,L7 ON

PORTB=0B00000000; delay_ms(500); // ALL LEDs OFF

PORTB=0B00011000; delay_ms(500); // L3,L4 ON

PORTB=0B00111100; delay_ms(500); //L2-L5 ON

PORTB=0B01111110; delay_ms(500); //L1-LS ON

PORTB=0B11111111; delay_ms(500); // ALL LEDs ON

PORTB=0B00000000; delay_ms(500); // ALL LEDs OFF

PORTB=0B11111111; delay_ms(500); // ALL LEDs ON

PORTB=0B00000000; delay_ms(500); // ALL LEDs OFF

PORTB=0B11111111; delay_ms(500); // ALL LEDs ON

PORTB=0B00000000; delay_ms(500); // ALL LEDs OFF

goto loop;}
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
loop
 L0 B0
B0L0 ON// 
 //
B2L1 B1
L2
 

               
             
 

 loop:

 

 

PORTB=0B00000001; delay_ms(500);

PORTB=0B00000011; delay_ms(500);

PORTB=0B00000111; delay_ms(500);

PORTB=0B00001111; delay_ms(500);

PORTB=0B00011111; delay_ms(500);

PORTB=0B00111111; delay_ms(500);

PORTB=0B01111111; delay_ms(500);

PORTB=0B11111111; delay_ms(500);

PORTB=0B00000000; delay_ms(500);
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  

PORTB=0B00011000; delay_ms(500);

PORTB=0B00111100; delay_ms(500);

PORTB=0B01111110; delay_ms(500);

PORTB=0B11111111; delay_ms(500);

PORTB=0B00000000; delay_ms(500);

  

PORTB=0B11111111; delay_ms(500);

PORTB=0B00000000; delay_ms(500);

PORTB=0B11111111; delay_ms(500);

PORTB=0B00000000; delay_ms(500);



 

/*
 */

/* program : led flasher

Programmed by : Ahmad samir fayed

*/

 

 
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 B7B0



 

 

 
7805
‫ ﻓﻮﻟﺖ‬٩ ‫ﺑﻄﺎرﯾﺔ‬
VDD  
VDD ‫ ﻓﻮﻟﺖ‬٥+
‫ﻛﯿﻠﻮ‬١٠ ‫ﻣﻘﺎوﻣﺔ‬
VSS ‫ﺻﻔﺮ ﻓﻮﻟﺖ‬  

 
‫ أوم‬٤٢٠ ‫ﻣﻘﺎوﻣﺔ‬
 
‫ ﺑﯿﻜﻮ‬٢٢ ‫ﻣﻜﺜﻒ‬

 
VSS
 

 
VSS

 

B7B0
TRISB=0;TRISB
PORTB=0XFF;PORTB=0B11111111; PORTB

٣٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
delay_ms(1000);
PORTB=0;
 


 


forfor

For(x=0;x<18;x++)

 { ‫ھﻨﺎ ﻧﻜﺘﺐ اﻷواﻣﺮ اﻟﺘﻲ ﻧﺮﯾﺪ ﺗﻜﺮاراھﺎ‬


‫ ﻣﺮة ﺑﯿﻦ ھﺬﯾﻦ اﻟﻘﻮﺳﯿﻦ‬١٨
………………………

………………………..

 int x;x

  char int char x;


  
 

void main(){int x; TRISB=0;

for(x=0;x<18;x++)

{ PORTB=0XFF; delay_ms(1000); PORTB=0; ; delay_ms(1000);}

 }

 

٣٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 for

for 
 

for(x=0;x<50;x++)

 { ‫ھﻨﺎ ﻧﻜﺘﺐ اﻷواﻣﺮ اﻟﺘﻲ ﻧﺮﯾﺪ ﺗﻜﺮاراھﺎ‬


‫ ﻣﺮة‬٥٠
………………………

………………………..

 }

  


 
X
 moh

void main(){char moh;

for(moh=0;moh<50;moh++) { PORTB=0XFF; delay_ms(1000);PORTB=0;

delay_ms(1000);}}

      for          
for
 moh for  
moh
  moh
           moh       
 moh  moh 
 moh   
٣٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 

for(x=0;x<13;x++){ ……………………}

‫ھﻨﺎ ﻣﻜﺎن اﻟﻨﻘﺎط ﻧﻜﺘﺐ اﻷواﻣﺮ‬


‫اﻟﺘﻲ ﻧﺮﯾﺪ أن ﻧﻜﺮرھﺎ‬

‫ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ اﻟﺘﻲ ﺳﯿﺒﺪأ اﻟﺒﻚ اﻟﻌﺪ‬


‫ﻣﻨﮭﺎ ﺗﺴﺎوي ﺻﻔﺮ‬
‫ھﺬا ھﻮ اﻷﻣﺮ اﻟﺬي ﺳﯿﺠﻌﻞ اﻟﺒﻚ‬
‫ ﻛﻞ ﻣﺮة‬x ‫ﯾﺰﯾﺪ ﻣﻦ ﻗﯿﻤﺔ اﻟﻤﺘﻐﯿﺮ‬
‫ ﻓﺎﻟﺒﻚ ﺳﯿﻜﺮر اﻷواﻣﺮ‬.. ‫ھﺬا ھﻮ اﻟﺸﺮط‬ ‫ﺳﯿﺰﯾﺪ واﺣﺪ‬
‫اﻟﺘﻲ ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ ﻃﺎﻟﻤﺎ ﺗﺤﻘﻖ ھﺬا اﻟﺸﺮط‬

for
 for

 { }

  1 for(y=0;y<12;y++) { ………….. }

  2 for(ahmad=3;ahmad<18;ahmad++) { ………….. }
3 for(m=5;m<10;m++) { ………….. }
4 for(x=10;x>0;x--) { ………….. }
5
for(y=0;y<=12;y++) { ………….. }

x--
 

 >=<=

 
٣٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
1 for(y=0;y<12;y++) { ………….. }

Yy
 
yy
 

2 for(ahmad=3;ahmad<18;ahmad++) { ………….. }


   ahmad
ahmad
 
 

3 for(m=5;m<10;m++) { ………….. }

  

4 for(x=10;x>0;x--) { ………….. }


                

 

5 for(y=0;y<=12;y++) { ………….. }


  
                  

٣٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  
 


 

for(x=0;x<10;x++) { ………………….. }

for(x=1;x<=10;x++) { ………………….. }

for(x=10;x>0;x--) { ………………….. }

for(x=10;x>=1;x--) { ………………….. }

 



 delay_ms(1000); 

for(x=0;x<5;x++) delay_ms(1000);

 

for(x=0;x<5;x++) { delay_ms(1000);}

 enter

for(x=0;x<5;x++)

delay_ms(1000);

 

delay_ms(5000);for
 

٣٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

B0
 B7

void main()

{ TRISB=0;

  Loop:

PORTB=0XFF;delay_ms(1000);PORTB=0;Delay_ms(1000);

 Goto loop;}

 

void main()

 { TRISB=0;PORTB=0;

Loop:

 PORTB=~PORTB; delay_ms(1000);

 goto loop;}

 PORTB=~PORTB;

PORTB=0;     PORTB       
      PORTB        ~ 
 

   BITS     PORTB=~PORTB;       
   bits

٣٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
goto loop;   delay_ms(1000);          
       PORTB=~PORTB;    
 bitbit

 

LOOP:

…………………..
‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺬي‬
………………….. . ‫ﻧﺮﯾﺪه أن ﯾﺘﻜﺮر ﺑﺈﺳﺘﻤﺮار‬

…………………..

goto LOOP;

 

while (1)

{ ‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺬي‬


. ‫ﻧﺮﯾﺪه أن ﯾﺘﻜﺮر ﺑﺈﺳﺘﻤﺮار‬
 ……………..

……………..

 

for(;;)

{ ‫ﻓﻲ ھﺬه اﻟﻤﻨﻄﻘﺔ ﻧﻜﺘﺐ اﻟﻜﻮد اﻟﺬي‬


. ‫ﻧﺮﯾﺪه أن ﯾﺘﻜﺮر ﺑﺈﺳﺘﻤﺮار‬
 ……………..

……………..

٤٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬
 

                 



 

switchB0
 A0



               


TRISAA0
 TRISA0

 01

TRISA=0B00011111;

TRISA=0B00011111;
 

 

٤١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 A0
A0
 A5,A6,A7   PIC16F84A         
 

 

 

 

BITs
 TRISA 
 BITs

 A4

 
VDD +5V

  
10k

‫ﺳﻨﻮﺻﻠﮫ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬


VSS

SWITCH ‫ﻛﯿﻔﯿﺔ ﺗﻮﺻﯿﻞ اﻟﻤﻔﺘﺎح‬

٤٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

lowhiA0
 A0
 low hi

 A0
 A0

 if

void main()
‫ ﻋﻠﻰ أﻧﮭﺎ دﺧﻞ‬A0 ‫ﺗﻮﻇﯿﻒ اﻟﺮﺟﻞ‬
{ TRISA=0B00011111;

TRISB=0; ‫ إذن ﺳﻨﺠﻌﻞ‬B0 ‫ﻷن اﻟﻠﯿﺪ ﻣﻮﺻﻞ ﺑـ‬


‫ ﺧﺮج‬B0
loop:
‫ھﺬا اﻟﻌﻨﻮان ﺳﯿﺮﺟﻊ إﻟﯿﮫ اﻟﺒﻚ داﺋﻤﺎ ﻟﻨﺠﻌﻞ اﻟﺒﻚ ﯾﺨﺘﺒﺮ اﻟﻤﻔﺘﺎح‬
If(PORTA.F0==0) ‫ﺑﺸﻜﻞ داﺋﻢ وﻟﯿﺲ ﻣﺮة واﺣﺪة ﻓﻘﻂ ﻓﻲ ﻣﻨﺘﮭﻰ اﻟﺴﺮﻋﺔ‬

  { ‫ إذا ﺣﺪث ذﻟﻚ ﻧﻔﺬ‬.. ‫إﺧﺘﺒﺮ ھﻞ ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺴﻮﯾﺘﺶ‬


IF ‫اﻷواﻣﺮ اﻟﺘﻲ ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ اﻟﺨﺎﺻﯿﻦ ﺑﺠﻤﻠﺔ‬
PORTB.F0=1;

} ‫ وﻟﻜﻦ ھﺬا اﻷﻣﺮ ﻟﻦ ﯾﻨﻔﺬ إﻻ ﻓﻲ‬... ‫اﺟﻌﻞ اﻟﻠﯿﺪ ﯾﻀﻲء‬


‫ﺣﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط وھﻮ أن ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح‬
If(PORTA.F0==1)
‫ إذا ﺣﺪث ذﻟﻚ ﻧﻔﺬ‬.. ً‫اﺧﺘﺒﺮ ھﻞ اﻟﺴﻮﯾﺘﺶ ﻣﺤﺮارا‬
{ ‫اﻷواﻣﺮ اﻟﺘﻲ ﺑﯿﻦ اﻟﻘﻮﺳﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ‬

PORTB.F0=0;
‫ وﻟﻜﻦ ھﺬا اﻷﻣﺮ ﻟﻦ ﯾﻨﻔﺬ إﻻ ﻓﻲ‬... ‫اﺟﻌﻞ اﻟﻠﯿﺪ ﯾﻨﻄﻔﺊ‬
‫ﺣﺎﻟﺔ ﺗﺤﻘﻖ اﻟﺸﺮط وھﻮ ان اﻟﻤﻔﺘﺎح ﻣﺤﺮر‬
}

 Goto loop; ‫ وذﻟﻚ ﻟﺘﺨﺘﺒﺮ ﻣﺮة أﺧﺮى ھﻞ اﻟﻤﻔﺘﺎح‬loop ‫اذھﺐ ﻟﻠﻌﻨﻮان‬


‫ﻣﺤﺮاراً أم ﻻ‬
}

٤٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 ifif

 ifIf

If () { }

 If(PORTA.F0==0) if


  A0
 PORTB.F0=1;

 IF
 

 elseif …. else IF


 else

If () { }

else {}

 

 void main() { TRISA=0B00011111; TRISB=0;

loop : if (PORTA.F0==0)

{ PORTB.F0=1; }

else {

PORTB.F0=0;

  }

goto loop; }
٤٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 enter
 FOR
 if

void main() { TRISA=0B00011111; TRISB=0;

 loop:

 if (PORTA.F0==0) PORTB.F0=1;

 else PORTB.F0=0;

goto loop;


syntax
 

               
         proteus   
 

 

 

 

 

 

 

٤٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


‫ﻓﻲ ھﺬا اﻟﻤﺴﺘﻄﯿﻞ ﺳﻨﺮﺳﻢ اﻟﺪاﺋﺮة‬


‫اﻻﻟﻜﺘﺮوﻧﯿﺔ اﻟﺘﻲ ﻧﺮﯾﺪ أن ﻧﺤﺎﻛﯿﮭﺎ‬

 
component mode

‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ‬

٤٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
pick  p
 devices

 

 

 

 

 
‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ‬

 

pic16f84a
 

 

 

‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ ﻣﺮﺗﯿﻦ‬  


‫ﻣﺘﺘﺎﻟﯿﺘﯿﻦ‬
 
‫ھﻨﺎ ﻧﻜﺘﺐ اﺳﻢ اﻟﻌﻨﺼﺮ ﻟﻨﺤﺼﻞ ﻋﻠﯿﮫ ﺑﺴﺮﻋﺔ‬
 

 

red resistor 470resistor 10kpush button


 led

 

٤٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ ﻣﺮﺗﯿﻦ‬


‫ﻣﺘﺘﺎﻟﯿﺘﯿﻦ‬

‫ھﻨﺎ ﻧﻜﺘﺐ اﺳﻢ اﻟﻌﻨﺼﺮ ﻟﻨﺤﺼﻞ ﻋﻠﯿﮫ ﺑﺴﺮﻋﺔ‬

‫‪ ‬‬ ‫‪‬‬

‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ ﻣﺮﺗﯿﻦ‬


‫ھﻨﺎ ﻧﻜﺘﺐ اﺳﻢ اﻟﻌﻨﺼﺮ ﻟﻨﺤﺼﻞ ﻋﻠﯿﮫ ﺑﺴﺮﻋﺔ‬ ‫ﻣﺘﺘﺎﻟﯿﺘﯿﻦ‬

‫ھﻨﺎ ﻧﻜﺘﺐ اﺳﻢ اﻟﻌﻨﺼﺮ ﻟﻨﺤﺼﻞ ﻋﻠﯿﮫ ﺑﺴﺮﻋﺔ‬


‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس ھﻨﺎ ﻣﺮﺗﯿﻦ‬
‫ﻣﺘﺘﺎﻟﯿﺘﯿﻦ‬

‫‪٤٨‬‬
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

  pic16f84a
 

‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس‬
‫ﻣﺮة واﺣﺪة ﻋﻠﻰ‬
‫اﻟﻌﻨﺼﺮ اﻟﺘﻲ‬
‫اﺿﻐﻂ ﺑﺎﻟﻤﺎوس‬
‫ﺗﺮﯾﺪ رﺳﻤﮫ‬
‫ﻣﺮﺗﯿﻦ ﻣﺘﺘﺎﻟﯿﺘﯿﻦ‬
‫ﺑﻌﺪ ﺗﺤﺪﯾﺪ اﻟﻤﻜﺎن‬
‫اﻟﻤﻨﺎﺳﺐ‬

 zoom
              
  

٤٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
                 
               

 A0

  

٥٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
                      VDD  VSS  
VDDPOWERGROUND

 

 

 

 

 

 

 

 

 

 


   

‫ھﻨﺎ وﺿﻌﻨﺎ ﻗﯿﻤﺔ ﺟﺪﯾﺪة‬


٤٧٠ ‫ﻟﻠﻤﻘﺎوﻣﺔ ﻓﺠﻌﻠﻨﺎھﺎ‬
‫ﻛﯿﻠﻮ ﺛﻢ‬١٠ ‫ﺑﺪﻻ ﻣﻦ‬
OK ‫ﻧﻀﻐﻂ‬

٥١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 

 

 

 


 



 E_6 hex
 E_6.hex browse
ok

  

‫اﺿﻐﻂ ھﻨﺎ ﻟﺘﺤﺪﯾﺪ‬


‫ﻣﻜﺎن ﻣﻠﻒ اﻟﮭﯿﻜﺲ‬
‫ﻋﻠﻰ ﺟﮭﺎزك‬
‫اﺿﻐﻂ ھﻨﺎ ﻟﺘﺤﺪﯾﺪ‬
‫ﺳﺮﻋﺔ اﻟﻤﺬﺑﺬب وھﻲ‬
‫ﻓﻲ ھﺬه اﻟﺘﺠﺮﺑﺔ‬
MHz١.٠٤

٥٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 
‫اﺿﻐﻂ ھﻨﺎ‬
‫ﻟﺘﺸﻐﯿﻞ اﻟﺪاﺋﺮة‬
 

 


 


 vss vdd
 
 


  

٥٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
8 ‫ﺍﻟﺘﺠﺮﺑﺔ‬
 

  Binary 

654321
 

00000000

00000001

 00000010

 00000011

 00000100

……………

………….

11111111

255
25511111111

59
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

void main()

{ TRISB=0;

PORTB=0;delay_ms(1000);

Loop:

PORTB++;

 Delay_ms(1000);

Goto loop;

 

TRISB=0;
PORTB=0;
portb++;
portb
 

 portb=0;

00000000

portbportb++;
 00000000

 00000001

60
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
goto loop;
00000001portb


 00000010

 portb

 00000011

 binary

PORTB++
 500 

Loop:  

PORTB=0B00000000;   
Delay_ms(1000);

PORTB=0B00000001;

Delay_ms(1000);

PORTB=0B00000010;

Delay_ms(1000);

……………..

‫……………… وھﻜﺬا إﻟﻰ‬

PORTB=0B11111111;

Delay_ms(1000);

Goto loop;

61
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

PORTB
PORTB=3;
 PORTB=0B00000011;

  

62
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

9 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

9
 

 b3,b2,b1,b0

  1001

 

 void main()

{ TRISB=0;

PORTB=0; delay_ms(1000);

while(1){

  PORTB++;

 delay_ms(1000);

  if(portb==9) {portb=0; delay_ms(1000);}

  }

 }

goto looploop
 5while(1)

if
 portb   portb
 

63
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

      b7  b0         
portb=0;trisb=0;
 
 b0 while(1)
       portb     portb++ 
 delay_ms(1000); b0
9 portb if
                Portb 
 while if 
b1 ( 10 2portb
       if        
11portbwhile
9  portb              
 if1001
 portb   portb=0;   If
        delay_ms(1000);     
portbwhile
 

64
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 if for : 

 void main(){

 char x;

  TRISB=0; PORTB=0;

  delay_ms(1000);

while(1){

for(x=0;x<9;x++){ PORTB++; delay_ms(1000);}

 portb=0;delay_ms(1000);

 }

for portb
forportbfor 
 portb 

 




 

  

65
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
10 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

               
3 30 12 9 6 3  
01
                 
 

‫ﯾﻜﺎﻓﺊ اﻟﺮﻗﻢ ﺻﻔﺮ ﺑﺎﻟﻌﺸﺮي‬  00000

‫ ﺑﺎﻟﻌﺸﺮي‬3 ‫ﯾﻜﺎﻓﺊ اﻟﺮﻗﻢ‬  00010

‫ ﺑﺎﻟﻌﺸﺮي‬6 ‫ﯾﻜﺎﻓﺊ اﻟﺮﻗﻢ‬ 00110

‫ ﺑﺎﻟﻌﺸﺮي‬9 ‫ﯾﻜﺎﻓﺊ اﻟﺮﻗﻢ‬  01001

 ………...

‫ ﺑﺎﻟﻌﺸﺮي‬30 ‫ﯾﻜﺎﻓﺊ اﻟﺮﻗﻢ‬ 11110

 

void main() {

char number; char x;

TRISB=0; PORTB=0;delay_ms(1000);

while (1) { for (x=1;x<=10;x++) {

number=3*x;

portb=number;

  delay_ms(1000); }

portb=0; delay_ms(1000); } }
66
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

  
 

 while(1) 


 x=1     for        
 10forx=10

number=3*x;

portb=number;

  delay_ms(1000);

 number    x=1       
 number=3*x; 3
 portb=number; 
           b1  b0     
 portb=3;portb=0b00000011;

 delay_ms(1000);
   6  3X2  number        x=2  
 portb=number;  portb 6 x=2 number=3*x;
xx=3
 x<=10  11 x 10
 portb=0 for for
fordelay_ms(1000) 
forfor
 

67
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


3
 

6  
9
 
12
 
15

18
 

21  
24
 
27
 
30

char8portb
B7B0PORTB
 number

void main()

{char x;

TRISB=0; PORTB=0;delay_ms(1000);

While (1) { for (x=1;x<=10;x++) { portb=3*x; delay_ms(1000); }

portb=0; delay_ms(1000);

}

8portb
 B7B05
68
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬




     for        
                
 

 

 1 byte = 8 bitsbyte8 bits8


  32 416
 char 8 
 int 16 unsigned short
 

‫اﻟﻨﻮع‬ (byte) ‫اﻟﺤﺠﻢ ﺑﺎﻟﺒﺎﯾﺖ‬ ‫اﻟﻤﺪى‬


char 1 0 .. 255
signed char 1 - 128 .. 127
short 1 - 128 .. 127
unsigned short 1 0 .. 255
int 2 -32768 .. 32767
unsigned 2 0 .. 65535
long 4 -2147483648 .. 2147483647
unsigned long 4 0 .. 4294967295


Type Size in bytes Range
float 4 ±1.17549435082 * 10 .. ±6.80564774407 * 1038
-38

double 4 ±1.17549435082 * 10-38 .. ±6.80564774407 * 1038


long double 4 ±1.17549435082 * 10-38 .. ±6.80564774407 * 1038

 2 

69
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 8 char
25511111111
255char
 255 255255

signed char
127 -128  
               
32.66
 


 


 ahmadchar

char ahmad;

 for; 

char x;

 x8

 x , y , z
 
Char x;
 
Char y;
 
Char z;

70
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

Char x,y,z;

 ,

void main()

 

  

71
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
11 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  



 7 segmetns  seven segment

 

  9 




 

 

 

 

 

  
7 segment ‫ﺑﻌﺾ أﺷﻜﺎل اﻟﺴﻔﻦ ﺳﯿﺠﻤﻨﺖ‬

72
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬


 common anode

 datasheet


 7447

 

 


  

73
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
12 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 

portb++
portb
portb

 void main()

{ TRISB=0;

PORTB=9; delay_ms(1000);

while(1){

  PORTB--;

 delay_ms(1000);

  if(portb==0) {portb=9; delay_ms(1000);}

  }

}  

  portb portb--;


            9  portb   
portb--;89
 if portb
 9if

74
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 

 

 

 

 

 
 delay_ms(1000);
  
 void main()  
{ TRISB=0;
 
PORTB=9;
 
while(1){ delay_ms(1000);

PORTB--;  

  if(portb==0) { delay_ms(1000); portb=9;}  

  }  
}
 

 

75
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
delay_ms(1000);
 


 

  

76
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main()

{char x; TRISB=0;

portb=9;

while(1){

for(x=10;x>0;x--)

delay_ms(1000);

portb--;

portb=9;

                    
 X 
X
 

 

77
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()
 
{ TRISB=0;
 
while(1){

for(PORTB=9;PORTB>0;PORTB--)  

{  
delay_ms(1000);  
}
 
}
 
}
PORTB
portbchar portb
 porta

1
 for

for(PORTB=9;PORTB>=0;PORTB--)


 

 for 


 portb=9 for
8  for
  portb Portb--
7  
78
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  Portb--
  portb
 forPortb

 char portb 


 255 
255portb
 for 
255portb 255
 254 portb for
 255
 7447

 255portb

 
  

79
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()

{ TRISB=0;  

while(1){  
for(PORTB=9;PORTB>=0;PORTB--)
 
{
 
delay_ms(1000);
 
if(portb==0) portb=10;

}  

}  
}


 

 if   255          portb   
 portb-- portb=10
  9  portb
 10
 portb=10

 

 

 

 

80
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()

{ TRISB=0;  

while(1){  
for(PORTB=9;PORTB>0;PORTB--)  
{
 
delay_ms(1000);
 
}

}  

}  

 9 9 


 if
 for

 portb=9
8
 1 portb
whileforfor 
 portb  for for

  for

81
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()
 
{ TRISB=0;

while(1){  

for(PORTB=9;PORTB>0;PORTB--)  
{  
delay_ms(1000);
 
}
 
delay_ms(1000);

} }  

forportb

 while(1)

 

 

 


 
  
  
 

82
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
13 ‫ﺍﻟﺘﺠﺮﺑﺔ‬
 


 

 

 

 

 

 


 26 24
  

void main()   
{ TRISB=0;portb=2;

while(1){

delay_ms(1000);

portb++;

portb++;

if (portb==8){ delay_ms(1000);portb=2;}

}
83
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
portb++
 



 for for 
 

 Portb2

portb=portb+2;  

2Portb
 90Portb

portb=portb+90;  

 

void main()  

{ TRISB=0;portb=2;  
while(1){
 
delay_ms(1000);
  
portb=portb+2;

if (portb==8){ delay_ms(1000);portb=2;}

84
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 

portbporta=3;
 
portb=porta+2;

2portaportb
Portaportb
    portb=portb+2;     3       
       portb    Portb    
 portb Portb
 2Portb

portb=portb+1portb++
 portb

x=x+6 x 
 

  

85
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

14 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

 28

 

 

 

 

 

Portb=portb+2

portb=portb-2

void main()

{ TRISB=0;portb=8;

while(1){

delay_ms(1000);

portb=portb-2;

if (portb==2){ delay_ms(1000);portb=8;}   
}

86
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
portb=portb-2

portb-=2;

 portb=portb+2

Portb+=2;

 portb=portb*5;5

Portb*=5




 mm

yy  12350


  10

mm=(350+12-yy)/10;  


 10
mm=350+12-yy/10;  

  10 yy



 



   
87
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
15 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 

 

 

 

 

 

 

 

 

 

 


if
 

if(porta.f0==0) {  }

if(porta.f1==0) {  }

88
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 portb++ portb
 portb

                
 portb     portb--        portb
 

 portb-- portb++ 







             



 

 

89
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

void main()

 {

TRISB=0; TRISA=0XFF;

PORTB=0;

while(1){

  if(porta.f0==0) { portb++; delay_ms(500);}

if(porta.f1==0){portb--; delay_ms(500);}

 }
}

 MCLR

 

 

 

 

active lowMCLR
 MCLR


MCLRrestart

MCLR

90
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 

 

 

 

 

 

 

push buttonMCLR

 


MCLR
5MCLR
 

     portb         
 portb MCLR
 portb=0;

MCLR
 A2

if(porta.f2==0){portb=0; delay_ms(500);}
91
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

16 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

              
 90

 

 

 

 

 

 

               

                
 5
5
 



 

  

92
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

void main()

 {  

TRISB=0; TRISA=0XFF;  
PORTB=0;
 
while(1){
 
if(porta.f0==0) {
 
portb++;

if(portb==10) portb=0;  

delay_ms(500);  
  }
 
if(porta.f1==0) {
 
portb--;
 
if(portb==255) portb=9;

delay_ms(500);  

}  
}  
}
 



          

93
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
portb++portbif
 portbif 

 if(portb==10) portb=0;

delay_ms(500); if 


 portb++ portb
ifportb++delay_ms(500); 
  )

              
 portb A1
255255
 


  255 portb--  Portb
255Portb
 

 if(portb==255) portb=9;

 

portb--if
portbportb--255portb
 

 if(portb==0) portb=9;

portb--;
94
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

     if(porta.f1==0)       A1  
 portb         portb   
 portb--
 8
 8
 

  

95
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
if(porta.f1==0) {

if(portb==0) portb=10;  

portb--;  

delay_ms(500);  
}
 

 A1 portb


portb--portb 


255portbA0if
 Ifportb++
if(porta.f0==0) {
 
if(portb==9) portb=255;
portb++;  
delay_ms(500);
 
  }
if(porta.f1==0) {  
if(portb==0) portb=10;
portb--;  
delay_ms(500);
 
}
   

 

96
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

  ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

B0A0
  B1   
 

‫ﺑﻌﺪ اﻟﻀﻐﻂ ﻣﺮة واﺣﺪة ﻋﻠﻰ اﻟﺴﻮﯾﺘﺶ‬


 

‫ﺑﻌﺪ اﻟﻀﻐﻂ ﻋﻠﻰ ﻧﻔﺲ اﻟﺴﻮﯾﺘﺶ‬  


‫ﻣﺮة أﺧﺮى‬
‫ﺑﻌﺪ اﻟﻀﻐﻂ ﻋﻠﻰ ﻧﻔﺲ اﻟﺴﻮﯾﺘﺶ‬
‫ﻣﺮة أﺧﺮى‬

‫وھﻜﺬا‬  

 

 

 

if
B0B0
 B1

 if 


if
  

 

 

٩٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
If(porta.f0==0) { portb.f0=1;

……………..

………………

 b1
 if

ifif
ifb0if
b1

loop:

If(porta.f0==0){ portb.f0=1; delay_ms(500);

If(porta.f0==0) {portb.f1=1; }

………

goto loop;


           b0       
b1
  
   b0
          if       
  
٩٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 if if
   goto loop; 
b1b0 if
 if

loop:

If(porta.f0==0){ portb.f0=1;

a1:

If(porta.f0==0) {portb.f1=1;}

goto a1;

goto loop;


 
 loop:     goto loop;
if

 b0
 goto a1;

 b1

 b0 , b1 , b2 , b3 

 

 

٩٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

loop: delay_ms(500); portb=0;

If(porta.f0==0)

{ portb.f0=1;

a1: If(porta.f0==0) {portb.f1=1;

a2: If(porta.f0==0) {portb.f2=1;

a3: If(porta.f0==0) {portb.f3=1; goto loop;}

goto a3; }

goto a2;}

goto a1;

goto loop;

 

goto loop; if

 b0
goto a1;
 goto a2;  b1
 b2
 b3 goto a3;
loop:portb=0; goto loop; 
 


١٠٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
b3delay_ms(500);
portb=0;
 

  b7b0 

 

 


              

 while

 while

ifwhile
 


 while

While ( )

 

 

}
١٠١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  while
  

B0A0

 

 while
while(porta.f0==0) {
 
portb.f0=1;
 
delay_ms(150);

portb.f0=0;  

delay_ms(150);  
}
 

 trisbtrisavoid main()

        B0          
 A0

 
 


 

 

 
١٠٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
               
 

mm=1;  
while(mm<6) {
 
if(porta.f0==0) { portb.f0=1; delay_ms(500);
 
portb.f0=0; delay_ms(500);

mm++;  

}  
}
 

 

 mm=1;  mm


 mm while 
 ifwhile

if
while
mmwhile
 while               
A0mm
  B0 A0
    mm    mm        
while 
 mm while
mm
١٠٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 while mm
 whilemm

 while 


while
 


 
While(porta.f0==1){ }
 
 
 
 while
 

  while


    while       
A0
             –   


 
while  A0 
 

 loop:
While(porta.f0==1){ }
if(porta.f0==1) goto loop;

١٠٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 while

 B0 A0 


B1
 


 

void main() {trisa.f0=1; trisb=0; portb=0;  


while(1) { while(porta.f0==1) { }
 
portb=0b00000001; delay_ms(100);

while(porta.f0==1) { }
 

portb=0b00000011; delay_ms(100);  
while(porta.f0==1) { }
 
portb=0b00000111; delay_ms(100);
 
while(porta.f0==1) { }

portb=0b00001111; delay_ms(100);  
while(porta.f0==1) { }
 
portb=0b00011111; delay_ms(100);
 
while(porta.f0==1) { }

portb=0b00111111; delay_ms(100);  

while(porta.f0==1) { }  
portb=0b01111111; delay_ms(100);
 
while(porta.f0==1) { }

portb=0b11111111; delay_ms(100); } }
 

١٠٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 




  
 


                

 
void main() {char x; trisa.f0=1; trisb=0; portb=0;
 
while(1) { if(porta.f0==0) x++ ; delay_ms(100);
 
if(x==0) portb=0;

if(x==1) portb=0b00000001;  
if(x==2) portb=0b00000011;
 
if(x==3) portb=0b00000111;
 
if(x==4) portb=0b00001111;

if(x==5) portb=0b00011111;  

if(x==6) portb=0b00111111;  
if(x==7) portb=0b01111111;
 
if(x==8) portb=0b11111111;

if(x==9) x=0;
 

} }  

١٠٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
   x             
while(1)

x
x
    while(1)         portb=0;
   x++;    x       
b0if(x==1)
b0,b1
       x          
                
xportb
x
 

if(x==9) x=0;

  

١٠٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

 

              

              

 
 

               
  

‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬  


‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬
 
‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬

‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬

‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬


‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬

‫ﺑﻌﺪ ﻧﺼﻒ ﺛﺎﻧﯿﺔ‬

 portb=0b00000001;
     portb=0b00000010;   delay_ms(500);     


 

١٠٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()

{ trisb=0;  

ahmad:  
Portb=0b00000001; delay_ms(500);
 
for(x=0;x<8;x++){

portb=portb<<1;
 

delay_ms(500);  
}
 
goto ahmad;
 
}

  trisb=0;       void main()     
 ahmad: B7 B0
goto ahmad;
 while(1) 
 for(;;)

for     B0     portb=0b00000001;   
             
   for     portb=portb<<1; delay_ms(500);
 

 portb=portb<<1; 


portb              portb 
 

  

١٠٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
‫ ﻗﺒﻞ ﻋﻤﻠﯿﺔ اﻹزاﺣﺔ ﻟﻠﯿﺴﺎر‬portb ‫ﺷﻜﻞ‬  
B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 0 0 0 0  1 0

0 0 0 0 0 0 1  0
‫ ﺑﻌﺪ ﻋﻤﻠﯿﺔ اﻹزاﺣﺔ ﻟﻠﯿﺴﺎر‬portb ‫ﺷﻜﻞ‬

 

     PORTB         B7   
B5B7B6B6
B0B1B0B6
 B7 B0
 B0
 Bits

 portb=portb<<2 ;


               
  00000100portb

portbPortbportb=portb<<1; 
 portb=portb+3; 
 portbportb

 >> << 



 portb=portb<<1;  portb=portb<<2; 
 

١١٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  



  portb=portb<<1;      portb=0b00100111;   
 bits      0b01001110;        portb
 <<

 

 led=0b00000110;       led      
    0b00000011   led    led>>1;   
   B7  b3 B2      B1  B0  portb=led;
 portb=0b00000011;ledportb

>>
   <<             
 

 
char led;
 
led=0b00000110;
 
led=led>>1;

portb=led;  

               
 char led = ob00000110;  00000110 
 

١١١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
         portb=led;  led=led>>1;  
 portb=led>>1;


              
  led led=led>>1;
 GG GG
led PORTB 0B00000011
 0b00000011portb 

 portb portb=led>>1;


 led
led
portb  0b00000110
 led 
 led

portb=led>>1;led=0b00000110;
  GG=led;

GGled
 0b00000110 led

 portb=led>>1;0b00000011portb

 

 

 

١١٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 led portb=led>>1; 


 portb=0b00000110>>1 ; 
  led=0b00000110 ;           led  
 portb=0b00000011;

 

x=x>>2;x=0b11000111; 
0b00110001x
 0b01100011  x
 0b00110001

 

 bb=0b00000001 ; 


 0b10000000 bb


  
 

 

 

 

 

 
١١٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 A0

  

void main()  
{
 
trisa.f0=1; trisb=0;
 
portb=0b00000001;

while(1) {  

if(porta.f0==0) { delay_ms(100); portb=portb<<1;}  


}

 portb=0b00000001;  B0


whileif A0
              
      portb=portb<<1;     portb  
   if delay_ms(100);
 


   B0   B1    portb     
B2

١١٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 B7 
 


     0b00000000       portb 
 0b00000000

portb=0b10000000;    if 


portb
 0b00000001

void main()  
{  
trisa.f0=1; trisb=0;
 
portb=0b00000001;

while(1) {

if(porta.f0==0) { delay_ms(100); portb=portb<<1;}

if(portb=0b10000000) { while(porta.f0==1){ } portb=0b00000001; delay_ms(100)}

 B7  portb 


  
           while    
 { }     while



١١٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
while
while
 

portb=0b00000001; 
 while(1) 
 

                 
while

 A0
void main()
 
{
 
trisa.f0=1; trisb=0;

portb=0b00000001;  

while(1) {  
if(porta.f0==0) { while(porta.f0==0){ } portb=portb<<1;}
 
if(portb=0b10000000) { while(porta.f0==1){ } portb=0b00000001; while(porta.f0==0){ } }

}
 

}  

 B7

B0while(porta.f0==1){ }
 

 while(porta.f0==0){ }
١١٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
while
 

delay

  
 

 while
 

while
  

  

١١٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
20 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  



 A1A0

 

void main()  
{
 
trisa.f0=1; trisa.f1=1; trisb=0;

portb=0b00000001;
 

while(1) {  
if(porta.f0==0) { delay_ms(100); portb=portb<<1;}
 
if(porta.f1==0) { delay_ms(100); portb=portb>>1;}
 
}

}  

A0
 A1
 

 

 


 
١١٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
               
 A1   0B00000001 PORTB
 A1  A0             

 

    0b00000001  portb    if      
 0b10000000 portbA1

0b10000000portb
 0b000000001portb A0

void main()  
{
 
trisa.f0=1; trisa.f1=1; trisb=0;
 
portb=0b00000001;

while(1) {  

if(porta.f0==0) { portb=portb<<1; delay_ms(100); }  


if(porta.f1==0) { portb=portb>>1; delay_ms(100); }
 

if(portb=0b00000001) {if(porta.f1=0) {portb=0b10000000; delay_ms(100); }  

if(portb=0b10000000) { if(porta.f0=0) { portb=0b00000001; delay_ms(100); }  


}
 
}
 

١١٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 portb=0b00000001  
ififif(portb=0b00000001)if


 A1

if(porta.f1==0) { portb=portb>>1; delay_ms(100); }

0b00000000   portb            
 
void main() {
 
trisa.f0=1; trisa.f1=1; trisb=0; portb=0b00000001;
 
while(1) {

if(porta.f0==0) { portb=portb<<1; delay_ms(100); }  

if(porta.f1==0) { portb=portb>>1;
 delay_ms(100); }

loop:

if(portb=0b00000001) {if(porta.f1=0) {portb=0b10000000; delay_ms(100); }

if(porta.f0=0) {portb=0b00000010; delay_ms(100); }

goto loop;

if(portb=0b10000000) {if(porta.f1=0) {portb=0b01000000; delay_ms(100); }

if(porta.f0=0) { portb=0b00000001; delay_ms(100); }

goto loop;

١٢٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
(loop)  portb=0b00000001
 portb

portb=0b00000001
  portb
    A1        if  
 if 0B100000000 PORTB
0b00000010 portbA0
 if
 goto loop;

 portb=0b10000000 


  

١٢١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

  


   
 BleeperBuzzer

  

 
  

  


  25 
 5000 
 Relay


 

 Buzzer

 Buzzer

  level mode Buzzer
Beeper
 Buzzer level Buzzer 
frequency mode 

١٢٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
   Buzzer  Buzzer
 

              Buzzer 
 datasheet

 

 

 

 

 

   Buzzer 



 

 

 
‫اﻧﺘﺒﮫ ﻟﻘﻄﺒﯿﺔ‬

‫ أﺛﻨﺎء‬Buzzer ‫اﻟـ‬  
‫اﻟﺘﻮﺻﯿﻞ‬
 

 

Buzzer
 A0

 Porta.f0=1;

١٢٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
Buzzer
 A0

 Porta.f0=0;

         Buzzer     

 


   
B7B0
A0 BuzzerA1

void main()  
{
 
trisa.f0=1; trisa.f1=0; trisb=0; portb=0;
 
while(1) { Buzzer‫ﻗﻢ ﺑﺘﺸﻐﯿﻞ اﻟـ‬

if(porta.f1==0) {
‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﻨﺴﻤﻊ ﺻﻮت‬  
‫اﻟﺼﺎﻓﺮة‬

porta.f0=1; // Buzzer ON  
portb++;
 
while(porta.f1==0){ } // wait

porta.f0=0; // Buzzer OFF


‫اﻧﺘﻈﺮ إﻟﻰ أن ﯾﺘﻢ رﻓﻊ اﻟﯿﺪ‬  
‫ﻣﻦ ﻋﻠﻰ اﻟﺴﻮﯾﺘﺶ ﻓﺈذا‬
‫ﺣﺪث ذﻟﻚ اﻧﺘﻘﻞ ﻟﻸﻣﺮ‬
} ‫اﻟﺘﺎﻟﻲ وھﻮ اﻷﻣﺮ اﻟﺬي‬  
Buzzer ‫ﺳﯿﻄﻔﺊ اﻟـ‬
} ‫وﺑﺎﻟﺘﺎﻟﻲ ﺳﯿﺘﻮﻗﻒ اﻟﺼﻮت‬  
}
 BleeperBuzzer
١٢٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 Buzzer  
Buzzer
   Buzzer 
 

               
 transistor as a switch

 

 

 

 

 

 

 

 

 


 RB

     Base        
collector             
Buzzer emitter
 Buzzeropen circuit
١٢٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
Buzzer
 Buzzer
 porta.f0=1;
 porta.f0=0;Buzzer

   



Base

 

 porta.f0=1; 

 

  porta.f0=0;

١٢٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  Buzzer
 

MOSFET
 

 

 

 

 

 

 

 

 

 

     A0        
 Buzzer          porta.f0=1;
open circuitporta.f0=0;
 Buzzer 

 

MOSFETBJT
  

١٣٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

Buzzer speaker 


piezo transducerfrequency mode Buzzer
 

 speakerloudspeaker

 
speaker ‫ﺑﻌﺾ أﺷﻜﺎل اﻟـ‬
 

 

 

 



 
  
 

 portb.f0=0;  delay_ms(5) ; portb.f0=1; 


 while(1) { }  delay_ms(5);

 

 

١٣١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 speaker 
 piezo transducer
   Buzzer
              
 

 portb.f0=1; delay_ms(5) ;


Hi
portb.f0=0; delay_ms(5); 
low
 

   


   
  
 

 

 
 

 10  


 

  

 

 

١٣٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 

 

 

 B0

void main()  
{ trisb=0; portb=0;
 
while(1) {
 
portb.f0=1; delay_ms(3);

portb.f0=0; delay_ms(3);  
}
 
}
 

B0
 

  

١٣٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
B0
while(1) {

portb.f0=1; delay_ms(4);

portb.f0=0; delay_ms(1);

B0
 

  


 

 

                 
 

 

 B0

 


  10 x 10 0.01  


 

١٣٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
while(1) {

portb.f0=1; delay_ms(5);  
portb.f0=0; delay_ms(5);
 
}
 

                  
   
 

 

 
while(1) {
 
portb.f0=1; delay_ms(8);
 
portb.f0=0; delay_ms(2);

}  

 
while(1) {
 
portb.f0=1; delay_ms(6);
 
portb.f0=0; delay_ms(4);

}  

 
 

 

١٣٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
delay_ms
 

  x  

 um

delay_us(1);  


 

 

  10000   


 

  

 = x 

 

while(1) { portb.f0=1; delay_us(50);  


portb.f0=0; delay_us(50); }
 

 

 

 

 

١٣٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 B0
while(1) {  
portb.f0=1; delay_us(5);
 
portb.f0=0; delay_us(5);

}  

 

 100 KHz 


×

 

 

 

   

 

 
 Buzzer

 coupling capacitor 

 headphone

 

 

 

١٣٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 
void main()
 
{ trisb=0; portb=0;
 
while(1) {

portb.f0=1; delay_ms(1);  

portb.f0=0; delay_ms(1);  
}
 
}
 

 
 

               
 

void main()  
{ trisb=0; portb=0;
 
while(1) {
 
portb.f0=1; delay_ms(2);

portb.f0=0; delay_ms(1);  
}  
}
 

١٣٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
   
 proteus

 delay_us
void main()
 
{ trisb=0; portb=0;
 
while(1) {

portb.f0=1; delay_us(100);  
portb.f0=0; delay_ms(100);
 
}
 
}


 

             
 while(1) { }
 for
void main()
 
{ int x;
 
trisb=0; portb=0;

for(x=0;x<2000;x++){  

portb.f0=1; delay_us(100);  
portb.f0=0; delay_ms(100);
 
}

}
 
١٣٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 for
 intchar

 
 for
 x


   
 

 

delay_us( ) 

 delay

 
 


 

 

  
 for  

  

١٤٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main()  

{ int x;  
trisb=0; portb=0;
 
while(1){
 
for(x=0;x<300;x++){ portb.f0=1; delay_us(700);

portb.f0=0; delay_us(700);}  
for(x=0;x<300;x++){ portb.f0=1; delay_us(750);
 
portb.f0=0; delay_us(750);}
 
for(x=0;x<250;x++){ portb.f0=1; delay_us(800);

portb.f0=0; delay_us(800);}  

for(x=0;x<220;x++){ portb.f0=1; delay_us(750);  


portb.f0=0; delay_us(750);}
 
for(x=0;x<400;x++){ portb.f0=1; delay_us(700);

portb.f0=0; delay_us(700);}
 

for(x=0;x<420;x++){ portb.f0=1; delay_us(600);  


portb.f0=0; delay_us(600);}
 
for(x=0;x<350;x++){ portb.f0=1; delay_us(650);
 
portb.f0=0; delay_us(650);}

for(x=0;x<320;x++){ portb.f0=1; delay_us(650);  


portb.f0=0; delay_us(650);}
 
for(x=0;x<300;x++){ portb.f0=1; delay_us(700);
 
portb.f0=0; delay_us(700);}

}  

}  
١٤١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
         for        
     
   


                 


 

 
 



 

   x   delay_ms(x); 


        while(1)      
 x++;
void main( )
 
{ int x; trisb=0; portb=0;

while(1){ portb.f0=1; delay_us(x);  


portb.f0=0; delay_us(x);
 
x++;
 
}
}

١٤٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
      x          
       delay_us(2)      delay_us(1)
 




 

   


 

 

 delay_us(1); 


 for x
 
for(y=0;y<x;y++) delay_us(1);

 x 

 for
for(y=0;y<15;y++) {
 
‫ ﻣﺮة‬١٥ ‫ﻫﻨﺎ ﺳﻨﻜﺘﺐ اﻷواﻣﺮ ﺳﺘﻜﺮر‬
}  

 

 { }

١٤٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
xx
x x
 x

 
for(y=0;y<x;y++) delay_us(1);
 

 
void main( )
 
{ int x; trisb=0; portb=0;
while(1){ portb.f0=1; delay_us(x);  
portb.f0=0; delay_us(x); x++;
 
}
}  

 
void main( )
 
{ int x,y; trisb=0; portb=0;
while(1){ portb.f0=1; for(y=0;y<x;y++) delay_us(1);  
portb.f0=0; for(y=0;y<x;y++) delay_us(1);
 
x++;
}  
}
 

 

  


for 
   x++;  x   

١٤٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 

delay_us( )
              
delay_us(1)
 

              Oscillators   


cycles

 

    


RC Oscillator
              
 Proteus

pic16f84a 

 for if
 Assembly languge

             

                 

١٤٥
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
                 
 
 


 

CRRC Oscillator 
     
 

 Crystal oscillator 

 

 

 

 
‫ﺑﻌﺾ أﺷﻜﺎل اﻟﻜﺮﯾﺴﺘﺎل‬
 


 RC oscillator


 

_RC_OSC  
_XT_OSC  
_HS_OSC  

 
١٤٦
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 RC oscillator _RC_OSC 

 200_XT_OSC 

 4

 254_HS_OSC 

 

 20

 20 000 000 

  _HS_OSC 



  

   

 Default

 HSXTRC

 

 

 RC OSC
 CR

 
 =
. × ×
 

 
١٤٧
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
              
 

     


3.3 MHz  22 pF 3.3 K
2.3 MHz  22 pF 4.7 K
1.08 MHz  22 pF 10 K
2.4 MHz  30 pF 3.3 K
1.7 MHz  30 pF 4.7 K
0.793 MHz  30 pF 10 K
 1.08MHz

  RC


 OSC1 

 


RC OSCILLATOR
   

 OSC2OSC1

 

 

 DatasheetOSC1,OSC2

 pin diagram

OSC1,OSC2

  

١٤٨
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 pic16f84a 

OSC1 

 OSC2

 

  

 

  

 HSXTCRYSTAL MODE   

 

MODE    


XT 100 KHz 100-150 pF
XT 200 KHz 22-68 pF
XT 2 MHz 15-33 pF
XT 4 MHz 15-33 pF
HS  4 MHz 15-33 pF
HS 8 MHz 15-33 pF
HS 10 MHz 15-33 pF
HS 20 MHz 15-33 pF

15-33Pf
 15-33pF 
   
 pic16f84 datasheet

١٤٩
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 

 

 

 

 

 

ceramic resonator

OSC1,OSC2

 

         resonator  
  _XT_OSC         HS  XT  mode ) 
  _HS_OSC                resonator
 4resonato

 

 OSC2OSC1

 
Resonators ‫ﺑﻌﺾ أﺷﻜﺎل اﻟـ‬
١٥٠
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 


 

 

 

 

 

 

 

 4MHz crystal


 _HS_OSC_XT_OSC
void main(){ int x; trisb=0; portb=0;  
while(1){
 
for(x=0;x<400;x++){ portb.f0=1; delay_us(750);

portb.f0=0; delay_us(800);}  
for(x=0;x<450;x++){ portb.f0=1; delay_us(500);
 
portb.f0=0; delay_us(750);}
 
} }

١٥١
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 
 

 
void main(){ int x; trisb=0; portb=0;
 
while(1){
 
for(x=0;x<400;x++){ portb.f0=1; delay_us(450);

portb.f0=0; delay_us(480);}  
for(x=0;x<450;x++){ portb.f0=1; delay_us(350);
 
portb.f0=0; delay_us(450);}

} }  

 

 


 
for(y=0;y<x;y++) delay_us(1);
 

              
 

 

 

 

 
١٥٢
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
void main()
{ int x,y; trisb=0; portb=0;  
while(1){
 
for(x=1;x<300;x++){
portb.f0=1; for(y=0;y<x;y++)delay_us(10);  
portb.f0=0; for(y=0;y<x;y++)delay_us(10);
 
}
}  
}
 

 while(1)for

         for        
 portb.f0=1; x=1
 x for(y=0;y<x;y++)delay_us(10);
         for      
 portb.f0=0;

forx
 portb.f0=1;

 for(y=0;y<x;y++)delay_us(10);

 for   x


 portb.f0=0; 
 for  x   
 

 

١٥٣
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

void main()  
{ int x,y; trisb=0; portb=0;
 
while(1){
for(x=250;x>0;x--){  
portb.f0=1; for(y=0;y<x;y++)delay_us(5);
 
portb.f0=0; for(y=0;y<x;y++)delay_us(5);
portb.f0=1; for(y=0;y<x;y++)delay_us(10);  
}
 
}
}  

 x


 

 

void main()  
{ int x,y; trisb=0; portb=0;
 
while(1){
for(x=0;x<50;x++){  
portb.f0=1; for(y=0;y<x;y++)delay_us(10);
 
portb.f0=0; for(y=0;y<x;y++)delay_us(10);
}  
}
 
}
 
١٥٤
‫ﻛﺘﺎﺏ ﺍﺣﺘﺮﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 for
   for
 

  

١٥٥




Buzzer
                  

 

 



 

 

 

 

 
Buzer

 

 



                
 

 

 
     Portb            
 

 

 
                
 



 


               
 

 PNP             
 NPN

 BJT    MOSFET           
 

       NPN  PNP      
 Base 

 
Base
 

gate      MOSFET         
 

                 
 

Coupling capacitor
 

 

      digital           analog 
analog 
            RC filter     
 RC filter analogdigital

                  
hfe=200
emittercollector
 

 ahmad_s_f@hotmail.com
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


 functions

B7B0

void main()  
{trisb=0;
 
portb=0;
while(1)  
{portb=0b10000001;delay_ms(100);
 
portb=~portb; delay_ms(100);
Portb=0b11000011;delay_ms(100);  
portb=~portb; delay_ms(100);
 
Portb=0b11100111;delay_ms(100);
portb=~portb; delay_ms(100);  
Portb=0b11111111;delay_ms(100);
 
portb=~portb; delay_ms(100);
}  
}
 

   10000001            
 portb=~portb;011111110 
                 
        1100000011     
 0011111100portb=~portb;
١٥٩
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬



  B7 B0
invert
 showahmad

 

Invert(0b100000001);  


 
Portb=0b100000001; delay_ms(100);
 
Portb=~portb; delay_ms(100);
 
Invert(0b11100111);
 

 
Portb=0b111000111; delay_ms(100);
 
Portb=~portb; delay_ms(100);
Portbinvert( );
 
                 
 

١٦٠
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
Invert

 void main

 
void invert(char aaa)
 
‫ اﻟﺬي ﻧﺨﺒﺮ‬ ‫ﻫﺬا ﻫﻮ‬
{
‫ﻓﻴﻪ اﻟﻤﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ ﺑﺎﻟﻮﻇﻴﻔﺔ اﻟﺘﻲ‬
portb=aaa; delay_ms(100); invert ‫ﺳﻴﺆدﻳﻬﺎ اﻷﻣﺮ اﻟﺠﺪﻳﺪ‬  
portb=~portb; delay_ms(100);
 
}
‫ﻫﺬا اﻷﻣﺮ ﻋﻨﺪﻣﺎ ﻧﻜﺘﺒﻪ ﻓﺈن اﻟﻤﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ‬
‫ﻳﺒﺪأ ﺑﺘﻨﻔﻴﺬ اﻷواﻣﺮ اﻟﺘﻲ ﺑﺪاﺧﻞ ﺗﻌﺮﻳﻒ اﻟﺪاﻟﺔ‬
 
‫ ﻳﺴﺎوي اﻟﻘﻴﻤﺔ اﻟﺘﻲ‬aaa ‫و ﻳﺠﻌﻞ اﻟﻤﺘﻐﻴﺮ‬
void main() ‫ﻛﺘﺒﻨﺎﻫﺎ ﺑﻴﻦ اﻟﻘﻮﺳﻴﻦ اﻟﺨﺎﺻﻴﻦ ﺑﺎﻷﻣﺮ‬  
{trisb=0;portb=0; Invert ( );
While(1){invert(0b11000011);  
}  
}
 

 void main 


               
 main

    while(1)       trisb=0;portb=0;  
 invert invert(0b11000011);
 

 void invert( char aaa) 

 invert void 


 charaaa
١٦١
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 aaa invert(0b11000011);
 0b11000011aaainvert( );

Invert
0b11000011portb Portb=aaa;
               
Portb=~portb;
  invert(0b11000011); 
 while(1)


  

void main() {trisb=0;portb=0;   


while(1)
{portb=0b10000001;delay_ms(100);
portb=~portb; delay_ms(100);
Portb=0b11000011;delay_ms(100);
portb=~portb; delay_ms(100);
Portb=0b11100111;delay_ms(100);
portb=~portb; delay_ms(100);
Portb=0b11111111;delay_ms(100);
portb=~portb; delay_ms(100);
}
}

١٦٢
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void invert(char aaa)
 

{  
portb=aaa; delay_ms(100);
 
portb=~portb; delay_ms(100);
}  
void main(){trisb=0;portb=0;
 
while(1){
invert(0b10000001);  
invert(0b11000011);
 
invert(0b11100111);
invert(0b11111111);  
}
 
}

portbinvert
portb
 


 

B7B0
 
 A0
  A1
  

١٦٣
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main(){char x;   
trisb=0;portb=0; trisa.f0=1;trisa.f1=1;
for(x=0;x<2;x++){ portb=0b00000001;delay_ms(200);
portb=0b00000011;delay_ms(200);
‫ﺣﺮﻛﺔ اﻟﻠﻴﺪات ﻣﻦ‬
portb=0b00000111;delay_ms(200);
‫اﻟﻴﻤﻴﻦ ﻟﻠﻴﺴﺎر‬
portb=0b00001111;delay_ms(200); ‫وﺗﺘﻜﺮر ﻣﺮﺗﻴﻦ‬
portb=0b00011111;delay_ms(200); ‫ﻷﻧﻬﺎ داﺧﻞ ﺟﻤﻠﺔ‬
for
portb=0b00111111;delay_ms(200);
portb=0b01111111;delay_ms(200);
portb=0b11111111;delay_ms(200);}
for(x=0;x<3;x++){portb=0b10000000;delay_ms(200);
portb=0b11000000;delay_ms(200);
‫ﺣﺮﻛﺔ اﻟﻠﻴﺪات ﻣﻦ‬
portb=0b11100000;delay_ms(200);
‫اﻟﻴﺴﺎر ﻟﻠﻴﻤﻴﻦ‬
portb=0b11110000;delay_ms(200); ‫وﺗﺘﻜﺮر ﺛﻼث‬
portb=0b11111000;delay_ms(200); ‫ﻣﺮات‬
portb=0b11111100;delay_ms(200);
portb=0b11111110;delay_ms(200);
portb=0b11111111;delay_ms(200);}
while(1){ if(porta.f0==0){ portb=0b00000001;delay_ms(200);
portb=0b00000011;delay_ms(200);
portb=0b00000111;delay_ms(200);
portb=0b00001111;delay_ms(200);
portb=0b00011111;delay_ms(200);
portb=0b00111111;delay_ms(200);
portb=0b01111111;delay_ms(200);
portb=0b11111111;delay_ms(200);}
if(porta.f1==0) {portb=0b10000000;delay_ms(200);
portb=0b11000000;delay_ms(200);
portb=0b11100000;delay_ms(200);
portb=0b11110000;delay_ms(200);
portb=0b11111000;delay_ms(200);
portb=0b11111100;delay_ms(200);
portb=0b11111110;delay_ms(200);
portb=0b11111111;delay_ms(200);}
} }

١٦٤
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 If           A1  A0
 while(1)

 if(porta.f0==0)  if  A0


 If     A1         
 if(porta.f1==0)

  functions            

 

 right_left

 left_right

  

١٦٥
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
Void right_left(){ portb=0b00000001;delay_ms(200);
 
portb=0b00000011;delay_ms(200);
 
portb=0b00000111;delay_ms(200);
portb=0b00001111;delay_ms(200);
 
portb=0b00011111;delay_ms(200);
portb=0b00111111;delay_ms(200);
 
portb=0b01111111;delay_ms(200);
portb=0b11111111;delay_ms(200);}
 
Void left_right(){portb=0b10000000;delay_ms(200);
portb=0b11000000;delay_ms(200);
 
portb=0b11100000;delay_ms(200);
portb=0b11110000;delay_ms(200);
 
portb=0b11111000;delay_ms(200);
portb=0b11111100;delay_ms(200);
 
portb=0b11111110;delay_ms(200);
portb=0b11111111;delay_ms(200);}
 

void main(){char x;  
trisb=0;portb=0; trisa.f0=1;trisa.f1=1;
for(x=0;x<2;x++)right_left();  
for(x=0;x<3;x++)left_right();
while(1){ if(porta.f0==0) right_left();  
if(porta.f1==0) left_right();
}  
}
 


 right_left();

left_right();

  
١٦٦
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
functions



 

 

 parameters 


void any_name()

{
‫ﻫﻨﺎ ﻧﻜﺘﺐ اﻷواﻣﺮ اﻟﱵ ﺳﺘﻨﻔﺬ ﻋﻨﺪﻣﺎ ﻧﺴﺘﺪﻋﻲ ﻫﺬه اﻟﺪاﻟﺔ‬  
}
 
void main()
  {………… ‫ﻋﻨﺪﻣﺎ ﻧﺮﻳﺪ اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﻟﺘﻨﻔﺬ‬
………… ‫ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ ﻧﻜﺘﺐ اﺳﻤﻬﺎ ﺛﻢ‬
( ) ‫ﻧﺘﺒﻌﻬﺎ ﺑﻘﻮﺳﻴﻦ ﻓﺎرﻏﻴﻦ‬
any name();
 
}

attention
 

attention();
 
void attention()
{ char kk;   
for(kk=0;kk<5;kk++){
porta.f0=1; delay_ms(100);
porta.f0=0; delay_ms(100);
}
}

١٦٧
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

void main()attention();
 { }


b5b0
  b6        B1    
 b7 b2 
 

              
 
void attention()  
{ char kk;
for(kk=0;kk<5;kk++){porta.f0=1; delay_ms(100);porta.f0=0; delay_ms(100); }  
}
void main()  
{ trisb.f0=1; trisb.f1=1; trisb.f2=1; ‫اﺟﻌﻞ اﻟﺜﻼث اﻟﻤﻮﺻﻞ ﺑﻪ اﻟﺴﻮﻳﺘﺸﺎت ﻛﺪﺧﻞ‬
trisb.f5=0; trisb.f6=0; trisb.f7=0; ‫اﺟﻌﻞ اﻟﺜﻼث أﻃﺮف اﻟﻤﻮﺻﻞ ﺑﻬﺎ اﻟﻠﻴﺪات ﻛﺨﺮج‬  
trisa.f0=0; ‫اﺟﻌﻞ اﻟﻄﺮف اﻟﻤﻮﺻﻞ ﺑﻪ اﻟﻠﻴﺪ اﻟﺨﺎص ﺑﺎﻟﺘﺤﺬﻳﺮ ﻛﺨﺮج‬
while(1){ portb.f5=0;portb.f6=0;portb.f7=0; ‫اﻃﻔﺊ اﻟﻠﻴﺪات ﻓﻲ اﻟﺒﺪاﻳﺔ وﺑﻌﺪ رﻓﻊ اﻟﻴﺪ ﻣﻦ ﻋﻠﻰ أي ﺳﻮﻳﺘﺶ‬  
if(portb.f0==0) {mm1: portb.f5=1; ‫إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻷول ﻗﻢ ﺑﺈﺿﺎءة اﻟﻠﻴﺪ اﻷول‬
if(portb.f1==0||portb.f2==0) a en on();‫ﺑﺘﺤﺬﻳﺮ اﻟﻤﺴﺘﺨﺪم إذا ﺿﻐﻂ ﻋﻠﻰ أي ﺳﻮﻳﺘﺶ آﺧﺮ‬ ‫ ﻗﻢ‬
if(portb.f0==0)goto mm1; ‫إذا ﻛﻨﺎ ﺿﺎﻏﻄﻴﻦ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻷول ﻛﺮر ﻣﺎ ﺳﺒﻖ ﻣﺮة أﺧﺮى‬
} ‫اي واﺟﻌﻞ اﻟﻠﻴﺪ اﻷول ﻣﻀﻴﺌﺎ‬  
if(portb.f1==0) {mm2: portb.f6=1; ‫إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻟﺜﺎﻧﻲ ﻗﻢ ﺑﺈﺿﺎءة اﻟﻠﻴﺪ اﻟﺜﺎﻧﻲ وإذا ﺗﻢ اﻟﻀﻐﻂ‬
if(portb.f0==0||portb.f2==0) a en on(); (‫ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻷول أو اﻟﺜﺎﻟﺚ ﻗﻢ ﺑﻌﻤﻠﻴﺔ اﻟﺘﺤﺬﻳﺮ)اﺳﺘﺪاﻋﺎء اﻟﺪاﻟﺔ‬  
if(portb.f1==0)goto mm2; ‫إذا ﻛﻨﺎ ﻣﺴﺘﻤﺮﻳﻦ ﻓﻲ اﻟﻀﻐﻂ ﻗﻢ ﺑﺘﻜﺮار ﻣﺎﺳﺒﻖ‬
}  
if(portb.f2==0) {mm3: portb.f7=1; ‫إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻟﺜﺎﻟﺚ ﻗﻢ ﺑﺈﺿﺎءة اﻟﻠﻴﺪ اﻟﺜﺎﻟﺚ وإذا ﺿﻐﻄﻨﺎ أﺛﻨﺎء ذﻟﻚ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ اﻷول‬
if(portb.f0==0||portb.f1==0) a en on(); ‫أو اﻟﺜﺎﻧﻲ ﻗﻢ ﺑﺎﺳﺘﺪﻋﺎء داﻟﺔ اﻟﺘﻨﺒﻴﻪ‬  
if(portb.f2==0)goto mm3;
}  
}
}
١٦٨
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 ()

   
void any_name(char nn)
{  
‫ﻫﻨﺎ ﻧﻜﺘﺐ اﻷواﻣﺮ اﻟﱵ ﺳﺘﻨﻔﺬ ﻋﻨﺪﻣﺎ ﻧﺴﺘﺪﻋﻲ ﻫﺬه اﻟﺪاﻟﺔ‬
}  

void main()  
{………… ‫ﻋﻨﺪﻣﺎ ﻧﺮﻳﺪ اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﻟﺘﻨﻔﺬ ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬
‫اﻷواﻣﺮ ﻧﻜﺘﺐ اﺳﻤﻬﺎ ﺛﻢ ﻧﺘﺒﻌﻬﺎ ﺑﻘﻮﺳﻴﻦ ) ( وﻧﻜﺘﺐ‬
…………
nn ‫داﺧﻞ اﻟﻘﻮﺳﻴﻦ اﻟﺮﻗﻢ اﻟﺬي ﺳﻴﻤﺮر إﻟﻰ اﻟﻤﺘﻐﻴﺮ‬  
any name(‫;)ﻫﻨﺎ ﻧﻜﺘﺐ أي رﻗﻢ أو ﻣﺘﻐﲑ‬ ‫ ﻳﺴﺎوي ﻫﺬا اﻟﺮﻗﻢ اﻟﻤﻜﺘﻮب‬nn ‫ﻟﻴﺼﺒﺢ‬
}  

parameters
 invert

 

portb
 portb
void MNO(char ww,int yy)
{char x;  
portb=ww;
for(x=0;x<yy;x++) delay_ms(1);  
portb=0; ‫ وﻫﺬا اﻟﺮﻗﻢ‬ww ‫ ﻫﻮ اﻟﺬي ﺳﻴﺘﻢ وﺿﻌﻪ ﻓﻲ اﻟﻤﺘﻐﻴﺮ‬0xff ‫اﻟﺮﻗﻢ‬
} char ‫ ﻟﺬﻟﻚ ﺳﻨﺠﻌﻞ اﻟﻤﺘﻐﻴﺮ ﻣﻦ اﻟﻨﻮع‬٢٥٥ ‫ﻟﻦ ﻳﺰﻳﺪ ﻋﻦ‬  
void main() ‫ وﺑﻤﺎ أن ﻫﺬا اﻟﻤﺘﻐﻴﺮ ﻗﺪ‬yy ‫ ﻫﻲ ﻗﻴﻤﺔ اﻟﻤﺘﻐﻴﺮ‬١٥٠٠ ‫واﻟﻘﻴﻤﺔ‬
{……………. int ‫ ﻟﺬﻟﻚ ﺟﻌﻠﻨﺎه ﻣﻦ اﻟﻨﻮع‬٢٥٥ ‫ﻳﺄﺧﺬ ﻗﻴﻤﺔ أﻛﺒﺮ ﻣﻦ‬  
…………….
MNO(0xff,1500);
}

١٦٩
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  
  for
    
 

 delay_ms  


 delay_us
vdelay_ms( )

  


 
void MNO(char ww,int yy)
 
{portb=ww;
vdelay_ms(yy);
 
portb=0;
}
 
void main()
{…………….
 
…………….
MNO(0xff,1500);
 
}

 

 intyycharww

char intyy
 255


١٧٠
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

  

void
 


add

 

portbportb
 

char add(char num1,int num2)  


{char sum;
sum=num1+num2;  
return sum;
}  
void main()
{…………….  
…………….
Portb=add(5,20);  
}
 

void
void
 floatintchar


portb=add(5,20)
١٧١
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 portb
 xx=add(5,3);

 
char add(char num1,int num2)
{
 
return (num1+num2);
}
 
void main()
 
{…………….
…………….
 
Portb=add(5,20);
}
 

portb
 portb
int mult(char num1,int num2)
{  
return (num1*num2);
}
 
void main()
{ trisb=0; portb=0;
 
portb=mult(9,2) ;
 
delay_ms(5000);
portb=mult(10,3) ;
 
delay_ms(2000);
portb=mult(200,5) ;
 
}

  


intchar
 

 
١٧٢
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  


  7segment Seven Segment 
 


 

 

 

 

 

 

 

 

cb
cba
decimal pointd.p
               
 

anode
    common anode         
١٧١
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  common cathode
 cathode
 common cathode

               
common        common    
 

common                
 common cathodeanode

common    common cathode       
f 
 

 commoncommon anode


 f

common anode
  common cathode
void main()
 
{
a
 
b trisb=0;
c
 
portb=0b00110000;

}  

 B7 


 

١٧٢
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

Common cathode:

 

 

 

 

  

void main() void main()  


{ {
 
trisb=0;  trisb=0;
 
portb=~0b00110000; portb=0b11001111;
 
} }
 

ba
 


isis 
status bar
 


 gf

١٧٣
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 
‫ﻗﻒ ﺑﺎﻟﻤﺎوس ﻫﻨﺎ‬

‫ﻗﻒ ﺑﺎﻟﻤﺎوس ﻫﻨﺎ‬  


‫ﺳﻴﻈﻬﺮ اﺳﻢ‬
‫اﻟﻄﺮف ﺑﺎﻷﺳﻔﻞ‬
 

 

 

             
 
              
portb=0b00110000;portb

 portb=0b00000011;  Portb=3;        
  0110000           
 



   
 

for(x=0;x<10;x++){ portb=x; delay_ms(1000); }  


 

١٧٤
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

  



 

common cathode
 portb=0b00111111

 portb=0b00000110
void main() {
 
trisb=0;

for(;;){  
portb=0b00111111; delay_ms(1000);
 
portb=0b00000110; delay_ms(1000);

portb=0b01011011; delay_ms(1000);  
portb=0b01001111 ; delay_ms(1000);
 
portb=0b01100110 ; delay_ms(1000);

portb=0b01101101 ; delay_ms(1000);  
portb=0b01111101; delay_ms(1000);
 
portb=0b00000111; delay_ms(1000);

portb=0b01111111 ; delay_ms(1000);  
portb=0b01101111 ; delay_ms(1000);
 
}

}  

 

١٧٥
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 
void main() {
 
trisb=0;

for(;;){ // ‫اﻟﻌﺪ اﻟﺘﺼﺎﻋﺪي ﻣﻦ ﺻﻔﺮ إﻟﻰ ﺗﺴﻌﺔ‬  


portb=0b00111111; delay_ms(1000); portb=0b00000110; delay_ms(1000);
 
portb=0b01011011; delay_ms(1000); portb=0b01001111 ; delay_ms(1000);

portb=0b01100110 ; delay_ms(1000); portb=0b01101101 ; delay_ms(1000);  


portb=0b01111101; delay_ms(1000); portb=0b00000111; delay_ms(1000);
 
portb=0b01111111 ; delay_ms(1000); portb=0b01101111 ; delay_ms(1000);

// ‫اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ ﻣﻦ ﺗﺴﻌﺔ إﻟﻰ ﺻﻔﺮ‬  


portb=0b01101111 ; delay_ms(1000); portb=0b01111111 ; delay_ms(1000);
 
portb=0b00000111; delay_ms(1000); portb=0b01111101; delay_ms(1000);

portb=0b01101101 ; delay_ms(1000); portb=0b01100110 ; delay_ms(1000);  


portb=0b01001111 ; delay_ms(1000); portb=0b01011011; delay_ms(1000);
 
portb=0b00000110; delay_ms(1000); portb=0b00111111; delay_ms(1000);

}  
}
 


––

 

 

 seven segment decodertools

١٧٦
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 

 

 

 

 

 

 

 

 

 

 

‫ﻳﻤﻜﻨﻚ اﻟﻀﻐﻂ ﺑﺎﻟﻤﺎوس‬  


‫ﻋﻠﻰ أي ﻣﻦ اﻷﻣﺎﻛﻦ اﻟﻤﺸﺎر‬
‫إﻟﻴﻬﺎ ﺑﺎﻷﺳﻬﻢ ﻟﺘﻜﻮن اﻟﺮﻗﻢ‬
‫أو اﻟﺸﻜﻞ اﻟﺬي ﺗﺮﻳﺪه‬  

 

common cathode

       common anode  
   common cathode       portb=109;   
 portb=146; 

 

١٧٧
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 
void main() { char x;
 
trisb=0;

for(;;){  
if(x==0){ portb=0b00111111; delay_ms(1000);}
 
if(x==1){ portb=0b00000110; delay_ms(1000);}

if(x==2){ portb=0b01011011; delay_ms(1000);}  


if(x==3){ portb=0b01001111; delay_ms(1000);}
 
if(x==4){ portb=0b01100110; delay_ms(1000);}

if(x==5){ portb=0b01101101; delay_ms(1000);}  


if(x==6){ portb=0b01111101; delay_ms(1000);}
 
if(x==7){ portb=0b00000111; delay_ms(1000);}

if(x==8){ portb=0b01111111; delay_ms(1000);}  


if(x==9){ portb=0b01101111; delay_ms(1000);}
 
X++;

If(x==10)x=0;  
}
 
}

 if x


              x 
xifportb=0b00111111
ififx++x
If(x==10)x=0;
 

 

١٧٨
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main() { char x;  
trisb=0;
 
for(;;){

if(x==0) portb=0b00111111;  
if(x==1) portb=0b00000110;
 
if(x==2) portb=0b01011011;

if(x==3) portb=0b01001111;  
if(x==4) portb=0b01100110;
 
if(x==5) portb=0b01101101;

if(x==6) portb=0b01111101;  
if(x==7) portb=0b00000111;
 
if(x==8) portb=0b01111111;

if(x==9) portb=0b01101111;  
delay_ms(1000);
 
X++;

If(x==10)x=0;  
}
 

delay_ms(1000); for(;;)
 xfor

                
function
 

     segment(0);     segment   
 segment(5)

١٧٩
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void segment(char kk)  
{ if(kk==0) portb=0b00111111;
 
if(kk==1) portb=0b00000110;

if(kk==2) portb=0b01011011;  
if(kk==3) portb=0b01001111;
 
if(kk==4) portb=0b01100110;

if(kk==5) portb=0b01101101;  
if(kk==6) portb=0b01111101;
 
if(kk==7) portb=0b00000111;

if(kk==8) portb=0b01111111;  
if(kk==9) portb=0b01101111;
 
}

void main() { char x;  


trisb=0;
 
for(;;){

segment(x);  
delay_ms(1000);
 
X++;

If(x==10)x=0;  
}
 
}

 void main()  


xsegmentportb
 segment
kksegment( char kk) 
 kk if kk
ifportb=0b00111111;
١٨٠
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
            
segment x segment(x);
 


 

void segment(char kk)


 
{ if(kk==0) portb=0b00111111;

if(kk==1) portb=0b00000110;
 
if(kk==2) portb=0b01011011;
 
if(kk==3) portb=0b01001111;

if(kk==4) portb=0b01100110;
 
if(kk==5) portb=0b01101101;
 
if(kk==6) portb=0b01111101;

if(kk==7) portb=0b00000111;  
if(kk==8) portb=0b01111111;
 
if(kk==9) portb=0b01101111;

}  
void main() { char x; trisb=0;
 
for(;;){ for(x=0;x<10;x++) {segment(x); delay_ms(1000);} // ‫اﻟﻌﺪ اﻟﺘﺼﺎﻋﺪي ﻣﻦ ﺻﻔﺮ إﻟﻰ ﺗﺴﻌﺔ‬

for(x=9;x>0;x--) {segment(x); delay_ms(1000);} // ‫اﻟﻌﺪ اﻟﺘﻨﺎزﻟﻲ‬  


for(x=0;x<=4;x++) {segment(x*2); delay_ms(1000);} // ٨ ٦ ٤ ٢ ٠ ‫ﻟﻌﺪ اﻷﻋﺪاد اﻟﺰوﺟﻴﺔ‬
 
for(x=0;x<=4;x++) {segment((x*2)+1); delay_ms(1000);} // ٩ ٧ ٥ ٣ ١ ‫ﻟﻌﺪ اﻷﻋﺪاد اﻟﻔﺮدﻳﺔ‬

}  
}
 

١٨١
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  x for
    x       segment    
forfor

 
 

for
for(x=0;x<=4;x++) {segment(x*2);           
 delay_ms(1000);}

 

 for(x=0;x<=4;x++) {segment((x*2)+1); delay_ms(1000);}


 

 

for(x=9;x>0;x--) {segment(x);       


delay_ms(1000);}

  for(x=9;x>=0;x--) {segment(x); delay_ms(1000);}‫وﻟﻢ أﻛﺘﺐ‬



 for 
 

for
 x>=0  x=9
١٨٢
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
       for     x--  
 x-- for
 x=1 { }
 x x-- { } for
      for          x>=0
 x>=0  x  x-- 
  segment


  x--

x
 for

   


 for(x=9;x>0;x--) {segment(x); delay_ms(1000);}
for
 for(x=9;x>0;x--) {segment(x); delay_ms(1000);}

  for(x=9;x<255;x--) {segment(x); delay_ms(1000);}


 

 switch .. case 

if  switch .. case    


            while   
 

١٨٣
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  x 

 SWITCH CASEIF
switch (x)
‫ﻫﻨﺎ ﻧﻜﺘﺐ ﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ‬  
{ case 2: …………………………… ‫ ﻳﺴﺎوي‬x ‫اﻟﺘﻲ ﺳﺘﻨﻔﺬ إذا ﻛﺎن‬

……………………………. Break;
‫اﺛﻨﻴﻦ‬
 
case 7: ‫ﻫﻨﺎ ﻧﻜﺘﺐ ﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ‬
 
‫ ﻳﺴﺎوي‬x ‫اﻟﺘﻲ ﺳﺘﻨﻔﺬ إذا ﻛﺎن‬
……………………………
‫ﺳﺒﻌﺔ‬
……………………………. Break;  
case 9: ‫ﻫﻨﺎ ﻧﻜﺘﺐ ﻣﺠﻤﻮﻋﺔ اﻷواﻣﺮ‬
‫ ﻳﺴﺎوي‬x ‫اﻟﺘﻲ ﺳﺘﻨﻔﺬ إذا ﻛﺎن‬
 
……………………………
‫ﺗﺴﻌﺔ‬
……………………………. Break;  
}
 

 segment
void segment(char kk) { switch(kk) { case 0 : portb=0b00111111; break;
 
case 1 : portb=0b00000110; break;

case 2 : portb=0b01011011; break;  


case 3 : portb=0b01001111; break;
 
case 4 : portb=0b01100110; break;

case 5 : portb=0b01101101; break;  


case 6 : portb=0b01111101; break;
 
case 7 : portb=0b00000111; break;

case 8 : portb=0b01111111; break;  


case 9 : portb=0b01101111; break;
 
}

}  

١٨٤
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 break; 


 
x=5;
 
switch(x)

{
 
case 5 : portb=1; delay_ms(500);
 
case 1 : portb=3; delay_ms(500); break;

case 7 : portb=4; break;  


}
 

 x 


                
 xbreak;

 x

portb=1; delay_ms(500);

 

 portb=3; delay_ms(500);
 switchbreak 

 portb=4;
 xbreak

   break 


 

١٨٥
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 switch .. case 

 default: 

switch (x)  
{ case 0: ……………………………
 
……………………………. Break;

case 1: ……………………………  
……………………………. Break;
 
case 5:

…………………………… ‫ﻫﻨﺎ ﻧﻜﺘﺐ اﻷواﻣﺮ اﻟﺘﻲ ﺳﻴﺘﻢ ﺗﻨﻔـﻴﺬﻫﺎ‬  


‫ ﻻ ﻳﺴﺎوي ﺻﻔﺮ وﻻ واﺣﺪ‬x ‫ﻓـﻲ ﺣﺎﻟﺔ أن‬
……………………………. Break; ‫وﻻ ﺧﻤﺴﺔ أي ﻟﻢ ﺗﺘﺤﻘﻖ أي ﺣﺎﻟﺔ ﻣﻦ‬
. ‫اﻟﺤﺎﻻت اﻟﺴﺎﺑﻘﺔ‬  
default: ………………………

……………………………………….  
}
 

 break

forswitch casebreak
 loopwhile

while break
 for

 

          B0        
B5A0
 break

١٨٦
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
void main()
 
{char x;
‫ ﻫﺬه ﺗﺴﻤﻰ‬for ‫ﺟﻤﻠﺔ‬  
trisa.f0=1; break ‫ﻟﻮوب واﻷﻣﺮ‬

trisb=0;
‫ﻳﺨﺮج ﻣﻨﻬﺎ‬
‫إذا ﺗﻢ اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺴﻮﻳﺘﺶ ﻓﺴﻴﻘﻮم‬
 
break ‫اﻟﻤﻴﻜﺮوﻛﻨﺘﺮوﻟﺮ ﺑﺘﻨﻔـﻴﺬ اﻷﻣﺮ‬
portb=0;
 
‫ وﻳﻨﺘﻘﻞ‬for ‫واﻟﺬي ﺳﻴﺨﺮج ﻣﻦ اﻟﻠﻮب‬
for(x=0;x<50;x++) { if(porta.f0==0) break;

portb.f0=1; delay_ms(100);
‫إﻟﻰ ﻣﺎ ﺑﻌﺪ اﻟﻠﻮب أي إﻟﻰ ﻫﻨﺎ‬  
portb.f0=0; delay_ms(100);
 
}

Portb.f5=1;  
Portb.f0=0;
 
}

 

break
 
for(x=0;x<100;x++) { ………………………………………………
 
for(y=0;x<100;x++)

{  
‫ ﺳﻴﺠﻌﻞ‬break ‫اﻷﻣﺮ‬
…………………..
‫اﻟﻤﻴﻜﺮو ﻳﻨﺘﻘﻞ إﻟﻰ ﻫﻨﺎ‬  
…………………..
‫وﻟﻴﺲ إﻟﻰ ﻫﻨﺎ‬
Break;  
}
 
…………………………………………………..

…………………………………………………….  
}
 
……………………

 
١٨٧
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

  


 

 


 

char x1; char x2 ; char x3; char x4; char x5;

 

char x1,x2,x3,x4,x5;

 


    
 char 

char ahmad[100];

ahmad
 ahmad[0]
 ahmad[2]ahmad[1]

 

 int mm[5];

١٨٨
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 mm[0] 
 intmm[4]mm[1]

 mm[4] 



  
 aaa5=9      aaa5=5      aaa5    
 aaa5=0

 char segment[10]; 

     

Segment[0]
 

Segment[1]  


Segment[2]    

Segment[3]   

Segment[4]  
char

Segment[5]  

Segment[6]  

Segment[7]  

Segment[8]  

Segment[9]  

١٨٩
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
  char segment[10]; 
   segment[8]=0          

segment[0]=5; 
 segment[9]=10; 


      [ ]         
 

segment[x]=20; x=3x 


 x segment[3]=20; 
segment[x]=13; xx++;
 x segment[4]=13; 
 

 


 for
void main()
 
‫ ﻣﻜﻮﻧﺔ ﻣﻦ ﻋﺸﺮﻳﻦ‬mm ‫اﺣﺠﺰ ﻣﺼﻔﻮﻓﺔ اﺳﻤﻬﺎ‬
{ char x;
. char ‫ﻋﻨﺼﺮ واﺟﻌﻠﻬﻢ ﺟﻤﻴﻌﺎ ﻣﻦ اﻟﻨﻮع‬
char mm[20];
 
‫ ﻫﺬه ﺳﺘﻤﺮ‬for ‫ﺟﻤﻠﺔ‬
for(x=0;x<20;x++) {
‫ﻋﻠﻰ ﺟﻤﻴﻊ ﻋﻨﺼﺎر‬
 
mm[x]=7; ‫اﻟﻤﺼﻔﻮﻓﺔ وﺗﺠﻌﻠﻬﻢ‬
. ‫ﺟﻤﻴﻌﺎ ﺑﺴﺒﻌﺔ‬  
}

}  

١٩٠
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
xforfor
mm[x]=7; for{ }
xmm[0]=7; 
   mm[x]=7;          x   
mm[1]=7; 
 mm[x]=7; x
      x       mm[2]
 
 mm[2]=7; mm[1]=7; mm[0]=7; 

mm[0]=7;
for(x=0;x<20;x++) {  
mm[x]=7; mm[1]=7;
 
} mm[2]=7;

mm[3]=7;  
mm[4]=7;
 
mm[5]=7;

 
………

……..
      
mm[19]=7;
 

 

 

 

 
١٩١
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
<<
mm[0] 7
<<
 
mm[1] 7
<<  
mm[2] 7
<<
mm[3] 7  
<<
.…………. .………….
 
………….. …………..
<<  
mm[18] 7

mm[19] 7
<<
 

 

 char  ayaa 


 

 
Char ayaa[10];
 
for(x=0;x<10;x++) ayaa[x]=200+x ;
 

{ }for
               
for char ayaa[10]; 
 xfor

 x ayaa[x]=200+x ;  for


  ayaa[0] ayaa[0]=200+0; 

١٩٢
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
    ayaa[1]=200+1;         x 
  ayaa[1]

Ashraf

 

 

Char Ashraf[13];  
for(x=0;x<13;x++) Ashraf[x]=5*x ;
 

xfor
xAshraf[0]=0Ashraf[0]=5*0 ;for
xAshraf[1]=5*1 ;
 

 long   kk  


  kk[2]  
      kk[2],kk[4],kk[6],…….kk[60]      kk[4]
 kk[1],kk[3],….kk[59]

 
Char kk[60];
 
for(x=0;x<30;x++) { kk[x*2]=4 ;

kk[(x*2)+1]=3 ;
 

}  

١٩٣
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
x
 

 

 

 char Ashraf[4]={ 5 ,10 ,100 ,20 }; 

 
Char Ashraf[4];
 
Ashraf[0]=5;

Ashraf[1]=10;  
Ashraf[2]=100;

Ashraf[3]=20;
 

 

 char Ashraf[4]={0b00000101 ,0b00001010 ,0b01100100 ,0b00010100 };

 

 char Ashraf[4]={0x05 ,0x0a ,0x64 ,0x14 };

 

 common cathode             
00111111portb
 00000110portb

 segment[0] segment


 00000110  segment[1] 00111111

١٩٤
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
portb=segment[0]; 
 portb=segment[9];

 

void main( )  
{
 
char segment [10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b01101101,

0b011111101,0b00000111,0b01111111,0b01101111};  
char x;
 
trisb=0;
 
while(1) {

for(x=0;x<10;x++) { portb=segment[x];  
delay_ms(500);
 
}

}  
}
 

   x   portb=segment[x];     for   
      portb=0b00111111;    portb=segment[0];
 x

 
 

 

 

١٩٥
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 portb=0; 

void main( )  
{
 
char segment [10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b01101101,

0b011111101,0b00000111,0b01111111,0b01101111};  
char x,y;
 
trisb=0;

while(1) {  
for(x=9;x<255;x--) { portb=segment[x];
 
delay_ms(1000);

for(y=0;y<5;y++){ portb=0; delay_ms(80);


 

portb=segment[x];delay_ms(80);  
}
 
Portb=0; delay_ms(200);

}  
}
 
}
 

 x

 x for
 Portb=0; delay_ms(200);

 

 

١٩٦
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
 
 ‫ﺍﻟﺘﺠﺮﺑﺔ‬  

            
switch.. caseif
 

   RAM            
 ROM

 RAM 



               
 


 ROM  RAM 
 ROM
 ROM

  


 RAMROM

 PIC16f84a           
 

 6868x8RAM

 17921024x14Program MemoryROM

١٩٧
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬

 switch.. case if
 

ROM
      ROM      RAM   
 ROMRAM


 RAM  
   NO enough Ram 
 RAM
 RAMROM

 RAMROM


RAM 
 ROM

 

 

  




 

١٩٨
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
const
 

 const float PI=3.14;


‫ﻧﻜﺘﺐ ﻫﺬه اﻟﻜﻠﻤﺔ ﻓـﻲ اﻟﺒﺪاﻳﺔ‬
‫ﻧﻮع اﻟﺜﺎﺑﺖ‬
‫ﻟﺘﻌﺮﻳﻒ اﻟﺜﺎﺑﺖ‬
‫اﺳﻢ اﻟﺜﺎﺑﺖ‬
 

  PI


 PIPI++

 Program Memory ROM

 const

 
void main( ){
 
const char segment [10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,

0b01101101,0b011111101,0b00000111,0b01111111,0b01101111};  
char x; trisb=0;
 
while(1) {
 
for(x=0;x<10;x++) { portb=segment[x];

delay_ms(1000);  
}
 
}

}  


 RAM

١٩٩
‫ﺃﺳﺮﻉ ﻃﺮﻳﻖ ﻻﺣﺘﺮﺍﻑ ﺑﺮﻣﺠﺔ ﺍﻟﻤﺎﻳﻜﺮﻭﻛﻨﺘﺮﻭﻟﺮ‬
hex
 ROMRAM
١٦ ROM ‫اﻟﻤﺴﺘﺨﺪم ﻣﻦ اﻟـ‬
‫ ﻓـﻲ‬٨٤ ‫ﻓـﻲ اﻟﻤﺌﺔ واﻟﻤﺘﺒﻘﻲ‬  
‫ ﻫﻮ‬RAM ‫اﻟﻤﺴﺘﺨﺪم ﻣﻦ اﻟـ‬
. ‫اﻟﻤﺌﺔ ﻣﻦ اﻟﺤﺠﻢ اﻹﺟﻤﺎﻟﻲ‬
‫ ﻓـﻲ اﻟﻤﺌﺔ واﻟﻤﺘﺒﻘﻲ ﺳﺒﻌﻴﻦ‬٣٠
. ‫اﻟﻤﺌﺔ‬ ‫ﻓـﻲ‬

 

 

LED MATRIX
 RAM 
               
 

 const PI=3.14;  


  

Const mm=19;

Const pp='A';

Const feleafel=1000;

Const daher =1523.962;


   


 

٢٠٠

You might also like