LAB4 – Using the 8051 Timers in polling mode Overview The purpose of this lab is to control and program the MC8051 Timers of the micro-controller in a given sequence. The program reads port 0 (P0) and outputs its value on port 1 (P1). P0 input is incremented at a controlled rate and displayed on P2. Display update takes place once at the end of a sequence including Timer0 overflow followed by Timer1 overflow. Timer0 and Timer1 are programmed using the polling mode, no interrupts. The status of TF0 and TF1 are displayed on Port 3 bit 0 (P3.0) and bit 1 (P3.1) respectively.
LAB4 – Using the 8051 Timers in polling mode
Overview
The purpose of this lab is to control and
Steps
First, configure and initialize the required parallel ports; Timer 0 to mode 1, and Timer1 to mode 1. The Main program starts at code memory address 40H, the main program only function is reading P0, updating P1 and P2, and displaying the two overflow flags on port 3 two bits.
Second, in the main program configure the two timers, Timer0 and Timer1, for Mode 1 with maximum delay time. Start Timer0, read port P0, and display its value on P1. Continue updating port P1, P2, and the status of TF0 & TF1 on P3.0 and P3.1 at the requested rate. Make sure to clear P3.0 while T0 is running and same for P3.1.
Third, configure the debugger display to include the Timer0, Timer1, P0,P1, P2, P3, and the Clock Control windows. Make sure that the Timers windows are configured for no external interrupts and no external pin clocks. The clock window can be used to control the CPU clock speed, which can help during the debugging process.
Fourth, set port 0 (P0) to the desired input value for the updating on port 1 (P1) and port 2 (P2). Run the program and monitor all displayed windows. Verify the operation of the two timers, TF0 & TF1, and the two display ports. Repeat for different initial P0 value and a varying value during the program execution.
Test and debug your program. Also document and submit your final report along with the well documented list file. You can slow the Timers and Ports update by controlling the MC clock using the clock window in the PREPHERALS selection.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps