Stap 5: Programmering RTC IC PCF8583
Oke dit is een lastig dingetje maar aangezien code wordt geleverd niet het dat lastig. Ik heb niet gaf hexadecimaal bestand van programmering van RTC IC omdat je hoeft te genereren als u wilt instellen dat u vereist tijd, ook het jaar is ingesteld tot 2015 niet hebt om het te zetten.
Openstellen van Mik Pro fro PIC en selecteer PIC18F4550, kopieer en plak de code hieronder:
LCD module verbindingen
SBIT LCD_RS op RB2_bit;
SBIT LCD_EN op RB3_bit;
SBIT LCD_D4 op RB4_bit;
SBIT LCD_D5 op RB5_bit;
SBIT LCD_D6 op RB6_bit;
SBIT LCD_D7 op RB7_bit;
SBIT LCD_RS_Direction op TRISB2_bit;
SBIT LCD_EN_Direction op TRISB3_bit;
SBIT LCD_D4_Direction op TRISB4_bit;
SBIT LCD_D5_Direction op TRISB5_bit;
SBIT LCD_D6_Direction op TRISB6_bit;
SBIT LCD_D7_Direction op TRISB7_bit;
Verbindingen beëindigen LCD-module
void main() {}
ADCON1 = 0X0F;
CMCON | = 7; Comparatoren uitschakelen
OSCCON = 0b01111111; Met behulp van interne Oscilator @ 8MHz
TRISB = 0X00; PORTB voor uitvoer (LCD)
LATB = 0XFF; PORTC invoerfilter
LATC = 0XFF; PORTD invoerfilter
TRISA. RA2 = 0; RA2 voor uitvoer
TRISA. RA3 = 0; RA3 voor uitvoer
UCON. USBEN = 0; Uitschakelen usb UCFG. UTRDIS = 1;
TRISD = 0XF9; PORTD uitvoer
Lcd_Init(); Initialiseren van de LCD
Lcd_Cmd(_LCD_CLEAR); Duidelijk display
Lcd_Cmd(_LCD_CURSOR_OFF); Cursor uitschakelen
Lcd_Out (1,1, "Instelling tijd...");
Delay_ms(1000);
I2C1_Init(100000); initialiseren van de volledige master-modus
I2C1_Start(); kwestie startschot
I2C1_Wr(0xA0); adres PCF8583
I2C1_Wr(0); start vanuit word op adres 0 (configuratie word)
I2C1_Wr(0x80); het schrijven van $80 aan config. (onderbreken teller...)
I2C1_Wr(0); schrijven van 0 naar cent word
I2C1_Wr(0); schrijven van 0 naar seconden word
I2C1_Wr(0x10); WIJZIGING deze 10 tot wat minuten die u wilt instellen
I2C1_Wr(0x17); WIJZIGING deze 17 tot welk uur u wilt instellen
I2C1_Wr(0x23); WIJZIGING deze 23 tot welke datum u wilt instellen
I2C1_Wr(0x2); DEZE verandering 2 naar welke maand u wilt instellen
I2C1_Stop(); kwestie stop signaal
I2C1_Start(); kwestie startschot
I2C1_Wr(0xA0); adres PCF8530
I2C1_Wr(0); start vanuit word op adres 0
I2C1_Wr(0); schrijven van 0 naar config word (inschakelen tellen)
I2C1_Stop(); kwestie stop signaal
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out (1,1, "tijd reeks.!");
Delay_ms(500);
}
_________________END CODE_________________
Een hexadecimaal bestand te genereren uit Mik Pro voor PIC na het compileren boven code vervolgens brandwond op voor pic microcontroller PIC18F4550
Plaats het op het printje gesoldeerd met alle onderdelen, zet hem aan. Het LCD-scherm weergegeven "Instelling tijd..." dan wanneer het wordt weergegeven "Time Set!" de stroom uitschakelen. PIC microcontroller verwijderen DIP uw PCF8583 RTC IC met succes hebt geprogrammeerd. :)