Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
init_lcd ;(this initialises a 2 row lcd) bcf TRISA,0 ;PORTA bit 0 as an output (lcd RS pin) bcf TRISA,1 ;PORTA bit 1 as an output (lcd R/W pin) bcf TRISA,2 ;PORTA bit 2 as an output (lcd E pin) bcf lcd_rs bcf lcd_rw bcf lcd_en movlw b'00110000' ;Instruction - function set. First of 3 call lcd_write call Delay5 ;wait MORE THAN 4.1mS movlw b'00110000' ;Instruction - function set. Second of 3 call lcd_write movlw .33 ;wait MORE THAN 100uS [(33 x 3) +1 +1 + (1 x 2)] - measured 102uS on scope movwf counta ;1 cycle decfsz counta ;1 cycle until true then a 2 cycle goto $-2 ;2 cycle instruction movlw b'00110000' ;Instruction - function set. Third of 3 call lcd_write movlw b'00111000' ;8 bit data / 2 line display / 5x8 character font call lcd_write call busy movlw b'00001111' ;instruction bit / display on / cursor position on / blinking cursor on call lcd_write call busy movlw b'00000001' call lcd_write call busy movlw b'00000110' ;increment cursor position by 1 / don't shift display call lcd_write call busy return ;return from initialization routinelcd_write movwf lcd_data ;data to port bsf lcd_en ;sets LCD enable pin high bcf lcd_en ;data is latched into lcd on high to low transition of E returnbusy bsf TRISC,7 ;was output when sending init data, now input to read busy flag bsf lcd_rw ;set high to read data from lcd bsf lcd_en ;enable btfsc lcd_busy ;is the busy flag low? goto $-2 ;no, go back and keep checking until it is bcf lcd_en ;busy flag now clear bcf lcd_rw ;set lcd back to write mode bcf TRISC,7 ;port bit as an output again returnDelay30 movlw .30 ;delay 30mS goto d0Delay5 movlw .5 ;delay 5msd0 movwf count1d1 movlw 0xC7 movwf counta movlw 0x01 movwf countbDelay_0 decfsz counta goto $+6 decfsz countb goto Delay_0 decfsz count1 goto d1 retlw .0 ;return from the delay routine
LENGTH : Byte Length of a Label: This directive is not available in MASM. This is used to mention to the length of a data array or a string. MOV CX. LENGTH ARRAY This sta
to separate positive and negative numbers
PTR : Pointer:- The pointer operator which is used to declare the type of a variable, label or memory operand. The operator PTR is prefixed by either WORD or BYTE. If the prefi
Program: Write a program to perform addition of a series of 8-bit numbers. The series have 100 (numbers). Solution : In the first program, we have been implemented the add
HELLO I AM TRYING TO ADD AND SUBTRACT BUT I SEEM CAN''T FIND THE CORRECT REGISTER TO PUT IN
Program : A program to move a string of the data words from offset 2000H to offset 3000H the length of the string is OFH. Solution : For writing this program, we will use
this is my first project i dont know where to start
AAD: ASCII Adjust for Division though the names of these 2 instructions (AAM and AAD) seem to be same, there is many difference between their functions. The AAD instruction conver
Mov ax, [1234h: 4336h + 100]
segmentation and overlapping in assemble language
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd