دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: دستورهای ساعت دیجیتالی(همراه الارم با استفاده از ds1307 با استفاده از ال سی دی ۱۶*۲

  1. #1
    همکار تالار برق
    رشته تحصیلی
    برق صنعتی
    نوشته ها
    199
    ارسال تشکر
    66
    دریافت تشکر: 327
    قدرت امتیاز دهی
    30
    Array

    smilee1 دستورهای ساعت دیجیتالی(همراه الارم با استفاده از ds1307 با استفاده از ال سی دی ۱۶*۲

    اینم دستورهای ساعت دیجیتالی
    بعد بگین امید بد...............
    ;************************************************* **********
    ;
    ; Digital Clock with alarm using DS1307
    ;
    ; For Keil/ A51 Macro Assembler
    ;
    ; Designed By: Ajay Bhargav
    ;
    ; E-mail: ajay_bhargav@hotmail.com
    ;
    ; WWW: www.rickeyworld.info
    ;
    ; PS: Use only A51 Macro assembler for linking this file
    ; else you can directly use the hex file provided.
    ;
    ; And if in anycase you want to edit the code then
    ; you have to use an alternative to write the macros
    ; defined in the file. In my opinion you dont need to
    ; edit it.
    ;
    ;************************************************* **********

    hold macro ;delay macro for I2C
    nop
    nop
    nop
    endm

    disp_str macro string ;Macro for sending string to LCD
    irpc char, <string>
    if nul 'char'
    exitm
    endif
    mov a,#'char'
    lcall data_in
    endm
    endm

    build_char macro P1,P2,P3,P4,P5,P6,P7,P8 ;Macro for building a custom character
    irp arg, <P1,P2,P3,P4,P5,P6,P7,P8>
    mov a,#arg
    acall data_in
    endm
    endm

    sec equ 30h ;second register
    min equ 31h ;minutes register
    hour equ 32h ;hour register
    days equ 33h ;days register
    date equ 34h ;date register
    month equ 35h ;month register
    year equ 36h ;year register
    alarm equ 37h ;alarm register
    sig equ 38h ;signature for data checking in RTC RAM
    ahour equ 39h ;alarm hour register
    amin equ 3Ah ;alarm minute register
    sda equ P1.1 ;Serial data pin
    scl equ P1.0 ;Serial clock pin
    rw equ p3.6 ;read write pin of LCD
    en equ p3.5 ;enable pin of LCD
    rs equ p3.7 ;register select pin of LCD
    alarm_key equ p3.3 ;Alarm set key
    time_key equ p3.2 ;Time ser key
    increment equ p1.3 ;Increment value
    decrement equ p1.2 ;Decrement Value
    alarm_port equ p1.4 ;Alarm Buzzer port
    alarm_flag equ 20h ;flag for alarm
    time_flag equ 21h ;flag for time
    ampm_flag equ 22h ;am/pm flag
    alarm_on equ 23h ;Alarm on flag
    alarm_off equ 24h ;alarm off flag
    alarm_ring equ 25h ;alarm ring flag
    alarm_hrs equ 58h ;Alarm hour register
    alarm_min equ 59h ;Alarm Minutes register
    alarm_chk_hour equ 5Ah ;Alarm hour check register
    alarm_chk_min equ 5Bh ;Alarm min check register
    ampm equ 61h ;AM/PM register
    BELL equ 0h ;Bell icon
    SPEAKER_OFF equ 1h ;speaker off icon
    SPEAKER_ON equ 2h ;speaker on icon
    CLOCK equ 3h ;clock icon
    OK equ 4h ;ok icon
    HEART equ 5h ;heart icon
    MUSIC equ 6h ;music icon

    org 0000h ;Starting of main program
    ljmp start

    org 03h ;interrupt for set time
    setb time_flag
    reti

    org 13h ;Interrupt for set alarm
    setb alarm_flag ;and switch off the alarm if on
    jnb alarm_off,hmmm
    setb alarm_port
    mov a,#1h
    lcall command
    mov a,#81h
    lcall command
    mov a,#OK
    acall data_in
    mov r7,#35
    disp_str < Alarm Off!>
    setb tr0
    loooop: jnb tf0,$
    clr tf0
    djnz r7,loooop
    clr tr0
    mov a,#1h
    acall command
    acall disp_const
    setb alarm_off
    setb alarm_on
    clr alarm_flag
    clr alarm_flag
    clr alarm_on
    setb alarm_port
    clr alarm_off
    clr alarm_flag
    clr alarm_ring
    hmmm: reti

    start: mov tmod,#1h ;start routine
    mov sp,#10h
    acall initial
    acall build
    mov a,#80h
    acall command
    mov a,#CLOCK
    acall data_in
    disp_str < Digital Clock > ;Name display
    mov r7,#70
    setb tr0
    wloop: jnb tf0,$
    clr tf0
    djnz r7,wloop
    clr time_flag
    clr alarm_flag
    clr alarm_on
    clr ampm_flag
    setb alarm_port
    mov ie,#85h
    acall startc ;Reading signature byte if same then no need
    mov a,#0d0h ;of initialization else initialize the RTC
    acall send
    mov a,#08h
    acall send
    acall startc
    mov a,#0d1h
    acall send
    acall recv
    acall stop
    cjne a,#'~',done
    sjmp run
    done: acall initial
    acall disp_const
    mov sec,#00h ;For more information about the RTC DS1307
    mov min,#0h ;Please refer to the datasheet
    mov hour,#52h ;21h for 24 hour format
    mov days,#01h
    mov date,#1h
    mov month,#1h
    mov year,#05h
    mov alarm,#0
    mov sig,#'~'
    mov ahour,#0
    mov amin,#0
    mov r6,#0bh
    mov r0,#30h
    mov r1,#00h
    acall rtc_ini ;initializing RTC if required
    run: acall initial
    acall disp_const
    run1: acall startc ;Actual Starting
    mov a,#0d0h
    acall send
    mov a,#00h
    acall send
    mov r6,#3fh
    acall startc ;Reading the RCT content
    mov a,#0d1h
    acall send
    mov r0,#40h
    here: acall recv
    djnz r6,here
    acall stop
    acall display ;Display RTC
    jnb time_flag,noset ;check for time flag if set the set the clock
    clr time_flag
    clr ea
    acall time_set
    clr time_flag
    mov r6,#09h
    mov r0,#30h
    mov r1,#00h
    acall rtc_ini
    clr time_flag
    mov a,#1h
    acall command
    mov a,#81h
    acall command
    mov a,#OK
    acall data_in
    disp_str < Time Set!>
    mov r7,#35
    setb tr0
    looooop:jnb tf0,$
    clr tf0
    djnz r7,looooop
    clr tr0
    mov a,#1h
    acall command
    acall disp_const
    setb ea
    noset:
    jnb alarm_flag,noset1 ;check for alarm flag if set then set alarm
    clr alarm_flag
    clr ea
    lcall alarm_set
    setb ea
    setb alarm_on
    clr alarm_flag
    setb alarm_on
    noset1:
    jnb alarm_ring,noset2 ;check if alarm ring flag is set
    lcall alarm_alarm ;if set then ring the alarm
    noset2: ljmp run1 ;Do everything again

    startc: ;I2C atart condition subroutine
    clr scl
    setb sda
    hold
    setb scl
    clr sda
    hold
    ret
    send: ;Sending data to I2C bus
    mov r7,#08
    back:
    clr scl
    hold
    rlc a
    mov sda,c
    setb scl
    hold
    clr scl
    hold
    djnz r7,back
    setb sda
    setb scl
    hold
    clr scl
    hold
    ret

    stop: hold ;I2C stop Condition
    clr sda
    setb scl
    nop
    setb sda
    hold
    clr scl
    ret

    recv: ;Recieving data from I2C bus
    mov r7,#08
    back2:
    setb sda
    setb scl
    hold
    mov c,sda
    rlc a
    clr scl
    hold
    djnz r7,back2
    setb sda
    clr scl
    hold
    clr sda
    setb scl
    hold
    clr scl
    hold
    mov @r0,a
    inc r0
    ret

    rtc_ini:acall startc ;RTC initialization subroutine
    mov a,#0d0h
    acall send
    mov a,r1
    acall send
    mov a,@r0
    acall send
    inc r0
    inc r1
    acall stop
    djnz r6,rtc_ini
    acall stop
    ret

    initial:mov a,#38h ;LCD initialization subroutine
    acall command
    mov a,#0ch
    acall command
    mov a,#01h
    acall command
    mov a,#06h
    acall command
    ret

    build: mov a,#40h ;Building custom character routine
    acall command
    build_char 4h,0eh,0eh,0eh,1fh,0h,4h,0h ;BELL
    build_char 1h,3h,0fh,0fh,0fh,3h,1h,0h ;SPEAKER OFF
    build_char 8h,10h,0h,18h,0h,10h,8h,0h ;SPEAKER ON
    build_char 0h,0eh,15h,17h,11h,0eh,0h,0h ;CLOCK
    build_char 0h,1h,3h,16h,1ch,8h,0h,0h ;OK
    build_char 0ah,1fh,1fh,1fh,0eh,4h,0h,0h ;HEART
    build_char 2h,3h,2h,0eh,1eh,0ch,0h,0h ;MUSIC
    ret

    display:mov r1,#40h ;Displaying RTC content
    mov a,#0Cah
    acall command
    mov a,@r1
    mov 50h,@r1
    acall disp_val
    PASS: inc r1
    mov a,#0C7h
    acall command
    mov a,@r1
    mov 51h,@r1
    mov alarm_chk_min,@r1
    acall disp_val
    PASS1: inc r1
    mov a,#0c4h
    acall command
    mov a,@r1
    mov 52h,@r1
    mov alarm_chk_hour,@r1
    mov r4,a
    anl a,#1fh
    acall disp_val
    mov a,r4
    anl a,#20h
    cjne a,#00h,pm
    mov a,#0cdh
    acall command
    disp_str <am>
    sjmp pass2
    pm: mov a,#0cdh
    acall command
    disp_str <pm>
    PASS2: inc r1
    mov a,#80h
    acall command
    mov a,@r1
    mov 53h,@r1
    acall day
    PASS3: inc r1
    mov a,#88h
    acall command
    mov a,@r1
    mov 54h,@r1
    acall disp_val
    PASS4: inc r1
    mov a,#8bh
    acall command
    mov a,@r1
    mov 55h,@r1
    acall disp_val
    PASS5: inc r1
    mov a,#8eh
    acall command
    mov a,@r1
    mov 56h,@r1
    acall disp_val
    jnb alarm_on,PASS6
    inc r1
    inc r1
    inc r1
    mov a,@r1
    cjne a,52h,PASS6
    inc r1
    mov a,@r1
    cjne a,51h,PASS6
    setb alarm_ring
    setb alarm_ring
    PASS6: ret

    disp_val: ;Display 8-bit Decimal Value
    push acc
    mov r5,a
    anl a,#0f0h
    swap a
    mov dptr,#ascii
    movc a,@a+dptr
    acall data_in
    mov a,r5
    anl a,#0fh
    movc a,@a+dptr
    acall data_in
    pop acc
    ret

    disp_const: ;Display constant characters
    mov a,#8ah
    acall command
    mov a,#'/'
    acall data_in
    mov a,#8dh
    acall command
    mov a,#'/'
    acall data_in
    mov a,#0c6h
    acall command
    mov a,#':'
    acall data_in
    mov a,#0c9h
    acall command
    mov a,#':'
    acall data_in
    mov a,#0c0h
    acall command
    mov a,#BELL
    acall data_in
    mov a,#SPEAKER_OFF
    acall data_in
    ret

    command:acall busy ;Sending command to LCD
    MOV P2,A
    CLR rs
    CLR rw
    SETB en
    CLR en
    RET

    data_in:acall busy ;Sending data to LCD
    SETB rs
    MOV P2,A
    CLR rw
    SETB en
    CLR en
    RET

    busy: SETB P2.7 ;Checking Busy flag
    CLR rs
    SETB rw
    wait: CLR en
    SETB en
    JB P2.7,wait
    RET

    day: push acc ;Displaying day subroutine for RTC
    cjne a,#01,skip
    disp_str < *Sun*>
    ljmp exit
    skip: cjne a,#02,skip2
    disp_str < *Mon*>
    ljmp exit
    skip2: cjne a,#03,skip3
    disp_str < *Tue*>
    ljmp exit
    skip3: cjne a,#04,skip4
    disp_str < *Wed*>
    sjmp exit
    skip4: cjne a,#05,skip5
    disp_str< *Thu*>
    sjmp exit
    skip5: cjne a,#06,skip6
    disp_str < *Fri*>
    sjmp exit
    skip6: disp_str < *Sat*>
    exit: pop acc
    ret

    time_set: ;Setting time subroutine
    jnb time_key,$
    mov a,#1
    acall command
    mov a,#80h
    acall command
    mov a,#CLOCK
    acall data_in
    disp_str < set minutes
    mov a,#0c5h
    acall command
    mov a,51h
    acall disp_val
    lcall hexdec
    key: push acc
    mov a,#0c5h
    acall command
    pop acc
    jb increment,chk1
    inc a
    cjne a,#60,ok1
    mov a,#0
    ok1: jnb increment,$
    lcall dechex
    acall disp_val
    lcall hexdec
    sjmp key
    chk1: jb decrement,chk2
    dec a
    cjne a,#0ffh,ok2
    mov a,#59
    ok2: jnb decrement,$
    lcall dechex
    acall disp_val
    lcall hexdec
    sjmp key
    chk2: jb time_key,key

    lcall dechex
    mov min,a
    jnb time_key,$

    mov a,#1
    acall command
    mov a,#80h
    acall command
    mov a,#CLOCK
    acall data_in
    disp_str < set hours
    mov a,#0c5h
    acall command
    mov a,52h
    anl a,#1fh
    acall disp_val
    lcall hexdec
    key1: push acc
    mov a,#0c5h
    acall command
    pop acc
    jb increment,chk3
    inc a
    cjne a,#13,ok3
    mov a,#1
    ok3: jnb increment,$
    lcall dechex
    acall disp_val
    lcall hexdec
    sjmp key1
    chk3: jb decrement,chk4
    dec a
    cjne a,#0,ok4
    mov a,#12
    ok4: jnb decrement,$
    lcall dechex
    acall disp_val
    lcall hexdec
    sjmp key1
    chk4: jb time_key,key1

    lcall dechex
    mov hour,a
    jnb time_key,$

    mov a,#1
    acall command
    mov a,#80h
    acall command
    mov a,#CLOCK
    acall data_in
    disp_str < set am/pm
    mov a,52h
    anl a,#20h
    cjne a,#00h,pm1
    mov a,#0c5h
    acall command
    disp_str <am>
    setb ampm_flag
    sjmp key2
    pm1: mov a,#0c5h
    acall command
    disp_str <pm>
    clr ampm_flag

    key2: mov a,#0c5h
    acall command
    jb increment,chk5
    jb ampm_flag,ok5
    setb ampm_flag
    disp_str <am>
    hold
    jnb increment,$
    sjmp key2
    ok5: clr ampm_flag
    disp_str <pm>
    hold
    jnb increment,$
    sjmp key2
    chk5: jb decrement,chk6
    jb ampm_flag,ok6
    setb ampm_flag
    disp_str <am>
    hold
    jnb decrement,$
    sjmp key2
    ok6: clr ampm_flag
    disp_str <pm>
    hold
    jnb decrement,$
    sjmp key2
    chk6: jb time_key,key2

    jnb ampm_flag,noam
    mov a,hour
    add a,#40h
    sjmp nopm
    noam: mov a,hour
    add a,#60h
    nopm: mov hour,a
    jnb time_key,$

    mov a,#1
    acall command
    mov a,#80h
    acall command
    mov a,#CLOCK
    acall data_in
    disp_str < set days
    mov a,#0c5h
    lcall command
    mov a,53h
    push acc
    lcall day
    pop acc
    key3: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,chk7
    inc a
    cjne a,#8,ok7
    mov a,#1
    ok7: jnb increment,$
    push acc
    lcall day
    pop acc
    sjmp key3
    chk7: jb decrement,chk8
    dec a
    cjne a,#0,ok8
    mov a,#7
    ok8: jnb decrement,$
    push acc
    lcall day
    pop acc
    sjmp key3
    chk8: jb time_key,key3

    mov days,a
    jnb time_key,$

    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#CLOCK
    lcall data_in
    disp_str < set date
    mov a,#0c5h
    lcall command
    mov a,54h
    lcall disp_val
    lcall hexdec
    key4: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,chk9
    inc a
    cjne a,#32,ok9
    mov a,#1
    ok9: jnb increment,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key4
    chk9: jb decrement,chk10
    dec a
    cjne a,#0,ok10
    mov a,#31
    ok10: jnb decrement,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key4
    chk10: jb time_key,key4

    lcall dechex
    mov date,a
    jnb time_key,$

    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#CLOCK
    lcall data_in
    disp_str < set month
    mov a,#0c5h
    lcall command
    mov a,55h
    lcall disp_val
    lcall hexdec
    key5: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,chk11
    inc a
    cjne a,#13,ok11
    mov a,#1
    ok11: jnb increment,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key5
    chk11: jb decrement,chk12
    dec a
    cjne a,#0,ok12
    mov a,#12
    ok12: jnb decrement,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key5
    chk12: jb time_key,key5

    lcall dechex
    mov month,a
    jnb time_key,$

    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#CLOCK
    lcall data_in
    disp_str < set year
    mov a,#0c5h
    lcall command
    mov a,56h
    lcall disp_val
    lcall hexdec
    key6: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,chk13
    inc a
    cjne a,#100,ok13
    mov a,#0
    ok13: jnb increment,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key6
    chk13: jb decrement,chk14
    dec a
    cjne a,#0ffh,ok14
    mov a,#99
    ok14: jnb decrement,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp key6
    chk14: jb time_key,key6

    jnb time_key,$
    lcall dechex
    mov year,a
    mov alarm,#00
    mov sig,#'~'
    clr time_flag
    clr time_flag
    ret

    alarm_set: ;Setting Alarm Subroutine
    jnb alarm_key,$
    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#BELL
    lcall data_in
    disp_str < set minutes
    mov a,#0c5h
    lcall command
    mov a,#30h
    lcall disp_val
    lcall hexdec
    akey: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,achk1
    inc a
    cjne a,#60,aok1
    mov a,#0
    aok1: jnb increment,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp akey
    achk1: jb decrement,achk2
    dec a
    cjne a,#0ffh,aok2
    mov a,#59
    aok2: jnb decrement,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp akey
    achk2: jb alarm_key,akey

    lcall dechex
    mov alarm_min,a
    jnb alarm_key,$

    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#BELL
    lcall data_in
    disp_str < set hours
    mov a,#0c5h
    lcall command
    mov a,#44h
    anl a,#1fh
    lcall disp_val
    lcall hexdec
    akey1: push acc
    mov a,#0c5h
    lcall command
    pop acc
    jb increment,achk3
    inc a
    cjne a,#13,aok3
    mov a,#1
    aok3: jnb increment,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp akey1
    achk3: jb decrement,achk4
    dec a
    cjne a,#0,aok4
    mov a,#12
    aok4: jnb decrement,$
    lcall dechex
    lcall disp_val
    lcall hexdec
    sjmp akey1
    achk4: jb alarm_key,akey1

    lcall dechex
    mov alarm_hrs,a
    jnb alarm_key,$

    mov a,#1
    lcall command
    mov a,#80h
    lcall command
    mov a,#BELL
    lcall data_in
    disp_str < set am/pm
    mov a,#0c5h
    lcall command
    mov a,alarm_hrs
    anl a,#20h
    cjne a,#20h,its_pm
    disp_str <am>
    setb ampm_flag
    sjmp akey2
    its_pm: disp_str <pm>
    clr ampm_flag
    akey2: mov a,#0c5h
    lcall command
    jb increment,achk5
    jb ampm_flag,aok5
    setb ampm_flag
    disp_str <am>
    hold
    jnb increment,$
    sjmp akey2
    aok5: clr ampm_flag
    disp_str <pm>
    hold
    jnb increment,$
    sjmp akey2
    achk5: jb decrement,achk6
    jb ampm_flag,aok6
    setb ampm_flag
    disp_str <am>
    hold
    jnb decrement,$
    sjmp akey2
    aok6: clr ampm_flag
    disp_str <pm>
    hold
    jnb decrement,$
    sjmp akey2
    achk6: jb alarm_key,akey2
    jnb alarm_key,$
    mov a,alarm_hrs
    jb ampm_flag,anoam
    add a,#60h
    sjmp anopm
    anoam: mov a,alarm_hrs
    add a,#40h
    anopm: mov alarm_hrs,a
    mov ahour,alarm_hrs
    mov amin,alarm_min
    mov r6,#02h
    mov r0,#39h
    mov r1,#09h
    lcall rtc_ini
    mov a,#1h
    lcall command
    mov a,#81h
    lcall command
    mov a,#OK
    lcall data_in
    disp_str < Alarm On!>
    mov a,#0c4h
    lcall command
    mov a,alarm_hrs
    anl a,#1fh
    lcall disp_val
    mov a,#':'
    lcall data_in
    mov a,alarm_min
    lcall disp_val
    mov a,alarm_hrs
    anl a,#20h
    cjne a,#00h,ppm
    disp_str < am>
    sjmp ppass2
    ppm: disp_str < pm>
    ppass2: mov r7,#35
    setb tr0
    looop: jnb tf0,$
    clr tf0
    djnz r7,looop
    clr tr0
    mov a,#1h
    lcall command
    lcall disp_const
    mov a,#SPEAKER_ON
    lcall data_in
    setb alarm_off
    setb alarm_on
    clr alarm_flag
    clr alarm_flag
    ret

    alarm_alarm: ;Alarm Ring subroutine
    clr alarm_port
    mov r3,#0ffh
    a_loop: mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop
    setb alarm_port
    mov r3,#0ffh
    a_loop1:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop1
    clr alarm_port
    mov r3,#0ffh
    a_loop2:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop2
    setb alarm_port
    mov r3,#0ffh
    a_loop3:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop3
    clr alarm_port
    mov r3,#0ffh
    a_loop4:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop4
    setb alarm_port
    mov r3,#0ffh
    a_loop5:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop5
    clr alarm_port
    mov r3,#0ffh
    a_loop6:mov r4,#0ffh
    djnz r4,$
    djnz r3,a_loop6
    setb alarm_port
    ret

    dechex: mov b,#0ah ;Decimal to Hexadecimal conversion
    div ab
    mov 60h,b
    mov b,#10h
    mul ab
    add a,60h
    ret

    hexdec: mov b,#10h ;Hexadecimal to deciaml conversion
    div ab
    mov 60h,b
    mov b,#0ah
    mul ab
    add a,60h
    ret

    ascii: ;ASCII lookup table
    db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h

    end



    به دادم برس گریه...............
    دلم خیلی گرفته.......................
    نگو از دوری کی..............................
    نپرس از چی گرفته..................................

  2. #2
    دوست آشنا
    رشته تحصیلی
    مخابرات
    نوشته ها
    1,064
    ارسال تشکر
    1,109
    دریافت تشکر: 1,646
    قدرت امتیاز دهی
    68
    Array

    پیش فرض پاسخ : دستورهای ساعت دیجیتالی(همراه الارم با استفاده از ds1307 با استفاده از ال سی دی ۱۶*۲

    یه توضیح مختصر برا چند خط اول که نوشتنشون الزامی نیست آدرس ایمیلو طراحشو منظورمه
    اگه سوالی داری درباره برق داری یا چیزی می خوای کافیه اینجا کلیک کنی
    اگه می خوای از تازه ترین خبرای برقی مطلع بشی اینجا کلیک کن
    اگه تو تالار برق دنبال چیزی می گردی و پیدا نمی کنی اینجا کلیک کن





  3. #3
    همکار تالار برق
    رشته تحصیلی
    برق صنعتی
    نوشته ها
    199
    ارسال تشکر
    66
    دریافت تشکر: 327
    قدرت امتیاز دهی
    30
    Array

    پیش فرض پاسخ : دستورهای ساعت دیجیتالی(همراه الارم با استفاده از ds1307 با استفاده از ال سی دی ۱۶*۲

    نقل قول نوشته اصلی توسط hengameh نمایش پست ها
    یه توضیح مختصر برا چند خط اول که نوشتنشون الزامی نیست آدرس ایمیلو طراحشو منظورمه
    چرا نمیشه...............
    بله الزامی نیست................
    ولی نباید از این مورد...............
    چشم پوشی کنیم............
    بالاخره طراح این کدا زحمت کشیده...............
    و این کوچکترین................
    تشکر ما از زحمات طراح این کد هاست..............

    یا علی................
    موفق باشی.....................



    به دادم برس گریه...............
    دلم خیلی گرفته.......................
    نگو از دوری کی..............................
    نپرس از چی گرفته..................................

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. چرا ژاپن به توسعه تكنولوژي دست يافته است
    توسط *مینا* در انجمن قاره آسیا
    پاسخ ها: 5
    آخرين نوشته: 10th January 2013, 08:58 PM
  2. ‍استفاده از بيو ليچينگ در هيدرو متالو‍‍ژي
    توسط محسن آزماینده در انجمن فراوری مواد معدنی
    پاسخ ها: 0
    آخرين نوشته: 6th December 2010, 12:56 PM
  3. آموزشی: پاسخ : آفات و بيماري هاي گياهي
    توسط m0na در انجمن آفات گیاهی
    پاسخ ها: 5
    آخرين نوشته: 26th November 2010, 01:31 AM
  4. نانو سیلور
    توسط رضانظری در انجمن بیوتکنولوژی و نانو تکنولوژی
    پاسخ ها: 1
    آخرين نوشته: 25th November 2010, 01:31 PM
  5. اعلام جزئيات نحوه استفاده از تسهيلات جديد در مورد خدمت وظيفه عمومي
    توسط Asghar2000 در انجمن اخبار و گزارش تصویری نظامی
    پاسخ ها: 0
    آخرين نوشته: 24th June 2009, 10:02 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •