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 ...
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:
- bai_giang_vi_xu_ly_chuong_5_thiet_ke_he_vi_xu_ly_bui_minh_th.pdf