This project is embedded system that allows the blind person to write the contents. The text is entered based on the ASCII values of each character. This system uses a matrix keypad and the UART for serial communication with the PC.
This system makes use of a matrix keypad (4 X 4). The keys are numbered from 0 to 9 arranged in the form of rows and columns. The text is entered based on the ASCII values of each character. The ASCII values entered on the keypad are in the decimal format.
To enter a letter ‘A’, the keys 0, 6 and 5 are to be typed which corresponds to the decimal ASCII value of letter ‘A’.
Below gives the ASCII value chart for the characters.
Table: ASCII character- value chart
The characters typed on the keypad are transferred to PC through serial communication using RS232.
Hardware Block Diagram:
Fig: Block diagram of Braille keypad
The keys on the keypad are scanned in the form of rows and columns. When no keys are pressed, all the keys will be in logic high. When a key is pressed, the corresponding row and column becomes low.
When key 9 is pressed, columns 2 row 3 becomes low (logic 0).
This is shown in the table for each number pressed.
R1 = Row 1 and so on
C1 = Column 1 and so on
Table: Keypad logic when a key pressed
8051 Microcontroller: AT89C51
(8-bit 80C51 5V low power 64 kB Flash microcontroller with 1 kB RAM)
8051 microcontroller is used to build this system.
The 8051 architecture provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package
- 4K Bytes of In-System Reprogrammable Flash Memory
- Endurance: 1,000 Write/Erase Cycles
- 5V Operating voltage, 40-pin DIP
- Fully Static Operation: 0 Hz to 24 MHz
- Three-Level Program Memory Lock
- 128 x 8-Bit Internal RAM
- 32 Programmable I/O Lines
- Two 16-Bit Timer/Counters
- Six Interrupt Sources
- Programmable Serial Channel Using UART makes it simpler to interface for serial communication
- 8 – bit ALU (Arithmetic Logic Unit)
- Harvard Memory Architecture – It has 16 bit Address bus (each of RAM and ROM) and 8 bit Data Bus
- Executes one million one-cycle instructions per second with a clock frequency of 12MHz
- Low Power Idle and Power Down Modes
Programming Language: Embedded C, Keil µvision compiler