Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Autor : Alessandro Pinho
- Data : 10/08/2018
- Hardware PIC16F80
- Termômetro usando LM35 e 02 display de 7seg
- multiplexado
- */
- #define DISPLAY PORTB // Barramento do display ligado em PORTB
- #define DISPD PORTC.F2 // RC2 controla display D13 - Direita
- #define DISPM PORTC.F3 // RC3 controla display D12 - Meio
- #define DISPE PORTC.F4 // RC4 controla display D11 - Esquerda
- unsigned char txt[6];
- unsigned int temp,cont,digito1,digito2 =0;
- char anodo_comun [] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0XF8,0x80,0x90};
- void main()
- {
- ADCON0 = 0B00000001;
- ADCON1 = 0B00000000;
- TRISB = 0B00000000;
- TRISC = 0B00000000;
- while(1)
- {
- temp = ADC_Read(0);
- temp=temp*4.876;
- /*
- exemplo 27 °C de
- temp = 0.27mV*4.876;
- temp= 270 °C
- digito1 = 270/100;
- digito1 2.7;
- digito1[2];
- digito2 = (270%100);
- digito2 = 70/10;
- digito2 = [7];
- */
- digito1 = temp/100; //dezena
- digito2 = (temp%100)/10; //unidade
- DISPD =1;
- DISPE = 0;
- DISPM = 1; // Liga display da esquerda
- DISPLAY = anodo_comun [digito1]; // Escreve no display o número
- delay_ms(5); // Espera 5 ms
- DISPD =1;
- DISPE = 1;
- DISPM = 0; // Liga display da esquerda
- DISPLAY = anodo_comun [digito2]; // Escreve no display o número
- delay_ms(5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement