NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

ORG 000H

mov r1, #30H
aCALL CONFIGURE_LCD

MAIN:
mov r0, #0
here:
LCALL KEYBOARD
LCALL SEND_DATA
ANL A, #0FH
MOV @r1, A
MOV A, @r1
inc r1
inc r0
LCALL KEYBOARD
LCALL SEND_DATA
CJNE A, #'#', jump1
ljmp here
jump1:
herehe: LCALL KEYBOARD ;A basana kadar bekle
LCALL SEND_DATA
CJNE A, #'A', herehe

MOV A, R0
MOV R7, A
loop1: MOV R1, #30H
MOV R6, A
loop: Mov A, @R1
INC R1
MOV 50H, @R1
CJNE A, 50H, next
SJMP down
next: JC down
MOV @R1, A
DEC R1
MOV @R1, 50H
down:
DJNZ R6,loop
DJNZ R7, loop1

; R0 tek veya çift olmasına gore formulleri ugula
MOV B, #2
MOV A, R0
DIV AB
jnb B.0, even
mov a, r0
inc a
mov b, #2
div AB
mov r1,#29h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
add a, r1
mov r1, A
mov A, @R1
mov b, #2
DIV AB
ADD A, #30H
LCALL SEND_DATA
hereeeee: sjmp hereeeee
even: mov a, r0
mov b, #2
div AB
mov r1, #29h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
add a, r1
mov r1, A
inc A
mov r0, A
mov A, @r1
add A, @r0
mov b, #2
div ab
ADD A, #30H
LCALL SEND_DATA
hereeee: sjmp hereeee

CONFIGURE_LCD: ;THIS SUBROUTINE SENDS THE INITIALIZATION COMMANDS TO THE LCD
mov a, #38H ;TWO LINES, 5X7 MATRIX
acall SEND_COMMAND
mov a, #0FH ;DISPLAY ON, CURSOR BLINKING
acall SEND_COMMAND
mov a, #06H ;INCREMENT CURSOR (SHIFT CURSOR TO RIGHT)
acall SEND_COMMAND
mov a, #01H ;CLEAR DISPLAY SCREEN
acall SEND_COMMAND
mov a, #80H ;FORCE CURSOR TO BEGINNING OF THE FIRST LINE
acall SEND_COMMAND
ret
SEND_COMMAND:
mov p1, a ;THE COMMAND IS STORED IN A, SEND IT TO LCD
clr p3.5 ;RS=0 BEFORE SENDING COMMAND
clr p3.6 ;R/W=0 TO WRITE
setb p3.7 ;SEND A HIGH TO LOW SIGNAL TO ENABLE PIN
acall DELAY
clr p3.7
ret


SEND_DATA:
mov p1, a ;SEND THE DATA STORED IN A TO LCD
setb p3.5 ;RS=1 BEFORE SENDING DATA
clr p3.6 ;R/W=0 TO WRITE
setb p3.7 ;SEND A HIGH TO LOW SIGNAL TO ENABLE PIN
acall DELAY
clr p3.7
ret


DELAY:
push 0
push 1
mov r0, #50
DELAY_OUTER_LOOP:
mov r1, #255
djnz r1, $
djnz r0, DELAY_OUTER_LOOP
pop 1
pop 0
ret

KEYBOARD: ;takes the key pressed from the keyboard and puts it to A
mov P0, #0ffh ;makes P0 input
K1:
mov P2, #0 ;ground all rows
mov A, P0
anl A, #00001111B
cjne A, #00001111B, K1
K2:
acall DELAY
mov A, P0
anl A, #00001111B
cjne A, #00001111B, KB_OVER
sjmp K2
KB_OVER:
acall DELAY
mov A, P0
anl A, #00001111B
cjne A, #00001111B, KB_OVER1
sjmp K2
KB_OVER1:
mov P2, #11111110B
mov A, P0
anl A, #00001111B
cjne A, #00001111B, ROW_0
mov P2, #11111101B
mov A, P0
anl A, #00001111B
cjne A, #00001111B, ROW_1
mov P2, #11111011B
mov A, P0
anl A, #00001111B
cjne A, #00001111B, ROW_2
mov P2, #11110111B
mov A, P0
anl A, #00001111B
cjne A, #00001111B, ROW_3
ljmp K2

ROW_0:
mov DPTR, #KCODE0
sjmp KB_FIND
ROW_1:
mov DPTR, #KCODE1
sjmp KB_FIND
ROW_2:
mov DPTR, #KCODE2
sjmp KB_FIND
ROW_3:
mov DPTR, #KCODE3
KB_FIND:
rrc A
jnc KB_MATCH
inc DPTR
sjmp KB_FIND
KB_MATCH:
clr A
movc A, @A+DPTR ; get ASCII code from the table
ret

;ASCII look-up table
KCODE0: DB '1', '2', '3', 'A'
KCODE1: DB '4', '5', '6', 'B'
KCODE2: DB '7', '8', '9', 'C'
KCODE3: DB '*', '0', '#', 'D'

END
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.