Jump to content
Fórum Script Brasil

DanielAlvesSP

Membros
  • Content Count

    1
  • Joined

  • Last visited

Community Reputation

0 Neutro

About DanielAlvesSP

  1. Olá amigos! Abaixo está um código que encontrei para um PLL FM, mas ele não exibe a informação como deveria... Preciso de exiba 107.100 e atualmente está 1071... Conforme imagem abaixo... Os botões movimentam a frequência nos 1.2.3.4.5.6.7.8.9.0 ... e existe um ajuste no código para adicionar os 00 ao final. Alguém sabe como inserir o ponto antes das 3 ultimas casas? #include <16F628A.h> #FUSES NOWDT //No Watch Dog Timer #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD) #FUSES NOPUT //No Power Up Timer #FUSES PROTECT //Code protected from reads #FUSES NOBROWNOUT //No brownout reset #FUSES MCLR //Master Clear pin enabled #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #use delay(clock=4000000) #include "lcd_flex.c" #define ste_mono input(pin_a3) #define sobe input(pin_b0) #define desce input(pin_b1) #define data pin_a1 #define clock pin_a2 #define eneble pin_a0 int co_sterio; int16 frequence = 1071; unsigned short st = 0; unsigned short i; void clk_PLL(void) { delay_us(10); output_high(clock); delay_us(10); output_low(clock); delay_us(10); } int16 masque; void sendBH1415() { int n; output_high(eneble); // ENB=1 delay_us(10); for (n=0; n<11; n++) { masque = (1 << n); if ( (frequence & masque) != 0) output_high(data); else output_low(data); clk_PLL(); } for (n=0; n<=4; n++) { masque = (1 << n); if (co_sterio & masque) output_high(data); else output_low(data); clk_PLL(); } output_low(eneble); // CE low } void main() { lcd_init(); printf(lcd_putc," \f %lumhz",frequence); lcd_gotoxy(1,2); printf(lcd_putc," PLL BH 1415"); co_sterio = 8; //= mono sendBH1415(); while(TRUE) { if(!ste_mono ) { st = ~ st; delay_ms(300); i=1; } if(st == 1 ) { lcd_gotoxy(11,1); printf(lcd_putc,"sterio"); co_sterio = 9; if(i == 1) { sendBH1415(); delay_ms(300); sendBH1415(); i=0; } }else { co_sterio = 8; lcd_gotoxy(11,1); printf(lcd_putc," mono "); if(i == 1) { sendBH1415(); delay_ms(300); sendBH1415(); i=0; } } lcd_gotoxy(1,1); printf(lcd_putc,"%lu00mhz", frequence); if(!sobe) { frequence ++; sendBH1415(); delay_ms(200); } if(!desce) { frequence --; sendBH1415(); delay_ms(200); } } }
×
×
  • Create New...