Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Si5351 + PIC16F1455 USB controller
Ovo je minimalistička varijanta sa malim PIC 8-PIN MCU, to sve radi što treba, ima 5 LED i 1 taster i ulaze/izlaze.
Imaju GPS moduli koji na sebi imaju TCXO, malkice su skuplji tako da uz ovakav jedan PIC taj brojac bi radio sa TCXO kada je nesinhronizovan i preko GPS kada jeste.
Minimalno sve, kao NE555 da smo stavili a zavrsili smo kompletnu logiku.
Imam te PIC-ove zato sam njega izabrao, GPT napravi ceo prgram, samu se kaže "Rekao nam Miki da napišeš progam po ovoj tablici za Borin frekvencmetar sa GPS"  Cool

[Image: attachment.php?aid=43528]

Detalji po funkcionalnosti:
  1. Ulaz frekvencije (RA5):
    • Kada je ulazna frekvencija 10 kHz, sistem prepoznaje da je GPS sinhronizovan (locked).
    • Kada je ulazna frekvencija 20 kHz, sistem prepoznaje da je GPS nesinhronizovan (unlocked), ali i dalje funkcioniše normalno, generišući vremenske baze i signalizirajući nesinhronizovano stanje putem RA3.
  2. Izlaz frekvencije (RA4):
    • Sistem generiše sledeće frekvencije na osnovu izabrane vremenske baze:
      • 5 kHz
      • 500 Hz
      • 50 Hz
      • 5 Hz
  3. Sync LED (RA3):
    • RA3 kontroliše Sync LED:
      • Kada je GPS frekvencija 10 kHz (locked), LED svetli.
      • Kada je frekvencija 20 kHz (unlocked), LED može blinkati ili svetliti drugačije kako bi signalizovala nesinhronizovano stanje.
  4. Kontrola LED dioda (RA1 i RA2):
    • RA2 kontroliše dve LED diode koje prikazuju stanja za vremenske baze 0.1 s (10 Hz) i 1 s (1 Hz).
    • RA1 kontroliše preostale dve LED diode koje prikazuju stanja za vremenske baze 10 s (0.1 Hz) i 100 s(0.01 Hz).
  5. Taster za promenu baze (RA0):
    • Ovaj pin se koristi za jedan taster kojim ciklično menjaš između vremenskih baza.
    • Pritiskom na taster menja se baza, a odgovarajuće LED diode na RA1 i RA2 prikazuju trenutno stanje.


Code:
#include <xc.h> // Konfiguracija fjuza #pragma config FOSC = INTOSC    // Interni oscilator #pragma config WDTE = OFF      // Watchdog Timer Off #pragma config PWRTE = OFF      // Power-up Timer Disable #pragma config MCLRE = ON      // Master Clear Enable #pragma config CP = OFF        // Code Protection Off #pragma config BOREN = OFF      // Brown-out Reset Disable #pragma config CLKOUTEN = OFF  // CLKOUT Function Disable #pragma config WRT = OFF        // Flash Memory Self-Write Protection Off #pragma config PLLEN = OFF      // PLL Disable #pragma config STVREN = OFF    // Stack Overflow/Underflow Reset Disable // Definicija frekvencija i baze #define BASE_5KHZ 0 #define BASE_500HZ 1 #define BASE_50HZ 2 #define BASE_5HZ 3 unsigned char current_base = BASE_5KHZ;  // Trenutna baza (default 5kHz) // Funkcija za inicijalizaciju tajmera i ulaznih/izlaznih pinova void init_pic() {     // Interni oscilator na 4MHz     OSCCON = 0x6A;         // Konfiguracija I/O pinova     TRISA = 0xFF;  // RA5 kao ulaz (GPS frekvencija), RA4 kao izlaz frekvencije, RA3 kao izlaz za Sync LED     ANSELA = 0x00; // Digitalni režim za sve pinove         // Postavljanje izlaznih pinova za LED diode i frekvenciju     TRISA0 = 1;  // RA0 kao ulaz za taster     TRISA1 = 0;  // RA1 kao izlaz za dve LED diode (1s i 10s)     TRISA2 = 0;  // RA2 kao izlaz za dve LED diode (0.1s i 100s)     TRISA3 = 0;  // RA3 kao izlaz za Sync LED     TRISA4 = 0;  // RA4 kao izlaz za frekvenciju     TRISA5 = 1;  // RA5 kao ulaz za GPS         // Timer1 konfiguracija za deljenje frekvencije     T1CON = 0x31;  // 16-bitni tajmer, predelilac 1:8     TMR1 = 0;      // Resetovanje Timer1     // Konfiguracija Timer2 za generisanje PWM (ukoliko je potrebno)     T2CON = 0x04;  // Postavljanje predelilaca i uključenje tajmera     PR2 = 249;    // Postavljanje vrednosti za postizanje željene frekvencije     // Interrupt za taster     OPTION_REGbits.nWPUEN = 0;  // Dozvoli weak pull-up     WPUAbits.WPUA0 = 1;        // Pull-up za taster na RA0     INTCONbits.INTF = 0;        // Resetovanje interapt flaga     INTCONbits.INTE = 1;        // Dozvoli eksterni interrupt     INTCONbits.GIE = 1;        // Dozvoli globalne prekide } // Funkcija za promenu vremenske baze void change_base() {     // Promena baze u ciklusima     current_base++;     if (current_base > BASE_5HZ) {         current_base = BASE_5KHZ;     } } // Funkcija za generisanje izlazne frekvencije na RA4 void set_frequency_output() {     switch (current_base) {         case BASE_5KHZ:             // Postavi Timer1 za generisanje 5kHz na RA4             T1CONbits.TMR1ON = 1;  // Uključi Timer1             LATAbits.LATA4 = 1;             __delay_ms(1);        // Kratak impuls             LATAbits.LATA4 = 0;             break;         case BASE_500HZ:             // Postavi Timer1 za 500Hz             T1CONbits.TMR1ON = 1;             LATAbits.LATA4 = 1;             __delay_ms(10);             LATAbits.LATA4 = 0;             break;         case BASE_50HZ:             // Postavi Timer1 za 50Hz             T1CONbits.TMR1ON = 1;             LATAbits.LATA4 = 1;             __delay_ms(100);             LATAbits.LATA4 = 0;             break;         case BASE_5HZ:             // Postavi Timer1 za 5Hz             T1CONbits.TMR1ON = 1;             LATAbits.LATA4 = 1;             __delay_ms(1000);             LATAbits.LATA4 = 0;             break;     } } // Funkcija za detekciju GPS frekvencije i kontrolu Sync LED-a void check_gps_signal() {     // Prebrojavanje impulsa na RA5 (10kHz ili 20kHz)     if (PORTAbits.RA5 == 1) {         // GPS frekvencija je prisutna         LATAbits.LATA3 = 1;  // Upali Sync LED     } else {         LATAbits.LATA3 = 0;  // Ugasi Sync LED     } } // Funkcija za kontrolu LED-ova vremenske baze void update_leds() {     // Kontrola LED-a na RA1 i RA2 na osnovu trenutne baze     switch (current_base) {         case BASE_5KHZ:             LATAbits.LATA2 = 1;  // LED za 0.1s             LATAbits.LATA1 = 0;             break;         case BASE_500HZ:             LATAbits.LATA2 = 0;             LATAbits.LATA1 = 1;  // LED za 1s             break;         case BASE_50HZ:             LATAbits.LATA1 = 1;  // LED za 10s             LATAbits.LATA2 = 0;             break;         case BASE_5HZ:             LATAbits.LATA1 = 1;  // LED za 100s             LATAbits.LATA2 = 1;             break;     } } // Prekidna rutina za eksterni interrupt (taster) void __interrupt() ISR() {     if (INTCONbits.INTF) {         // Detekcija pritiska tastera         change_base();  // Promeni vremensku bazu         INTCONbits.INTF = 0;  // Resetovanje interapt flaga     } } void main() {     init_pic();  // Inicijalizacija mikrokontrolera         while (1) {         check_gps_signal();    // Detekcija GPS signala         set_frequency_output(); // Generisanje izlazne frekvencije         update_leds();          // Ažuriranje stanja LED-ova     } }


Attached Files
.png   opis-pic16f15313.png (Size: 102,73 KB / Downloads: 194)
Reply


Messages In This Thread
Si5351 + PIC16F1455 USB controller - by mikikg - 11-05-2014, 09:51 AM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 01:29 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 03:23 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 04-12-2016, 03:50 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 05-22-2017, 08:52 AM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-22-2017, 07:12 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-22-2017, 10:25 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 07-23-2017, 02:54 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 08-24-2017, 10:55 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 03-24-2023, 02:20 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-23-2023, 07:32 PM
RE: Si5351 + PIC16F1455 USB controller - by Gosha - 03-24-2023, 09:56 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-26-2023, 03:26 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-27-2023, 12:49 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-15-2023, 04:06 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 05-12-2023, 07:00 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-15-2023, 08:55 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-16-2023, 03:45 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-29-2024, 02:15 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 08:55 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 10:25 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-30-2024, 10:00 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-31-2024, 08:26 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 03-31-2024, 05:01 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 05-24-2024, 08:44 AM
RE: Si5351 + PIC16F1455 USB controller - by mikikg - 09-27-2024, 12:28 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-13-2024, 12:14 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-13-2024, 12:36 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-13-2024, 04:37 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 10-14-2024, 11:21 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 01:30 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 03:46 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 04:14 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 06:20 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 09:01 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-10-2024, 09:58 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-11-2024, 07:16 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-11-2024, 06:39 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-12-2024, 11:30 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-12-2024, 12:31 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-12-2024, 03:50 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-12-2024, 05:59 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-12-2024, 10:13 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-13-2024, 10:45 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-14-2024, 07:31 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-15-2024, 02:38 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-17-2024, 02:40 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-17-2024, 06:05 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-17-2024, 06:36 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-18-2024, 02:29 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-18-2024, 06:51 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-19-2024, 07:37 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-20-2024, 09:53 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-20-2024, 10:25 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-20-2024, 01:18 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-20-2024, 01:56 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-20-2024, 03:30 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-23-2024, 10:05 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-23-2024, 03:40 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-24-2024, 11:48 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-24-2024, 04:04 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-24-2024, 09:34 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-25-2024, 04:37 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-25-2024, 05:35 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-25-2024, 09:04 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-25-2024, 10:51 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 10:46 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 11:39 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 02:34 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 03:47 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 03:58 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 07:59 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 08:59 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-26-2024, 10:48 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-27-2024, 12:02 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-27-2024, 03:32 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-28-2024, 04:47 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-28-2024, 06:12 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-29-2024, 07:59 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-29-2024, 09:54 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-29-2024, 10:46 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 11-30-2024, 11:25 AM
RE: Si5351 + PIC16F1455 USB controller - by savan - 12-01-2024, 02:58 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 12-06-2024, 06:12 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 01-02-2025, 03:07 PM
RE: Si5351 + PIC16F1455 USB controller - by savan - 07-12-2026, 09:14 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 06:27 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 06:44 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 07:05 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 07:12 PM
RE: Upravo stiglo - by emiSAr - 05-19-2017, 07:41 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 09:57 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:17 PM
RE: Upravo stiglo - by Gosha - 05-19-2017, 10:27 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 10:28 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:33 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 10:38 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 10:41 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 10:52 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 11:05 PM
RE: Upravo stiglo - by Khadgar2007 - 05-19-2017, 11:15 PM
RE: Upravo stiglo - by Milan94 - 05-19-2017, 11:24 PM
RE: Upravo stiglo - by mikikg - 05-19-2017, 11:44 PM
RE: Upravo stiglo - by Milan94 - 05-20-2017, 12:01 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 12:06 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:10 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:40 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 06:53 AM
RE: Upravo stiglo - by progster - 05-20-2017, 07:57 AM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 09:27 AM
RE: Upravo stiglo - by mikikg - 05-20-2017, 12:52 PM
RE: Upravo stiglo - by npejcic - 05-20-2017, 01:10 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 01:24 PM
RE: Upravo stiglo - by npejcic - 05-20-2017, 01:30 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 01:34 PM
RE: Upravo stiglo - by Khadgar2007 - 05-20-2017, 02:33 PM
RE: Upravo stiglo - by mikikg - 05-20-2017, 02:48 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)