Sunteți pe pagina 1din 63

BLIND AID ABSTRACT

Braille is a writing system which enables blind and partially sighted people to read and write through touch. It was invented by Louis Braille (1809-1852), a French teacher of the blind. This project is about to design an improvised Blind Aid which has the function of converting the Braille to Voice by using 8051 Microcontroller. Generally, this project is a combination of both hardware and software. This project is to develop a product where it can be help the Blind Person to learn Braille. During this training, this person will do exercise of Braille word reading where they will touch the Braille dot and try to read it. Here, this device will help the blind person, for reading the Braille and this device will also inform the user whether valid keys are pressed. The Six Push Button switches spaced at certain distance will act as the Braille sensor. The project also helps the blind person in detecting the obstacles by the use of an obstacle detection sensor so whenever the person travels, the obstacle detection sensor helps to find the obstacles and informs the user by generating a sound output STOP so that the blind person is protected from obstructing to a wall or any other obstacle. The project can also be connected to the computer and the Braille inputs can be logged on to a notepad file. The communication between the computer and the project takes place serially.

Page 1

BLIND AID 1. INTRODUCTION


1.1 Background Project
This project is about to complete the prototype version of Blind Aid that can be used to convert the Braille to Voice this project can extensively helping in learning the Braille for the Blind. This project can be used to train the Braille for the Blind Person During this training, this person will do exercise of Braille word reading where they will touch the Braille dot and try to read it. Here, the Braille sensor will play their role to sense the height of Braille dot and represent it in binary code. Microcontroller then interprets the binary codes and converts it in terms of commands that can be sent to a wav player which plays the required file stored in the memory card. This project should also provide the functionality of detecting the obstacles when a Blind person is travelling

1.2 Problem Statement


Braille writing is commonly used by blind person. Since the blind person just can hear but cannot see, so they need to use this Braille writing in reading or writing. In this case, they should learn the Braille first before they can use it. With Braille to voice converter, it is very helpful for those who are just starting to learn Braille writing. This system will help them to know the sounds of every single word in Braille writing and make them easy to understand.

1.3 Project Objectives


To construct a prototype of improvised Blind aid for purpose of aiding blind person in their Braille reading and to inform Blind people regarding the obstacle while travelling. In order to ensure that the project objectives are met, one should: 1. To provide a Braille sensor that can be used by the blind person to input the Braille. 2. To develop a microcontroller program that converts the Braille inputs into its corresponding ASCII values. 3. To send the play command to the wav player according to the user inputs.

Page 2

BLIND AID
4. To detect the Obstacles with the help of an Obstacle detection sensor and inform user through voice.

1.4 Project Scope


1. Construct a prototype of Braille sensor and convert it into Audio Form. 2. Construct a program that converts the Braille codes into ASCII form. 3. Ensure that both of the scope above can be constructed and developed.

1.5 Methodology
There are several steps that should be done in order to achieve the objective. This project starts with the literature review about hardware and software used in this projects. It then comes together with attending courses such as about Microcontroller and other courses available that related to this projects. Next, study the C language and simulation using Keil Compiler Software. Then, the circuit was design using the simulation software, Proteus 7 to simulate the circuit and inserting the Microcontroller programming. After doing simulation and analyzing on the circuit, the prototype of the circuit is construct and testing. Troubleshoot the prototype if it is not functioning as expected.

Page 3

BLIND AID 2. REVIEW OF LITERATURE


In a country like India where population is beyond 1 billion, it is surprising

that around25% of visually impaired population of world is in India. Various


estimates say that around 4 to 14 million people in India are visually impaired. The tragedy is that 80 % of such population suffering from visual disabilities could have been prevented or successfully treated. The most common cause of blindness in India is cataract, which can be remedied by a surgery. The consequences of blindness are not limited only to to physical disability, but it also affects the economic, social and the psychological life of an individual. The calculated economic cost for the maintenance of a visually challenged individual is around Rs.432,000 million, and loss productivity is Rs.86,400 million over a decade.

2.1 What is Braille?


Braille is a writing system which enables blind and partially sighted people to read and write through touch. It was invented by Louis Braille (1809-1852), a French teacher of the blind. It consists of patterns of raised dots arranged in cells of up to six dots in a 3 x 2 configuration. Each cell represents a letter, numeral or punctuation mark. Some frequently used words and letter combinations also have their own single cell patterns [BS].

Fig 2.1 Six Dot Formation Page 4

BLIND AID

2.2 How it Invented?


Louis Braille didn't invent Braille. As a boy he attended a school for the Blind in Paris, He learned how to read but not to write. Braille was based on a tactile military code called night writing, developed by Charles Barbier in response to Napoleon's demand for a means for soldiers to communicate silently at night and without light. In Barbier's system, sets of 12 embossed dots encoded 36 different sounds. It proved to be too difficult for soldiers to recognize by touch, and was rejected by the military. In 1821 Barbier visited the National Institute for the Blind in Paris, where he met Louis Braille. Braille identified two major defects of the code: first, by representing only sounds, the code was unable to render the orthography of the words; second, the human finger could not encompass the whole 12-dot symbol without moving, and so could not move rapidly from one symbol to another. Braille's solution was to use 6-dot cells and to assign a specific pattern to each letter of the alphabet. At first, braille was a one-to-one transliteration of French orthography, but soon various abbreviations, contractions, and even logograms were developed, creating a system much more like shorthand. The expanded English system, called Grade 2 Braille, was complete by 1905. For the blind today, braille is an independent writing system rather than a code of printed orthography.

Fig 2.2 Impression on Braille Paper

Page 5

BLIND AID

2.3 Braille script:


Braille scripting requires the text to be printed on a thick sheet of paper using special symbols representing the letters of the alphabets. The symbols are made up of six dots forming a rectangular array of two horizontal dots and three vertical dots. The rectangular array is referred to as a cell and in each cell one or more dots will be printed so as to project slightly from the surface of the paper.

2.3 Braille script:


A visually challenged person is taught to feel the projections using the fingers and thereby recognizing each letter. The six dots can be arranged in a total of sixty three different combinations. Also the dots are given reference numeral like dot one, dot two etc or simply one, two, three etc. In the rectangular arrangement, the dots are numbered serially from top to bottom with the dots on the left side of the array numbered from one to three and on the right side its four to six.

There are a number of different versions of Braille:


Grade 1, which consists of the 26 standard letters of the alphabet and punctuation. It is only used by people who are first starting to read Braille. Grade 2, which consists of the 26 standard letters of the alphabet, punctuation and contractions. The contractions are employed to save space because a Braille page cannot fit as much text as a standard printed page. Books, signs in public places, menus, and most other Braille materials are written in Grade 2 Braille. Grade 3, which is used only in personal letters, diaries, and notes. It is a kind of shorthand, with entire words shortened to a few letters.

Page 6

BLIND AID

Fig 2.3 Reference Chart of Braille Code

2.5 Specification of Braille code:

Fig 2.4 Braille cell Dimensions

Page 7

BLIND AID

Measurement Range

Minimum in Inches and Maximum in Inches 0.059 (1.5mm) to 0.063 (1.6mm) 0.090 (2.3mm) to 0.100 (2.5mm) 0.241 (6.1mm) to 0.300 (7.6mm) 0.025 (0.6mm) to 0.037 (0.9mm) 0.395 (10.0mm) to 0.400 (10.2mm)

Dot Base Diameter

Distance Between two Dots in same Cell

Distance between corresponding dots in adjacent cells

Dot height Distance between corresponding dots from one cell directly below

Table 1.1 Cell Dimensions


The review of literature focuses on reports or publications of research projects conducted by university researchers, government departments and non-government organisations (NGO). These reports and publications were collected along with other documents such as submissions to government by NGOs. They are included, whether they were specifically research or are submissions or reports, as they helped to fill out the picture of the state of blind and vision-impaired peoples interactions with technology and the world of learning and work, and to inform the development of the research methodology and data collection process. The assumption in the research was that each of these documents represented the collective views of a range of groups with an interest in the issues associated with blind and vision-impaired people. The review of literature is structured in the following way. Firstly, literature dealing with learning for BVI (Blind and Visually Impaired) students is reviewed. Then, literature providing data on the state of the world of work for BVI people is reviewed. Lastly, literature examining more general issues that impinge on living, learning and working by BVI people is examined. This provides the overview of the
Page 8

BLIND AID
extent and dimensions of the issues facing BVI people. It needs to be said that there is overlap across the sections. That is, research examining access to Web pages, conducted primarily for general living, may be relevant to learning or working. However, the research has been situated within the section relevant to the perspective the researcher was working from in each case. Learning for BVI students Introduction The literature on learning and BVI can be grouped into five general categories: (a) analyses of the effectiveness of legislation designed to assist BVI students in educational settings; (b) assumptions and biases against BVI students, often termed ableism; (c) analyses of technologies with discussion of the benefits of Braille as an active technology that develops skills; (d) more variable analyses of other technologies in terms of their level of active engagement by students; and (e) training for teachers of BVI students in general and in Braille, in particular. Legislation Smith and Wild (2006) provide an analysis of the U.S. Disabilities Act (1975) as it applies to BVI students in terms of the concept of least restrictive environment (LRE). LRE sets a number of rules that govern how access to education is provided for students with disabilities, including BVI students. The Act requires children with disabilities to be educated with their peers without disabilities, to the maximum extent possible; ensures a continuum of alternative placements (e.g., regular education classrooms, resource classrooms, or special schools for students who are visually impaired); provides for supplementary aids and services (resource room or itinerant instruction) in conjunction with general education; specifies that a students educational placement is to be reviewed annually; and requires that placement is to be determined by a students Individualized Education Program team, which includes the parents and educators who are involved in the students life (Smith & Wild, 2006, p. 592). The overriding principle, according to Smith and Wild (1996), is that decisions are based on considerations of the individual needs of the child and that least restrictive environments should be considered before more restrictive ones. Smith and Wild note, however, that despite the Act, decisions on educational placement are not

Page 9

BLIND AID
always made on the basis of what is best for the student, and can be based on the category of disability, significance of the disability, space and so on. Many researchers are concerned that although the least restrictive environment policy is evident it is not universally implemented in education environments. The major issue in contention is that the focus is primarily towards the integration of disabled students with abled students and that in removing segregation and discrimination, the setting may not provide the most suitable environment for all BVI students to learn. Ableism Hehir (2002), BCA (2005) and Gale (2001) term the issue of BVI students needing to fit in as ableism, defined by Hehir as: the devaluation of disability that results in societal attitudes that uncritically assert that it is better for a child to walk than roll, speak than sign, read print than read, spell independently than use a spell-check, and hang out with non-disabled kids as opposed to other disabled kids. (Hehir, 2002, p. 23) In particular, the primary problem with ableism is that the needs of disabled (including BVI) students can be hidden, understated or not understood, according to Gale (2001). This is a result of the focus of integration of BVI students into abled student learning situations. Long term this has created a culture of learning misinterpretation regarding the needs of disabled students. Further, because they are generally a minority in learning situations, they can suffer from indirect discrimination, which further hinders the ability to understand BVI students learning needs. Academic and vocational skill development is a core focus of policy improvements regarding the best strategy to educate BVI students. Unfortunately, ableist biases have affected education policy, resulting in BVI students being required to learn like the mainstream. Gale (2001) comments that the significant decline in Braille education in Australia, due to the integration of BVI students with non-BVI students, together with their minority status in mainstream classes, is causing much anxiety among aware educators. Further, this is hindering the skill development of BVI students. Hehir (2002) in particular, argued that the removal of Braille education is harming BVI students learning as they are instead employing a passive approach of listening to taped books. In a similar way, low vision students are being forced to read print although their disability hinders them from reading efficiently, resulting in them
Page 10

BLIND AID
becoming functionally illiterate. Some BVI students also comment on their problems, stating that they were forced to read print to fit in with the majority in classes and make them more like sighted people. Advocacy groups, including the National Federation of the Blind in the United States (Hehir, 2002) and the BCA in Australia (BCA, 2005), are campaigning for the use of Braille in BVI education. These groups argue that the current situation and education standards and literacy levels of BVI students are unsatisfactory and require a significant revamp. A severe problem hampering the development of Braille education is the culture and understanding (or misunderstanding) of many mainstream policy makers and educators regarding BVI education needs. Hehir (2002) and BCA (2005) argued that the reluctance to intervene in the early education of BVI students to avoid labelling them is a major issue. That is, BCA argue that learning Braille is most successful if started early, and to delay doing so hampers educational development. In addition to the problem caused by delayed learning of Braille is the problem caused by, according to BCA, educators and policy makers taking the position that disabled students should not be challenged. Hehir (2002) and Gale (2001) suggest that these ableist biases can be removed through greater research into developing special education programs that focus on understanding the uses of Braille and technology in BVI education. Again, it is interesting to note that Braille is not seen as a technology. Further, identifying the individual learning issues and implementing appropriate personalised mechanisms to improve students learning is vital. Weikle and Hedadian (2004) argue that programs must be developed to identify literacy problems and implement interventions in early childhood. Parental and family unit support in recognising and understanding their childs needs is also vital to achieving these standards. A key part of these programs is to identify the different needs of students to provide them with a learning mechanism that is both efficient and effective for them. From a broader policy perspective, the Australian Federation for the Blind (Gale, 2005) advocates the development of programs to support the development of literacy through confirming the importance of Braille as the key to acquiring literacy skills for children who are blind or have low vision; raising the status of Braille literacy within service-providing and consumer agencies and with families, educators and the wider community; and providing a consistent, national basis for promoting Braille literacy.
Page 11

BLIND AID
Gale (2001) argues that the development of a universal Braille code is vital for Australian educators to stay in touch with the rest of the world. This would promote an integrated approach and global communication. These ideas suggest that to develop suitable standards and practices, developing awareness and a unified stance is of primary importance to change ableist culture. Trief and Feeney (2003) examined the issue of what pre-college preparation was required for BVI students. While Trief and Feeney concluded that assistive technologies are important, they stressed that it is also important to include courses that develop social, communicational, organisational and daily living skills. Moreover, participants stressed the importance of learning Braille at an early age if students were to be successful at the college level. Braille versus other assistive technologies A different approach is taken by Weikle and Hedadian (2004), who challenge the use of particular technologies, contesting the relevance of many assistive technologies in developing literacy among disabled children. With many disabled children unlikely to develop required literacy skills, Weikle and Hedadian argue that in many instances assistive technologies only compound the problem, by providing passive activities. Gale (2001) argues that the current overreliance on technology to support learning has also added to the decline of skills. In particular, the overenthusiasm of educators to divert to technology as a primary learning mechanism rather than a support mechanism is hindering the teaching of literacy skills. Again in talking about technologies the assumption is that this includes computer and other technologies but not Braille. The Australian Braille Authority (1999) agrees, suggesting that technology teaches listening skills as opposed to the desired reading skills. It would appear to be the case that there is a continuum of technologies, ranging from those that require significant interaction with the person and the development of skills, like Braille, on one end. On the other may be text readers, or talking books, which can be accessed passively and do not require the development of skills to any great extent. Another school of researchers have taken a favourable view of the potential of technology (again, assuming this to be technologies other than Braille) and suggest that it is a viable mechanism to support BVI learning. Abner and Lahm (2002) argue that it is not assistive technologies that are the problem; it is the inability of students
Page 12

BLIND AID
to access them that is causing standards to fall. Results from their study of Kentucky (US) BVI teachers suggest that students limited access to assistive technologies is the primary issue. A further issue is the lack of education available to teachers regarding provision of dynamic training, incorporating assistive technologies. This is seen as directly influencing the student access problem with many teachers not trained, aware, or confident in employing assistive technologies in educational settings. Abner and Lahm (2002) suggest that teacher training and certification is vital. More also needs to be done within educational settings to develop awareness of the power of assistive technologies among teachers, school boards and policy makers. Further, according to Abner and Lahm, educators must take an administrative perspective of keeping thorough records of the technologies and their training and students training and access requirements. Technologies for learning One specific technology that appears to assist BVI students, and learners generally, is the newer generation of digital talking books. Lockerby et al. (2006) conducted a pilot study examining the use of the talking books created with the DAISY (Digital Accessible Information SYstem) standard. The 3-year study found that most participants found the books easy to use while some thought parts were confusing and responded that training was necessary to gain the most benefit from the books. DAISY type talking books are available on CDs that can be read on specialised players or on computers. Participants in the Lockerby et al. (2006) study reported favourably on the navigational capabilities of the books. Users expressed a preference for the players over use of the books via computers, possibly indicating a desire to fit in with their sighted peers and not stand out as different. A recurring theme, however, was that some thought that the relatively high cost of players, such as the Victor Reader Pro player, would prevent many BVI people from using the devices. The study involved participants of all age levels and the use of the system for social, educational and employment-related activities. The importance of the use of talking books has been taken up by the U.S. National Library Service (NLS) for the Blind and Physically Handicapped, and is reported by Taylor (2004) in a paper examining the new initiative. Taylor reports on the NLS
Page 13

BLIND AID
initiative to replace all tape based books with digital talking books (DTB). Taylor argued that the new format is an important advance as it allows the creation of DTBs of varying degrees of complexity, and gives users greater flexibility in using the books with the capacity to set bookmarks, highlight portions of text and conduct keyword searches. Such capacity will, according to Taylor, enhance the use of talking books for students, recreational users and people in the workforce. In addition, NLS is trialling a system of Internet delivery of digital audio magazines. Stevens et al. (1997) investigated Mathtalk technology, a project that has developed multimodal interaction (using algebra earcons) to allow BVI students to access and interpret mathematics material. Employing a visual and auditory format, the key to the technology is its ability to understand algebra notation. In particular, the active and passive elements of visual and listening reading respectively, are built into the system to facilitate the mathematical function when using the system. Two positive themes were identified from the analysis that the system provided compensation for lack of external memory and provision of control over information flow. Through identifying these themes, Stevens et al. (1997) argued that the technology can turn a passive listener into an active reader and provide the user fast and accurate control over complex information. Hence, this technology potentially provides insight into the possibilities of developing multimodal mechanisms to facilitate active literacy skills among BVI students. Access to education facilities as well as technologies is a current issue that is facing many BVI students. In Australia, the ability of tertiary BVI students to access education has been poor, with many complaints from students at many universities (BCA, 2003). The concerns relate to the ability to access services in a format that is relevant to their learning needs. This has left many students depressed, with low selfesteem concerning their learning. A further concern is the limited support services provided at many tertiary institutions, resulting in a self-service approach, which unfortunately does not suit all students. In particular, access to course materials and practical classes is hindered by students being forced to use cheaper systems of access, a result of budget reductions. Another outcome of budget reductions has been the reluctance to outsource design of services to specialists, resulting in inferior access.

Page 14

BLIND AID
Teacher training Teacher ability is another area of concern in facilitating the learning requirements of BVI students. As a result of minimal or no training, teachers are forced to teach disabled students without fully understanding their needs or the best methods to facilitate their learning (BCA, 2005; Gale, 2001; Hehir, 2002). Ensuring education providers are given the opportunity to learn relevant skills to provide individualised learning programs is vital to solving this problem. In the Australian context Gale (2001) and BCA (2005) found that the number of itinerant teachers of Braille was low and cannot possibly cover the required scope of teaching. This suggests that specific training not only of BVI educators but also of general teachers is vital to fulfilling the supply requirement. Moreover, specific training is crucial to developing a comprehensive understanding of, and commitment to, the Braille code amongst teachers. BCA (2005) argue that if teachers have appropriate training they will take a proactive and confident approach to teaching Braille, and that all primary and secondary teachers should be given Braille instruction as part of their college training. Further, the development of professional Braille training credentials not only for teachers but also for teaching support staff is necessary to support the learning process for BVI students (Gale, 2001).

Page 15

BLIND AID

3. BLOCK DIAGRAM AND ITS DESCRIPTION

1. Braille Sensor:
In this project we use 6 push buttons in a 2x3 matrix. When the buttons are pressed against the Braille, the buttons corresponding to the bumps on the Braille will be pushed. The push button design not only makes our project more simple and elegant, it also makes it more affordable to the blind people.
Page 16

BLIND AID
Since our product is targeted to blind people who didnt master the Braille reading, we assumed they are new to the blind walking stick as well. Therefore, we attached an IR sensor to detect whether there is any object close to the user, in hope to reduce the chance of any unfortunate collisions. The horizontal and vertical spacing between dot centers within a Braille cell is approximately 0.1 inches (2.5 mm); the blank space between dots on adjacent cells is approximately 0.15 inches (3.75 mm) horizontally and 0.2 inches (5.0 mm) vertically.

2. Microcontroller (P89V51RD2):
This project uses an 8 bit microcontroller which receives the binary data input from the switches and it decodes the input and according to the key pressed it identifies the letter now the file corresponding to the letter is already stored in the memory card which holds all the wav files that is to be played. The microcontroller continuously scans all the switches. If it detects any key press event then it sets the corresponding bits and once the speak key is pressed the exact letter corresponding to the key pressed is decoded and the file name of the particular letter is sent to the WAV player serially. The microcontroller is programmed using the C code.

3. WAV player:
The WAV player plays wav files from memory card giving CD quality sound output. The board is controlled from an external microcontroller which sends simple ASCII string telling board what to play. The board is a tiny Audio-Sound module that can play back pre-stored audio files such as voice and music from a micro-SD memory card. The module supports 8 bit mono uncompress audio files having sampling rate of 44100Hz (44.1Khz). By using the free available software tool, any audio file(WAV, MP3, PCM, etc) can be easily converted to supported format. The compact board takes minimal board space of just 3x6cm and is ideal for any application that required embedded audio. The board is controlled through simple serial commands. Board is a very flexible, compact and low cost embedded audio solution for any applications.

4. Multiplexer:
The microcontroller communicates serially with the WAV player, The microcontroller also sends the Braille letters to Computer but the microcontroller just
Page 17

BLIND AID
has a single serial port hence it is not able to transmit data to both of them simultaneously so when there is a need of communication with the wav player the Connection with the PC must be disabled similarly when there is a need of communication with the PC the connection to the wav player must be disabled this can be done by using the multiplexer the multiplexer helps in selecting the channel with the help of enable pins so we have used IC 74ls244 which is acting as a Multiplexer.

5. Headphone
The output of the WAV player is an electrical signal which can be converted into sound signal with the help of a transducer i.e. nothing but the headphone.

6. Amplifier
The amplitude of the output signal obtained from the WAV player is

very low hence it is not able to play the sound in the loudspeaker hence it is necessary to amplify the sound to the required level hence we use an audio amplifier IC LM1895 which amplifies the sound signal to the required level for driving the loudspeaker.

Page 18

BLIND AID

4. Circuit Diagram and its Description


4.1 Circuit Diagram:

Page 19

BLIND AID

4.2 Circuit Description:


The push button switches connected to PORT 1 acts as the Braille sensor where the switches connected to port 1.0 to Port 1.5 corresponds to the dot 1 to dot 6 respectively. The switch connected to port 1.6 is used for speak i.e. this switch when
Page 20

BLIND AID
pressed will play the sound of the actual alphabet that is pressed. The switch connected to port 1.7 is used to clear the entered command that is if a wrong switch is pressed we can clear the stored value by clicking this switch. The microcontroller used in this circuit is P89V51RD2 from Philips it plays a very important role it is necessary for continuously scanning the switches and the obstacle sensors. It generates the appropriate output signal for the buzzer and the WAV player in accordance to the received input signal. The WAV player receives the inputs serially from the microcontroller at the baud rate of 9600bps and plays the file that is stored in the memory card that has the file name which is similar to the received command from the microcontroller. Since there is a single serial port (i.e. RXD and TXD) but there is a necessity of communicating serially with both WAV player and the computer hence there should be device which should connect the microcontroller to WAV player while sending the file name to WAV player and the microcontroller should be connected to the computer while communicating with the computer. For this purpose we have used two buffers which can be selected according the connection required i.e. the buffer connected to the PC will be disabled while communicating with the WAV player and similarly the buffer connected to the WAV player will be disabled while communicating with the Computer. The IC 74LS244 is used for this purpose which has 8 buffers among them we are using only two buffers as shown in the circuit diagram. The buzzer is connected to port 0.0 the buzzer generates a sound when a switch is pressed this is useful to know that whether a key is pressed or not. The obstacle detection sensor is connected to Port 0.1 and the select switch is used select the walking mode or learning mode. The walking mode when enabled only then the obstacle detection sensor will be monitored. When a obstacle detection sensor is obstructed, a stop sound is generated from the sensor.

5. HARDWARE DESCRIPTION
5.1 Microcontroller P89V51RD2:

Page 21

BLIND AID
The P89V51RD2 is an 80C51 microcontroller with 64 kB Flash and 1024 bytes of data RAM. A key feature of the P89V51RD2 is its X2 mode option. The design engineer can choose to run the application with the conventional 80C51 clock rate (12 clocks per machine cycle) or select the X2 mode (6 clocks per machine cycle) to achieve twice the throughput at the same clock frequency. Another way to benefit from this feature is to keep the same performance by reducing the clock frequency by half, thus dramatically reducing the EMI. The Flash program memory supports both parallel programming and in serial In-System Programming (ISP). Parallel programming mode offers gang-programming at high speed, reducing programming costs and time to market. ISP allows a device to be reprogrammed in the end product under software control. The capability to field/update the application firmware makes a wide range of applications possible. The P89V51RD2 is also In-Application Programmable (IAP), allowing the Flash program memory to be reconfigured even while the application is running. Features:

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

80C51 Central Processing Unit 5 V Operating voltage from 0 to 40 MHz 64 kB of on-chip Flash program memory with ISP (In-System Programming) and IAP (In-Application Programming) Supports 12-clock (default) or 6-clock mode selection via software or ISP SPI (Serial Peripheral Interface) and enhanced UART PCA (Programmable Counter Array) with PWM and Capture/Compare functions Four 8-bit I/O ports with three high-current Port 1 pins (16 mA each) Three 16-bit timers/counters Programmable Watchdog timer (WDT) Eight interrupt sources with four priority levels Second DPTR register Low EMI mode (ALE inhibit) TTL- and CMOS-compatible logic levels
Page 22

BLIND AID
5.1.1 Pin Configuration of 89V51RD2:

5.1.2 Block diagram:

Page 23

BLIND AID

5.1.3 Pin Details:


Page 24

BLIND AID
89V51RD2 is 40 pin IC with four ports. Pin diagram of microcontroller is shown in Fig. VCC - Supply voltage. . VSS - Ground.

Port 0 Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance inputs. Port 0 may also be configured to be the multiplexed low order address/data bus during accesses to external program and data memory. In this mode P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming, and outputs the code bytes during program verification. External pull-ups are required during program verification.

Port 1 Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order address bytes during Flash programming and verification.

Port 2 Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that uses 16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pull-ups when emitting 1s. During accesses to external data memory that uses 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.

Port 3
Page 25

BLIND AID
Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source Current (IIL) because of the pull-ups. Port 3 also serves the functions of various special features of the AT89V51RD2 as listed: P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD (serial input port) TXD (serial output port) INT0 (external interrupt 0) INT1 (external interrupt 1) T0 (timer 0 external input) T1 (timer 1 external input) WR (external data memory write strobe) RD (external data memory read strobe)

Port 3 also receives some control signals for Flash programming and verification. RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device.

ALE/ PROG Address Latch Enable output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation ALE is emitted at a constant rate of 1/6 the oscillator frequency, and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external Data Memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.

PSEN Program Store Enable is the read strobe to external program memory. When the 89V51RD2FA is executing code from external program memory, PSEN is activated twice
Page 26

BLIND AID
each machine cycle, except that two PSEN activations are skipped during each access to external data memory.

EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP) during Flash programming, for parts that require 12volt VPP.

5.1.4 Oscillator and Clock Details:

XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2 Output from the inverting oscillator amplifier.

5.1.5 Transmission in 89V51RD2: : 89V51RD2 has a serial data communication circuit that uses register SBUF to hold data. Register SCON controls data communication. Register PCON controls data rates. Pins RxD (p3.0) and TxD(3.1) connect to serial data network. SBUF is physically two registers, one is writing only i.e. to hold data to be transmitted out of microcontroller via TxD. The other is read only and holds received data from an external transmitting source via RxD.

Whenever a data byte is transmitted T1 flag is set and so program is interrupted to transmit another byte of data. The main program is interrupted only serial port interrupt is 1E SFR is enable. The data transmission steps are:
Page 27

BLIND AID
Initially the T1 flag is reset. Data to be transmitted must be written into SBUF. As soon as data is transmitted the T1 flag is set and main program is interrupted to

execute ISR. In the ISR T1 flag is reset .another data is written in SBUF register.

5.2 WAV Player


Board plays wav files from memory card giving CD quality sound output. The board is controlled from an external microcontroller or PC which sends simple ASCII string telling board what to play. The board is a tiny Audio-Sound module that can play back pre-stored audio files such as voice and music from a micro-SD memory card. The module supports 8 bit mono uncompress audio files having sampling rate of 44100Hz (44.1Khz). By using the free available software tool, any audio file(WAV, MP3, PCM, etc) can be easily converted to supported format. The compact board takes minimal board space of just 3x6cm and is ideal for any application that required embedded audio. The board is controlled through simple serial commands. Board is a very flexible, compact and low cost embedded audio solution for any applications. It accepts any micro SD memory card from 128MB to 32GB. These memory cards are available at very low cost due to wide use in mobile phones.

5.2.1 Features
Low cost module for all embedded audio-sound applications Plays high quality audio of 44.1 Khz Can interface with any microcontroller or PC Serial port Accepts any Micro SD Card from 128MB to 32GB which is FAT16 or FAT32 formatted Simple to use and low cost Play indicating Status LED Compact size measuring only 3cm x 6cm

Page 28

BLIND AID
5.2.2 Applications

General purpose embedded audio and sound applications All voice annunciator systems. Automobile, Parking radar, GPS navigation systems Elevator, Security, Access-Control and Warning devices. Intelligent home automation and domestic applications Robotics and Industrial Control Traffic facilities: Toll gates, parking lots. Toys, learning tools, talking books and all gaming sound effects. MP3 player like simple devices

5.2.3 Control Commands:


Page 29

BLIND AID
Following are the commands you can use to control the board, Commands and response are simple ASCII strings you can send from microcontroller or write directly in terminal.

5.2.4 LED Behaviour: There is a red led on board which has following meaning:

Page 30

BLIND AID
5.3 IC BEL 1895(Amplifier IC):

Page 31

BLIND AID
5.4 IC 74LS244:
These octal buffers and line drivers are designed specifically to improve both the performance and density of three-state memory address drivers, clock drivers, and busoriented receivers and transmitters. The designer has a choice of selected combinations of inverting and noninverting outputs, symmetrical, active-low output-control (G)\ inputs, and complementary output-control (G and G\) inputs.

Features 3-State Outputs Drive Bus Lines or Buffer Memory Address Registers PNP Inputs Reduce DC Loading Hysteresis at Inputs Improves Noise Margins

IC Pin Diagram:

Page 32

BLIND AID
1. PCB DESIGNING

8.1PCB DESIGNING: PCB FABRICATION: Printed circuit boards, or PCBs, form the core of electronic equipment domestic and industrial. Some of the areas where PCBs are intensively used are computers, process control, telecommunications and instrumentation. MANUFATCURING: The manufacturing process consists of two methods; print and etch, and print, plate and etch. The single sided PCBs are usually made using the print and etch method. The double sided plate through hole (PTH) boards are made by the print plate and etch method. The production of multi layer boards uses both the methods. The inner layers are printed and etch while the outer layers are produced by print, plate and etch after pressing the inner layers. PANELISATION: Here the schematic transformed in to the working positive/negative films. The circuit is repeated conveniently to accommodate economically as many circuits as possible in a panel, which can be operated in every sequence of subsequent steps in the PCB process. This is called penalization. For the PTH boards, the next operation is drilling. DRILLING: PCB drilling is a state of the art operation. Very small holes are drilled with high speed CNC drilling machines, giving a wall finish with less or no smear or epoxy, required for void free through hole plating. ETCHING: Once a multiplayer board is drilled and electro less copper deposited, the image available in the form of a film is transferred on to the outside by photo printing using a dry film printing process. The boards are then electrolytic plated on to the circuit pattern with copper and tin. The tin-plated deposit serves an etch resist when copper
Page 33

BLIND AID
in the unwanted area is removed by the conveyors spray etching machines with chemical etch ants. The etching machines are attached to an automatic dosing equipment, which analyses and controls etch ants concentrations 8.2: Design Rule: Rules followed while selecting artwork symbol are, 1. Minimum spacing between conductor and pad should be 0 .35 mm in 1:1 scale. 2. Minimum spacing between parallel conductors should be 0.4 mm in 1:1 scale. 3. The area of non-PTH solder pad should not be less than (5 sq.mm.). 4. The width of current carrying conductors should be determined for maximum temperature, rise of 20 C. General art work rules: 1. When there is higher conductor density assumes the conductors parallel to any one of the edge of the board 2. When conductors have to be placed in other direction preference should be given to the 45 direction or to the 30 / 60 direction. 3. Whenever there is sufficient space available the conductors can be run in any direction so as to achieve sorted possible interconnection. 4. As far as possible, design and the conductor on the solder pad. Conductor forming sharp internal angles must be avoided. 5. When a member of conductor has to run between two pads the conductor lines are run perpendicular w.r.to the center-to-center line of pair of pads. 6. Equally distributed spacing is to be provided when three or more conductors run along a direction and / or between two pads. 7. Minimum spacing is provided when three or more lines run along a direction and / or between two pads.

Page 34

BLIND AID
8. The diameter of solder pad should be approximately 8 times the drilled hole diameter. 8.3: TESTING: Cold Test: 1. The first step was to carry out the visual inspection of the PCB. This means to check any short or cut in the tracks on PCB. Find any missing pads if any where found on it. We did mechanical repair of the same. 2. The second step involved the continuity testing. This means to check that the current is flowing through all the tracks. 3. Thirdly testing solder of socket crystal & reset circuitry. Test Result [1] Give VCC and GND to microcontroller. [2] Check voltage between 18 & 19 pins (XTAL 1, XTAL 2). It should be 2.5. [3] Check available voltage pin 3.0-1.4. If all these voltage are coming then the microcontroller is working properly. [4] Check VCC and GND of LCD & write a RTN for display any message on LCD if the message does not come check the supply again also check the data lines for any opens or short. C Testing Initially the C is given the power supply. All the respective ports and port pins were checked when the signals were proper, it means that all the C signal were correct. If these signals are not proper, we can check the signals from VCC ground, reset, circuit respectively. Even after the above test if the signals are not proper it means that the purchased CPU is not functioning properly & must be thrown. 1. We can put latch and memory in their respective sockets we wrote a small program for the same then checked for numbers on port pin.
Page 35

BLIND AID
2. For the transmission of data stored in memory of C. Various parameters of communication port such as parity, data type baud rate were checked before the transmission. 3. Accepting the data next step was to check that all the devices that are connected and the program that was written to accept the data from the C is successful or not then the further modifications were done in the program.

Page 36

BLIND AID
1. ARTWORK AND LAYOUT The fig. below shows the layout of Microcontroller PCB

The fig. below shows the layout of buffer IC 74LS244

Page 37

BLIND AID
The fig. below shows the layout of buffer Amplifier IC:

Page 38

BLIND AID 1. SOFTWARE DESCRIPTION


The software part of the project can be divided into two parts: i. Software in Computer ii. Software in Microcontroller

7.1 Software in Computer:


All the outset the application requirements were studied and analysis and design were carried out. The development platform and software tool were identified as Visual Basic 6.0 (As Front-End) and Access (As Back-End) database. Using visual programming, object are manipulated directly and also due to the feature of fast and easy prototyping and GUI building visual basic 6.0 as used. In the system analysis and design part, data is processed using query techniques and study of the existing system.The detail of the programming steps followed and important clauses incorporated in the screen are described in documents. 7.1.1 Why Visual Basic Programming Using visual programming objects are manipulated directly, By

Highlighting; point and cliking specific properties can relate to physical appearance (color, shading, fonts, size and so on). Most widely used objects oriented, graphical programming language for window development are: Visual Basic Power Builder Forms 5.0 / 6.0 We have selected one of the most widely used object oriented, graphical programming language for window development Visual Basic. Selection of visual basic based on following strengths: Fast and easy prototyping and GUI building. Fully functional, real window application building.

Page 39

BLIND AID
Excellent DDE and DDL support and client OLE. MDI support. Easy Dialog Box Construction. Easy Menu Generation supporting Short cut key. 7.1.2 Introduction of Visual Basic Visual Basic Editions: Visual Basic is available in three versions, each generate to meet a specific set of development requirement. The visual basic learning edition. The professional edition. The enterprise edition. 7.1.3 Visual Basic and Database Visual Basic can be used to build very complex application. Visual Basic effective software that can perform all essential management function. It can be used to: Create data table and store data in them. Edit data records. Retrieve data selectively from stored records to provide specific information. Prepare printed information retrieval reports. Perform calculation. Create screens that can interact with users. Visual Basic provides a wide verity of data access alternatives, for working with local and remote database, including enterprise level three-tiered client/server application.

Page 40

BLIND AID

Visual Basic Forms: Form1: frmcomminit

Public PortNo As Integer

Private Sub cmdComok_Click() If cmbComselect.ListIndex = -1 Then MsgBox "Please select the COM Port Number" Else PortNo = cmbComselect.ListIndex + 1 MsgBox "The COM port selected is" & Str(PortNo) Unload Me frmmain.Show End If End Sub Private Sub Form_Load() cmbComselect.AddItem ("COM 1") cmbComselect.AddItem ("COM 2") cmbComselect.AddItem ("COM 3") cmbComselect.AddItem ("COM 4")
Page 41

BLIND AID
cmbComselect.AddItem ("COM 5") cmbComselect.AddItem ("COM 6") cmbComselect.AddItem ("COM 7") cmbComselect.AddItem ("COM 8") cmbComselect.AddItem ("COM 9") cmbComselect.AddItem ("COM 10") End Sub

Page 42

BLIND AID

Form2: frmmain

CODING: Option Explicit Dim receive As String Dim receive_array() As Byte Private Sub Form_Load() 'settings for the serial port initialisation MSComm1.Settings = "9600,N,8,1" MSComm1.CommPort = frmComminit.PortNo
Page 43

BLIND AID
MSComm1.PortOpen = True MSComm1.RThreshold = 2 imgbraillechart.Picture = LoadPicture(App.Path & "\braillechart.jpg") 'initially blank circles are shown clearfields End Sub Private Sub clearfields() imgdot1.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot2.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot3.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot4.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot5.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot6.Picture = LoadPicture(App.Path & "\nofill.jpg") imgdot1on.Picture = LoadPicture("") imgdot2on.Picture = LoadPicture("") imgdot3on.Picture = LoadPicture("") imgdot4on.Picture = LoadPicture("") imgdot5on.Picture = LoadPicture("") imgdot6on.Picture = LoadPicture("") End Sub Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then receive = MSComm1.Input receive_array = StrConv(receive, vbFromUnicode) If (Chr(receive_array(0))) = "D" Then Select Case (Chr(receive_array(1))) Case "1" imgdot1on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "2" imgdot2on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "3" imgdot3on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "4" imgdot4on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "5" imgdot5on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "6" imgdot6on.Picture = LoadPicture(App.Path & "\redfill.jpg") Case "C" clearfields Case "I"
Page 44

BLIND AID
clearfields End Select Else If (Chr(receive_array(0))) = "V" Then lblData.Caption = lblData & Chr(receive_array(1)) clearfields End If End If End If End Sub

Page 45

BLIND AID
ALGORITHM: Intialise the serial port Enable the buffer used for the WAV player and disable the buffer used for the computer and transmit the following commands 1. 2. 3. X (to disable the repeat loop of the WAV player) Pst\r (to play the start file) Pyd\r (to play that your device is started)

Scan the all the switches If any of the dot switch is pressed the bit corresponding to the particular dot is set and D and the number is sent to the computer If the clear switch is pressed then the stored value of the memory holding the set values of the braille switches is cleared to 0 If the speak switch is pressed then the value stored in the memory location is used to obtain the actual data that is stored in the array. Now the obtained data can be either valid or Invalid if the data is invalid then the command Pinv\r is sent to the WAV player but if the key pressed is valid then the letters P and the alphabet and \r is sent to the WAV player the microcontroller also sends the V and the corresponding alphabet to the computer. If the toggle switch is enabled for the obstacle only then monitor the obstacle detection sensor and if the toggle switch is enabled and the obstacle detection sensor is also obstructed then the microcontroller sends Pobs\r to the WAV player to inform the person that an obstacle is detected

Page 46

BLIND AID
FLOW CHART FLOW CHART OF PROJECT:

Flowchart of scanning the Braille switches


Page 47

BLIND AID

SOFTWARE IN MICROCONTROLLER
Page 48

BLIND AID
11.1 INTRODUCTION TO KEIL MICRO VISION (IDE) Keil an ARM Company makes C compilers, macro assemblers, real-time kernels, debuggers, simulators, integrated environments, evaluation boards, and emulators for ARM7/ARM9/Cortex-M3, XC16x/C16x/ST10, 251, and 8051 MCU families. Keil development tools for the 8051 Microcontroller Architecture support every level of software developer from the professional applications engineer to the student just learning about embedded software development. When starting a new project, simply select the microcontroller you use from the Device Database and the Vision IDE sets all compiler, assembler, linker, and memory options for you. Keil is a cross compiler. So first we have to understand the concept of compilers and cross compilers. After then we shall learn how to work with keil.

11.2 CONCEPT OF COMPILER Compilers are programs used to convert a High Level Language to object code. Desktop compilers produce an output object code for the underlying microprocessor, but not for other microprocessors. I.E the programs written in one of the HLL like C will compile the code to run on the system for a particular processor like x86 (underlying microprocessor in the computer). For example compilers for Dos platform is different from the Compilers for Unix platform So if one wants to define a compiler then compiler is a program that translates source code into object code. The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instruction. See there is a bit little difference between compiler and an interpreter. Interpreter just interprets whole program at a time while compiler analyses and execute each line of source code in succession, without looking at the entire program. The advantage of interpreters is that they can execute a program immediately. Secondly programs produced by compilers run much faster than the same programs executed by an interpreter. However compilers require some time before an executable program emerges. Now as compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language. 11.3 CONCEPT OF CROSS COMPILER
Page 49

BLIND AID
A cross compiler is similar to the compilers but we write a program for the target processor (like 8051 and its derivatives) on the host processors (like computer of x86). It means being in one environment you are writing a code for another environment is called cross development. And the compiler used for cross development is called cross compiler. So the definition of cross compiler is a compiler that runs on one computer but produces object code for a different type of computer.

11.4 KEIL C CROSS COMPILER Keil is a German based Software development company. It provides several development tools like IDE (Integrated Development environment) Project Manager Simulator Debugger C Cross Compiler, Cross Assembler, Locator/Linker

The Keil ARM tool kit includes three main tools, assembler, compiler and linker. An assembler is used to assemble the ARM assembly program. A compiler is used to compile the C source code into an object file. A linker is used to create an absolute object module suitable for our in-circuit emulator.

11.5 Building an Application in Vision2 To build (compile, assemble, and link) an application in Vision2, you must: 1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2). 2. Select Project - Rebuild all target files or Build target.Vision2 compiles, assembles, and links the files in your project.

11.6 Creating Your Own Application in Vision2 To create a new project in Vision2, you must: 1. Select Project - New Project. 2. Select a directory and enter the name of the project file. 3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device from the Device Database.
Page 50

BLIND AID
4. Create source files to add to the project. 5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and add the source files to the project. 6. Select Project - Options and set the tool options. Note when you select the target device from the Device Database all special options are set automatically. You typically only need to configure the memory map of your target hardware. Default memory model settings are optimal for most applications. 7. Select Project - Rebuild all target files or Build target.

11.7 Debugging an Application in Vision2 To debug an application created using Vision2, you must: 1. Select Debug - Start/Stop Debug Session. 2. Use the Step toolbar buttons to single-step through your program. You may enter G, main in the Output Window to execute to the main C function. 3. Open the Serial Window using the Serial #1 button on the toolbar. Debug your program using standard options like Step, Go, Break, and so on.

11.8 Starting Vision2 and Creating a Project Vision2 is a standard Windows application and started by clicking on the program icon. To create a new project file select from the Vision2 menu Project New Project. This opens a standard Windows dialog that asks you for the new project file name. We suggest that you use a separate folder for each project. You can simply use the icon Create New Folder in this dialog to get a new empty folder. Then select this folder and enter the file name for the new project, i.e. Project1. Vision2 creates a new project file with the name PROJECT1.UV2 which contains a default target and file group name. You can see these names in the Project.

11.9 Window Files.


Page 51

BLIND AID
Now use from the menu Project Select Device for Target and select a CPU for your project. The Select Device dialog box shows the Vision2 device data base. Just select the microcontroller you use. We are using for our examples the Philips 80C51RD+ CPU. This selection sets necessary tool Options for the 80C51RD+ device and simplifies in this way the tool Configuration.

11.10 Building Projects and Creating a HEX Files Typical, the tool settings under Options Target are all you need to start a new application. You may translate all source files and line the application with a click on the Build Target toolbar icon. When you build an application with syntax errors, Vision2 will display errors and warning messages in the Output Window Build page. A double click on a message line opens the source file on the correct location in a Vision2 editor window. Once you have successfully generated your application you can start debugging. After you have tested your application, it is required to create an Intel HEX file to download the software into an EPROM programmer or simulator. Vision2 creates HEX files with each build process when Create HEX files under Options for Target Output is enabled. You may start your PROM programming utility after the make process when you specify the program under the option Run User Program #1.

11.11 CPU Simulation Vision2 simulates up to 16 Mbytes of memory from which areas can be mapped for read, write, or code execution access. The Vision2 simulator traps and reports illegal memory accesses. In addition to memory mapping, the simulator also provides support for the integrated peripherals of the various 8051 derivatives. The on-chip peripherals of the CPU you have selected are configured from the Device. 11.12 Database selection

Page 52

BLIND AID
You have made when you create your project target. Refer to page 58 for more Information about selecting a device. You may select and display the on-chip peripheral components using the Debug menu. You can also change the aspects of each peripheral using the controls in the dialog boxes.

11.13 Start Debugging You start the debug mode of Vision2 with the Debug Start/Stop Debug Session Command. Depending on the Options for Target Debug Configuration, Vision2 will load the application program and run the startup code Vision2 saves the editor screen layout and restores the screen layout of the last debug session. If the program execution stops, Vision2 opens an editor window with the source text or shows CPU instructions in the disassembly window. The next executable statement is marked with a yellow arrow. During debugging, most editor features are still available. For example, you can use the find command or correct program errors. Program source text of your application is shown in the same windows. The Vision2 debug mode differs from the edit mode in the following aspects: _ The Debug Menu and Debug Commands described on page 28 are available. The additional debug windows are discussed in the following. _ The project structure or tool parameters cannot be modified. All build commands are disabled.

11.14 Disassembly Window The Disassembly window shows your target program as mixed source and assembly program or just assembly code. A trace history of previously executed instructions may be displayed with Debug View Trace Records. To enable the trace history, set Debug Enable/Disable Trace Recording.

Page 53

BLIND AID
If you select the Disassembly Window as the active window all program step commands work on CPU instruction level rather than program source lines. You can select a text line and set or modify code breakpoints using toolbar buttons or the context menu commands.

You may use the dialog Debug Inline Assembly to modify the CPU instructions. That allows you to correct mistakes or to make temporary changes to the target program you are debugging. Numerous example programs are included to help you get started with the most popular embedded 8051 devices. The Keil Vision Debugger accurately simulates on-chip peripherals (IC, CAN, UART, SPI, Interrupts, I/O Ports, A/D Converter, D/A Converter, and PWM Modules) of your 8051 device. Simulation helps you understand hardware configurations and avoids time wasted on setup problems. Additionally, with simulation, you can write and test applications before target hardware is available.

Page 54

BLIND AID
MICROCONTROLLER CODE: /*Program for Braille Voice Synthesizer*/ /*-------------include files------------------------*/ #include <reg51.h> #include <stdio.h> #include "serial.h" /*-------------port definitions------------------------*/ sbit dot1=P1^0; sbit dot2=P1^1; sbit dot3=P1^2; sbit dot4=P1^3; sbit dot5=P1^4; sbit dot6=P1^5; sbit speak=P1^6; sbit clear=P1^7; sbit buzzer=P0^0; sbit obstacle=P0^1; sbit select=P0^2; sbit sel_pc = P0^3; sbit sel_wav = P0^4; /*----------global variable declarations---------------*/ unsigned char bdata BrailleIn=0x00; sbit BrailleIn0 = BrailleIn^0; sbit BrailleIn1 = BrailleIn^1; sbit BrailleIn2 = BrailleIn^2; sbit BrailleIn3 = BrailleIn^3; sbit BrailleIn4 = BrailleIn^4; sbit BrailleIn5 = BrailleIn^5; bit flag=0; code unsigned char maptable[64]="$a$b$k$l$cif$msp$e$h$o$r$djg$ntq$$$$$u$v$$$$$x$$$$$$$z$$$$ w$$y$$";

Page 55

BLIND AID
/*---fucntion for generating delay in milli seconds----*/ /*input arguments : delay required in msec*/ void delay_ms(unsigned int msec) { unsigned int i,j for(i=0;i<msec;i++) for(j=0;j<1275;j++); } void key_scan(void) { flag=0; BrailleIn=0x00; buzzer=1; while(flag==0) { if(dot1==0) { delay_ms(32); if(dot1==0) { BrailleIn0=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("D1"); sel_pc=1; sel_wav=0; while(!dot1); buzzer=1; } } if(dot2==0) { delay_ms(32); if(dot2==0) { BrailleIn1=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10);
Page 56

BLIND AID
send_string("D2"); sel_pc=1; sel_wav=0; while(!dot2); buzzer=1; } } if(dot3==0) { delay_ms(32); if(dot3==0) { BrailleIn2=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("D3"); sel_pc=1; sel_wav=0; while(!dot3); buzzer=1; } } if(dot4==0) { delay_ms(32); if(dot4==0) { BrailleIn3=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("D4"); sel_pc=1; sel_wav=0; while(!dot4); buzzer=1; } } if(dot5==0) { delay_ms(32);
Page 57

BLIND AID
if(dot5==0) { BrailleIn4=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("D5"); sel_pc=1; sel_wav=0; while(!dot5); buzzer=1; } } if(dot6==0) { delay_ms(32); if(dot6==0) { BrailleIn5=1; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("D6"); sel_pc=1; sel_wav=0; while(!dot6); buzzer=1; } } if(clear==0) { delay_ms(32); if(clear==0) { BrailleIn=0x00; buzzer=0; sel_pc=0; sel_wav=1; delay_ms(10); send_string("DC"); sel_pc=1; sel_wav=0;
Page 58

BLIND AID
while(!clear); buzzer=1; } } if(speak==0) { delay_ms(32); if(speak==0) { flag=1; buzzer=0; while(!speak); buzzer=1; } } if(select==0) { if(obstacle==0) { sel_pc=1; sel_wav=0; delay_ms(10); send_string("Pobs\r\0"); delay_ms(1000); } } }//while }//fucntion /*-------------main program starts here-------------*/ void main(void) { serial_init(9600); buzzer=1; sel_pc=1; sel_wav=0; delay_ms(300); ser_tx('X'); delay_ms(100); send_string("Pst\r\0"); delay_ms(16000); send_string("Pyd\r\0"); delay_ms(4000); P1=0xff;
Page 59

BLIND AID
while(1) { key_scan(); if (maptable[BrailleIn]=='$') { sel_pc=0; sel_wav=1; delay_ms(10); send_string("DI"); sel_pc=1; sel_wav=0; delay_ms(10); send_string("Pinv\r\0"); } else { sel_pc=0; sel_wav=1; delay_ms(10); ser_tx('V'); ser_tx(maptable[BrailleIn]); sel_pc=1; sel_wav=0; delay_ms(10); ser_tx('P'); ser_tx(maptable[BrailleIn]); ser_tx('\r'); } delay_ms(1000); } }//main

BILLS OF MATERIAL

Page 60

BLIND AID
SR NO COMPONENT QTY COST

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

WAV PLAYER MICROCONTROLLER P89V51RD2 Memory Card(2GB) REGULATOR ICS RESISTORS CAPACITORS IC 74LS244 IC 1895 SWITCHES IC SOCKET PCB DEVELOPMENT Sharp Obstacle Detection Sensor CRYSTAL SWITCHES Speaker Relimate connectors Battery Miscellaneous

1 1 1 1 20 20 1 1 12 3 3 1 1 6 1 5 2

2000 200 250 10 20 80 50 60 300 40 1000 750 5 60 30 100 50 300

TOTAL

5305

ADVANTAGES AND DISADVANTAGES

Page 61

BLIND AID

APPLICATIONS AND FUTURE SCOPE:


Page 62

BLIND AID

BIBLIOGRAPHY

Page 63

S-ar putea să vă placă și