Das PIC-Board sah aus wie dies vor Einbau der ICs und LED/Switch Draht-Verbindungen. Es fehlt auch die 1 Hz Signal-, I2C-Uhr und I2C-Datenverbindungen zwischen den PIC und RTC-Chips. Ich habe einen 4 MHz Resonator mit Load-Kondensatoren statt des Kristalls und separate Kondensatoren gezeigt auf dem Schaltplan gebaut. Auch ich eine weitere Link Draht hinzugefügt, nach der Einnahme dieses Foto zum GND - Ve-Terminal von der backup-Batterie herstellen.(Das Kupfer verfolgt führen Links-nach-rechts auf diesem Board mit Schnitten zwischen den IC-Pins und in ein paar anderen strategisch wichtigen Orten.
Der PIC-Mikrocontroller ist so programmiert, dass die Echtzeituhr mit I2C seriellen Kommunikation mehrmals eine zweite lesen und Aktualisieren der Anzeige.Es ist keine Zeit zu halten selbst. Sogar das pulsierende zentrale paar LEDs sind angetrieben von den Echtzeit-Taktgeber (über ein Ausgangssignal 1 Hz) und der von der PIC gelesen wird.
Der PIC führt zwei andere Funktionen;Es vergleicht die Zeit gegen die Alarm-Einstellungen, um zu bestimmen, wann es gehen sollten und auch Handles Zeit, Datum und Alarm einstellen. Die 16F74 hat keine EEPROM von seinen selbst, so dass alle Einstellungen in der DS1307 gespeichert sind und lesen auf Power-on-Reset durch. Ich hatte geplant, mount Connectors auf dem Board für alle den Switch und Drähte angezeigt, aber am Ende gab es nicht genügend Platz, damit ich die Drähte direkt eingelötet
Ich bestellte ein 16F74 Mikrocontroller von Farnell, weil es mehr als genug i/O-Pins und I2C auf Chip unterstützt.Nachdem ich den Chip erhielt und das Kleingedruckte im Datenblatt entdeckte ich, dass das SSP-Modul nur wirklich geeignet für einen I2C Slave war. Wirklich, was ich brauchte, war ein MSSP-Modul. So mein Code deaktiviert das SSP-Modul und erzeugt die I2C master Clock und Data Signale (auf die RC3/SCL und RC4/SDA Pins) mit einem 'Bit-knallte'-Ansatz.
Eine kleinere Platine enthält alle die Anzeige LEDs und sitzt oben die base-Board auf Kunststoff Abstandsbolzen.
Die folgende ZIP enthält alle der PIC-Assembler zu müssen, um den Wecker zu programmieren.Der Code ist in zwei Teile: ein Projekt baut eine Bibliothek von PIC-Routinen (einschließlich Start Power Module) und anderen enthält den Uhr-spezifischen Code.Erstellen Sie zuerst die Bibliothek.
Quelle Code ZIP (30,6 KB)
Quelle: PIC Controlled Wecker
Sehen Sie mehr: CdS Fotozelle Detector