Design Specifications For Function generator using 8086 Microprocessor

  1. This system is used to generate a Sine/Triangular/Square waveform
  2. Frequencies ranging from 10Hz to 99KHz.
  3. Voltage is between 0-10V.
  4. Desired frequency can be entered by pressing buttons provided on the keypad.For eg. To Generate a Square Waveform of Frequency 83.25 KHz the user has to press Square, Followed by 10K Key- 8 Times, 1K Key – 3 Times, 100 Key –2 Times 10 Key- 5 Times.
  5. When generate is pressed then the selected waveform of that frequency will be generated. If the user wants to change the waveform, he just has to press the desired Button
  6. User Interface:

DAC 0830 & OP-AMP LM741

The fundamental purpose of any D to A converter is to provide an accurate analog output quantity which is representative of the applied digital word. In the case of the DAC0830, the output, IOUT1, is a current directly proportional to the product of the applied reference voltage and the digital input word. For application versatility, a second output, IOUT2, is provided as a current directly proportional to the complement of the digital input.

Assumptions made

  1. When user enters the frequency value, corresponding count value is calculated which is loaded in 8254. The count value generated is rounded off to the nearest integer and hence the frequency generated is an approximate value with an accuracy more than 95%.
  2. User cannot choose to select two different waveforms before pressing the generate key. If user wants to change the waveform, the user can do so while the signal is being produced, by pressing the relevant key.
  3. Once the signal of specific frequency is generated, the user cannot change the frequency. For doing the same, user has to reset the system.

Components Used:

  1. 8086(Microprocessor)
  2. 8284(ClockGenerator)
  3. 74LS373 X 3 (Octal latch)
  4. 74LS245 X 2 (Octal buffers)
  5. 2732 X 2 (ROM – 4K)
  6. 6116 X 2 (RAM – 2K)
  7. 74LS04 (Not Gate)
  8. 7432 (Or Gate)
  9. 74LS138(3:8Decoder)
  10. 8255 (Programmable Peripheral Interface)
  11. DAC0830 (Digital – Analog converter)
  12. OpAmp LM741
  13. KEYPAD(3 x 3)
  14. 8254 (Programmable Interval timer)

Github repo for design and code:

The project was done in the partial fulfilment of the course EEE/INSTR F241 – Microprocessor Programming & Interfacing at BITS- Pilani KK Birla Goa Campus 

Leave a Reply

Related Posts


Air Mouse | Gesture Mouse | STM32 + IMU + Bluetooth | DIY Wireless Mouse

Motivation Since the invention of the computer mouse interface, there have been no major changes in its design. The way we interact with computers through keyboards and mice are still the same as they first Read more…


Advanced Compilers for Embedded Systems

Authors: Mandar Gogate, Abhishek Taur Abstract The increasing complexity and high-efficiency needs of embedded systems call for the need of better compiler design for embedded systems. Conventional compilers don’t meet the basic needs of embedded systems Read more…


Review of Clustering Protocols in Wireless Sensor Networks

Abstract Over the past decade, there has been significant rise in the interests for the potential utilization of wireless sensor networks(WSNs) in an extensive variety of applications and it has turned into a widely researched Read more…

%d bloggers like this: