Vous êtes sur la page 1sur 11

Electronique Electrotechnique et systèmes

Automatisés
EESA

Travaux pratiques : Architecteur des systèmes à processeur

Compte-rendu

TP3 : Commande de LED reliées au Port B du PIC16F84.

TP4 : Compteur-Décompteur sur afficheur 7 segments.

TP5 : Chenillard commandé par Interruption sur RB0.

TP6 : Programmation des modules : CAN, UART, CCP et LCD – Cas du PIC16F876A.

NOM : EL FORSA SOULAIMANE

2-EESA
TP3 : Commande de LED reliées au Port B du PIC16F84.

1. Réalisation le schéma électrique en utilisant le logiciel ISIS :

2. Code

du programme :

 En respectant le schéma ci-dessous pour programmer les LEDS.


3. Quelque application du programme :
TP4 : Compteur-Décompteur sur afficheur 7 segments.

1. Réalisation le schéma électrique en utilisant le logiciel ISIS :

2. Code du programme :

 En respectant l’Organigramme ci-dessous pour programmer l'afficheur 7


segments.
3. Quelque application du programme :

:
TP5 : Chenillard commandé par Interruption sur RB0.

1. Réalisation le schéma électrique en utilisant le logiciel ISIS :

2. Code du programme :
3. Quelque application du programme :

TP6 : Programmation des modules : CAN, UART, CCP et LCD – Cas du PIC16F876A.

1. Réalisation le schéma électrique en utilisant le logiciel ISIS :


2. Code du programme :

sbit LCD_RS at RB4_bit; if(Mesure<=256){RCycl=64;}


sbit LCD_EN at RB5_bit; else if(Mesure<=512){RCycl=128;}
sbit LCD_D4 at RB0_bit; else if(Mesure<=767){RCycl=191;}
sbit LCD_D5 at RB1_bit; else RCycl=255;
sbit LCD_D6 at RB2_bit; PWM1_Set_Duty(RCycl);
sbit LCD_D7 at RB3_bit; Delay_ms(20); } }
sbit LCD_RS_Direction at TRISB4_bit; void main() {
sbit LCD_EN_Direction at TRISB5_bit; ADCON1=00000000;
sbit LCD_D4_Direction at TRISB0_bit; TRISC=0x80;
sbit LCD_D5_Direction at TRISB1_bit; PORTC=0;
sbit LCD_D6_Direction at TRISB2_bit; Lcd_Init();
sbit LCD_D7_Direction at TRISB3_bit; Lcd_CmD(_LCD_CLEAR);
float res_CAN , Conv_res_CAN; Lcd_CmD(_LCD_CURSOR_OFF);
char txt[10]; UART1_Init(9600);
int Mesure; UART1_Write_Text("Connexion
void Generer_MLI(int Mesure){ etablie");
int RCycl; UART1_Write(13);
char Octet_Lu; UART1_Write(10);
if(UART1_Data_Ready()==1) PWM1_Init(1000);
{Octet_Lu=UART1_Read(); while(1){
if(Octet_Lu=='D') res_CAN=ADC_Read(0);
{PWM1_Start();} Conv_res_CAN=res_CAN*5/1024;
if(Octet_Lu=='A') floatToStr(Conv_res_CAN,txt);
{PWM1_Stop();} delay_ms(20);
UART1_Write(0x20); Lcd_Out(1,1,strcat(txt," "));
3. Quelque application du programme :

Vous aimerez peut-être aussi