Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Hi , I am working on IAR embedded workbench 5 for Microcontroller MSP 430 FG 461

ID: 3632344 • Letter: H

Question

Hi ,

I am working on IAR embedded workbench 5 for Microcontroller MSP 430 FG 4618. can anyone help me with the following assignment building a logical calculator.

I believe it is not a multiple question assignment. PLease let me know if it. Please don't give up on answering this if you feel it is multiple question assignment. Please contact me if it is so.

Assignment:
You shall implement an interface between a 12-button matrix keypad and a 4x20 external LCD to create a logical calculator. This logical calculator will perform seven logical functions (OR, AND, XOR, NOR, NAND, XNOR, NOT). These operations shall be displayed to the user in a menu as shown below on the external LCD. Your title shall read “Logical Calculator”.
The operation to be performed shall be selected by the keypad. When an operation is selected, the LCD shall display the template for a one or two operand operation as shown below. For each operation, the correct operator must be displayed. For NOR, NAND and XNOR you may use the operator for OR, AND and XOR respectively with an underscore displayed above. There is no ~ character for your LCD, therefore when performing a NOT operation, you may use the square root sign as your operator, you must look at the LCD datasheet to figure out how to display this special character.
After the template is displayed the cursor shall be on and blinking in the position of the first digit of the first operand. As the user enters the operands, the cursor shall move to the correct positions of each digit as entered. When both operands are entered, the cursor shall be turned off. The cursor shall only be on when digits are being entered. The entered operands shall be display on the LCD as shown below and interpreted as decimal values.
When both operands are entered, the binary values of each operand must be displayed as shown above (ten binary digits). In addition, the result of the operation must be displayed in binary and in decimal. The user must hit „#? in order to get back to the menu where they may select a new operation to perform.


Software Requirements:
1. You may use the device header file but must still #define all other constants used such that “magic” numbers are minimized. You must organize your #defines into a header file.
2. Button events shall be serviced via interrupts and occur on the button release event.
3. The cursor must be managed properly as described above, and when on shall be blinking.


Hardware Requirements:
1. Use the following port mapping:
LCD Data bus: P2
LCD Control signals: P6
Keypad Columns: P3
Keypad Rows: P1
2. Keypad is to be wired such that the key-press event is active low.
3. Connect a potentiometer to adjust the contrast of the LCD.
4. Do not use the 74C922 to perform keypad decoding.

Explanation / Answer

http://www.experts-exchange.com/Programming/Languages/C/Q_27414538.html