Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| learn:courses:unit-3-lab3b:start [2017/02/16 17:19] – [8.3. Construction Phase] Martha | learn:courses:unit-3-lab3b:start [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Lab 3b: LCD Parallel Interface - PMP IO Control ====== | + | ====== Lab 3b: LCD Parallel Interface - PMP I/O Control ====== |
| + | [[{}/ | ||
| + | [[{}/ | ||
| == Download This Document == | == Download This Document == | ||
| - | * | + | {{ : |
| ===== 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 23: | Line 23: | ||
| ===== 3. Equipment List ===== | ===== 3. Equipment List ===== | ||
| ==== 3.1. Hardware ==== | ==== 3.1. Hardware ==== | ||
| - | - Basys MX3 trainer board. | + | - [[https:// |
| - | - PC or Linux Workstation computer. | + | - [[https://digilent.com/shop/ |
| - | - [[http://store.digilentinc.com/ | + | - Workstation computer running Windows 10 or higher, MAC OS, or Linux |
| - | - [[http://store.digilentinc.com/ | + | |
| + | In addition, we suggest the following instruments: | ||
| + | |||
| + | - [[http://www.digilentinc.com/ | ||
| ==== 3.2. Software: ==== | ==== 3.2. Software: ==== | ||
| - | - [[http:// | + | The following programs must be installed on your development workstation: |
| - | - [[http:// | + | |
| - | - [[http:// | + | |
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | - [[http:// | ||
| + | - [[https:// | ||
| ---- | ---- | ||
| ===== 4. Project Takeaways ===== | ===== 4. Project Takeaways ===== | ||
| - | - How to implement a bi-directional parallel | + | - How to implement a bi-directional parallel |
| - How to use delays to control signal timing. | - How to use delays to control signal timing. | ||
| - How to manage ASCII text strings. | - How to manage ASCII text strings. | ||
| - | |||
| ---- | ---- | ||
| Line 57: | 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 94: | Line 98: | ||
| - 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. | ||
| - | - Repositions the cursor to the beginning of the second line and displays the text “LAB 3.” | + | - Repositions the cursor to the beginning of the second line and displays the text “Lab 3b.” |
| - Repositions the cursor to the eighth character position of the second line. | - Repositions the cursor to the eighth character position of the second line. | ||
| - Displays the value of the loop counter. | - Displays the value of the loop counter. | ||
| Line 139: | Line 143: | ||
| - Demonstrate that the test program developed for requirement 4 executes correctly using the test string “\0141234\0115678\0119ABC\r”. | - Demonstrate that the test program developed for requirement 4 executes correctly using the test string “\0141234\0115678\0119ABC\r”. | ||
| - Demonstrate that the test program developed for requirement 5 executes correctly. | - Demonstrate that the test program developed for requirement 5 executes correctly. | ||
| + | |||
| ---- | ---- | ||
| ===== 9. Questions ===== | ===== 9. Questions ===== | ||
| + | - What are the advantages of using the PMP interface over the bit-banging interface? | ||
| + | - What are the advantages of using the bit-banging interface over the PMP interface? | ||
| - How would the LCD display be affected if the application described above is combined with an application that uses interrupts? | - How would the LCD display be affected if the application described above is combined with an application that uses interrupts? | ||
| - | - How can the blocking semaphore represented by the Busy Flag be eliminated? | ||
| - What is the maximum rate at which characters can be written to the LCD? | - What is the maximum rate at which characters can be written to the LCD? | ||
| + | |||
| ---- | ---- | ||
| Line 159: | Line 166: | ||
| ===== 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 176: | Line 182: | ||
| {{ : | {{ : | ||
| - | //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.// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[{}/ | ||
| + | [[{}/ | ||
| + | [[{}/ | ||
| + | |||

