EasyManua.ls Logo

Altera DE1-SoC - Introduction to the DE1-SoC Board; DE1-SoC Board Layout and Components

Altera DE1-SoC
45 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
DE1-SOC COMPUTER SYSTEM WITH NIOS II For Quartus II 15.0
/********************************************************************************
* This program demonstrates the use of parallel ports in the DE1-SoC Computer:
* 1. displays the SW switch values on the red LEDR
* 2. displays a rotating pattern on the HEX displays
* 3. if KEY[3..0] is pressed, uses the SW switches as the pattern
********************************************************************************/
.text /* executable code follows */
.global _start
_start:
/* initialize base addresses of parallel ports */
movia r15, 0xFF200040 /* SW slider switch base address */
movia r16, 0xFF200000 /* red LED base address */
movia r17, 0xFF200050 /* pushbutton KEY base address */
movia r20, 0xFF200020 /* HEX3_HEX0 base address */
movia r19, HEX_bits
ldwio r6, 0(r19) /* load pattern for HEX displays */
DO_DISPLAY:
ldwio r4, 0(r15) /* load input from slider switches */
stwio r4, 0(r16) /* write to red LEDs */
ldwio r5, 0(r17) /* load input from pushbuttons */
beq r5, r0, NO_BUTTON
mov r6, r4 /* copy SW switch values onto HEX displays */
WAIT:
ldwio r5, 0(r17) /* load input from pushbuttons */
bne r5, r0, WAIT /* wait for button release */
NO_BUTTON:
stwio r6, 0(r20) /* store to HEX3 ... HEX0 */
roli r6, r6, 1 /* rotate the displayed pattern */
movia r7, 500000 /* delay counter */
DELAY:
subi r7, r7, 1
bne r7, r0, DELAY
br DO_DISPLAY
.data /* data follows */
HEX_bits:
.word 0x0000000F
.end
Figure 8. An example of assembly language code that uses parallel ports.
Altera Corporation - University Program
2015
7

Other manuals for Altera DE1-SoC

Related product manuals