To develop a program for the PIC 16F84A using the MPLAB v8 IDE simulator software. The program is to convert your student number (10 ASCII characters), one character at a time, to 74210 code. Each converted character is to be displayed on 5 LEDs connected to Port B (B0 to B4) of the microcontroller. Further, each converted character will be ON for 3 second and OFF for 1 second. Once all characters have been displayed the program will stop and the LEDs will be OFF.
Objectives:
- To describe your program using properly structured flowcharts (main program and subroutines).
- To demonstrate the use of subroutines, e.g. initialize the peripheral registers and to set the time delays, etc.
- To demonstrate ASCII code conversion.
- To demonstrate the use of indexed addressing to retrieve data from a table in memory.
- To describe the operation of the program in writing.
- To provide a properly formatted program listing (disassembly listing from MPLAD IDE).
- To use the MPLAB IDE software to assemble, run and debug the program.
Report:
Your report must include:
- A clear detailed description of how your program works
- Properly formatted flowcharts (may be neatly hand drawn then scanned into the report)
- A copy of the MPLAB IDE disassembly listing.
Submit the report (*.pdf only format), disassembly listing and MPLAB IDE file (*.hex) via StudyDesk, (EASE) as attachments. That is, 2 files to be submitted.
Assessment criteria
Assessment item |
Requirement |
Marks |
Flowchart | ||
Accuracy | Must reflect the program code, including subroutines |
30 |
Sufficient detail | Correct use of flowchart symbols, lines and statements |
10 |
Labels | On all loops and decision blocks |
5 |
Neatness | Can be hand drawn (scanned), but must be neat |
5 |
Program description | ||
How it works | Detailed description of the program’s operation. At least one page. |
30 |
Display details | Describe how the display (LEDs) interface to the PIC 16F84A |
10 |
Delay calculations | Explain and show the delay calculations |
20 |
Program listing | ||
Appropriate labels | Labels should be used for loops, subroutine, etc. |
5 |
Comments | Sufficient to describe each step in the program |
10 |
Structure | Efficiency, use of registers and subroutines, etc. |
30 |
Accuracy | Proper operation, (confirmed by the marker using the ‘Real PIC Simulator), Hence the hex code file (*.hex) must be submitted via StudyDesk. |
45 |
Total |
200
|