Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| learn:courses:unit-3-lab3a:start [2017/02/13 23:43] – Martha | learn:courses:unit-3-lab3a:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Lab 3a: LCD Parallel Interface ====== | + | ====== Lab 3a: LCD Parallel Interface |
| + | [[{}/ | ||
| == Download This Document == | == Download This Document == | ||
| * {{ : | * {{ : | ||
| Line 5: | Line 6: | ||
| ===== 1. Objectives ===== | ===== 1. Objectives ===== | ||
| - | - Develop an application of foreground-background task scheduling. | + | - Identify the PIC32 processor pins used for the LCD interface. |
| - | - Use change notification interrupts to detect push button presses and releases. | + | - Implement LCD control |
| - | - Eliminate multiple button operations | + | - Understand handshaking requirements for interfacing two systems operating at differing clock speeds. |
| - | - Implement the push-on / push off operation using a software-based finite state machine. | + | |
| ---- | ---- | ||
| Line 24: | Line 23: | ||
| ===== 3. Equipment List ===== | ===== 3. Equipment List ===== | ||
| ==== 3.1. Hardware ==== | ==== 3.1. Hardware ==== | ||
| - | | + | - [[https://digilent.com/shop/basys-mx3-pic32mx-trainer-board-for-embedded-systems-courses/|Basys MX3 trainer board]] |
| - | - PC or Linux Workstation computer. | + | - [[https://digilent.com/shop/usb-a-to-micro-b-cable/|Micro USB cable]] |
| - | | + | - Workstation computer running Windows 10 or higher, MAC OS, or Linux |
| - | - [[http://store.digilentinc.com/analog-discovery-2-100msps-usb-oscilloscope-logic-analyzer-and-variable-power-supply/|Analog Discovery 2]]. | + | |
| + | In addition, we suggest the following instruments: | ||
| - | ==== 3.2. Software: ==== | + | |
| - | | + | |
| - | - [[http:// | + | |
| - | | + | |
| + | |||
| + | |||
| + | ==== 3.2. Software: ==== | ||
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | - [[https:// | ||
| ---- | ---- | ||
| Line 58: | Line 61: | ||
| ===== 7. LCD Background Information ===== | ===== 7. LCD Background Information ===== | ||
| - | Character [[https:// | + | Character [[https:// |
| The handshaking required to successfully communicate with the LCD on the Basys MX3 is representative of many common parallel interfaces. | The handshaking required to successfully communicate with the LCD on the Basys MX3 is representative of many common parallel interfaces. | ||
| - | |||
| ---- | ---- | ||
| Line 73: | Line 75: | ||
| - Initialize the LCD using the recommended sequence of instructions shown in the control flow diagram FIg. B.2. to write specific codes to the LCD at specified intervals. | - Initialize the LCD using the recommended sequence of instructions shown in the control flow diagram FIg. B.2. to write specific codes to the LCD at specified intervals. | ||
| - Position the cursor in the display space (Line 1 or Line 2) where the next character is to be displayed. | - Position the cursor in the display space (Line 1 or Line 2) where the next character is to be displayed. | ||
| - | - Write function(s) that write ASCII control and display data to the Display Data Ram (DDRAM). | + | - Write function(s) that write ASCII control and display data to the Display Data Ram (DDRAM). |
| - Translate the ASCII control characters into one or more C instructions for the LCD, as detailed in Table 8.1. | - Translate the ASCII control characters into one or more C instructions for the LCD, as detailed in Table 8.1. | ||
| - Write functions that write ASCII character data to the Display Data Ram (DDRAM). | - Write functions that write ASCII character data to the Display Data Ram (DDRAM). | ||
| Line 92: | Line 94: | ||
| } | } | ||
| </ | </ | ||
| - | - Write an application program for the BASYS MX3 processor board that achieves the following: | + | - Write an application program for the Basys MX3 processor board that achieves the following: |
| - Initializes a loop counter to a value of zero. | - Initializes a loop counter to a value of zero. | ||
| - Displays your name on the first line. | - Displays your name on the first line. | ||
| Line 157: | Line 159: | ||
| ===== Appendix A: Basys MX3 Schematic Drawings ===== | ===== Appendix A: Basys MX3 Schematic Drawings ===== | ||
| - | {{ : | + | {{ : |
| //Figure A.1. LCD connection schematic diagram for Labs 3a and 3b.// | //Figure A.1. LCD connection schematic diagram for Labs 3a and 3b.// | ||
| + | |||
| Line 174: | Line 177: | ||
| {{ : | {{ : | ||
| - | //Figure B.3. Control flow diagram for LCD Write operation using bit-banging.// | + | //Figure B.4. Control flow diagram for LCD Write operation using bit-banging.// |
| {{ : | {{ : | ||
| //Figure B.5. LCD display character control flow diagram.// | //Figure B.5. LCD display character control flow diagram.// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[{}/ | ||
| + | [[{}/ | ||

