Professional Documents
Culture Documents
V Sem - MICROCONTROLLER
V Sem - MICROCONTROLLER
MICRO CONTROLLER
UNIT- 2
1. EXPLAIN THE ADDRESSING MODELS OF 8051.
Addressing mode என்ப� address கள் instruction - ல் எவ்வா� �றிப்ப�டப�கின்ற� என்பைதக்
�றிக்�ம்.
A. Immediate addressing
Instruction ன�ன் operand field, immediate data – ைவ ெகாண்��க்�ம்.
Immediate data -க்� �ன்பாக # (Hash) symbol – ல் இ�க்�ம்.
Example : MOV @ R1, A A –ன் value internal RAM – ன் R1 –க்� move ஆகின்ற�.
Example : MOV @ A,DPTR RAM –ன் 16 BIT VALUE – ைய A -க்� move ஆகின்ற�.
E. Index addressing
Program memory –ன் look up table –ஐ read ெசய்யப்பயன்ப�கின்ற�.
Assembler என்ப� Assembly Language –ைய Machine Language –ஆக மாற்�கின்ற software.
Assembler –க்� direction –ைன assembler directives அள�க்கின்ற�.
Assembler directives ஒ� pseudo instruction மற்�ம் micro controller –லால் execute ெசய்ய��யா�.
a) ORG : ORGIN
PROGRAM -ன் ெதாடக்கத்ைத �ட்�க்காட்�கின்ற�.
EXAMPLE : ORG 4100 H
b) EQU : EQUATE
வல� �றத்தில் உள்ள Value –ைய இட� �ற label –க்� அழிகின்ற�.
EXAMPLE : TEN EQU 10
c) DB : DEFINE BYTE
8 bit data கான memory –ைய �ன்பதி� ெசய்கின்ற�.
Example : DB 45 H
d) DW : DEFINE WORD
16 bit data கான memory –ைய �ன்பதி� ெசய்கின்ற�.
e) END
PROGRAM –ன் ��ைவ �றிப்ப��கின்ற�.
1
2
2
3
UNIT-3
4. EXPLAIN ABOUT PROGRAMMING STEPS OF 8051 TIMER / COUNTER.
MC 8051 – ஆன� T0, T1 என்கிற 16 bit ெகாண்ட இரண்� Timer / Counter Register கைள ெகாண்ட�.
Step 1: TMOD Register �லம் Timer (or) Counter என்பைத�ம், எந்த mode –ல் ெசயலாற்ற ேவண்�ம்
என்பைத�ம், hardware அல்ல� software –ல் ெசயலாற்ற ேவண்�ம் என்பைத�ம் select ெசய்ய
ேவண்�ம்.
Step 2: Starting value –ைய TLX and THX –ல் Load ெசய்ய�ம்.
Step 3: Overflow flag bit –ஐ clear ெசய்ய�ம். (CLR TFX)
Step 4: Timer ெசயைல ஆரம்ப�க்க�ம் SET TRX
Step 5: Register –ன் மதிப்� Timer ஆக இ�ந்தால் ஒவ்ெவா� Machine cycle –ன் ேபா�ம், counter –ஆக
இ�ந்தால் இரண்�ரண்� Machine cycle –ன் ேபா�ம் ஒவ்ெவான்றாக கைடசி மதிப்ைப ேநாக்கி
அதிக�க்�ம்.
Step 6: கைடசி மதிப்ைப அைடந்த�டன், Register –ல் 0000H என overflow ஆகி, TFX set ஆ�ம்.
Step 7: Timer –ைய stop ெசய்ய�ம். (CLR TRX)
Step 8: தி�ம்ப�ம் ெசய்ய ேவண்�ம் என்றால் Step 2 –லி�ந்� ெசய்ய�ம்.
𝑖𝑓, 𝐼𝐼𝑖𝑚𝑒𝑟 1, 𝑥→1
𝐼𝐼𝑖𝑚𝑒𝑟 0, 𝑥→0
Timer 1 Timer 0
M1
Mode –ஐ select ெசய்கின்ற�.
M0
Mode M1 M0
0 0 0 13 bit Timer / Counter
1 0 1 16 bit Timer / Counter
2 1 0 8 bit (auto reload) Timer / Counter
3 1 1 8 bit (split) Timer / Counter
TCON
D7 D6 D5 D4 D3 D2 D1 D0
MSB LSB
TF1 TR1 TFO TRO IE1 IT1 IE0 IT0
TFX : Timer X overflow flag Timer / Counter overflow ஆ�ம்ேபா� hardware �ைறய�ல்
set ஆ�ம்.
TRX : Timer X Run Control bit Software �ைறய�ல் set / clear அதாவ� ON / OFF என்ப�
ெகாள்ளலாம்.
IEX : External interrupt X Hardware �ைறய�ல் set ஆ�ம், process ஆரம்பமான�டன்
தானாகாேவ clear ஆ�ம்.
ITX : Interrupt X control bit Software �ைறய�ல் set clear ெசய்� ெகாள்ளலாம்.
3
4
Mode 0 :
Mode 0 ஆன� 13 bit timer ஆ�ம். இ� THX –ல் 8 bit –ம் மற்�ம் TLX –ல் Lower 5 bit –ம் ெகாண்ட�.
Timer ஆன� ெசயலாற்றி அதற்��ய மதிப்� ஒவ்ெவான்றாக அதிக�த்� அைனத்�ம் ‘1’ ஆக மாறி
ப�ன்� ‘0’ என overflow ஆ�ம் ேபா� TCON –ல் TFX set உள்ள ஆ�ம்.
Mode 1 :
Mode 1 ஆன� 16 bit timer ஆ�ம். இ� THX –ல் 8 bit –ம் மற்�ம் TLX –ல் Lower 8 bit –ம் ெகாண்ட�.
Timer ஆன� ெசயலாற்றி அதற்��ய மதிப்� ஒவ்ெவான்றாக அதிக�த்� அைனத்�ம் ‘1’ ஆக மாறி
ப�ன்� ‘0’ என overflow ஆ�ம் ேபா� TCON –ல் TFX set உள்ள ஆ�ம்.
Mode 2 :
Mode 2 ஆன� 8 bit auto reload ஆ�ம்.
இதில் TL –ஆன� overflow ஆன ப�ன்� TF0 SET ஆவதில்ைல, TH0 –ல் உள்ள மதிப்� TL0 –ல்
தானாக தி�ம்ப Load ஆ�ம்.
TH1 -ன் மதிப்ைப software �ைறய�ல் preset ெசய்� ெகாள்ளலாம்
Mode 3 :
Mode 3 ஒ� split timer mode ஆ�ம்.
Timer 0 - ல் உள்ள TLO & THO இரண்� தன�தன�யான 8 Bit Timer / Counter ஆக ெசயலாற்�ம்
Timer 0 - க்� உ�ய control signal TLO –க்�ம்
Timer 1 - க்� உ�ய control signal THO – க்�ம் ெசயல்ப�ம்.
Timer 1 - ஆன� mode 3 – ல் ெசயலாற்ற ��யா�.
4
5
UNIT-4
IMPORTANCE OF TI FLAG
a) Transmit ெசய்ய ேவண்�ய character –ைய SBUF –ல் write ெசய்ய�ம்.
b) First Start bit ெசல்�ம்.
c) ப�ன்� 8 bit –கள் ஒவ்ெவான்றாக ெசல்�ம்.
d) Stop bit ெசன்ற�டன் TI Flag set ஆ�ம்.
e) Transmit ெசய்ய ேவண்�ய அ�த்த character –ைய SBUF –ல் load ெசய்ய ேவண்�ம்.
f) TI –ைய clear ெசய்ய�ம். (CLR TR1)
RECIEVER
1. TMOD Register �லமாக Timer 1 select ெசய்ய�ம்.
2. SMOD bit –ைய double band rate –க்� த�ந்தவா� Set / Clear ெசய்ய�ம்.
3. SCON register �லம் reception mode –ஐ select ெசய்ய�ம்.
4. TIMER 1 -ன் ெதாடக்க மதிப்ப�ைன TH1 AND TL1 –ல் LOAD ெசய்ய�ம்.
5. RI flag –ைய Clear ெசய்ய�ம். (CLR RI)
6. TIMER ெசயைல ஆரம்ப�க்க�ம். (SETB TR1)
7. REN Bit –ைய set ெசய்� reception ெசயைல ஆரம்ப�க்க�ம். (SETB REN)
8. “WAIT JNB TI WAIT” instruction �லம் RI flag –ைய கண்காண�க்க ேவண்�ம்.
Recieve ஆன�ம் RI flag set ஆ�ம்.
9. SBUF –ல் Recieve ஆன character –ைய ேவ� memory –க்� ெகாண்� ெசல்ல�ம்.
10. தி�ம்ப�ம் Receive ெசய்ய step 4 –லி�ந்� ெசய்ய�ம்.
IMPORTANCE OF RI FLAG
a) First Start bit receive ெசய்யப�கின்ற�.
b) ப�ன்� 8 bit –ம் ஒவ்ெவான்றாக receive ெசய்யப்பட்� SBUF –ல் கிைடக்�ம்.
c) Stop bit Recieve ஆன�ம் RI Set ஆ�ம்.
d) SBUF –ல் உள்ள data memory அல்ல� register –க்� ெகாண்� ெசல்ல�ம் இல்ைலெயன்றால்
அ�த்த character receives ஆன�ம் அ� அழிந்�வ��ம்.
e) RI –ைய clear ெசய்ய�ம். (CLR TR1)
5
6
SM0:
Serial port mode select ெசய்கிற bit
SM1:
SM2 : IF SM2 = 1 Mode 2 & Mode 3 –ல் RB8 bit ‘0’ என இ�ந்தால் RI set ஆகா�.
Mode 1 -ல் stop bit ‘0’ என இ�ந்தால் RI set ஆகா�.
If SM2 = 0 Mode 0 –ல் கண்�ப்பாக இ�க்க ேவண்�ம்.
D7 D6 D5 D4 D3 D2 D1 D0 LSB
MSB
SMOD _ _ _ GF1 GF0 PD IDL
_
Reserve ெசய்யப்பட்�ள்ள�
_
_
D7 D6 D5 D4 D3 D2 D1 D0 LSB
MSB
EA X X ES ET1 EX1 ETO EXO
6
7
X : Reserve ெசய்யப்பட்�ள்ள�.
X : Reserve ெசய்யப்பட்�ள்ள�.
ES : Serial port interrupt - ைய enable or disable ெசய்கின்ற�.
ET1 : Timer overflow flag - ைய enable or disable ெசய்கின்ற�.
EX1 : External interrupt 1 - ைய enable or disable ெசய்கின்ற�.
ETO : Timer 0 overflow flag - ைய enable or disable ெசய்கின்ற�.
EXO : External interrupt 0 - ைய enable or disable ெசய்கின்ற�.
1 Enable 0 disable
D7 D6 D5 D4 D3 D2 D1 D0 LSB
MSB
X X X PS PT1 PX1 PTO PXO
X : Reserve ெசய்யப்பட்�ள்ள�.
X : Reserve ெசய்யப்பட்�ள்ள�.
X : Reserve ெசய்யப்பட்�ள்ள�.
PS : If PS = 1 High priority தன்ைம�டன் ெசயலாற்�ம். (Serial port interrupt)
PT1 : If PT1 = 1 High priority தன்ைம�டன் ெசயலாற்�ம். (Timer 1 interrupt)
PX1 : If PX1 = 1 High priority தன்ைம�டன் ெசயலாற்�ம். (External interrupt )
PT0 : If PT0 = 1 High priority தன்ைம�டன் ெசயலாற்�ம். (Timer 0 interrupt)
7
8
UNIT-5
11. DRAW THE BLOCK DIAGRAM OF 8255 AND EXPLAIN.
IC 8255 ஆன� Input output ports, data bus buffer, Read
/ write control logic ேபான்ற ப�த்கைளக் ெகாண்ட�.
Input / Output ports
Port A, Port B என்ற 8 bit மற்�ம் Port C ( upper), Port
C (Lower) என்ற இரண்� 4 bit port கைள ெகாண்ட�.
Port கள் இரண்� ப��வாக ப��க்கப்ப�கின்ற�.
Group A ஆன� port A (PA7 – PA0) மற்�ம் Port C
upper (PC7 – PC4) ெகாண்ட�.
Group B ஆன� port B (PB7 – PB0) மற்�ம் Port C
lower (PC3 – PC0) ெகாண்ட�.
�𝐴𝐴𝑆𝑆
���: 𝑖𝑓 𝐴𝐴𝑆𝑆
���� = 0 → 8255 –க்�ம் microcontroller –க்�ம் communicate நைடெப�ம்.
A1 , A0 8255 ம் port மற்�ம் control register ைய select ெசய்கின்ற�.
Internal address
Selected Device
A1 A0
0 0 Port A
0 1 Port B
1 0 Port C
1 1 Control word register
D7 D6 D5 D4 D3 D2 D1 D0
GROUP A GROUP B
8
9
i) Mode 0:
Port A (Output)
அைனத்� Port கைள�ம் input அல்ல� output program
Port C upper (Input) ெசய்யலாம்.
8255 A
Port C lower (Output) Control signal இல்லாமல் data ைவ port –ல் read மற்�ம்
Port B (Output) write ெசய்� ெகாள்ளலாம்.
9
10
ெகாள்ளலாம்.
இைணக்கப்பட்�ள்ள�.
8255 ஆன� ஒ� external memory ேபான்�
ெசயல்ப�ம். MOVX என்ற instruction �லம் 8255 ஐ
access ெசய்� ெகாள்ளலாம்.
10
11
UNIT-1
16. DRAW AND EXPLAIN THE BLOCK DIAGRAM OF 8051.
DIP –ல் 40 pin கைள ெகாண்ட 8 bit microcontroller ACCUMULATOR
8 Bit register, A register
I/O
Arithmetic &
என�ம்
LATCH
SPECIAL
PORT 0
PSW
Logic Unit FUNCTION A0 – A7
8 BIT
REGISTER
RAM
D0 – D7 அைழக்கப்ப�ம்.
addres
Instruction –ன�ன்
LATCH
PORT 1
b
A B
I/O
operand register ஆக
ROM
PC DPTR I/O ெசயல்ப�ம்.
LATCH
PORT 2
DPH
DPL
A8 – A15
B – Register
I/O Multiply and divide
16 BIT address bus
ெசயல்கள�ல்
LATCH
PORT 3
INTERRUPT
COUNTER
SERIAL பயன்ப�கிற�. Scratch
����
EA DATA
பயன்ப�த்தலாம்.
register
INTERRUPTS
Bit
XTAL1
TIMERS
IE
XTAL2 Register
RESET DATA BUFFERS Bank - 3 IP Program status word
MEMORY PCON
VCC
CONTROL Register
SBUF Program –ன் status
Bank - 2
SCON
தகவல்கைள
GND
Register TCON
Bank - 1
TMOD ெகாண்��க்�ம்.
TLO
Register
Bank - 0 THO Internal RAM –ன்
–ல்
TL1
TH1
நான்� bank
INTERNAL RAM structure ேதைவயான Register
bank –ைய select
Stacle pointer ெசய்கின்ற�
Stack memory –ைய �ட்�காட்�வதற்� பயன்ப�கின்ற�.
Stack pointer Reset ெசய்�ம் ேபா� 07H என�ம், store ெசய்�ம் ேபா� 08H என�ம்
இ�க்�ம்.
11
12
EPROM
IC chip –�ள் EPROM அைமயப்ெபற்றி�க்�ம்.
RAM
Internal ஆக 128 byte கைள ெகாண்ட�.
ALU
Arithmetic & logical ெசயல்கைள 8 bit –ல் ெசய்கின்ற�.
SFR Register Bank
Special function Register 80 H �தல் FFH வைர இ�க்�ம்.
Program Counter
16 bit Register
அ�த்� Execute ஆகேவண்�ய instruction ன�ன் memory address ைய ெகாண்��க்�ம்.
இதற்� internal address கிைடயா�.
12
13
பயன்ப�கின்ற�.
ALE / Program (Address Latch Enable)
o External memory ைய access ெசய்�ம் ேபா� high (1) level-ல்
இ�க்�ம்.
����
𝑬𝑨 : External Access
𝑖𝑓 ����
𝐸𝐴𝐴 = 0 → 𝐸𝑥𝑡𝑒𝑟𝑛𝑎𝑙 𝑚𝑒𝑚𝑜𝑟𝑦 𝑎𝑐𝑐𝑒𝑠𝑠
𝑖𝑓 ����
𝐸𝐴𝐴 = 1 → 𝐼𝐼𝑛𝑡𝑒𝑟𝑛𝑎𝑙 𝑚𝑒𝑚𝑜𝑟𝑦 𝑎𝑐𝑐𝑒𝑠𝑠
��������
𝑷𝑺𝑬𝑵 (Program Store Enable)
Low level –ல் external program memory –ைய read ெசல்கின்ற�.
XTAL1 & XTAL2
Clock frequency –ைய உ�வாக்�கின்ற oscillator
PORT 2
Bidirectional -ல் தன்ைம �ைறய�ல் 8 bit I / O port
Bit மற்�ம் byte �ைறய�ல் address ெசய்�ம் தன்ைம ெகாண்ட�.
SFR –ல் தன� address ெகாண்ட�.
External memory ைய access ெசய்�ம் ேபா� higher order address (A8 – A15) அதன் வழிேய
ெசல்�ம்.
PORT 3 (P 0.0 - P 0.7)
Bidirectional -ல் தன்ைம �ைறய�ல் 8 bit I / O port
Bit மற்�ம் byte �ைறய�ல் address ெசய்�ம் தன்ைம ெகாண்ட�.
SFR –ல் தன� address ெகாண்ட�.
கீ ேழ உள்ள ேவ� ெசயல்க�க்�ம் பயன்ப�கின்ற�.
P3. 0 R × D (Serial Input Port)
P3. 1 T × D (Serial Output Port)
P3. 2 �������
𝐼𝐼𝐼𝐼𝐼𝐼𝑂𝑂 (External Interrupt 0)
P3. 3 �������
𝐼𝐼𝐼𝐼𝐼𝐼1 (External Interrupt 1)
P3. 4 To (Timer / Counter 0)
P3. 5 T1 (Timer / Counter 1)
����� (External data memory write strobe)
P3.6 𝑊𝑊𝐼𝐼
P3. 7 ����
𝐼𝐼𝑅𝑅 (External data memory read strobe)
80 H 128 BYTES
ROM
Write ெசய்ய இயலா�, read மட்�ம் ெசய்யலாம்.
64 K byte –ல் internal மற்�ம் external memory இ�க்கலாம்.
𝑖𝑓 ����
𝐸𝐴𝐴 = 1 → (0000 𝐻 − 0𝑂𝑂𝑂𝑂𝑂𝑂 𝐻) → 𝐼𝐼𝐼𝐼𝐼𝐼𝐸𝐼𝐼𝐼𝐼𝐴𝐴𝐿 𝑚𝑒𝑚𝑜𝑟𝑦 − ல் இ�ந்� 𝑓𝑒𝑡𝑐ℎ ெசய்யப்ப�ம்.
→ (1000 𝐻 − 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝐻) → 𝐸𝑋𝐼𝐼𝐸𝐼𝐼𝐼𝐼𝐴𝐴𝐿 𝑚𝑒𝑚𝑜𝑟𝑦 − ல் இ�ந்� 𝑓𝑒𝑡𝑐ℎ ெசய்யப்ப�ம்.
𝑖𝑓 ����
𝐸𝐴𝐴 = 0 → 𝐸xternal memory ல் இ�ந்� 𝑓𝑒𝑡𝑐ℎ ெசய்யப்ப�ம்.
�������� External memory-ன் read stobe signal –ஆக ெசயல்ப�ம்.
𝑃𝑆𝑆𝐸𝐼𝐼
RAM
Internal, External என தன�தன� ப�திகைளக் ெகாண்ட�.
Internal
a) 128 byte lower internal RAM ( 00 H – 7F H)
b) 128 byte upper SFR ( 80 H – FF H) என இரண்� ப�திகைளக் ெகாண்ட�.
எட்� எட்� Register கைள ெகாண்ட நான்� bank ( 0 – 31) 32 location கள�ல் உள்ள�.
32-47 16 location கள் bit and byte –ல் address ெசய்யலாம்.
அ�த்� 80 location –ன் byte –ல் மட்�ேம address ெசய்யலாம்.
Lower internal RAM ைய direct and indirect �ைறய�ல் access ெசய்யலாம்.
21 SFR உள்ள�, இதில் 11 SFR –ைய bit மற்�ம் byte –�ம் 10 ைய byte –�ம் address
ெசய்யலாம்.
14
15
D7 D6 D5 D4 D3 D2 D1 D0 LSB
MSB
CY AC FO RS1 RS0 OV - P
��வ�ன் Quotient (ஈ.�) A ய��ம், Remainder (ம� தி) B Register –�ம் store ஆகின்ற�.
5. What is an assembler.
Assembler என்ப� assembly language program –கைள machine language ஆக மா�கின்ற software
ஆ�ம்.
D7 D6 D5 D4 D3 D2 D1 D0
GROUP A GROUP B
D7 D6 D5 D4 D3 D2 D1 D0 LSB
MSB
0 X X X S/R
SET = 1
BSR
NOT USED RESET = 0
MODE (DON ’ T CARE)
BIT select
000 001 010 011 100 101 110 111
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7
16