Bài giảng Vi xử lý - Chương 5 Thiết kế hệ vi xử lý (Phần 2)

pdf 84 trang phuongnguyen 3070
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng 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:

  • pdfbai_giang_vi_xu_ly_chuong_5_thiet_ke_he_vi_xu_ly_phan_2.pdf

Nội dung text: Bài giảng Vi xử lý - Chương 5 Thiết kế hệ vi xử lý (Phần 2)

  1. Chương 5 Thiếtkế hệ vi xử lý 1
  2. 5.6 Giao tiếpbộ hiểnthị (Display) 5.6.2 Giao tiếpvớiLCD 2
  3. LCD controller 3
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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.
  9. 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
  10. Interfacing LCD with 8051 8051 LM015 P3.4 RW P3.5 E P3.3 RS P1.7-P1.0 D7-D0 12
  11. 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
  12. LCD 18
  13. LCD Timing 19
  14. 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
  15. Stepper Motor Diagram 23
  16. Stepper Motor Step Angles 24
  17. 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
  18. Stepper Motor Types – Variable Reluctance – Permanent Magnet 26
  19. Variable Reluctance Motors 27
  20. 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
  21. Variable Reluctance Motors • To rotate we excite the 3 windings in sequence ‒ W1 - 1001001001001001001001001 ‒ W2 - 0100100100100100100100100 ‒ W3 - 0010010010010010010010010 • This gives two full revolutions 29
  22. Unipolar Motors 30
  23. 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
  24. Basic Actuation Wave Forms 32
  25. 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
  26. Enhanced Waveforms • better torque • more precise control 34
  27. 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
  28. Motor Control Circuits • For low current options the ULN200x family of Darlington Arrays will drive the windings direct. 36
  29. Interfacing to Stepper Motors 37
  30. Example (với 80x86) 38
  31. Giao tiếp với DAC 39
  32. Digital to Analog Converter 48
  33. Example – Step Ramp 49
  34. Giao tiếp với ADC 50
  35. Analog to Digital 62
  36. Vin Range 63
  37. Timing Diagram for ADC transaction 64
  38. CLK IN and CLK R 65
  39. External clocking scheme for ADC0804 66
  40. Assembly for ADC0804 67
  41. Interfacing ADC 68
  42. Example (với 80x86) 69
  43. 8051 giao tiếp với ADC 70
  44. Temperature Sensor 71
  45. ADC0808/0809: multi-(analog)-channel 72
  46. Pin interface on ADC0808/0809 73
  47. Timing Diagram for the ADC0809 74
  48. Schematic for 8051 connected to ADC0809 up to 8 inputs selects input 75
  49. Reference voltages 76
  50. Single-ended vs Differential Pair input 77
  51. Digital vs Analog Ground 78
  52. Assembly for ADC0809 79
  53. Assembly for ADC0809 (2/2) 80
  54. Printer Connection 81
  55. IO Base Address for LPT 82
  56. Printer’s Ports 83
  57. Useful Links • • • • rs.php 84