Thiết kế board giao tiếp (Interface Board Design)
Ch01: Giao thức ghép nối Ch02: Giao diện bus Ch03: Giao diện số Ch04: Giao diện tương tự Ch05: Vi điều khiển Ch06: Bàn phím
Bạn đang xem trước 20 trang tài liệu Thiết kế board giao tiếp (Interface Board Design), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1MÔN HỌC
Thiết kế board giao tiếp
(Interface Board Design)
By Trần Văn Hùng
Mechatronics Dept
Email: [email protected]
Tài liệu tham khảo
1. Microprofessors and microcpmputers hardware and softwware, Ronaid 
J.Tocci, Frank J.Ambrosio, Prentice Hall, 2003
2. Interfacing Sensors To The Pc, Willis J.Tompkin, Jonh G.webster, Prentice 
Hall, 1998
3. Microprocessor Interfacing techniques, R. Zaks & A. Lease, Sybex
4. Micro Processor and Interfacing, D. Hall, McGraw Hill;
5. Parallel port complete, J.Axelson, LakeViewReseach
6. Mastering Serial Communication, P.W.Gofton, Sybex
2Nội dung chương trình
n Ch01: Giao thức ghép nối 
n Ch02: Giao diện bus
n Ch03: Giao diện số
n Ch04: Giao diện tương tự
n Ch05: Vi điều khiển
n Ch06: Bàn phím
Các bài toán
1. Thiết kế mạch điều khiển ánh sáng theo chương trình định trước
2. Thiết kế mạch trang trí bằng đèn LED
3. Thiết kế mạch nhận dạng điểm phục vụ (thêm ít nhất 2IC)
4. Thiết kế mạch đo lượng mưa
5. Thiết kế mạch điều khiển nhiệt độ không khí
6. Thiết kế mạch điều khiển nhiệt độ dung dịch
7. Thiết kế mạch đồng hồ điện tử
8. Thiết kế mạch tính thời gian cho các môn điền kinh
9. Thiết kế bảng quang báo
10. Thiết kế mạch khoá điện tử
11. Thiết kế mạch điều khiển thiết bị bằng remote
12. Kết nối bàn phím máy tính với VXL, hiển thị ký tự lên LCD
13. Thiết kế mạch điều khiển Robot chạy theo qũy đạo (sd motor bước)
14. Thiết kế mạch điều khiển tốc độ động cơ DC
15. Thiết kế mạch điều khiển góc quay của môtơ, ổn tốc cho motor.
1Chương 1: Giao thức ghép nối
n Tín hiệu
n Format
n Tốc độ In/Out
n Lỗi và kiểm soát lỗi
n Bộ lệnh và trả lời
n Kịch bản
1.1 Tín hiệu
Khi thiết kế, xây dựng ghép nối máy tính, cần 
chú ý đặc biệt tới các tín hiệu theo yêu cầu:
nAnalog/Digital
nDigital: Trạng thái của sự vật, hiện tượng,…
format, mức logic,…
nAnalog: Áp/dòng, dải đo, độ phân ly, thời gian 
tác động, độ chính xác, độ lặp lại,… giá trị đo
nHơn một thiết bị? => bus/mạng hay không? 
=> dùng bit (trường) địa chỉ - tùy từng người
21.1 Tín hiệu (tiếp)
n Nếu dùng bus => Standard bus hay không (ISA, I2C, 
USB, … hay các bus trên chuẩn RS485)?
n IDE và LPT – Mode 0 cables là bus? Tại sao?
n Khoảng cách: Xa/gần => Serial, Parallel, có liên 
quan đến tốc độ
n Xa: Daisy chain cho tín hiệu hoặc nguồn cấp…
n Các tín hiệu điều khiển trạng thái
n Control signals
n Status signals
n Handshaking sighals
1.1 Tín hiệu (tiếp)
n Daisy chain
n Nối các thiết bị có khoảng cách từ vài đến vài chục m, 
output của port (modul) thứ i nối với input của i+1. Đặc 
biệt ở các Field Buses, có thể lên tới km
n Dùng cho cả tín hiệu \\ và nối tiếp, nguồn cấp, 
handshaking,…
CPU ……
……IO_0 IO_1 IO_n
31.1 Tín hiệu (tiếp)
n Tính chất vật lý của tín hiệu: là hàm của thời gian, 
mức U/I
n Direction: In/Out, chú ý về chiều của dòng điện
n Voltage/Current/Optical/Wave
n Chú ý Input Voltage
nMức điện áp: Mức áp? (TTL, CMOS, …)
n Single End (đơn cực) Differrential signal:
n Single End signed:
n Tín hiệu so với một điện thế chuẩn, thường là GND (0 Volt)
n Ví dụ: Các tín hiệu trên bus (data, add, control)
n Có n tín hiệu => có ít nhất n+1 dây dẫn
n Nhạy cảm với nhiễu, tốc độ thấp hơn so với cùng chuẩn
1.1 Tín hiệu (tiếp)
n Differential Signal: Tín hiệu vi sai
n n tín hiệu => 2*n dây dẫn ở phía thu
n (Va – Vb)>100mV=> logic 1, tùy thuộc vào chuẩn được áp dụng
n (Va – Vb) logic 0
n Thu: Nếu có hai dây có cùng kích thước, độ dài, trở kháng,… và gần 
nhau, thì mọi trên h được loại trừ => chịu được nhiễu rất tốt vì phía 
thu
n Uin = k(Va – Vb) => những thành phần giống nhau được loại bỏ
n Khoảng cách lớn, tốc độ cao.
n IC: SN75176 của TI là ví dụ
n Địa chỉ ứng dụng: USB cable, Profibus,…
+
-
A
C
B
Đơn cực
Đơn cực
Vc = k(Va – Vb)
41.1 Tín hiệu (tiếp)
n Khả năng phối hợp tải – dòng điện ra:
n Số tải
n Chiều dòng điện Sink hay Source
n Nối chung/ghép nối bus đơn giản: 3 state, Mux, Switch.
n Hot swap – hot plugible: yêu cầu Vcc và tín hiệu
n Cách ly (isolation): Relay, Opto coupler, IrLED
n Bus slot, Connecter, chuẩn, số chân (pin)
1.1 Tín hiệu (tiếp)
MCU OutportBuffer
LEDR
5V
5V
Sourse
LEDR
Sink
Hình: Sink Sourse connection
51.1 Tín hiệu (tiếp)
Hình: Open collecter
5V
1.1 Tín hiệu (tiếp)
n Connecter
n D shell: DB9, DB25,…
n DIN
n Cable
n Flat
n Coaxial,
n Shield: Cho tín hiệu hoặc 
nguồn cấp
n Twisted Pair: 5, 6
n Vi sai
n Optical Fiber Hình: Connecter
61.2 Format
n Thông tin được định dạng theo: binary/hex (ASCII)
VD: 1 số đo nhiệt độ 12 bits, dải giá trị 0 đến 9990C. Khi lưu 
trong CSDL, truyền tin:
n 12 bits (1,5 byte) tiết kiệm bộ nhớ, thời gian truyền
n ASCII: 3 characters: Dễ quản lý, kiểm soát sai, hiển thị
n Lượng tin lớn => khi trao đổi (với DAS, PLC, GPS, 
Digi-Oscillocope,…)
n Header: [tên (bản tin, gói), số thứ tự, ktự bắt tay, ktự đồng 
bộ, số ktự/byte trong gói,…] – không mang tin.
n Content: nội dung tin – mang thông tin
n Tailer: Mã bắt tay kết thúc, [mã kiểm lỗi] – không mang tin
1.2 Format (tiếp)
n Byte số liệu/character/frame: (truyền không đồng bộ, 
RS-232, RS-485, RS-422): được định dạng thành 1 
frame:
n 1 start bit = 0
n 5/6/7/8 data bit, D0 first
n [parity: Even/odd]
n 1/1.5/2 stop bit = 1
CRC16DataPID
8 bits 0 – 1023 bytes 16bits
Hình: USB data packet format
71.3 Tốc độ In/Out 
n Xuất phát từ: Nhu cầu trao đổi thông tin của hệ (tốc độ và
khoảng cách) => chọn kiểu truyền thích hợp, có liên quan đến 
tín hiệu:
n Chỉ ra các “bottle_neck”, khắc phục được => xuất hiện các “bottle 
neck” ở mức độ thấp hơn
n Phụ thuộc vào khoảng cách – tích số (k/c và tốc độ)
n Nhiễu: theo công thức của Shannon bps = BW log2(1+P/N). Với BW: 
bandwidth, P/N: tỷ số công suất tín hiệu/nhiễu
n Đường truyền: (công nghiệp) cáp đồng trục, cáp quang, wireless,…)
n Synchronous/Asynchronous
n Modulation/Demodulation…=>Tốc độ bao nhiêu kbps/kBps?
VD: LPT: SPP mode: 50…100kBps;
RS-232: 2400/4800/9600/19200/…bps
1.4 Lỗi và kiểm soát lỗi
n Khi trao đổi thông tin thường gây ra lỗi, đặc biệt 
truyền xa/chuyển đổi tín hiệu. Nhiều phương pháp 
(hardware, Software) hỗ trợ để kiểm tra:
n [Block] check sum – BCC, phần mềm: tính tổng của 
tất cả các ký tự, các byte. Kết quả có thể lấy 1 byte
n VD: ROM BIOS, Ext BIOS started @ chẵn 2K, 2 ô đầu là
mã 0x55 và 0xAA, độ dài của mảng ROM là 512 byte; 
checksum bù 2 sao cho tổng của tất cả các byte và mã 
checksum luôn bằng zero
n CRC, ECC,… vi mạch/software – subroutine
n Parity, 1 hoặc 2 chiều
n Redundancy (RAID), thừa dư
81.5 Bộ lệnh và trả lời
n Khi ghép Intelligent Devices (Computerized devices –
mouse, KB, Printer, modem, FDC, HDC, RTU…) có
nhiều tham số, chế độ hoạt động => xây dựng bộ lệnh 
(command set) và thông tin trả về (response set)
n Các câu lệnh phần mềm => bớt tín hiệu và cổng phần 
cứng
n Tập hợp các yêu cầu từ CS – command set
n Tập hợp các trả lời, trạng thái –
result/response/reaction set
n Data down/up
n Symtax of command and response (structure and 
grammar)
1.6 Kịch bản
n Liệt kê các trường 
hợp rồi có thể áp các 
phép toán xử lý tương 
ứng để đảm bảo việc 
ghép nối: không mất 
tin, thừa tin, quẩn, 
treo,…
n Thường xây dựng 
theo liểu Step List 
hoặc chart
n Timeout
n …
t
Hình: Scenario Chart
Master Slave
ACK
ACK
NACK
9Ví dụ: giao thức giữa PC và VĐK trong việc trao 
đổi dữ liệu (U, I, t0,…)
n Tín hiệu?
n Format?
n Tốc độ?
n Lỗi?
n Lệnh và trả lời?
n Kịch bản?
n ….
1.7 Bài tập
1. Viết chương trình giả lập RS-232
2. Viết chương trình để nhập ký tự trên máy tính rồi 
hiển thị ký tự lên LCD
3. Đo giá trị nhiệt độ (độ ẩm, U, I,…) rồi hiển thị lên 
máy tính (gtrị và dạng biểu đồ).
1Chương 2: Giao diện Bus
n Khái niệm về Bus ghép nối - In/Out Buses
n ISA Bus
n USB
n Philips I2C
2.1 Khái niệm về Bus ghép nối
n Là PCB (Printed Circuit Board), Cable 
(Copper/Optic), Slot, Connector…
n Nối nhiều thiết bị slave [master], dùng chung: trong 
một thời điểm chỉ có một talker – 1 hoặc nhiều 
listener
n Bus song song (n bit) hoặc nối tiếp (I2C, USB, 
Profi,…)
n IO Buses, Mem, CPU, Local Buses
n Thành phần (physical lines/time sharing:
n Address
n Data
n Control/Status/Handshake/datacheck
n Power susply
22.2 Industry Small Architecture Bus
n ISA, 1984, IBM, PC-104 bus
n Để ghép thêm các card/ thiết bị I/O chuẩn với 
Mother Board, 1…12Slots, hiện tại các máy thông 
thường không dùng.
n 8/16 bits for data transfers
n 4,77=>8,33 MHz/11.1MHz => 
2.75MWps/5.5MWps max, DMA 16
n Only 1 BusMaster, CPU hoặc DMAC, w AEN
n No data integrity, không kiểm tra parity
n Dùng để ghép nối với các thiết bị chậm, kiểu ký tự: 
keyboard, mouse,…
2.2 Industry Small Architecture Bus (tiếp)
(
Hình: ISA Bus
32.2 USB
Hình: USB logo
2.2 USB (tiếp)
n Chia thành nhiều 
Tiers
n Các Tiers nối với 
các thiết bị: Hub 
hoặc chức năng
n Mỗi Tier có
Hub(s)
Hình: USB topology
42.2 USB (tiếp)
n Chỉ có một USB host (USB controller trong hệ
n Devices, có 2 loại
n Hub, mở rộng thêm thiết bị nối vào USB
n Các thiết bị chức năng JoyStick, KeyBoard, Printer, 
Digital Camera,…
n Các thiết bị chuẩn interface USB theo:
n USB Protocol
n Chuẩn Hđ của USB: config và reset
n Communication Standard
2.2 USB (tiếp)
n Thông số kỹ thuật:
n 1.5Mbps – Low speed moade và 12 Mbps (Revision 1.1)
n Nguồn cấp +5V, vài metre
n Power management
n Revision 2.0: 480Mbps
n Ưu điểm:
n Tín hiệu vi sai phát/thu, bọc kim, chống nhiễu
n CRC Protection đối với data & control fields
n Tự phát hiện attach/detach, xác định cấu hình các thiết bị
tự động ở mức hệ thống
n TimeOut đối với trường hợp mất tin/gói tin lỗi
52.2 USB – connecter (tiếp)
2.2 USB – signal (tiếp)
Hình: Signal
62.2 USB – signal (tiếp)
Token Packet Format
Start-Of-Frame (SOF) Packet Format
Data Packet Format
Handshake Packet Format
2.3 Philips I2C Bus
n Dùng nhiều trong các hệ thống 
nhúng (embeded system) như: 
mobil phone, TV, ATM,…
n Không cần dùng bus interface chip(s), built-in
n Intergrated addressing & data transfer, cho phép 
dùng phần mềm để định cấu hình
n Đơn giản để ghép nối, nhiều µC hỗ trợ I2C
n Đơn giản tìm lỗi, khoanh cùng lỗi nhanh
n Giảm thiểu kích thước: 2 wire serial, không cần 
dùng các mạch addr decoder và “glue logic”, dùng 
phần mềm
n Truyền đồng bộ, 100Kbps standard mode, 400Kps 
Fast mode, 3,4Mbps HiSpeed mode
72.3 Philips I2C Bus (tiếp)
SCL SDA
Device_0
Device_2
Device_4
Device_6
Device_1
Device_3
Device_5
Hình: I2C Topology
2.3 Philips I2C Bus (tiếp)
Có thể có nhiều 
Masters, trong một
thời điểm chỉ có
1 Master hoạt động
SCL SDA
Slave_0
Master_0
Slave_1
Master_1
Slave4
Slave_2
Slave_3
Hình: Configuration with 2 masters
82.3 Philips I2C Bus (tiếp)
Hình: Start and stop
2.3 Philips I2C Bus (tiếp)
Hình: Data transfer
92.3 Philips I2C Bus (tiếp)
Hình: Open collecter
5V
2.3 Philips I2C Bus – một số chip(tiếp)
n Atmega, PIC,…
n EEPROM, RAM,…
n RTC,…
10
Bài tập chương 2
1. Viết chương trình giả lập I2C
1Chương 3: Digital Interface
n Parallel Interface
n Serial Interface
3.1 Parallel - principle
n In/Out nhiều bit đồng thời, tốc độ nhanh nhưng 
khoảng cách gần
n Một đầu IO
n Output Port: latched Output (chốt ra), D-Flip-Flops
n Unlatched In Input
23.1 Parallel - principle
n D Flip – Flop (HC373, 374)
n Là một dãy những phần tử cơ bản của dãy
n D – data, lưu trữ một bit số liệu
n 4/6/8 D flip-flop => tạo ra 4/6/8 bits register, nhiều 
register đóng trong một chip là SRAM
3.1 Parallel – principle
D Flip – Flop
n Output:
n Q - ứng với giá trị data input vào thời điểm có clock
n /Q – đảo của Q.
n Input
n Data bit: 1 hoặc 0
n Clock, thường là sườn lên, ghi nhận giá trị của data và lưu 
lại cho tới khi có bít số liệu khác ghi đè lên
n [Có th. có] clear – xóa; Preset – đặt trước
n Có 2 lo.i: Transparent (HC373) và Master-
n Slave (HC374)
33.1 Parallel – principle
D Flip – Flop
n Write pin: bit 0 or 1, clock = ↑
n Write bit 0: D flip-flop => Q = 0; /Q = 1 => gate = 1 => 
R(ds) MOSFET = ON => pin = 0
n Write bit 1 D flip-flop => Q = 1; /Q = 0 => gate = 0 => 
R(ds) MOSFET = OFF => pin = 1
n Read pin: (Input line– out “1” firstly)
ReadPin = 0 (!) => open 3 state lower buffer => 1/0 from pin 
=> data bus (i)
n ReadLatch (Reading bit out previously):
ReadLatch = 0 (!) => open 3 state higher buffer => 1/0 from 
pin => data bus (i)
3.1 Parallel - principle
n Ứng dụng ghép nối LED, DAC,…
Data U38
74LS374
D03
D14
D27
D38
D413
D514
D6
17
D718
OE
1
CLK11
Q0 2
Q1 5
Q2 6
Q3 9
Q4 12
Q5 15
Q6
16
Q7 19
74LS02
2
3
1
+5V
IOW
CS
Strobe
43.1 Parallel - principle
n Ứng dụng ghép nối LED, DAC, ADC, …
3.1 Parallel - principle
n Latched Input Port
n Unlatched Inport
n Latched Inport
53.1 Parallel - principle
n Output Port
3.1 Parallel - principle
n Ghép nối PPI 8255 với PC qua ISA bus
n Addr: 300h-303h, Mode 0 all, PA & PC In, PB Out
63.1 Parallel - principle
n Một cổng IO
n Cổng có tín hiệu bắt tay/trạng thái
n Cổng ra đơn giản có chốt (74HC 374/373/273,…)
n Cổng vào đơn giản ko chốt (74244, 74245,…)
n Cổng vào có chốt
n Cổng có tín hiệu bắt tay/trạng thái
n Gủi một packet ra ngoại vi, cần đồng bộ giữa hai phía
n Peripheral chỉ đọc bộ đệm cổng khi có số liệu.
3.1 Parallel - LPT
n Data port
n Out port: Gửi một byte ra cổng
n Mov dx, 378h
n Mov al, solieu
n Out dx, al
n In port: Đọc giá trị ở cổng
n Mov dx, 378h
n In al, dx
n Control Outport, chỉ dùng 4 bit: b0…b3
n Gủi 4 bit
n Mov, dx, 37Ah
n Mov al, control
n Out dx, al
73.1 Parallel - LPT
n Control Outport, chỉ dùng 4 bit: b0…b3
n Đọc 4 bit
n Out dx, al
n Mov, dx, 37Ah
n Out al, dx
n Status Port: chỉ đọc trạng thái, unlatched
n Mov dx, 378h
n In al, dx
3.1 Parallel - LED
n LED: Light Emitting 
Diode
n Color:
n Red, Green, Yellow,
n Amber, R+G
n Infra Red, UV
n LASER: Light 
Amplification by 
Stimulated Emission of 
Radiation
n Blue, Cyan ...
n Symbol & 
characteristics
83.1 Parallel - LED 
n Package and Applications:
n Single point, status of devices
n 7 segment/ 16 segment, Arabian digit, char
n Matrix 8x8 / 16 x 16, character box, graphics modules
n Ðộ sáng: Indoor, Outdoor (super light) and 
semioutdoor. Độ sáng phụ thuộc vào từng loại pha 
tạp, từ150mcd (normal) đến 7000mcd (super light)
n Đặc tính LED: là diode phân cực thuận, tùy pha 
tạp =>cho nhiều màu khác nhau và điện áp thuận 
tư: 1.5V..2.1V và 3.2.. 3.5V.
n TriColor: Red – Green – Blue => PWM driving 
=> Fullcolor 16,7M colors (3 byte)
3.1 Parallel - LED 
93.1 Parallel - LED 
n Tính toán mạch điều khiển LEDs:
n LED sáng tĩnh – sáng liên tục – Static Mode:
n Chọn độ sáng tương đối
n Dòng thuận I, tư 10 đến 20mA
n Điện áp thuận U, từ 1.6 đến 3.4V
n Tính R1 = (Vcc – U)/I.
Ví dụ: Vcc=5V, Chọn RLI = 2 => IF=20mA =>
UF= 2V
=> R = (Vcc – UF)/20mA = 150 Ohm
3.1 Parallel - LED 
LED chế độ quét, Scan Mode:
n Mạch điện tử sẽ điều khiển sáng 1 nhóm phần tử
trong toàn bộ bảng ở một khoảng thời gian (ms), 
rồi điều khiển nhóm phần tử tiếp theo …cho đến 
hết vòng. Với điều kiện phải thực hiện 50=>120 
frames/second
n Tùy thuộc độ sáng và môi trường (in/outdoor) => 
thiết kế độ rỗng (duty cycle) của từng phần tử. 
Thường được chon là 1, ½, ¼, 1/8 và 1/16
10
3.1 Parallel - LED 
n Tính toán mạch: cũng giống như cách tính mạch 
sáng tĩnh, thường chọn độ sáng từ 2cd=>5cd.
n Chú ý:
n Hệ số sáng có thể chọn là: 1, ½, ¼, 1/8 và 1/16 độ sáng 
yêu cầu và dùng LED outdoor
n Độ an toàn, tuổi thọ LED, giá trị giới hạn của IF , đến 
mức nào đó – nói chung LED sẽ không sáng thêm khi 
IF>50mA
n Góc bố trí ngược sáng/thuận sáng
n View angle
3.1 Parallel - LED 
Kết nối LED
n 7406, ULN 2003... Open 
Collector
n Inverter Buffer: upto 
30V, 50-500mA;
n Transistor npn: C945 –
khi outport = 1 => LED 
sáng
n Transistor pnp: A564,
n khi outport=0 => LED 
n Môtl số outport cho phép 
drive trực tiếp, 
sink/sourse upto 40mA
R
11
3.1 Parallel - LED 
Kết nối LED
3.1 Parallel – LED (7 seg)
LED 7 đoạn, màu, kích thước, CA/CC?
12
3.1 Parallel - LED (7 seg)
n Kết nối
3.1 Parallel - LED (7 seg)
n Điều khiển LED
13
3.1 Parallel - LED (7 seg)
n Có 4 LED (32 pins)
n Điều khiển chế độ quét – chỉ 01 LED sáng trong 
một thời điểm => giảm thiểu phần cứng, tăng tính 
mềm dẻo của hiển thị - dùng phần mềm điều 
khiển, không dùng Ics BCD/7 seg
n Muốn sáng (0, 1, … 9) => gửi mã 7 thanh qua các 
anodes
n Muốn sáng LED nào, điều khiển ON Anode LED đó
trong một thời gian t và là duy nhất
n Tính t: theo số LED và 50÷100 fps
3.1 Parallel – LED (Matrix)
Màu, số màu, kích thước? 0 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0
0 1 0 0 0 1 0 0
0 1 0 0 0 1 0 0
0 1 1 1 1 1 0 0
0 1 0 0 0 1 0 0
0 1 0 0 0 1 0 0
0 1 0 0 0 1 0 0
14
3.1 Parallel – LED (Matrix)
n Có 8 hàng, 8 cột
n Điều khiển chế độ quét – chỉ 01 LED sáng trong một thời 
điểm, dùng 74138 để chọn hàng
3.1 Parallel – LED (Matrix)
n Kết nối LED
15
3.1 Parallel – LED (Matrix)
void Shift_Right(void)
{
char tmp;
tmp = Row_00[numLED-1] & 0x01;
for(i=(numLED-1); i>0; i--)
{
if(Row_00[i-1] & 0x01)
Row_00[i] = (Row_00[i]>>1) | 0x80;
else
Row_00[i] = (Row_00[i]>>1) & 0x7F;
}
if(tmp)
Row_00[0] = (Row_00[0]>>1) | 0x80;
else
Row_00[0] = (Row_00[0]>>1) & 0x7F;
}
3.1 Parallel – LED (Matrix)
void Shift_Right(void)
{
char tmp;
tmp = Row_00[row][numLED-1] & 0x01;
for(i=(numLED-1); i>0; i--)
{
if(Row_00[row][i-1] & 0x01)
Row_00[row][i] = (Row_00[row][i]>>1) | 0x80;
else
Row_00[row][i] = (Row_00[row][i]>>1);
}
if(tmp)
Row_00[row][0] = (Row_00[row][0]>>1) | 0x80;
else
Row_00[row][0] = Row_00[row][0]>>1;
}
16
3.1 Parallel – LED (Matrix)
#define LED_SCK PORTD.5
#define LED_RCK PORTD.6
#define LED_data PORTD.7
#define TIME_595 20
void Out_74595(char data)
{
char i;
LED_RCK = 0;
for(i=0; i<8; i++)
{
LED_SCK = 0;
LED_data = (data & 0x01);
data = data>>1;
delay_us(TIME_595);
LED_SCK = 1;
delay_us(TIME_595);
}
LED_RCK = 1;
}
3.1 Parallel – LED (LCD)
17
3.1 Parallel – LED (LCD)
n Công nghệ LCD Liquid Crystal Display, hiện 
text/graphics
n Độ phân giải
n 1 line x 16 character box, 5x7 (7x9) dot matrix/character 
box
n 2 line x 16 character box
n 4 line x 20 character box
n Graphics (64 x 128) hoÆc (128 x 256) dot graphics –
font down loadable, color (16/4096/64K/16,7M).
n ASCII, 128 characters/ set, 8 user fonts or APA: 
All Points Addressable - graphics
n Back light: Công suất tiêu thụ nhỏ
n Dùng cho các hệ nhỏ, mang xách, máy đo,…
(Embedded Systems)
3.1 Parallel – LED (LCD)
18
3.1 Parallel – LED (LCD)
3.1 Parallel – LED (LCD)
Read/Write LCD information
n 4 line x 20 column LCD => 80 char boxes
n Write Addr Reg first (RS=0)
n Write Data Reg after (RS=1)
n MSB = 1 Address > 7Fh => control registers
n Ví dụ một chu kỳ đọc/ghi LCD panel – 8 bit bus:
n E = 0
n Phát địa chỉ tạo Chip Select và chọn Reg
n Tạo tín hiệu R/W
n E = 1, delay for 1 µs or more
n E = 0
n Data out
n Disabling Addr, data, R/W
n E = 1.
19
3.1 Parallel – Encoder
3.1 Parallel – Encoder
n Dùng để ghép nối, đo lường dịch chuyển cơ học: chiều 
dài, vận tốc, (cđ thẳng và quay), gia tốc, định vị, robot
n Công nghệ vật liệu từ - nam châm vĩnh cửu hoặc quang –
hồng ngoại/laser
n Độ phân ly cao: upto 224 , chịu shock,..
n Tốc độ upto 10k rpm, mômen cảm downto 10-3Nm
n Output: các xung lệch nhau 900 (incremental), n bits 
(absolute)
n Tín hiệu ra TTL hoặc vi sai (truyền đi xa)
n Manufacturers: Tamagawa Seiki, Hewlett-Packard, 
Epson...
20
3.1 Parallel – Encoder
3.2 Serial in/out - Principle
n Thông tin trong Hệ VXL/Máy tính: byte, word (//)
n Khi truyền đi “xa” : serialize - byte => bit stream => lên 
đường truyền=> bit stream => byte (deserialize): giảm 
thiết bị thu phát và đường truyền
n => Giảm chi chi phí, kích thước
            
         
        
    




 
                    