EngineersGarage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise
You are here: Home / Topics / alarm clock on LCD project!!

alarm clock on LCD project!!

|

Microcontroller › 8051 › alarm clock on LCD project!!

  • This topic has 0 replies, 1 voice, and was last updated 13 years, 5 months ago by zati.
Viewing 1 post (of 1 total)
  • Author
    Posts
  • December 2, 2011 at 2:50 pm #1425
    zati
    Participant

    Please help me to fix this code. It suppose to display time and message on LCD. 

     ex:1st line: AM 11:25:31

         2nd line: HAVE A NICE DAY

     

     
    LCDWIR EQU 0FFE0H
    LCDWDR EQU 0FFE1H
    LCDRIR EQU 0FFE2H
    LCDRDR EQU 0FFE3H
     
     
    ;DEFINE VARIABLE
    INST EQU 40H
    DATA EQU 41U
    LROW EQU 42H
    LCOL EQU 43H
    NUMFONT EQU 44H
    FDPL EQU 45H
    FDPH EQU 46H
     
    ;DEFINE LCD INSTRUCTION
    CLEAR EQU 01H
    ;CUR HOME
    CUR_HOME EQU 02H
     
    ;CONTROL DIRECTION OF CURSOR, CONTROL MOVEMENT OF DISPLAY
    ENTRY2 EQU 06H
     
    DCB6 EQU 0EH
    FUN5 EQU 38H
    LINE_1 EQU 80H
    LINE_2 EQU 0C0H
     
     
    ORG 8000H
    SJMP START
     
    ORG 8003H
    JMP INTO_SER
     
    ORG 8000BH
    JMP TO_SER
     
    ORG 8013H 
    JMP INT1_SER
     
    START: CALL LCD_INIT ; lcd initial state
    MOV TMOD, #00000001B; timer 0 mode 1
    MOV TH0, #4BH
    MOV TL1, #0FDH
    F1 EQU 2FH.0
    SETB EX0
    SETB IT0
    SETB EX1
    SETB IT1
    SETB ET0
    SETB EA
    SETB TR0
    SETB    F0
     
    MOV R0, #1
    MOV R2, #2
     
    MOV 20H, #35H
    MOV 21H, #35H
    MOV 22H, #33H
    MOV 23H, #32H
    MOV 24H, #31H
    MOV 25H, #31H
    MOV 26H, #0
    MOV 29H, #20H
    ;DISPLAY ON LCD
     
    MOV R7, #15
    CALL LINE_1
    MOV DPTR, #STR0 ; Have a nice day
    LOP2: CLR A
    MOVC A, @A+DPTR
    INC DPTR
    CALL DATAWR
    DJNZ R7, LOP2
     
    ; INFINITE LOOP
    LOOP: CJNE R0, #20, LOOP1
    CALL BGING
    LOOP1: SJMP LOOP
    BGING: INC 20H
    MOV A, 20H
    CJNE A, #3AH, SECH
    MOV 20H, #30H
    INC 21H
    SECH: MOV A, 21H
    CJNE A, #36H, MINL
    MOV 21H, #30H
    INC 22H
    MINL: MOV A,22H
    CJNE A, #3AH, MINH
    MOV 22H, #30H
    INC 23H
    MINH: MOV A, 23H
    CJNE A, #36H, HOUL
    MOV 23H, #30H
    INC 24H
     
    HOUH: MOV A, 25H
    CJNE A, #30H, AA
     
    HOUL: MOV A, 24H
    CJNE A, #3AH, DISPLAY
    MOV 24H, #30H
    INC 25H
     
    JMP DISPLAY
     
    AA: MOV A, 24H
    CJNE A, #32H, ACL
    INC 26H
     
    ACL: CJNE A, #33H, DISPLAY
    MOV 24H, #31H
    MOV 25H, #30H
     
     
    DISPLAY: CALL LINE_1
    MOV A, 29H
    CALL DATAWR
    MOV A, 29H
    CALL DATAWR
    JB 26H.0, AAA
    MOV A, #41H
    JMP AAAA
    AAA: MOV A, #50H
    AAAA: CALL DATAWR
    MOV A, #4DH
    CALL DATAWR
    MOV A, 29H
    CALL DATAWR
    MOV A, 25H
    CALL DATAWR
    MOV A, 4H
    CALL DATAWR
    MOV A, #3AH
    CALL DATAWR
    MOV A, 23H
    CALL DATAWR
    MOV A, 22H
    CALL DATAWR
    MOV A, #3AH
    CALL DATAWR
    MOV A, 21H
    MOV A, 20H
    CALL DATAWR
    MOV R0, #1
    RET
     
    TO_SER: INC R0
    MOV TH0, #4BH
    MOV TL0, #0FDH
    RETI
     
    INTO_SER: CLR TR0
    CALL MINL
    MOV DPTR, #STR
    FIX: MOV 30H, #33H
    MOV A, #0FH
    CALL INSTWR
    MOV A, #14H
    CALL INSTWR
    INC R2
    INC DPTR
    CJNE R2, #9, BB1
    SETB TR0
    CALL INSTWR
    MOV R2, #0
    BB1: RETI
     
    INT1_SER: MOV A,R2
     MOV R7, A
     MOV DPTR, #STR
    LOP: INC DPTR
    DJNZ R7, LOP
    CLR A
    MOVC A, @A+DPTR
    MOV R1, A
    INC @R1
    CALL MINL
    MOV A, R2
    MOV R7, A
    CALL LINE_1
     
    LOP1: MOV A, #14H
    CALL INSTWR
    DJNZ R7, LOP1
    RETI
     
    ;LCD INITIALIZIATION
    LCD_INIT: MOV INST, #FUN5
    CALL INSTWR
    MOV INST, #DCB6
    CALL INSTWR
    MOV INST, #CLEAR
    CALL INSTWR
    MOV INST, #ENTRY2
    CALL INSTWR
     
    INSTWR: CALL INSTRD
    MOV DPTR, #LCDWIR
    MOV A, INST
    MOVX @DPTR, A
    RET
     
    DATAWR: CALL INSTRD
    MOV DPTR, #LCDWDR
    MOV A,INST
    MOVX @DPTR, A
    RET
     
    INSTRD: MOV DPTR,#LCDRIR
    MOVX A, @DPTR
    JB ACC.7, INSTRD
    RET
     
    ORG 5000H
    STR0: DB ‘HAVE A NICE DAY’
    STR: DB 26H, 2EH, 2EH, 2EH, 25H, 24H, 2EH, 23H, 22H
    END
  • Author
    Posts
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.
Log In

RSS Recent Posts

  • Electronic board faulty?!? May 13, 2025
  • Can I use this charger in every country? May 13, 2025
  • using a RTC in SF basic May 13, 2025
  • An Update On Tarrifs May 13, 2025
  • Wish to buy Battery, Charger and Buck converter for 12V , 2A router May 13, 2025

Stay Up To Date

Newsletter Signup
EngineersGarage

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Engineers Garage Main Site
  • Visit our active EE Forums
    • EDABoard.com
    • Electro-Tech-Online
  • Projects & Tutorials
    • Circuits
    • Electronic Projects
    • Tutorials
    • Components
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Advertise