Цитата Сообщение от dennt Посмотреть сообщение
А как выставить часы и дату в HE GLUK 0.19?
Нажимаем на клавиатуре кнопку сброс [ScrollLock] вместе с кнопкой [S], выставляем время для виртуальной микросхемы MC146818A.
Т.к. при включении платы данные о времени и дате копируются загрузчиком из PCF8583, то менять время лучше именно для нее. Для этого нужно откорректировать SECOND, MINUTES, HOURS, YEAR_DATE, WEEK_MONTH и запустить следующий код:
Код:
; I2C PCF8583 SetTime version 0.2 Written By MVV Rev.20110221

;Port #8C W/R
; bit7-0 = DATA
;Port #9C W
; bit1-0 = 00:IDLE; 01:START; 10:NSTART; 11:STOP
;Port #9C R
; bit1 = ERROR
; bit0 = BUSY

;BCD FORMAT

SECOND          EQU #00         ;7-0=SECOND
MINUTES         EQU #22         ;7-0=MINUTES
HOURS           EQU %00010110   ;7=FORMAT; 6=FLAG; 5-0=HOURS
YEAR_DATE       EQU %01100000   ;7-6=YEAR;         5-0=DAYS
WEEK_MONTH      EQU %11100010   ;7-5=WEEKDAYS;     4-0=MONTHS

        ORG 30000
        DI 

;---------------------------------------------------------------
;       JP COR          ; CORRECTION YEAR
;---------------------------------------------------------------

        LD A,%11111101  ;START
        OUT (#9C),A
        LD A,%10100000  ;SLAVE ADDRESS W
        OUT (#8C),A
        CALL W1

        LD A,%11111100  ;IDLE
        OUT (#9C),A
        LD A,#02        ;WORD ADDRESS
        OUT (#8C),A
        CALL W1

        LD A,SECOND
        OUT (#8C),A
        CALL W1

        LD A,MINUTES
        OUT (#8C),A
        CALL W1

        LD A,HOURS
        OUT (#8C),A
        CALL W1

        LD A,YEAR_DATE
        OUT (#8C),A
        CALL W1

        LD A,%11111111  ;STOP
        OUT (#9C),A
        LD A,WEEK_MONTH
        OUT (#8C),A
        CALL W1

COR     LD A,%11111101  ;START
        OUT (#9C),A
        LD A,%10100000  ;SLAVE ADDRESS W
        OUT (#8C),A
        CALL W1

        LD A,%11111100  ;IDLE
        OUT (#9C),A
        LD A,#10        ;WORD ADDRESS
        OUT (#8C),A
        CALL W1

        LD A,%11111111  ;STOP
        OUT (#9C),A
        LD A,#10        ;YEAR CORRECTION
        OUT (#8C),A
        CALL W1
        RET 


;WAIT ACKNOWLEDGEMENT
W1      IN A,(#9C)
        RRCA 
        JR C,W1
        RRCA 
        RET