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
DMA Hardware (8237 DMAC) : 1)Processor contain HOLD/HOLD Acknowledge lines to interact with 8237 o DMAC can achieve control of ISA bus by asserting HOLD o P
General Data Registers Given figure indicate the register organization of 8086. The registers DX, CX, BX and AX are the general purpose 16-bit registers. AX is behaved as 16-bi
Write a MC68H12 assembly language program to find the largest number in an array of ten 8-bit numbers. The array is stored in memory locations starting at address $1100. Use branch
END : END of Program:- The END directive marks the ending of the assembly language program. When the assembler comes across this END directive, it avoided the source lines avai
DIV: Unsigned Division:- This instruction performs unsigned division operation. It divides an unsigned word or double word by a 16-bit or 8-bit operand. The dividend might be in t
code to add two matrices
Assembler Directives and Operators The major advantage of machine language programming is directly that the memory control is in the hands of the programmer, so that, he can be
program to arrange a given set of numbers in descending order
The 486 Introduced in the year 1989 the 80486 did not feature any radically new processor technology. Instead, it joints a 386 processor, a cache memory controller and a math c
1. Start your program at address $8500. To do this you need to inform the assembler, through the EQU and ORG assembler directives, that you want your program to start at $8500. Thi
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