Thực tập vi xủ lý
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN TỬ – BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP _
THỰC TẬP VI XỬ LÝ
Trang 2LỜI GIỚI THIỆU
Sau khi đã tìm hiểu kiến thức về vi điều khiển thì bạn có thể bắt đầu thực hiện các bài thực hành đối với vi điều khiển để giúp bạn hiểu rõ hơn những gì bạn đã đọc
Các ứng dụng của điều khiển rất đa dạng nên trong chương này sẽ giới thiệu đến các bạn một bộ thí nghiệm vi điều khiển tương đối đầy đủ các yêu cầu phần cứng và rất nhiều chương trình điều khiển có thể giúp bạn thực hành, thí nghiệm và có thể tự nghiên cứu, tự học
Bộ thí nghiệm vi điều khiển này có thể sử dụng được nhiều loại vi điều khiển 89C51, 89C52, 89S51, 89S52, 89S8252, 89C1051, 89C2051 và 89C4051 Bộ thí nghiệm có thể nạp chương trình cho nhiều loại vi điều khiển như vừa nêu ra ở trên
Đặc biệt là vi điều khiển 89S51, 89S52 và 89S8252 có thể nạp chương trình ngay trong hệ thống đang chạy – điều này tiết kiệm cho bạn không phải mất nhiều thời gian trong quá trình gắn vào bo nạp rồi sau khi nạp xong lại gắn vào bo chạy nếu không đúng phải làm đi làm lại nhiều lần đối với họ 89C – dĩ nhiên 89C vẫn có thể làm được nhưng mạch điện khá phức tạp Điều tiện lợi thứ 2 là đối với 89C bạn tháo gắn IC trên các socket nạp và nếu bạn gắn ngược thì có thể làm hỏng IC, còn 89S thì do không cần tháo gắn nên điều này sẽ không xảy ra
Chương trình sử dụng cho bộ thí nghiệm này là MCS_52 rất dễ sử dụng, cho phép bạn soạn thảo và biên dịch chương trình một cách nhanh chóng, dễ dàng tìm ra lỗi trong chương trình
Các phần tiếp theo sẽ trình bày chi tiết cấu hình bộ thí nghiệm, cách sử dụng chương trình và cung cấp các bài thí nghiệm thực hành có thể phục vụ cho các bạn tự thực hành
Trang 3HỆ THỐNG VI ĐIỀU KHIỂN DÙNG BỘ NHỚ TRONG
Vi điều khiển 89XX có 4 port (từ port 0 đến port 3) được nối với các pinheader Sơ đồ nguyên lý như hình 1 và hình bố trí linh kiện trong bộ thí nghiệp như hình 8-2
Trong hình 2 có 1 socket để gắn vi điều khiển vào thực hiện các thí nghiệm, chiều gắn IC vào giống như hình trên Có 4 jumper [JP] để giao tiếp tín hiệu vào ra
Hình 1 Sơ đồ mạch của hệ thống
Trang 41 GIAO TIẾP VỚI LED ĐƠN
Một trong những ứng dụng đơn giản để sử dụng 4 port của vi điều khiển xuất dữ liệu làm quen với lập trình ta có một hệ thống 32 led đơn có kết nối với 4 pinheader 8 chân
Khi muốn dùng port 1 để điều khiển 8 led thì chỉ cần dùng một bus dây 8 sợi kết nối 2 pinheader 8 chân từ hệ thống vi điều khiển đến hệ thống led đơn
Sơ đồ mạch của 32 led đơn (do giống nhau nên chỉ trình bày 8 led) như hình 8-3 và sơ đồ bố trí linh kiện như hình 1-1:
Hình 1-1 Sơ đồ nguyên lý của 32 led
Hình 1-2 Sơ đồ linh kiện trên bộ thí nghiệm của 32 led đơn
4 pinheader dùng để kết nối với 32 led, ngõ vào mức 1 thì led sáng, mức 0 led tắt Do sử dụng led 10 ly và để tăng cường độ sáng nên trong mạch sử dụng các IC đệm 2803 và dùng nguồn 12V và điện trở hạn dòng cho mỗi led là 1k
Chức năng của khối hiển thị led đơn dùng để kết nối với 4 port của vi điều khiển thực hiện các chương trình điều khiển led làm quen với lập trình vi điều khiển
Trang 52 GIAO TIẾP TRỰC TIẾP VỚI 2 LED 7 ĐOẠN
Trong thực tế có nhiều ứng dụng trong ta chỉ sử dụng một hay hai led 7 đoạn như hệ thống đếm giây, đếm sản phẩm, hệ thống hẹn giờ nên trong hệ thống thí nghiệm này có thiết kế thêm phần giao tiếp với 2 led 7 đoạn loại anode chung để tiện cho việc sử dụng Sơ đồ mạch giao tiếp của 2 led đã qua điện trở hạn dòng và có 2 pinheader để nhận tín hiệu như hình 8-5 và hình trên bộ thí nghiệm như hình 8-6
Hình 2-1 Sơ đồ nguyên lý của 2 led 7 đoạn
Hình 2-2 Sơ đồ linh kiện trên bộ thí nghiệm của 2 led 7 đoạn
Trang 63 GIAO TIẾP VỚI 8 LED 7 ĐOẠN THEO PHƯƠNG PHÁP QUÉT
Hình 3-1 Sơ đồ giao tiếp với led 7 đoạn
Hình 3-2 Sơ đồ linh kiện trên bộ thí nghiệm của 8 led 7 đoạn
Trong các ứng dụng điều khiển, nhiều thông tin được nhập từ bàn phím cũng như các thông tin hiển thị trên các led 7 đoạn ví dụ như thiết lập nhiệt độ khống chế và đo nhiệt độ của một hệ thống
Trong bộ thí nghiệm có thiết kế giao tiếp với 8 led 7 đoạn loại anode chung theo phương pháp quét Sơ đồ nguyên lý của led 7 đoạn và ma trận phím như hình 8-5 và hình 8-6
Để điều khiển 8 led 7 đoạn phải dùng 16 đường điều khiển: 8 đường điều khiển 7 đoạn a, b, c, d, e, f, g, dp và 8 đường điều khiển đóng ngắt 8 transistor
Tại mỗi một thời điểm ta chỉ cho 1 tranistor dẫn và 7 transistor còn lại tắt, dữ liệu gởi ra sẽ sáng trên led tương ứng với transistor dẫn Sau đó cho 1 transistor khác dẫn và gởi dữ liệu hiển thị cho led đó, quá trình điều khiển này diễn ra lần lượt cho đến khi hết 8 led
Với tốc độ gởi dữ liệu nhanh và do mắt có lưu ảnh nên ta nhìn thấy 8 led sáng cùng 1 lúc
Trang 7* Mã quét: mức logic 0 thì transistor dẫn, mức logic 1 thì transistor ngắt
MÃ HEX Mã quét điều khiển các transistor
FEh 1 1 1 1 1 1 1 0 Transistor 1 ON FDh 1 1 1 1 1 1 0 1 Transistor 2 ON FBh 1 1 1 1 1 0 1 1 Transistor 3 ON F7h 1 1 1 1 0 1 1 1 Transistor 4 ON EFh 1 1 1 0 1 1 1 1 Transistor 5 ON DFh 1 1 0 1 1 1 1 1 Transistor 6 ON BFh 1 0 1 1 1 1 1 1 Transistor 7 ON 7Fh 0 1 1 1 1 1 1 1 Transistor 8 ON
* Mã 7 đoạn: trong hệ thống sử dụng led 7 đoạn loại Anode chung nên mức logic 0
thì led sáng và mức logic 1 thì led tắt
Các mã khác bạn có thể tự thiết lập
Các transistor và các điện trở gắn bên dưới bo mạch nên bạn sẽ không nhìn thấy trong hình Trong hệ thống thí nghiệm này bàn phím có thể phục vụ cho hệ thống 2 để nhập các mã lệnh và các thông số nhưng cũng có thể phục vụ cho các thí nghiệm làm quen với bàn phím
Với led 7 đoạn thì có thể cho phép hiển thị chữ và số - khi đó có rất nhiều chương trình ứng dụng có thể thực hiện được trên hệ thống này như chương trình đếm sản phẩm, chương trình đếm tần số, chương trình đồng hồ số, chương trình đồng hồ thể thao …
Trang 84 ỨÙNG DỤNG GIAO TIẾP VỚI MA TRẬN 24 PHÍM
Trong bộ thí nghiệm có một ma trận 8x3 tạo thành một bàn phím có 24 phím giao tiếp với IC 8279 chuyên về quét phím kết nối với hệ thống II nhưng cũng có thể hoạt động giao tiếp với hệ thống I bằng cách chuyển 12 switch sang vị trí off để cách ly với IC 8279 như hình 4-1 và hình trên bộ thí nghiệm là 4-2
Bàn phím tổ chức theo dạng ma trận 8 hàng và 3 cột nên tổng số phím là 24 phím được kết nối với một switch màu đỏ Khi thực hiện các thí nghiệm liên quan đến bàn phím thì bạn phải chuyển 12 switch sang vị trí off
Hình 4-1 Sơ đồ giao tiếp với 24 phím
Hình 4-2 Sơ đồ linh kiện trên bộ thí nghiệm của 24 phím
Trang 95 ỨÙNG DỤNG GIAO TIẾP VỚI THANH GHI DỊCH 8 BIT 6B595
Để mở rộng thêm số lượng tín hiệu điều khiển có thể sử dụng nhiều phương pháp, một phương pháp đơn giản nhất là sử dụng thanh ghi dịch Trong bộ thí nghiệm này có sử dụng một thanh ghi dịch 6b595 có sơ đồ nguyên lý như hình 8-11 và hình trên bộ thí nghiệm như 8-12
Hình 5-1 Sơ đồ giao tiếp với ma trận led 8x8
Hình 5-2 Hình trên bộ thí nghiệm
Trang 106 GIAO TIẾP VỚI LED MA TRẬN LED 8X8
Một trong những ứng dụng phổ biến trong quảng cáo là thông tin được hiển thị trên led ma trận, để giúp người học hiểu được nguyên lý điều khiển led ma trận như thế nào thì trong hệ thống có thiết kế giao tiếp với 4 led ma trận 8x8 hai màu xanh và đỏ Sơ đồ nguyên lý trình bày ở hình 6-1 và hình trên bộ thí nghiệm là 6-2
Hình 6-1a Sơ đồ giao tiếp với ma trận led 8x8
Các hàng sử dụng IC đệm 2803 và transistor, còn các cột sử dụng thanh ghi dịch 6B595 Led ma trận có 2 màu xanh và đỏ có 8 đường điều khiển hàng và 5 đường điều khiển cột màu xanh và 5 đường điều khiển cột màu đỏ – tổng cộng là 18 đường được kết nối với 3 pinheader
Với phần cứng đã thiết kế ở trên sử dụng led ma trận 8x8 có 2 màu xanh và đỏ, để điều khiển led ma trận sáng ta tiến hành gởi dữ liệu ra hàng và mã quét ra cột
Trang 11Hình 6-1b Sơ đồ giao tiếp với ma trận led 8x8 (tiếp theo)
Trang 127 MẠCH THU PHÁT HỒNG NGOẠI
Sơ đồ mạch thu phát hồng ngoại như hình 1 và hình trên bộ thí nghiệm như hình 2
7-Hình 7-1 Sơ đồ mạch thu phát hồng ngoại
Hình 7-2 Hình mạch thu phát trên bộ thí nghiệm
Trang 138 GIAO TIẾP ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC CÔNG SUẤT NHỎ
Có nhiều loại động cơ bước nhưng trong hệ thống này chỉ sử dụng động cơ bước loại nhỏ, mạch điện giao tiếp để điều khiển động cơ bước sử dụng IC giao tiếp 2803
Động cơ bước sử dụng là loại có 4 cuộn dây – có 5 đầu dây ra hoặc 6 đầu dây ra Nếu là loại 5 đầu thì có 1 đầu dây chung và 4 đầu dây còn lại sẽ nhận tín hiệu điều khiển, còn loại 6 đầu dây ra thì trong đó sẽ có 2 đầu dây chung nên nối lại thành 1 đầu dây chung
Sơ đồ bố trí linh kiện của IC 2803 để giao tiếp với động cơ bước như hình 8-1 và hình trên bộ thí nghiệm như hình 8-2
Hình 8-1 Sơ đồ nguyên lý điều khiển động cơ bước
Hình 8-2 Sơ đồ giao tiếp với động cơ bước trên bộ thí nghiệm
Mã điều khiển động cơ bước hãy xem trong chương trình điều khiển
Trang 149 GIAO TIẾP VỚI ADC VÀ DAC
Hình 9-1 Sơ đồ giao tiếp ADC 7109
Trang 15* Hệ thống ADC: trên bộ thí nghiệm có thiết kế mạch giao tiếp với 4 IC ADC
7109: mỗi ADC 12 bit được kết nối đa hợp và có thể và một IC DAC 0808 Sơ đồ nguyên lý như hình 9-1 và sơ đồ bố trí linh kiện trên hệ thống như hình 9-2
Hình 9-2 hình của ADC 7109 trên bộ thí nghiệm
Trong sơ đồ trên sử dụng ADC7109 có thể chuyển đổi 1 kênh dữ liệu ngõ vào tương tự Các đường tín hiệu điều khiển bao gồm:
- 12 đường dữ liệu số truyền tải kết quả chuyển đổi từ tương tự sang số: B11- B0 – tín hiệu ra
- 1 đường tín hiệu điều khiển chọn kênh: CE\ – tác động mức thấp
- 2 đường tín hiệu cho biết cực tính của tính hiệu vào âm hay dương và 1 đường trạng thái – tín hiệu ra
Tần số xung clock để ADC chuyển đổi được cung cấp từ mạch dao động đã tích hợp bên trong và gắn thêm tụ thạch anh bên ngoài có tần số 3.55 MHz - theo sổ tay tra cứu IC
* Hệ thống DAC 8 bit: sơ đồ nguyên lý của hệ thống DAC như hình 9-3 và sơ đồ bố
trí linh kiện như hình 9-4
Trong sơ đồ sử dụng 2 IC DAC0808 có chức năng chuyển đổi tín hiệu số 8 bit sang tín hiệu tương tự cộng lại có thể tạo thành DAC 16 bit nhưng trong hệ thống chỉ sử dụng 12bit, 12 đường D11 – D0 dùng để nhận dữ liệu số từ hệ thống điều khiển
Độ phân giải của DAC 0808 được điều chỉnh bằng biến trở
Trang 16Hình 9-3 Sơ đồ giao tiếp DAC 8 bit
Hình 9-4 Sơ đồ DAC 8 bit bốn kênh trên bộ thí nghiệm
Trang 1710 GIAO TIẾP VỚI REAL TIME 12C887
Sơ đồ mạch của Realtime DS12C887 như hình 10-1 và hình trên bộ thí nghiệm như hình 10-2
Hình 10-1 Giao tiếp với real time 12c887
Hình 10-2 Hình Real Time 12C887 trên bộ thí nghiệm
Trang 1811 LCD VỚI 8051
I MÔ TẢ CÁC CHÂN CỦA LCD
LCD được nói trong mục này có 14 chân, chức năng của các chân được cho trong bảng 12.1 Vị trí của các chân được mô tả trên hình 12.1 cho nhiều LCD khác nhau
1 Chân VCC, VSS và VEE: Cấp dương nguồn +5V và đất tương ứng thì VEE được dùng để điều khiển độ tương phản của LCD
2 Chân chọn thanh ghi RS (Register Select):
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD
3 Chân đọc/ ghi (R/W)
Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc đọc thông tin từ nó khi R/W = 1
4 Chân cho phép E (Enable)
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ liệu của nó Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu Xung này phải rộng tối thiểu là 450ns
Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào Khi D7 = 0 thì LCD sẵn sàng nhận thông tin mới Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên LCD
Trang 19Bảng 11.1: Mô tả các chân của LCD
3 VEE - Cấp nguồn điều khiển phản
4 RS I RS = 0 chọn thanh ghi lệnh RS = 1 chọn thanh dữ liệu
5 R/W I R/W = 1 đọc dữ liệu R/W = 0 ghi
Hình 11-1: Nối ghép LCD
P2.1
D0
P1.7 P2.0 P2.2
D7
R/W E
VEE VC
+5v
10K POT LCD
8051
P1.0
Trang 20Bảng 11.2: Các mã lệnh LCD
Mã (Hex) Lệnh đến thanh ghi của LCD
1 Xoá màn hình hiển thị 2 Trở về đầu dòng
4 Giả con trỏ (dịch con trỏ sang trái) 6 Tăng con trỏ (dịch con trỏ sang phải) 5 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái 8 Tắt con trỏ, tắt hiển thị A Tắt hiển thị, bật con trỏ C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ F Tắt con trỏ, nhấp nháy con trỏ 10 Dịch vị trí con trỏ sang trái 14 Dịch vị trí con trỏ sang phải 18 Dịch toàn bộ hiển thị sang trái 1C Dịch toàn bộ hiển thị sang phải
80 Ép con trỏ Vũ đầu dòng thứ nhất C0 Ép con trỏ Vũ đầu dòng thứ hai
38 Hai dòng và ma trận 5 ´ 7
Bảng 11.3: Danh sách liệt kê các lệnh và địa chỉ lệnh của LCD
Lệnh
thực hiện
Xoá màn hình
0 0 0 0 0 0 0 0 0 1 Xoá toàn bộ màn hình và đặt địa chỉ 0 của DD RAM vào bộ đếm địa chỉ
1.64 ms Trở về
đầu dòng
0 0 0 0 0 0 0 0 1 - Đặt địa chỉ 0 của DD RAM như bộ đếm địa chỉ Trả hiển thị dịch về vị trí gốc DD RAM không thay đổi
1.64 ms
Đặt chế độ truy nhập
0 0 0 0 0 0 0 1 1/D S Đặt hướng chuyển dịch con trỏ và xác định dịch hiển thị các thao tác này được thực hiện khi đọc và ghi dữ liệu
40 ms
Điều khiển Bật/tắt hiển thị
0 0 0 0 0 0 1 D C B Đặt Bật/ tắt màn hình (D) Bật/ tắt con trỏ (C) và nhấp nháy ký tự ở vị trí con trỏ (B)
40 ms
Trang 21Dịch hiển thị và con
trỏ
0 0 0 0 0 1 S/C R/L - - Dịch con trỏ và dịch hiển thị mà không thay đổi DD RAM
40 ms Đặt chức
năng
0 0 0 0 1 DL N F - - Thiết lập độ dài dữ liệu (DL) số dòng hiển thị (L) và phòng ký tự (F)
40 ms Đặt địa
chỉ CGRAM
0 0 0 1 AGC Thiết lập địa chỉ C6 RAM dữ liệu CG RAM được gửi đi và nhận sau thiết lập này
40 ms Thiết lập
địa chỉ DD RAM
liệu DD RAM được gửi và nhận sau thiết lập này
40 ms Cờ bận
đọc và địa chỉ
0 1 BF ADD Cờ bận đọc (BF) báo hoạt động bên trong đang được thực hiện và đọc nội dung bộ đếm địa chỉ
40 ms
Ghi dữ liệu CG hoặc DD
RAM
1 0 Ghi dữ liệu Ghi dữ liệu vào DD RAM hoặc
Đọc dữ liệu CG hoặc DD
RAM
1 1 Đọc dữ liệu Đọc dữ liệu từ DD RAM hoặc
Ghi chú:
1 Thời gian thực là thời gian cực đại khi tần số fCP hoặc fosc là 250KHz
2 Thời gian thực thay đổi khi tần số thay đổi Khi tần số fEP hay fosc Là 270kHz thì thời gian thực hiện được tính 250/270 ´ 40 = 35ms v.v…
3 Các ký hiệu viết tắt trong bảng là: 4
DD RAM RAM dữ liệu hiển thị (Display Data RAM) CG RAM RAM máy phát ký tự (character Generator) ACC Địa chỉa của RAM máy phát ký tự
ADD Địa chỉ của RAM dữ liệu hiển thị phù hợp với địa chỉ con trỏ
AC Bộ đếm địa chỉ (Address Counter) được dùng cho các địa chỉ DD RAM và CG RAM
Trang 22Hình 11-2: Phân khe thời gian của LCD
C0
81 C0
82 C2
83 C3
84 C4
85 C5
86 C6
Through Through
8F CF
C0
81 C0
82 C2
83 C3
Đến 93 Đến D3
C0 94 D4
81 C0 95 D5
82 C2 96 D6
83 C3 97 D7
Đến 93 Đến D3 Đến A7 Đến E7
C0
81 C0
82 C2
83 C3
Đến A7 Đến E7
Chú ý: Các dữ liệu ở
dạng số hex
Hình 11-3: Các địa chỉ con trỏ đối với một số LCD
tPwh = Enable pulse width = 450 ns (minimum) tDSW = Data set up time = 195 ns (minimum) tH = Data hold time 10 ns (minimum)
tAS = Set up time prior to E (going high) for both RS and R/W = 140 ns (minimum) tAH = Hold time afterr E has come down for both RS and R/W = 10 ns (minimum)
E
RS
tAS