Pesquisar neste blog
03/06/2022
Status de porta com PIC 16F877A
02/06/2022
Contador multiplexado com PIC 16F876
01/06/2022
SUSPECT no SQL Server #107
31/05/2022
DBA - LINKED SERVER #106
30/05/2022
ATTACH no SQL Server #105
29/05/2022
SHRINK no SQL Server #104
27/05/2022
Analise de crescimento DB #103
26/05/2022
Statistics no Microsoft SQL Server #102
25/05/2022
Mini teste 1 #2021/2
Saída gerada no PicsimLab |
24/05/2022
Backup no SQL Server
23/05/2022
Modo OFFLINE e ONLINE no SQL Oracle
22/05/2022
Memória EEPROM com PIC 16F877A
Objetivo: Gravar um dado na memória EEPROM a cada pressionada de botão
Saída gerada no software Proteus versão 7.9 |
18/05/2022
Frequência com TIMER0 no PIC 16F877A
Saída gerada no software Proteus 7.9 |
17/05/2022
Serial com PIC 16F877A
Saída gerada no PicsimLab |
16/05/2022
Memória Externa RS232 Long e Float com PIC 16F877A
Software: PicsimLab |
14/05/2022
Memória Externa RS232 com PIC 16F877A
Saída gerada no Software PicsimLab |
13/05/2022
Memória interna RS232 com PIC 16F877A
Saída gerada no PicsimLab |
Saída gerada no software Proteus 7.9 |
07/05/2022
Converter ADC em voltagem com PIC 16F877A
Software Proteus versão 7.9 |
04/05/2022
Gerar frequência de 1KHz com PIC 16F877A
02/05/2022
Query SQL em ordem crescente no google sheets
Resultado gerado |
22/04/2022
Inserir valor analógico com display 7segmentos
Objetivo: Capturar o valor analógico lido e exibir na tela LCD + no display de 7 segmentos.
Código feito em CCS C Compiler
#include <16F877A.h>
#device adc = 8
#include <math.h>
#FUSES NOWDT, HS, NOPROTECT, NODEBUG
#FUSES NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(crystal = 20MHz)
#ifndef lcd_enable
#define lcd_enable pin_e1 // pino enable do LCD
#define lcd_rs pin_e2 // pino rs do LCD
//#define lcd_rw pin_e2 // pino rw do LCD
#define lcd_d4 pin_d4 // pino de dados d4 do LCD
#define lcd_d5 pin_d5 // pino de dados d5 do LCD
#define lcd_d6 pin_d6 // pino de dados d6 do LCD
#define lcd_d7 pin_d7 // pino de dados d7 do LCD
#endif
#include <mod_lcd.c>
unsigned int8 valor, aux, c, d, u;
unsigned int8 vetor[] = {0b00111111, 0b00000110, // 0 a 9
0b01011011, 0b01001111, 0b01100110, 0b01101101,
0b01111101, 0b00000111, 0b01111111, 0b01100111 };
void main(){
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
lcd_ini();
while(TRUE){
//TODO: User Code
valor = read_adc();
if(valor >= 99){
valor = 99;
}
aux = valor/100; // extrai o primeiro piso das centenas
c = (int)floor(aux); // converte para inteiro
aux = ((valor/10)-(10*c)); //extrai o primeiro piso das dezenas
d = (int)floor(aux); //converte para inteiro
aux = ((valor)-(100*c)-(10*d)); //extrai o primeiro piso das unidades
u = (int)floor(aux); //converte para inteiro
printf (lcd_escreve,"\fValor = %u\r\n",valor);
delay_ms(20);
output_b(vetor[d]);
output_c(vetor[u]);
}
}
Software: Proteus versão 7.9 |
21/04/2022
Ligando todos os displays no PicsimLab
Simulador: PicsimLab |
11/04/2022
Comandos no SQL Server #4
07/04/2022
#Desafio 5
05/04/2022
Ligar os displays no PicsimLab com Pic 16F628A
Software: PicsimLab com PIC 16F628A |