Question 10.1: With XTAL = 11.0592 MHz, find the TH1 value needed to have t...
With XTAL = 11.0592 MHz, find the TH1 value needed to have the following baud rates. (a) 9600 (b) 2400 (c) 1200
Question Data is a breakdown of the data given in the question above.
- XTAL = 11.0592 MHz
The blue check mark means that this solution has been answered and checked by an expert. This guarantees that the final answer is accurate.
Learn more on how we answer questions.
Learn more on how we answer questions.
Final Answer
The machine cycle frequency of 8051 = 11.0592 / 12 = 921.6 kHz, and 921.6 kHz / 32 = 28,800 Hz is frequency by UART to timer 1 to set baud rate.
(a) 28,800 / 3 = 9600 where -3 = FD (hex) is loaded into TH1
(b) 28,800 / 12 = 2400 where -12 = F4 (hex) is loaded into TH1
(c) 28,800 / 24 = 1200 where -24 = E8 (hex) is loaded into TH1
Notice that dividing 1/12 of the crystal frequency by 32 is the default
value upon activation of the 8051 RESET pin.
11.0592
\fbox {XTAL oscillator} \rightarrow \fbox {÷12} \overset{Machine \ cycle\ freq}{\underset{921.6 \ KHZ \\ }{\longrightarrow}} \fbox {÷ 32 By UART} \overset{28800 \ HZ}{\underset{To \ timer \ 1 \\ To \ set \ the \\ Baud \ rate}{\longrightarrow}}
TH1 (Hex) | TH1 (Decimal) |
Baud Rate |
FD | -3 | 9600 |
FA | -6 | 4800 |
F4 | -12^{\nearrow ^{\text{TF is set to 1 every 12 ticks, so it functions as a frequency divider}} } | 2400 |
E8 | -24 | 1200 |
Related Answered Questions
Question: 10.4
Verified Answer:
MOV TMOD,#20H ;timer 1,mode 2(auto reloa...
Question: 10.3
Verified Answer:
MOV TMOD,#20H ;timer 1,mode 2(auto reload...
Question: 10.2
Verified Answer:
MOV TMOD,#20H ;timer 1,mode 2(auto reloa...
Question: 10.7
Verified Answer:
With XTAL = 11.0592 and SMOD = 1, we have timer fr...
Question: 10.21
Verified Answer:
#include <reg51.h>
sfr SBUF1=0xC1;
sfr SCON1...
Question: 10.20
Verified Answer:
#include <reg51.h>
sfr SBUF1=0xC1;
sfr SCON1...
Question: 10.19
Verified Answer:
#include <reg51.h>
sbit MYSW=P2^0; ...
Question: 10.17
Verified Answer:
#include <reg51.h>
void main(void){
unsigned...
Question: 10.16
Verified Answer:
#include <reg51.h>
void SerTx(unsigned char)...
Question: 10.15
Verified Answer:
#include <reg51.h>
void main(void){
TMOD=0x2...