Giáo trình Vi điều khiển 8051 Assembly - Chương 13: Phối ghép với thế giới kiểu II động cơ bước, bàn phím và các bộ DAC

Động cơ bước là một thiết bị sử dụng rộng rãi để chuyển các xung điện thành

chuyển động cơ học. Trong các ứng dụng chẳng hạnnhư các bộ điều khiển đĩa, các

máy in kim ma trận và các máy rô-bốt thì động cơ bước được dùng để điều khiển

chuyển động. Mỗi động cơ bước đều có phần quay rôto là nam châm vĩnh cửu (cũng

còn được gọi là trục dẫn - shaft) được bao bọc xung quanh là một đứng yên gọi stato

(xem hình 131.1). Hầu hết các động cơ bước đều có chung có 4 stato mà các cuộn

dây của chúng được bố trí theo cặp đối xứng với điểm giữa chung (xem hình 13.2),

Kiểu động cơ bước này nhìn chung còn được coi như động cơ bước 4 pha. Điểm giữa

cho phép một sự thay đổi của hướng dòng của một trong hai lõi khi một cuộn dây

được nối đất tạo ra sự thay đổi cực của stato.

pdf10 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 3205 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Vi điều khiển 8051 Assembly - Chương 13: Phối ghép với thế giới kiểu II động cơ bước, bàn phím và các bộ DAC, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, vì trong chuỗi 8 bước dưới đây thì mỗi bước là một 
nửa của góc bước bình thường. Ví dụ, một động cơ có góc bước là 20 có thể sử dụng 
góc bước 10 nếu áp dụng chuỗi ở bảng 13.3. 
 Bảng 13.3: Chuỗi xung 8 bước. 
13.1.5 Tốc độ động cơ. 
 Tốc độ động cơ được đo bằng số bước trong một giây (bước/giây) là một hàm 
của tốc độ chuyển mạch. Để ý trong ví dụ 13.1 ta thấy rằng bằng việc thay đổi độ 
thời gian trễ ta có thể đạt được các tốc độ quay khác nhau. 
13.1.6 Mô mem giữ. 
 Dưới đây là một định nghĩa về mô men giữ: 
 Mô men giữ là lượng mô men ngoài cần thiết để làm quay trục động cơ từ vị 
trí giữ của nó với điều kiện trục động cơ đang đứng yên hoặc đang quay với tốc độ 
Bước Cuộn A Cuộn B Cuộn C Cuộn D 
1 1 0 0 1 
2 1 0 0 0 
3 1 1 0 0 
4 0 1 0 0 
5 0 1 1 0 
6 0 0 1 0 
7 0 0 1 1 
8 0 0 0 1 
Chiều 
kim 
đồng 
hồ 
Chiều 
quay 
bộ 
đếm 
RPM = 0. Đại lượng này được đo bằng tỷ lệ điện áp và dòng cấp đến động cơ. Đơn 
vị của mô men giữ là kilôgam - centimet (hay ounce - inch). 
13.1.7 Chuỗi 4 bước điều khiển dạng sóng. 
 Ngoài các chuỗi 4 bước và 8 bước đã nó trên đây còn có một chuỗi khác được 
gọi là chuỗi 4 bước dạng sóng. Nó được trình bày trong bảng 13.4. Để ý 8 bước 
trong bảng 13.3 là một sự kết hợp đơn giản của các chuỗi 4 bước thường và chuỗi 4 
bước điều khiển dạng sóng được cho ở bảng 13.1 và 13.4. 
Bước Cuộn 
dây A 
Cuộn 
dây B 
Cuộn 
dây C 
Cuộn 
dây D 
1 1 0 0 0 
2 0 1 0 0 
3 0 0 1 0 
4 0 0 0 1 
 Hình 13.4: Sử dụng các bóng bán dẫn để điều khiển động cơ bước. 
13.2 Phối ghép 8051 với bàn phím. 
 Các bàn phím và LCD là những thiết bị vào/ ra được sử dụng rộng rãi nhất của 
8051 và cần phải thấu hiểu một cách cơ bản về chúng. ở phần này trước hết ta giới 
thiệu các kiến thức cơ bản về bàn phím với cơ cấu ấn phím và tách phím, sau đó giới 
thiệu về giao tiếp 8051 với bàn phìm. 
13.2.1 Phối ghép bàn phím với 8051. 
 ở mức thấp nhất các bàn phím được tổ chức dưới dạng một ma trận các hàng 
và các cột. CPU truy cập cả hàng lẫn cột thông qua các cổng. Do vậy, với hai cổng 8 
bít thì có thể nối tới một bàn phím 8 ´ 8 tới bộ vi xử lý. Khi một phím được ấn thì 
một hàng và một cột được tiếp xúc, ngoài ra không có sự tiếp xúc nào giữa các hàng 
và các cột. Trong các bàn phím máy tính IBM PC có một bộ vi điều khiển (bao gồm 
một bộ vi xử lý, bộ nhớ RAM và EPROM và một số cổng tất cả được bố trí trên một 
chíp) chịu trách nhiệm phối ghép phần cứng và phần mềm của bàn phím. Trong 
những hệ thống như vậy, nó là chức năng của các chương trình được lưu trong 
EPROM của bộ vi điều khiển để quét liên tục các phím, xác định xem phím nào đã 
được kích hoạt và gửi nó đến bo mạch chính. Trong phần này nghiên cứu về cơ cấu 
8051 quét và xác định phím. 
13.2.2 Quét và xác định phím. 
 Hình 13.5 trình bày một ma trận 4 ´ 4 được nối tới hai cổng. Các hàng được 
nối tới một đầu ra và các cột được nối tới một cổng vào. Nếu không có phím nào 
được ấn thì việc đóng cổng vào sẽ hoàn toàn là 1 cho tất cả các cột vì tất cả được nối 
tới dương nguồn VCC. Nếu tất cả các hàng được nối đất và một phím được ấn thì một 
trong các cột sẽ có giá trị 0 vì phím được ấn tạo đường xuống đất. Chức năng của bộ 
vi điều khiển là quét liên tục để phát hiện và xác định phím được ấn. 
 Hình 13.5 
 Hình 13.5: Nối ghép bàn phím ma trận tới các cổng. 
13.2.3 Nối đất các hàng và đọc các cột. 
 Để phát hiện một phím được ấn thì bộ vi điều khiển nối đất tất cả các hàng 
bằng cách cấp 0 tơío chốt đầu ra, sau đó nó đọc các hàng. Nếu dữ được đọc từ các 
Chiều 
kim 
đồng 
hồ 
Chiều 
quay 
bộ 
đếm 
cột là D3 - D0 = 1101 thì không có phím nào được ấn và quá trình tiếp tục cho đến 
khi phát hiện một phím được ấn. Tuy nhiên, nếu một trong các bít cột có số 0 thì 
điều đó có nghĩa là việc ấn phím đã xảy ra. Ví dụ, nếu D3 - D0 = 1101 có nghĩa là 
một phím ở cột 1 được ấn. Sau khi một ấn phím được phát hiện, bộ vi điều khiển sẽ 
chạy quá trình xác định phím. Bắt đầu với hàng trên cùng, bộ vi điều khiển nối đất 
nó bằng cách chỉ cấp mức thấp tới chân D0, sau đó nó đọc các cột. Nếu dữ liệu đọc 
được là toàn số 1 thì không có phím nào của hàng này được ấn và quá trình này 
chuyển sang hàng kế tiếp. Nó nối đất hàng kế tiếp, đọc các cột và kiểm tra xem có số 
0 nào không? Qúa trình này tiếp tục cho đến khi xác định được hàng nào có phím ấn. 
Sau khi xác định được hàng có phím được ấn thì công việc tiếp theo là tìm ra phím 
ấn thuộc cột nào. Điều này thật là dễ dàng vì bộ vi điều khiển biết tại thời điểm bất 
kỳ hàng nào và cột nào được truy cập. Hãy xét ví dụ 13.3. 
Ví dụ 13.3: 
 Từ hình 13.5 hãy xác định hàng và cột của phím được ấn cho các trường hợp 
sau đây: 
a) D3 - D0 = 1110 cho hàng và D3 - D0 = 1011 cho cột. 
b) D3 - D0 = 1101 cho hàng và D3 - D0 = 0111 cho cột. 
Lời giải: 
 Từ hnhf 13.5 cột và hàng có thể được sử dụng xác định phím. 
a) Hàng thuộc D0 và cột thuộc D2, do vậy phím số 2 đã được ấn. 
b) Hàng thuộc D1 và cột thuộc D3, do vậy phím số 7 đã được ấn. 
Chương trình 13.1 là chương trình hợp ngữ của 8051 để phát hiện và xác định 
sự kích hoạt phím. Trong chương trình này P1 và P2 được giả thiết là cổng ra và 
cổng vào tương ứng. Chương trình 13.1 đi qua 4 giai đoạn chính sau đây. 
1. Khẳng định phím trước đó đã được nhả, các số không là đầu ra tới tất cả các hàng 
cùng một lúc và các cột được đọc và được kiểm tra chừng nào tất cả mọi cột đều 
cao. Khi tất cả các cột được phát hiện là đều cao thì chương trình chờ một thời 
gian ngắn trước khi nó chuyển sang giai đoạn kế tiếp để chờ một phím được ấn. 
2. Để biết có một phím nào được ấn các cột được quét đi quét lại trong vòng vô tận 
cho đến khi có một cột có số 0. Hãy nhớ rằng các chốt đầu ra được nối tới các 
hàng vẫn có các số 0 ban đầu (được cấp ở giai đoạn 1) làm cho chúng được nối 
đất. Sau khi phát hiện ấn phím, nó đợi 20ms chờ cho phím nhả ra và sau đó quét 
lại các cột. Điều này phục vụ hai chức năng: a) nó đảm bảo rằng việc phát hiện 
ấn phím đầu tiên không bị sai do nhiễu và b) thời gian giữ chậm là 20ms ngăn 
ngừa việc ấn cùng một phím như là nhiều lần ấn. Nếu sau 20ms giữ chậm mà 
phím vẫn được ấn nó chuyển sang giai đoạn kế tiếp để phát hiện phím ấn thuộc 
hàng nào, nếu không nó quay trờ vòng lặp để phát hiện có một phím ấn thật. 
3. Để phát hiện ấn phím thuộc hàng, nó nối đất mỗi hàng tại một thời điểm, đọc các 
cột mỗi lần. Nếu nó phát hiện tất cả mọi cột đều cao, điều này có nghĩa là ấn 
phím không thuộc hàng đó, do vậy nó nối đất hàng kế tiếp và tiếp tục cho đến khi 
phát hiện ra hàng có phím ấn. Khi tìm hàng có phím ấn, nó thiết lập địa chỉ bắt 
đầu cho bảng trình bày giữ các mã quét (hoặc giá trị ASCII) cho hàng đó và 
chuyển sang giai đoạn kế tiếp để xác định phím. 
4. Để xác định phím ấn, nó quay các bít cột, mỗi lần một bít vào cờ nhớ và kiểm tra 
xem nó có giá trị thấp không? Khi tìm ra số 0, nó kéo mã ASCII dành cho phím 
đó ra từ bảng trình bày. Nếu không tìm được số 0 thì nó tăng con trỏ để chỉ đến 
phần tử kế tiếp của bảng trình bày. Hình 13.6 trình bày lưu đồ quá trình tìm phím 
ấn này. 
Nối đất mọi hàng 
Đọc mọi cột 
Chờ nhả phím 
Nối đất hàng kế 
tiếp 
Nối đất mọi hàng 
Bắt đầu 
Mọi 
phím 
hở 
Đọc mọi cột 
Có 
phím 
ấn 
Đọc mọi cột 
Có 
phím 
ấn 
Có 
phím 
hở ở 
hàng 
này 
Tìm phím nào 
được ấn 
Tìm phím nào 
được ấn 
Trở về 
Có 
Không 
Không 
Có 
Không 
Có 
Không Có 
 Hình 13.6: Lưu đồ tìm phím ấn của chương trình 13.1. 
 Trong khi việc phát hiện ấn là chuẩn cho tất cả mọi bàn phím thì quá trình xác 
định phím nào được ấn lại không giống nhau. Phương phát sử dụng bảng trình bày 
được đưa ra trong chương trình 13.1 có thể được sửa đổi để làm việc với bất kỳ ma 
trận kích thước 8 ´ 8 nào. Hình 13.6 là lưu đồ thuật toán của chương trình 13.1 để 
quét và xác định phím ấn. 
 Có những chíp IC chẳng hạn như MM74C924 của hãng National 
Semiconductor kết hợp việc quét và giải mã bàn phím tất cả vào một chíp. Các chíp 
như vậy sử sự kết hợp các bộ đếm và các cổng lô gíc (không phải bộ vi điều khiển) 
để thực thi các khái niệm được trình bày trong chương trình 13.1 dưới đây. 
 Chương trình 13.1: 
 ; Chương trình con bàn phím Keyboard này gửi mã ASCII 
 ; Cha phím được ấn đến chân P0.1 
 ; Các chân P1.0 – P1.3 được nối tới các hàng còn P2.0 – P2.3 tới các cột. 
13.3 Phối ghép một DAC với 8051. 
 Phần này sẽ trình bày cách phối ghép một bộ biến đổi số tương tự DAC với 
8051. Sau đó minh hoạ tạo một sóng hình sin trên máy hiện sóng sử dụng bọ DAC. 
13.3.1 Bộ biến đổi số - tương tự DAC. 
 Bộ biến đổi - tương tự DAC là mmột thiết bị được sử dụng rộng rãi để chuyển 
đổi các xung số hoá về các tín hiệu tương tự. Trong phần này ta giới thiệu cơ sở phối 
ghép một bộ DAC với 8051. 
 Xem lại các kiến thức điện tử số ta thấy có hai cách tạo ra bộ DAC: Phương 
phát trọng số nhị phân và phương trình thang R/2R. Nhiều bộ DAC dựa trên các 
mạch tổ hợp, bao gồm MC1408 (DAC808) được sử dụng trong phần này đều sử 
dụng phương pháp hình thang R/2R vì nó có thể đạt độ chính xác cao hơn. Tiêu 
chuẩn đánh giá một bộ DAC đầu tiên là độ phân giải hàm của số đầu vào nhị phân. 
Các độ phân giải chúng là 8, 10 và 12 bít. Số các đầu vào bít dữ liệu quyết định độ 
phân giải của bộ DAC, vì số mức đầu ra tương tự bằng 2n với n là đầu vào bít dữ liệu. 
Do vậy, một bộ DAC 8 bít như DAC808 chẳng hạn có 256 mức đầu ra điện áp (dòng 
điện) rời rạc. Tương tự như vậy, một bộ DAC 12 bít cho 4096 mức điện áp rời rạc. 
cũng có các bộ DAC 16 bít nhưng chúng rất đắt. 
13.3.2 Bộ biến đổi DAC MC1408 (hay DAC808). 
 Trong bộ ADC808 các đầu vào số được chuyển đổi thành dòng (Iout) và việc 
nối một điện trở tới chân Iout ta chuyển kết quả thành điện áp. dòng tổng được cấp 
bởi chân Iout là một hàm số nhị phân ở các đầu vào D0 – D7 của DAC808 và tham 
chiếu Iref như sau: 
 )
256
0D
128
1D
64
2D
32
3D
16
4D
8
5D
4
6D
2
7D(II refout +++++++= 
 Trong đó D0 là bít thấp nhất LSB và D7 là bít cao nhất MSB đối với các đầu 
vào 

File đính kèm:

  • pdfVi_dieu_khien_8051_ Assembly_13_DC_buoc_ban phim_DAC.pdf