AT89C52-33AI Atmel, AT89C52-33AI Datasheet - Page 11
![IC 8051 MCU FLASH 8K 44TQFP](/photos/6/70/67042/313-44-tqfp_sml.jpg)
AT89C52-33AI
Manufacturer Part Number
AT89C52-33AI
Description
IC 8051 MCU FLASH 8K 44TQFP
Manufacturer
Atmel
Series
89Cr
Datasheet
1.AT89C52-24AC.pdf
(24 pages)
Specifications of AT89C52-33AI
Core Processor
8051
Core Size
8-Bit
Speed
33MHz
Connectivity
SIO, UART/USART
Number Of I /o
32
Program Memory Size
8KB (8K x 8)
Program Memory Type
FLASH
Ram Size
256 x 8
Voltage - Supply (vcc/vdd)
4 V ~ 6 V
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
44-TQFP, 44-VQFP
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-
Data Converters
-
Peripherals
-
Programmable Clock Out
A 50% duty cycle clock can be programmed to come out on
P1.0, as shown in Figure 5. This pin, besides being a regu-
lar I/O pin, has two alter nate fu nctio ns. It can b e
programmed to input the external clock for Timer/Counter 2
or to output a 50% duty cycle clock ranging from 61 Hz to 4
MHz at a 16 MHz operating frequency.
To configure the Timer/Counter 2 as a clock generator, bit
C/T2 (T2CON.1) must be cleared and bit T2OE (T2MOD.1)
must be set. Bit TR2 (T2CON.2) starts and stops the timer.
The clock-out frequency depends on the oscillator fre-
quency and the reload value of Timer 2 capture registers
(RCAP2H, RCAP2L), as shown in the following equation.
In the clock-out mode, Timer 2 roll-overs will not generate
an interrupt. This behavior is similar to when Timer 2 is
used as a baud-rate generator. It is possible to use Timer 2
as a baud-rate generator and a clock generator simulta-
neously. Note, however, that the baud-rate and clock-out
frequencies cannot be determined independently from one
another since they both use RCAP2H and RCAP2L.
UART
The UART in the AT89C52 operates the same way as the
UART in the AT89C51.
Interrupts
The AT89C52 has a total of six interrupt vectors: two exter-
nal interrupts (INT0 and INT1), three timer interrupts
(Timers 0, 1, and 2), and the serial port interrupt. These
interrupts are all shown in Figure 6.
Each of these interrupt sources can be individually enabled
or disabled by setting or clearing a bit in Special Function
Register IE. IE also contains a global disable bit, EA, which
disables all interrupts at once.
Note that Table shows that bit position IE.6 is unimple-
mented. In the A T89 C5 1, bit positi on IE.5 is als o
unimplemented. User software should not write 1s to these
bit positions, since they may be used in future AT89
products.
Timer 2 interrupt is generated by the logical OR of bits TF2
and EXF2 in register T2CON. Neither of these flags is
cleared by hardware when the service routine is vectored
to. In fact, the service routine may have to determine
whether it was TF2 or EXF2 that generated the interrupt,
and that bit will have to be cleared in software.
The Timer 0 and Timer 1 flags, TF0 and TF1, are set at
S5P2 of the cycle in which the timers overflow. The values
are then polled by the circuitry in the next cycle. However,
Clock-Out Frequency
=
------------------------------------------------------------------------------------------ -
4
65536
Oscillator Fequency
–
(
RCAP2H RCAP2L
,
)
the Timer 2 flag, TF2, is set at S2P2 and is polled in the
same cycle in which the timer overflows.
Table 5. Interrupt Enable (IE) Register
Figure 6. Interrupt Sources
Symbol
EA
–
ET2
ES
ET1
EX1
ET0
EX0
User software should never write 1s to unimplemented bits,
because they may be used in future AT89 products.
(MSB)
Enable Bit = 1 enables the interrupt.
Enable Bit = 0 disables the interrupt.
EA
EXF2
INT0
INT1
TF2
TF0
TF1
RI
TI
–
Position
IE.7
IE.6
IE.5
IE.4
IE.3
IE.2
IE.1
IE.0
0
1
0
1
ET2
ES
Function
Disables all interrupts. If EA = 0,
no interrupt is acknowledged. If
EA = 1, each interrupt source is
individually enabled or disabled
by setting or clearing its enable
bit.
Reserved.
Timer 2 interrupt enable bit.
Serial Port interrupt enable bit.
Timer 1 interrupt enable bit.
External interrupt 1 enable bit.
Timer 0 interrupt enable bit.
External interrupt 0 enable bit.
ET1
EX1
IE0
IE1
ET0
EX0
(LSB)
11