Reference no: EM13381412
1) You will create a data set consists of the Total Data Number elements. For example, if your Total Data Number is 127, you will create a data set consists of 127 elements for your assignment.
Use the following 40 values (given as decimal numbers) to produce your data set for the assignment. Each value below makes an 8-bit number, or 1 element of the data set, which occupies 1 memory location in the program memory area. When in the memory, every number may represent a signed 8-bit number or an unsigned 8-bit number, as specified in the question. For the data set consists of 127 elements, as mentioned above, you need 3 sets of the 40 values and other first 7 values from the 40 values given below (i.e. 3x40 + 7 = 127).
67, 142, 88, 0, 0, 145, 92, 37, 184, 242, 0, 30, 72, 203, 0, 250, 227, 0, 30, 149, 245, 0, 129, 81,0, 88, 193, 0, 145, 221, 6, 142, 0, 8, 96, 0, 121,216, 15, 0
2) Put your data set in the program memories starting from address 0x180 (labeled as MYDATA). Your can simply put them in the program memories starting from address 0x180 using the appropriate data directives after your main program.
3) For your SID also get a value called Assignment Number. Use this value to determine which one of the following assignments you will need to do, where the assignment number is equal to the value given. If your Assignment Number is 4, then you need to do the assignment number 4.
4) Write an assembly source code for your assigned problem (or question) and use the MPLAB IDE to assemble the source code (ASM) file, and get its listing (LST) file and object code (HEX) file. Use PIC18F458 as your microcontroller. MPLAB IDE can be downloaded from the internet. It is also available in PCs in BL3-010. Your main program starts at address 0x030 in the program memory of PIC18. Put enough comments and use appropriate assembler directives to make your program easily understandable and self-explained. You MUST put your Name and SID number as part of comments in your assembly source code.
a) Your assembly source code (ASM file).
b) Listing (LST file).
c) Object code (HEX file).
d) Simulation result using MPLAB IDE. Your simulation with the data set should be able to produce an expected result which you can explain in the report. Include explanation on how the result is obtained in the report.
You may refer to "Example of report for Assignment" which you can download from EEEB373 website. Send the report within the deadline. Note that you must use data set created using steps 1 to 2 above for the simulation.
7) Explore yourself all of MPLAB IDE's capabilities in order to be able to copy and paste all required files for your report! Some of the capabilities are not taught during class.
Question 0
Write a program to find the biggest number (in term of value) from your data set called MYDATA, which is a set of unsigned single-byte numbers. Save the result in BIGGVAL at address 0x10 in the data memory.
Question 1
Write a program to count how many from your data set called MYDATA, which is a set of signed single-byte numbers, has positive value. Save the result in TOTPOSI at address 0x10 in the data memory.
Question 2
Write a program to count how many from your data set called MYDATA, which is a set of unsigned single-byte numbers, has zero value. Save the result in TOTZERO at address 0x10 in the data memory.
Question 3
Write a program to count how many from your data set called MYDATA, which is a set of signed single-byte numbers, has negative value. Save the result in TOTNEGA at address 0x10 in the data memory.
Question 4
Write a program to count how many from your data set called MYDATA, which is a set of unsigned single-byte numbers, has non-zero value. Save the result in TOTNZERO at address 0x10 in the data memory.
Question 5
Write a program to determine how many from your data set called MYDATA, which is a set of unsigned single-byte numbers, are odd numbers. Save the result in TOTODD at address 0x10 in the data memory.
Question 6
Write a program to count how many from your data set called MYDATA, which is a set of signed single-byte numbers, has positive value and are odd numbers. Save the result in POSODD at address 0x10 in the data memory.
Question 7
Write a program to determine how many from your data set called MYDATA, which is a set of unsigned single-byte numbers, are even numbers. Save the result in TOTEVEN at address 0x10 in the data memory.
Question 8
Write a program to count how many from your data set called MYDATA, which is a set of signed single-byte numbers, has positive value and are even numbers. Save the result in POSEVEN at address 0x10 in the data memory.
Question 9
Write a program to find how many data from your data set called MYDATA, which is a set of unsigned single-byte numbers, has value bigger than 100. Save the result in BIGT100 at address 0x10 in the data memory.