Confirmation Memo

Functional Description

Original Block Diagrams and Flow Charts

Final Report (includes final block diagrams and flow charts)

 

Final Presentation

 

Assembly Language Code (8051 EMAC Microcontroller)

  • ADCIN.txt  This code gets the present speed of each motor and saves it in a register
  • DISPBACK.txt  This code is called when the vehicle is being programmed to move backward.
  • DISPFWRD.txt  This code is called when the vehicle is being programmed to move forward.
  • DISPSTAT.txt  This code is called to display the status of each motor's speed and distance traveled, along with the angle turned by the vehicle.
  • FORWARD.txt  This code controls the vehicle, making it move forward or backward based on the input distance it is given.
  • HEXTOA.txt  This code converts HEX to ASCII for the LCD.
  • KEYPAD.txt  This code controls the KEYPAD.
  • LCDPROG.txt  This code is used to initialize and control the LCD
  • MAIN.txt  The main wait loop
  • PROGLEFT.txt  This code is used when the user is programming the vehicle to turn left.
  • PROGRGHT.txt  This code is used when the user is programming the vehicle to turn right.
  • RPMDEC.txt  This code decrements the PWM duty cycle for each motor.
  • RPMINC.txt  This code increments the PWM duty cycle of each motor.
  • STARTUP.txt  This code initializes the microprocessor.
  • TIMER0.txt  This code is called when the timer 0 interrupt occurs.  It control the LCD refresh rate, and it checks the speeds of each motor then adjusts the PWM to control the speed of each motor.
  • TRNRIGHT.txt  This code control the vehicle when it is turning left or right.
 

VHDL Code (CPLD code)

  • VHDL\angle.vhd  This code calculates the angle the vehicle turns
  • VHDL\cntrl.vhd  This code controls the CPLD bus interface for the angle code.  This code allows the CPLD to interface to the 8051 EMAC bus.
  • VHDL\control.vhdThis code controls the CPLD bus interface for the distance code.  This code allows the CPLD to interface to the 8051 EMAC bus.
  • VHDL\distance.vhd  This code calculates the distance traveled by the vehicle by counting pulses from each encoder wheel on the motors.  It calculates the distance traveled for each motor.
  • VHDL\freq_counter.vhd  This code calculates the speed of each motor by calculating the frequency of each encoder on the motors.  The refresh rate is 10 Hz.