Bài giảng Vi xử lý - Chương 5: Thiết kế hệ vi xử lý - Bùi Minh Thành (Tiếp)

Tóm tắt Bài giảng Vi xử lý - Chương 5: Thiết kế hệ vi xử lý - Bùi Minh Thành (Tiếp): ...lines (DB7-DB0) are used to transfer both commands (clearing, cursor positioning, etc) and data (character to be displayed) 10 Alphanumeric LCD Interfacing • Pinout – 8 data pins D7:D0 – RS: Data or Command Register Select – R/W: Read or Write – E: Enable (Latch data) • RS – Register S... CALL DELAY . Command and Data Write Routines DATA: MOV P1, A ; A is ascii data SETB P3.3 ; RS=1 data CLR P3.4 ; RW=0 for write SETB P3.5 ; H->L pulse on E CLR P3.5 RET CMD: MOV P1, A ; A has the cmd word CLR P3.3 ; RS=0 for cmd CLR P3.4 ; RW=0 for write SETB P3.5 ; H->L pulse on E... 0010010010010010010010010 • This gives two full revolutions 30 Unipolar Motors 31 Unipolar Motors • To rotate we excite the 2 windings in sequence ‒ W1a - 1000100010001000100010001 ‒ W1b - 0010001000100010001000100 ‒ W2a - 0100010001000100010001000 ‒ W2b - 0001000100010001000100010 ...

pdf84 trang | Chia sẻ: havih72 | Lượt xem: 146 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Vi xử lý - Chương 5: Thiết kế hệ vi xử lý - Bùi Minh Thành (Tiếp), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Chương 5
Thiết kế hệ vi xử lý
25.6 Giao tiếp bộ hiển thi ̣ (Display)
5.6.2 Giao tiếp với LCD
3LCD controller
4LCD Operation
LCD is gaining popular and replacing LEDs
(7-segment ), due to
1. declining price
2. the ability to display numbers, characters, 
and graphics
3. relieving the CPU task by incorporating a 
refreshing controller
4. ease of programming for characters and 
graphics (OLED is the coming display)
5LCD Pin Descriptions
14-pin LCD module is discussed here, table 12-1 lists pin’s function, 
Fig 12-1 shows the pin positions for various LCDs
– Vcc, Vss provide +5V and ground
– Vee is used for contrast controlling
– RS (register select) is used to select the instruction command code 
register (RS = 0) or data register (RS = 1)
– LCD command codes is listed at table 12-2
– R/W (read/write) allows user to write to (R/W = 0) or read from
(R/W = 1) information
– E (enable) latch information at data pins; when data is supplied to 
data pins, a high-to-low pulse must be applied to this pin
– D0-D7 are the 8-bit data pins; send information to LCD (R/W = 0) 
and read contents of LCD internal registers (R/W = 1)
– to display letters and numbers, ASCII codes are sent while RS = 1
6
7
8Pin diagrams
– RS = 0, the command code register is selected, we can send instruction
to LCD to perform clear, shift, blink 
– when RS = 0, and R/W = 1, D7 is busy flag, when D7 = 0, LCD is ready
to receive new information; it is recommended to check the busy flag
before writing any data to the LCD
9LCD Interfacing
• Liquid Crystal Displays (LCDs) have become a cheap and 
easy way to display text for an embedded system 
– Various configurations (1 line by 20 characters upto 8 
lines by 80 characters).
• LCD needs a driving circuit to work.
• Driving circuit and LCD are often integrated into a single 
chip Hitachi LM015 can display one line of 16 characters
• The display has one register into which commands are sent 
and one register into which data to be displayed are sent
• Two registers are differentiated by the RS input
• Data lines (DB7-DB0) are used to transfer both commands 
(clearing, cursor positioning, etc) and data (character to be 
displayed)
10
Alphanumeric LCD Interfacing
• Pinout
– 8 data pins D7:D0
– RS: Data or Command 
Register Select
– R/W: Read or Write
– E: Enable (Latch data)
• RS – Register Select
– RS = 0 → Command Register
– RS = 1 → Data Register
• R/W = 0 →Write, R/W = 1 → Read
• E – Enable
– Used to latch the data present on the data pins.
• D0 – D7
– Bi-directional data/command pins. 
– Alphanumeric characters are sent in ASCII format.
E
R/W
RS
DB7–DB0
LCD 
controller
communications 
bus
Microcontroller
8
LCD Module
11
LCD Commands
• The LCD’s internal controller can accept several 
commands and modify the display accordingly. 
These commands would be things like:
– Clear screen
– Return home
– Decrement/Increment cursor
• After writing to the LCD, it takes some time for it 
to complete its internal operations. During this 
time, it will not accept any new commands or 
data.
– We need to insert time delay between any two 
commands or data sent to LCD
12
Interfacing LCD with 8051
LM015
8051
P1.7-P1.0 D7-D0
RW
RS
E
P3.4
P3.5
P3.3
13
Interfacing LCD with 8051
In main program:
. . .
MOV A, COMMAND
CALL CMD
CALL DELAY
MOV A, ANOTHER_CMD
CALL CMD
CALL DELAY
MOV A, #’A’
CALL DATA
CALL DELAY
MOV A, #’B’
CALL DATA
CALL DELAY .
Command and Data Write Routines
DATA: MOV P1, A ; A is ascii data
SETB P3.3 ; RS=1 data
CLR P3.4 ; RW=0 for write
SETB P3.5 ; H->L pulse on E
CLR P3.5
RET
CMD: MOV P1, A ; A has the cmd word
CLR P3.3 ; RS=0 for cmd
CLR P3.4 ; RW=0 for write
SETB P3.5 ; H->L pulse on E
CLR P3.5
RET
14
15
16
17
18
LCD
19
LCD Timing
20
21
22
Stepper Motors
• more accurately controlled than a normal motor 
allowing fractional turns or n revolutions to be 
easily done
• low speed, and lower torque than a comparable 
D.C. motor
• useful for precise positioning for robotics
• Servomotors require a position feedback signal 
for control
23
Stepper Motor Diagram
24
Stepper Motor Step Angles
25
Terminology
• Steps per second, RPM
– SPS = (RPM * SPR) /60
• Number of teeth
• 4-step, wave drive 4-step, 8-step
• Motor speed (SPS)
• Holding torque
26
Stepper Motor Types
–Variable Reluctance
–Permanent Magnet
27
Variable Reluctance Motors
28
Variable Reluctance Motors
• This is usually a four wire motor – the 
common wire goes to the +ve supply and 
the windings are stepped through
• Our example is a 30o motor
• The rotor has 4 poles and the stator has 6 
poles
• Example
29
Variable Reluctance Motors
• To rotate we excite the 3 windings in 
sequence
‒ W1 - 1001001001001001001001001 
‒ W2 - 0100100100100100100100100 
‒ W3 - 0010010010010010010010010
• This gives two full revolutions
30
Unipolar Motors
31
Unipolar Motors
• To rotate we excite the 2 windings in 
sequence
‒ W1a - 1000100010001000100010001 
‒ W1b - 0010001000100010001000100 
‒ W2a - 0100010001000100010001000
‒ W2b - 0001000100010001000100010 
• This gives two full revolutions
32
Basic Actuation Wave Forms
33
Unipolar Motors
• To rotate we excite the 2 windings in 
sequence
‒ W1a - 1100110011001100110011001 
‒ W1b - 0011001100110011001100110 
‒ W2a - 0110011001100110011001100 
‒ W2b - 1001100110011001100110011 
• This gives two full revolutions at 1.4 times 
greater torque but twice the power
34
Enhanced Waveforms
• better torque
• more precise control
35
Unipolar Motors
• The two sequences are not the same, so 
by combining the two you can produce half 
stepping
‒ W1a - 11000001110000011100000111 
‒ W1b - 00011100000111000001110000 
‒ W2a - 01110000011100000111000001 
‒ W2b - 00000111000001110000011100 
36
Motor Control Circuits
• For low current options the ULN200x 
family of Darlington Arrays will drive the 
windings direct.
37
Interfacing to Stepper Motors
38
Example (với 80x86)
39
Giao tiếp với DAC
40
41
42
43
44
45
46
47
48
Digital to Analog Converter
49
Example – Step Ramp
50
Giao tiếp với ADC
51
52
53
54
55
56
57
58
59
60
61
62
Analog to Digital
63
Vin Range
64
Timing Diagram for ADC transaction
65
CLK IN and CLK R
66
External clocking scheme for ADC0804
67
Assembly for ADC0804
68
Interfacing ADC
69
Example (với 80x86)
70
8051 giao tiếp với ADC
71
Temperature Sensor
72
ADC0808/0809: multi-(analog)-channel
73
Pin interface on ADC0808/0809
74
Timing Diagram for the ADC0809
75
Schematic for 8051 connected to ADC0809
up to 8 inputs selects input
76
Reference voltages
77
Single-ended vs
Differential Pair input
78
Digital vs Analog Ground
79
Assembly for ADC0809
80
Assembly for ADC0809 (2/2)
81
Printer Connection
82
IO Base Address for LPT
83
Printer’s Ports
84
Useful Links
• 
• 
• 
• 
rs.php

File đính kèm:

  • pdfbai_giang_vi_xu_ly_chuong_5_thiet_ke_he_vi_xu_ly_bui_minh_th.pdf