Bài giảng Kỹ thuật Vi xử lý - Chương 5: Thiết kế hệ vi xử lý (Phần 2)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật Vi xử lý - Chương 5: Thiết kế hệ vi xử lý (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ky_thuat_vi_xu_ly_chuong_5_thiet_ke_he_vi_xu_ly_ph.ppt
Nội dung text: Bài giảng Kỹ thuật Vi xử lý - Chương 5: Thiết kế hệ vi xử lý (Phần 2)
- Chương 5 Thiết kế hệ vi xử lý 1
- 5.6 Giao tiếp bộ hiển thị (Display) 5.6.2 Giao tiếp với LCD 2
- LCD controller 3
- LCD 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) 4
- LCD 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 5
- Pin 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 8 before writing any data to the LCD
- LCD 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) 9
- Alphanumeric LCD Interfacing Microcontroller • Pinout E communications – 8 data pins D7:D0 R/W bus RS – RS: Data or Command DB7–DB0 Register Select 8 LCD – R/W: Read or Write controller – E: Enable (Latch data) LCD Module • 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. 10 – Alphanumeric characters are sent in ASCII format.
- 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 11 commands or data sent to LCD
- Interfacing LCD with 8051 8051 LM015 P3.4 RW P3.5 E P3.3 RS P1.7-P1.0 D7-D0 12
- Interfacing LCD with 8051 In main program: Command and Data Write Routines . . . DATA: MOV P1, A ; A is ascii data MOV A, COMMAND SETB P3.3 ; RS=1 data CALL CMD CLR P3.4 ; RW=0 for write CALL DELAY SETB P3.5 ; H->L pulse on E MOV A, ANOTHER_CMD CLR P3.5 CALL CMD RET CALL DELAY MOV A, #’A’ CMD: MOV P1, A ; A has the cmd word CALL DATA CLR P3.3 ; RS=0 for cmd CALL DELAY CLR P3.4 ; RW=0 for write MOV A, #’B’ SETB P3.5 ; H->L pulse on E CALL DATA CLR P3.5 CALL DELAY . RET 13
- LCD 18
- LCD Timing 19
- 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 22
- Stepper Motor Diagram 23
- Stepper Motor Step Angles 24
- 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 25
- Stepper Motor Types – Variable Reluctance – Permanent Magnet 26
- Variable Reluctance Motors 27
- 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 28
- Variable Reluctance Motors • To rotate we excite the 3 windings in sequence – W1 - 1001001001001001001001001 – W2 - 0100100100100100100100100 – W3 - 0010010010010010010010010 • This gives two full revolutions 29
- Unipolar Motors 30
- Unipolar Motors • To rotate we excite the 2 windings in sequence – W1a - 1000100010001000100010001 – W1b - 0010001000100010001000100 – W2a - 0100010001000100010001000 – W2b - 0001000100010001000100010 • This gives two full revolutions 31
- Basic Actuation Wave Forms 32
- 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 33
- Enhanced Waveforms • better torque • more precise control 34
- 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 35
- Motor Control Circuits • For low current options the ULN200x family of Darlington Arrays will drive the windings direct. 36
- Interfacing to Stepper Motors 37
- Example (với 80x86) 38
- Giao tiếp với DAC 39
- Digital to Analog Converter 48
- Example – Step Ramp 49
- Giao tiếp với ADC 50
- Analog to Digital 62
- Vin Range 63
- Timing Diagram for ADC transaction 64
- CLK IN and CLK R 65
- External clocking scheme for ADC0804 66
- Assembly for ADC0804 67
- Interfacing ADC 68
- Example (với 80x86) 69
- 8051 giao tiếp với ADC 70
- Temperature Sensor 71
- ADC0808/0809: multi-(analog)-channel 72
- Pin interface on ADC0808/0809 73
- Timing Diagram for the ADC0809 74
- Schematic for 8051 connected to ADC0809 up to 8 inputs selects input 75
- Reference voltages 76
- Single-ended vs Differential Pair input 77
- Digital vs Analog Ground 78
- Assembly for ADC0809 79
- Assembly for ADC0809 (2/2) 80
- Printer Connection 81
- IO Base Address for LPT 82
- Printer’s Ports 83
- Useful Links • • • • rs.php 84