Académique Documents
Professionnel Documents
Culture Documents
void main()
{
int i; char C;
TRISB=0;
while(1)
{ C=1; PORTB=C;
Delay_ms(60);
for(i=1;i<=7;i++)
{ C=C<<1; PORTB=C;
delay_ms(70); }
}
}
Compteur avec résultats sur afficheur 7 segments
void main()
{
int i;
Char t[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
trisb=0; portb=0;
while(1)
{ for(i==0;i<=9;i++)
{portb=t[i] ; delay_ms(500);}
i=0; }
}
Si K0 fermé seule d1 allumée; Si K1 fermé seule d2 allumée
Si K2 fermé seule d2 allumée. Si K0 K1 K2 fermés simultanément
toutes les leds éteintes
void main()
{ int k;
TRISB=0 ; TRISD=0xff;
PORTD=0; PORTB=0;
while(1)
{ //k=portd; if(k==…………….)
if(portd.f0==0&&portd.f1==1&&portd.f2==1) portb.f0=1;
else portb.f0=0;
if(portd.f1==0&&portd.f2==1&&portd.f0==1) {portb.f1=1;
portb.f0=0;}
else portb.f1=0;
if(portd.F2==0&&portd.F1==1&&portd.F0==1){portb.f2=1;
portb.f1=0;portb.f0=0;}
else portb.f2=0;
if(portd.f2==0&&portd.f1==0&&portd.f0==0) portb=0;
}
}
ZONE GPR:
Elle contient des mots de 8 bits. On peut y accéder par
adressage direct ou indirect ( en utilisant le registre FSR qui
sera vu plus tard). Les adresses GPR en page 1 sont
confondues avec celles de la page 0. On atteint la même
adresse en RAM quand on adresse en h'0C' ou en h'8C'.
ZONE SFR:
Elle contient les registres utilisés par le microcontrôleur et les
périphériques internes pour contrôler le fonctionnement du
circuit. Ces registres sont du type RAM Statique. Ils son
répartis dans les deux pages BANK 0 et BANK 1. Ils occupent
les 12 premiers octets de ces deux pages.
ORGANISATION de la MEMOIRE DATA :
Elle est constituée de deux zones :
- La zone SFR (Special function registers) qui contient les registres
de configuration et de fonction du microcontrôleur.
- La zone GPR ( General Purpose Register ) qui contient la RAM.
Elle est découpée en deux pages : Bank 0 et Bank 1. L'accès à la
Bank 0 se fait en positionnant le bit 5 du registre STATUS (RP0) à
"0". Pour l'accès à la Bank 1 on doit mettre ce bit à "1".
Chaque page contient 128 bits (de 00 à 7f), et nécessite donc 7
bits d'adresse. Les 12 premiers octets de chaque page sont
réservés pour la zone SFR. Le reste est attribué à la zone GPR
pour de la RAM.
La Conversion Analogique Numérique
long adc_value;
unsigned char d1,d2,d3,d4;
ADC_VALUE=ADC_READ(2);
ADC_VALUE=ADC_VALUE*1300/1023;
PORTD=ADC_value
}
}
ADC - LCD
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
//*************************************
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
unsigned char d1,d2,d3,d4;
long adc_value; //long obligatoire
void main() {
void main(){
trisd=0;portd=0;
for(;;)
{portd=1; delay_ms(500);
portd=0; delay_ms(500); }}
Revisions