Sau một thời gian làm việc khẩn trương cùng với sự nhiệt tình của thầy hướng dẫn T.S Lưu Hồng Việt. Đề tài: “THIẾT KẾ VÀ PHÁT TRIỂN HỆ THỐNG ĐIỀU KHIỂN NHÚNG TRÊN NỀN VI ĐIỀU KHIỂN” mà thực chất là thiết kế và thực thi một bàn thí nghiệm vi điều khiển đa năng đã hoàn thành đúng thời gian qui định. Đây là đề tài mang tính tổng hợp, kết hợp giữa kỹ thuật điện tử và kỹ thuật lập trình.
Với sự quyết tâm và nỗ lực không ngừng, tập luận văn này đã giúp cho chúng em bước đầu làm quen với đề tài khoa học và em đã thật sự tích lũy một số kiến thức cơ bản về vi điều khiển, thiết kế mạch và kỹ thuật lập trình.
Mặt dù thời gian hạn hẹp, tài liệu tham khảo quá ít, và có nhiều vấn đề nảy sinh trong quá trình thiết kế phần mềm, nhưng chúng em đã cố gắng hết sức mình cũng như sự tận tâm giúp đỡ của thầy hướng dẫn nên đã đạt được những yêu cầu đặt ra.
106 trang |
Chia sẻ: huong.duong | Lượt xem: 1681 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế và phát triển hệ thống điều khiển nhúng dựa trấn nền vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
:
-Viết BIOS trên bộ nhớ ROM của vi điều khiển 8051
-chương trình thực hiện được nạp trực tiếp vào RAM ngoài có nghĩa là sử dụng Ram ngoài như bộ nhớ vừa đọc vừa ghi.
1.4 Lựa chọn thiết bị
Chip :
Vì yêu cầu là thiết kế bàn thí nghiệm về vi điều khiển cho sinh viên nên không cần yêu cầu sử dụng chip có tốc độ xử lý nhanh, tích hợp nhiều chức năng, cũng như khả năng tính toán mà vấn đề là từ bàn thí nghiệm này người sử dụng có một cái nhìn tổng quan nhất về vi xử lý, vi điều khiển. hơn nữa, chíp này phải đảm bảo một điều rất quan trọng nữa là khả năng lập trình cho chip, bởi chúng ta biết rằng, đối tượng sử dụng bàn thí nghiệm này là sinh viên mới bắt đầu tiếp cận môn học vi điều khiển nên nếu ta sử dụng chip mà phần cứng của nó quá phức tạp và khó tiếp cận thì không phù hợp.
Chính vì các lý do trên thì Chíp 8051 được sử dụng cho bàn thí nghiệm là sự lựa chọn hợp lý nhất.
Ram ngoài :
Ram là bộ nhớ truy xuất ngẩu nhiên, có nghĩa là bất kì ô nhớ nào cũng dễ dàng truy xuất như những ô nhớ khác.
-Khuyết điểm của Ram là dữ liệu lưu trữ trong Ram sẽ mất khi mất điện.
-Ưu điểm chính của Ram là có thể đọc và ghi nhanh chóng.
8051 có khả năng mở rộng bộ nhớ đến 64 kbyte bộ nhớ chương trình và 64 kbyte bộ nhớ dữ liệu bên ngoài. Tuy nhiên để phù hợp với nhu cầu thiết kế và thi công đòi hỏi đơn giản. Hơn nữa, mã chương trình được nạp vào ram chỉ là những chương trình đơn giản được thực hiện trong quá trình làm thí nghiệm bởi vậy không nhất thiết đòi hỏi dung lượng bộ nhớ lớn và tốc độ truy nhập nhanh. Trên phương diện thiết kế cho bàn thí nghiệm thì RAM65256 với dung lượng nhớ 32x8 Kbit là sự lựa chọn hợp lý nhất.
ROM ngoài :
Bộ nhớ ROM(Read Only Memory) lưu giữ chương trình và dữ liệu phục vụ hệ thống nhưng không bị mất đi ngay khi tắt nguồn điện .Về cơ bản có 4 loại ROM được phân biệt nhờ vào phương pháp để ghi dữ liệu trong nó. Bộ nhớ ROM có nhiều loại như là EPROM ,PROM,EEROM, EAROM NOVROM( non volatile ROM ) .
Maskable Programmed ROM(ROMmặt nạ): đây là loại ROM do nhà sản xuất nạp sẳn chương trình,khi đã nạp chương trình thì các bit tring ROM này không được thay đổi nữa.
Programmable ROM(PROM): loại ROM này người sử dụng có thể nạp chương trình và chỉ nạp một lần không thể xóa được.
ErasableProrammable ROM(EPROM): loại ROM này có thể lập trình bởi người sử dụng và có thể xóa nạp nhiều lần .Để xóa dữ liệu trong EPROM phải dùng ánh sáng cực tím để xóa,để lập trình cho ROM phải dùng mạch nạp EPROM.
EPROM có hai điểm bất lợi: phải lấy EPROM ra khổi soket để xóa và lập trình lại khi muốn thay đổi chương trình .Khi muốn thay đổi dữ liệu ô nhớ thì phải xóa dữ liệu của ô nhớ đó,nhưnng khi dùng ánh sáng cực tím thì tất cả dữ liệu trong EPROM bị xóa sạch và phải nạp lại toàn bộ dữ liệu.
Cũng giống như RAM do với nhu cầu thiết kế và thi công đòi hỏi đơn giản, không nhất thiết đòi hỏi dung lượng bộ nhớ ROM lớn và tốc độ truy nhập nhanh bởi vậy nên ROM chúng ta sử dụng trong thiết kế là ROM27C256 với dung lượng nhớ 32x8 Kbit.
Mở rộng cổng vào ra số :
Ta thấy rằng, Vi điều khiển 8051 có 4 bộ cổng P0, P1, P2, P3 trong khi đó chúng ta phải sử dụng cổng P0 và cổng P2 là Bus địa chỉ và Bus dữ liệu. Bởi vậy nên số cổng vào ra còn lại trên chíp là rất ít không đáp ứng được yêu cầu của một bàn thí nghiệm đa năng. Chính vì vậy nên cần thiết phải mở rộng cổng vào ra.
Chíp mở rộng cổng này phải đảm bảo yêu cầu cấu trúc đơn giản, dễ dàng ghép nối với chip 8051.
Ta thấy :
Vi mạch 8255A với cấu trúc phần cứng đơn giản, dễ sử dụng, có thể giao tiếp với vi xử lý theo hai kiểu xuất nhập (I/O) và kiểu bộ nhớ. Khi vi xử lý giao tiếp với 8255A theo kiểu I/O thì nó chỉ dùng 8255A đường địa chỉ từ A0 đến A7, còn khi giao tiếp theo kiểu bộ nhớ thì nó dùng 16 đường A0 đến A15 để giao tiếp, vì vậy dung lượng giao tiếp theo kiểu I/O thấp hơn dung lượng giao tiếp theo kiểu bộ nhớ.
Do đó vi mạch mở rộng cổng cho thiết kế là vi mạch 8255A.
Chuyển đổi tín hiệu A/D :
Mạch chuyển đổi tin hiệu tương tự sang số, chuyển một tín hiệu ngõ vào tương tự (dòng điện hay điện áp) thành dạng mã số nhị phân có giá trị tương ứng.
Chuyển đổi ADC có rất nhiều phương pháp. Về nguyên tắc có các phương pháp chính chuyển đổi AD như sau :
- Phương pháp tích phân (Intergration method)
- Phương pháp ADC xấp xỉ liên tiếp(Successive- Approximation ADC)
- Phương pháp song song (paralled method)
Sơ đồ tổng quát nguyên tắc chuyển đổi :
+
Startcommand
VA
V’A
Control Unit
Register
D/A
converter
Comparato
clock
Digital output
Hình Sơ đồ khối tổng quát của mạch ADC
Ta thấy rằng mỗi phương pháp chuyển đổi đều có những thông số cơ bản khác nhau:
+Độ chính xác của chuyển đổi AD.
+ Tốc độ chuyển đổi .
+ Dải biến đổi của tín hiệu tương tự ngõ vào
Trong đề tài này, chúng ta đi thiết kế một bàn thí nghiệm vi điều khiển đa năng, tích hợp nhiều thiết bị ngoại vi để có thể thực hiện nhiều bài thí nghiệm với các nội dung khác nhau. Chính vì vậy nên chíp chuyển đổi tín hiệu ADC không cần yêu cầu quá cao về độ chính xác của chuyển đổi, Dải biến đổi của tín hiệu tương tự ngõ vào cũng như tốc độ chuyển đổi.
Chính vì vậy, chíp chuyển đổi tín hiệu ADC chúng ta có thể sử dụng là ADC0809.
Ghép nối với máy tính theo chuẩn RS232 :
Cổng nối tiếp RS232 là giao diện phổ biển rộng rãi nhất. Việc truyền dữ liệu qua nó được tiến hành theo cách nối tiếp, nghĩa là các bit dữ liệu được gửi đi nối tiếp nhau trên một đường dẫn. Loại truyền này có khả năng dùng cho những khoảng cách lớn hơn, bởi vì khả năng gây nhiễu là nhỏ đáng kể hơn khi truyền song song. Việc truyền song song có một nhược điểm đáng kể là cáp truyền dùng quá nhiều sợi, và vì vậy rất đắt tiền.
Để thực hiện truyền thông giữa vi điều khiển 8051 và máy tính theo cơ chế truyền thông nối tiếp chuẩn RS232 ta sử dụng chíp MAX232.
Ghép nối với động cơ bước
Sử dụng loại động cơ bước công suất nhỏ
Ghép nối với LCD
Chúng ta biết rằng, những năm gần đây LCD đang ngày càng được sử dụng rộng rãi thay thế dần cho các đèn LED (các đèn LED 7 đoạn hay nhiều đoạn). Đó là vì các nguyên nhân sau:
Các LCD có giá thành hạ.
Khả năng hiển thị các số, các ký tự và đồ hoạ tốt hơn nhiều so với các đèn LED (vì các đèn LED chỉ hiển thị được các số và một số ký tự).
Nhờ kết hợp một bộ điều khiển làm tươi vào LCD làm giải phóng cho CPU công việc làm tươi LCD. Trong khi đèn LED phải được làm tươi bằng CPU (hoặc bằng cách nào đó) để duy trì việc hiển thị dữ liệu.
Dễ dàng lập trình cho các ký tự và đồ hoạ.
cần có bộ thí nghiệm với LCD.
Mà trong nội dung thiết kế bàn thí nghiệm vi điều khiển chỉ nhằm mục đích tìm hiểu nên ta sử dụng loại LCD đơn giản là LCD 14 chân.
Ghép nối với LED 7 thanh
Có thể khẳng định một điều rằng LED là một trong những thiết bị ngoại vi không thể thiếu trong bất kỳ một ứng dụng nào. Do vậy nên, nhất thiết trong bàn thí nghiệm vi điều khiển là có thể thí nghiệm với LED. Ở đây, Ta sử dụng 4 LED 7 thanh. Dùng một con vi mạch giải mã Led 7 thanh. Cơ chế sáng của các led là cơ chế vòng quét.
Ghép nối với bàn phím
Ta sử dụng bàn phím 4x4. Các phím này được nối qua cổng OR vào INT0 của vi điều khiển, khi người điều khiển ấn các phím thì nó sẽ được gán với các chức năng tương ứng. Vi điều khiển hiểu được các chức năng này thông qua việc đọc giá trị đầu vào. Các phím được nối với các chân từ P1.0 đến P1.3 của vi điều khiển.
Cơ chế nhận phím ấn là cơ chế ngắt.
Ghép nối với LED đơn
Sử dụng các loại led nhỏ ghép nối trực tiếp với cổng cho các bài toán nhỏ thực hiện với led.
1.5 Sơ đồ mạch thiết kế
Hình vẽ
1.6 Khái quát cấu trúc cơ bản và nguyên lý hoạt động của từng khối chức năng
1.6.1 Chip 8051
Như chúng ta đã biết trong vi điều khiển 8051 đã tích hợp sẵn bộ nhớ RAM và ROM trên chíp. Tuy nhiên, dung lượng của vùng nhớ này quá nhỏ chỉ thích hợp với các bài toán nhỏ. Trong các bài toán lớn thì dung lượng nhớ này sẽ không đáp ứng được đòi hỏi chúng ta phải mở rộng vùng nhớ à yêu cầu sử dụng bộ nhớ ngoài ( bộ nhớ dữ liệu RAM ngoài, bộ nhớ chương trình ROM ngoài ). Ta cũng biết rằng việc truy nhập vào các ô nhớ của bộ nhớ thông qua địa chỉ của ô nhớ đó. Bởi vậy để có thể giao tiếp với bộ nhớ ngoài yêu cầu 8051 phải cung cấp Bus địa chỉ à truy nhập vùng nhớ ngoài, để có thể trao đổi dữ liệu thì yêu cầu 8051 phải cung cấp Bus dữ liệu.
Để làm được điều này thì khi giao tiếp với bộ nhớ ngoài 8051 cung cấp các Bus địa chỉ và Bus dữ liệu :
*Bus địa chỉ : 16 đường địa chỉ từ A0-A15 tương ứng với 2 cổng : cổng P0(A0-A7) và cổng P2(A8-A15).
* Bus dữ liệu: 8 đường dữ liệu D0-D7 tương ứng của cổng P0
Như vậy, một vấn đề đặt ra là : làm thế nào để phân biệt khi nào chúng ta sử dụng vùng nhớ trong(onchip) và khi nào chúng ta sử dụng vùng nhớ ngoài ? để biết được điều này thì chúng ta phải quan tâm đến chân tín hiệu EA\ . EA\ là tín hiệu điều khiển cho phép truy nhập vùng bộ nhớ chương trình ngoài. Nếu EA\ = 0 thì cho phép truy nhập mã chương trình từ bộ nhớ ngoài. Trong trường hợp EA\=1 thì mã chương trình thực hiện ở ROM trong vi điều khiển 8051.
Như đã nói ở trên thì P0 vừa giữ vai trò vừa là Bus dữ liệu vừa là Bus địa chỉ vậy thì khi nào thì P0 là Bus địa chỉ khi nào thì nó là Bus dữ liệu ? Để biết được điều này thì 8051 đưa ra chân điều khiển ALE. Chân tín hiệu điều khiển này thường được nối với chân LE( latch enable) của bộ chốt địa chỉ.
Vậy bộ chốt địa chỉ là gì ? nó có chức năng gì ?
Chốt địa chỉ 74HC573
Mục đích cơ bản của bộ chốt địa chỉ là giữ lại địa chỉ thấp khi P0 trở thành bus dữ liệu.
Vi mạch chốt chúng ta sử dụng là : 74HC573
Giải mã địa chỉ :
Do 8051 thiết kế cần quản lý nhiều thiết bị ngoại vi, nhiều ô nhớ, muốn làm được việc này người ta phải cung cấp cho mỗi ô nhớ và thiết bị ngoại vi tầm địa chỉ cho thiết bị đó. Vì vậy cần có mạch giải mã địa chỉ trong mạch điện. Người ta thường dùng IC giải mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS\) trên các IC nhớ. Sau đây là sơ đồ chân, bảng sự thật và đặc điểm của 74138:
74138
A
B
C
Y0 ...Y7
G2A\
G2B
G1
S¬ ®å ch©n
Bộ nhớ chương trình ngoài
Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển theo một chương trình, muốn Microprocessor thực hiện một công việc gì người sử dụng phải lập trình hay viết chương trình. Chương trình phải lưu trữ ở đâu để Microprocessor nhận lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưu trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý. Nơi lưu trữ chương trình cho Microprocessor thực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ. Các bộ nhớ của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc chỉ đọc dữ liệu ra. Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 8051 có khả năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu bên ngoài. Bộ nhớ chương trình là bộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram.
Trong trường hợp này, chúng ta sử dụng 2 chíp nhớ : bộ nhớ chương trình ngoài: ROM27C256, và bộ nhớ dữ liệu ngoài RAM65256
Dung lượng nhớ của ROM27C256 là: 32x8 Kbit
Dung lượng nhớ của RAM65256 là: 32x8 Kbit
a. ROM27C256:
đặc điểm :
- là bộ nhớ chỉ đọc. mã chương trình khi được nạp vào thì nó giữ không đổi ngay cả khi mất nguồn cung cấp.
- có khả năng xoá/ghi nhiều lần.
-15 đường địa chỉ truy nhập vào các ô nhớ của ROM ( A0-A14). Các đường địa chỉ này được nối với BUS địa chỉ.
-output (O0-O7) được nối với BUS dữ liệu cho phép đưa mã chương trình vào vi điều khiển.
-chân 20: CE\ : chip enable cổng cho phép chọn chíp.
-chân 22: OE\ : output enable cổng cho phép tín hiệu ra.
b. RAM65256
đặc điểm:
- Là bộ nhớ có thể cả đọc và ghi. Tuy nhiên, dữ liệu ghi vào trong RAM có thể là mã chương trình hoặc khối dữ liệu sẽ mất khi mất nguồn cung cấp.
- 15 đường địa chỉ truy nhập vào các ô nhớ của RAM ( A0-A14). Các đường địa chỉ này được nối với BUS địa chỉ.
- Output (O0-O7) được nối với BUS dữ liệu cho phép đưa mã chương trình hoặc dữ liệu từ RAM vào vi điều khiển.
- chân 20: CE\ : chip enable cổng cho phép chọn chíp.
- chân 22: R0\ : Read output cổng cho phép đọc dữ liệu từ RAM ra bus dữ liệu.
- chân 27: WR\: Write cho phép ghi dữ liệu từ Bus dữ liệu vào bộ nhớ.
Một điểm cần chú ý nữa :
Tín hiệu PSEN\ được sử dụng để đọc bộ nhớ mã ngoài và tín hiệu RD\ được sử dụng để đọc bộ nhớ dữ liệu, nên một bộ nhớ RAM có thể chứa cả mã chương trình và dữ liệu bằng cách thiết kế như sau :
Mở rộng cổng vào ra
Trong hệ thống Vi xử lý hay máy vi tính nếu chỉ giao tiếp với bộ nhớ trong ROM, RAM thì chưa đủ, máy tính còn phải giao tiếp với các thiết bị ngoại vi như bàn phím, màn hình, máy in, ... để con người có thể đối thoại được máy tính cũng như dùng máy tính để điều khiển các thiết bị khác. Để giao tiếp với nhiều thiết bị như vậy, máy tính có thể giao tiếp qua nhiều đường và giao tiếp với nhiều hình thức khác nhau như giao tiếp nối tiếp, giao tiếp song song.
Vì vậy vai trò của cổng xuất nhập 8255 để giao tiếp giữa máy tính với thiết bị ngoài là một điều cần thiết giúp máy có thể mở rộng khả năng làm việc.
*Sơ đồ chân của 8255
8255A
D0-D7
RD\
WR\
RESET
CS\
A0
A1
CS\
PA0-PA7
PB0-PB7
PC0-PC3
PC4-PC7
Các hoạt động cơ bản của 8255 được tóm tắt trong bảng sau:
A1
A0
RD\
WR\
CS\
Hoạt động
0
0
L
H
L
Port A à Bus dữ liệu
0
1
L
H
L
Port Bà Bus dữ liệu
1
0
L
H
L
Port Cà Bus dữ liệu
0
0
H
L
L
Bus dữ liệu à Port A
0
1
H
L
L
Bus dữ liệu à Port B
1
0
H
L
L
Bus dữ liệu à Port C
1
1
H
L
L
Bus dữ liệu à Từ điều khiển
x
X
x
x
H
Bus dữ liệu ở trạng thái Hi-Z
1
1
L
H
L
Cấm
x
x
H
H
L
Bus dữ liệu ở trạng thái Hi-Z
Các trạng thái làm việc của 8255:
- Chế độ 0: vào/ra thông thường.
- Chế độ 1: chốt vào/ra.
- Chế độ 2: bus hai chiều.
Thanh ghi từ điều khiển :
Truyền thông nối tiếp
Đặc điểm cơ bản của truyền thông nối tiếp:
Các máy tính truyền dữ liệu theo hai cách: Song song và nối tiếp. Trong truyền dữ liệu song song thường cần 8 hoặc nhiều đường dây dẫn để truyền dữ liệu. Nhưng truyền dẫn số liệu song song chỉ thích hợp với truyền dẫn trong một phạm vi hẹp. Để truyền dữ liệu đi xa thì phải sử dụng phương pháp truyền nối tiếp. Trong truyền thông nối tiếp dữ liệu được gửi đi từng bít một so với truyền song song thì một hoặc nhiều byte được truyền đi cùng một lúc bởi vậy nên tốc độ truyền dẫn chậm.
Các cơ sở của truyền thông nối tiếp :
Khi một bộ vi xử lý truyền thông với thế giới bên ngoài thì nó cấp dữ liệu dưới dạng từng khúc 8 bít (byte) một. Điều này có thể làm việc chỉ khi đường cáp bus không quá dài vì các đường cáp dài làm suy giảm thậm chí làm méo tín hiệu. Vì truyền dẫn dữ liệu nối tiếp theo từng bít trong khi truyền thông với thế giới bên ngoài dưới dạng từng khúc 8 bit à yêu cầu : khi truyền dẫn dữ liệu phải đóng gói dữ liệu: yêu cầu bit bắt đầu và dừng.
Truyền thông dữ liệu nối tiếp dị bộ được sử dụng rộng rãi cho các phép truyền hướng ký tự, còn các bộ truyền dữ liệu theo khối thì sử dụng phương phát đồng bộ. Trong phương pháp dị bộ, mỗi ký tự được bố trí giữa các bít bắt đầu (start) và bít dừng (stop). Công việc này gọi là đóng gói dữ liệu.
d7
1
1
Start
bÝt
Space
Stop
bÝt
Mark
d0
Goes out last
Goes out first
Tốc độ truyền dữ liệu trong truyền thông dữ liệu nối tiếp được gọi là bit trong giây bps (bít per second). Ngoài ra, còn được sử dụng một thuật ngữ rộng rãi nữa là tốc độ baud. Trong truyền dẫn ta phải quan tâm đến thông số này bởi để cho phép truyền dữ liệu giữa máy tín PC và hệ thống 8051 mà không có bất kỳ lỗi nào thì chúng ta phải biết chắc rằng tốc độ baud của hệ 8051 phải phù hợp với tốc độ baud của công COM máy tính PC.
8051 có hai chân được dùng chuyên cho truyền và nhận dữ liệu nối tiếp. Hai chân này được gọi là TxD và RxD và là một phần của cổng P3 (đó là P3.0 và P3.1). chân 11 của 8051 là P3.1 được gán cho TxD và chân 10 (P3.0) được dùng cho RxD. Các chân này tương thích với mức lô-gích TTL. Do vậy chúng đòi hỏi một bộ điều khiển đường truyền để chúng tương thích với RS232. Một bộ điều khiển như vậy là chíp MAX232.
Sơ đồ bên trong của MAX232
P3.1
TxD
P3.0
RxD
Max232
8051
Vcc
2
6
7
8
9
11
10
5
4
112
10
14
13
T1OUT
T1IIN
R1IIN
R1OUT
T2IIN
R2OUT
T2OUT
R2IIN
Rs232 side
TTL side
15
16
DB - 9
122
C3
+
C4
+
2
2
5
2
3
+
C1
+
C2
Bộ chuyển đổi tương tự số ADC 0809.
Bộ ADC 0809 là một thiết bị CMOS tích hợp với một bộ chuyển đổi tương sang số 8 bit, bộ chọn kênh và mật bộ logic điều khiển tương thích. Bộ chuyển đổi tương tự số này sử dụng phương pháp chuyển đổi xấp xỉ. Bộ chọn kênh có thể chọn ra kênh cần chuyển đổi bằng 3 chân chọn địa chỉ.
Thiết bị này loại trừ khả năng cần thiết điều chỉnh điểm zero bên ngoài và khả năng điều chỉnh tỉ số làm cho ADC đễ dàng giao tiếp với các bộ vi xử lý.
Hoạt động chung:
Khi một kênh được chọn đồng thời yêu cầu START ,ALE được tích cực . Giá trị điện áp cần được chuyển đổi sẽ được chốt lại ở cổng vào tương ứng xung start bắt đầu chuyển đổi . Yêu cầu độ rộng xung START không nhỏ hơn 200ns. Sau xung START khoảng 10ns đầu ra EOC (end of convert) lúc này xuống thấp thực sự bắt đầu quá trình chuyển đổi. Kết thúc quá trình chuyển đổi chân EOC trạng thái tích cực cao báo hiệu kết thúc quá trình chuyển đổi. Sau khi kết thúc quá trình chuyển đổi nếu chân E (enable) ở trạng thái tích cực dữ liệu lúc này mới được chốt và đưa ra data bus ngược laijddaauf ra ở trạng thái cao trở.
ý nghĩa các chân:
IN0 – IN7: 8 đầu vào tương tự
A,B,C : các tín hiệu chọn kênh
Các chân 2.1-2.7: là các đầu ra số
ALE cho phép chốt số liệu đầu vào
Start: xung cho phép bắt đầu chuyển đổi
Clk:đầu vào xung clock
Ref(+): điện áp vào chuẩn +5v
Ref(-): điện áp vào chuẩn 0
Vcc: nguồn cung cấp
Độ phân giải 8 bít
Tổng sai số chưa chỉnh ±1LSB
Thời gian chuyển đổi 100 ms
Nguồn cung cấp ± 5 V
Điện áp vào 0-5V
Tần số xung clock 10kHz – 1028 kHz
Nhiệt độ hoạt động –400C – 85OC
Dễ dàng giao tiếp với vi xử lý hoặc dùng riêng
Không cần điều chỉnh zero hoặc thang đo
Bảng chân lý và sơ đồ chân của vi mạch:
Cấu trúc ADC 0809 và giản đồ thời gian quá trìng chuyển đổi như sau
A
B
C
X
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
Thiết kế khối hiển thị
Ta sử dụng LED 7 thanh để phụ vụ cho việc hiển thị giá trị nhiệt độ trung bình. Để phối ghép giữa VXL và LED 7 thanh ta sử dụng thêm vi mạch SN7447 để giải mã BCD ra 7 nét và để điều khiển bộ đèn hiển thị. Điều khiển hiển thị số liệu đơn giản nhất là ta cứ cung cấp nguồn liên tục cho LED khi đưa số liệu ra, nhưng cách này rất tốn năng lượng khi số lượng LED sử dụng lớn. Vì vậy thực tế (áp dụng trong thiết kế) ta sử dụng nguyên lý hiển thị động làm việc theo nguyên tắc dồn kênh: Toàn bộ các đèn hiển thị dùng chung một bộ điều khiển SN7447 và các đèn LED không được thắp sáng liên tục mà sáng luân phiên nhau theo một chu kỳ nhất định với thời gian sáng hợp lý (cỡ 20ms) Þ công suất tiêu thụ nhờ thế giảm đi mà vẫn đạt được hiệu quả hiển thị.
Một cách thực hiện nguyên tắc hiển thị ở chế độ động và dồn kênh được thể hiện dưới hình vẽ dưới đây:
*Nguyên tắc hoạt động:
Giá trị số cần hiển thị của mỗi con số được gửi đến cổng PB của 8255A từ 8085 dưới dạng mã BCD. Từ đây số BCD được mạch SN7447 giải mã và tạo ra các tín hiệu điều khiển thích hợp đưa đến các chân katot a,b,c,d,e,f,g của LED. Mỗi giá trị cần hiển thị được đưa đến cổng PB cứ mỗi 2ms một lần cho một đèn.
Giá trị số nói trên được hiện ra trên chữ số thập phân nào lại là do các bit của byte dữ liệu từ 8051 đưa đến cổng PA của 8255A quyết định. Như vậy, cứ mỗi 2ms thì ta phải đưa dữ liệu ra PB, rồi PA và cho hiện ra được một giá trị số trên một đèn. Trong trường hợp cần hiển thị giá trị của nhiệt độ thì ta chỉ cần tới 3 con số,tức là cần 3 đèn LED 7 thanh, do đó ta chỉ phải mất 2.3=6ms để cho hiện số của cả dãy đèn. Sự sáng nhấp nháy của các đèn với chu kỳ 6ms thì mắt người không thể cảm nhận được sự nhấp nháy của nó, và ta sẽ cảm giác là chúng sáng một cách liên tục.
a b c d e f g
7447
+5V
TL
RBI
BI
PB0¸PB7
PA0
PA1
PA2
PAA
PA7
8255A
8051
S/L
S/L
Nếu trong trường hợp cần hiển thị nhiều LED theo nguyên tắc này thì để tiết kiệm tài nguyên (các cổng của 8255A) thì ta dùng một mạch dồn kênh riêng làm thay nhiệm vụ của PA ở trên. Ví dụ như sử dụng thêm một mạch giải mã 74LS138 thì có thể thực hiện điều khiển được tối đa 8 đèn. Trong TH này chỉ sử dụng hết một cổng của 8255A với 4 bit thấp để đưa só BCD ra điểu khiển SN7447, còn 4 bit cao dùng điều khiển mạch giải mã.
+Sơ đồ đèn LED 7 thanh :
+Trong đó
.chân vcc nối với nguồn 5(v)
.chân GND nối với đát 0(v)
.các chân a,b,c,d,e,f,g,o
nhận các tín hiệu ĐK để đk các đèn LED tương ứng
+ Cấu trúc bên trong của đèn LED 7 thanh bao gồm 7 diode phát quang.
+Với cấu trúc các thanh LED như hình 3 thì ta có bảng logic sau:
A
b
c
d
e
f
g
Số hiển thị
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
1
1
1
0
1
1
0
1
2
1
1
1
1
0
0
1
3
0
1
1
0
0
1
1
4
1
0
1
1
0
1
1
5
1
0
1
1
1
1
1
6
1
1
1
0
0
0
0
7
1
1
1
1
1
1
1
8
Ghép nối với bàn phím:
Bàn phím là một thiết bị rất thông dụng trong các mạch vi xử lý . Ttrong trường hợp đơn giản nhất , đó có thể chỉ là một công tắc có gắn phím nối vào một chân nào đó của bộ vi xử lý. Còn ở mức phức tạp hơn , đó có thể là hàng chục công tắc có gắn phím được tổ chức theo một ma trận. Phức tạp hơn nữa, đó là một hệ vi xử lý chuyên dụng quản lý cả trăm công tắc có gắn phím với nhiệm vụ nhận ra phím được gõ và tạo mã đưa đến cho hệ vi xử lý.
Dù là đơn lẻ hay là tập hợp các phím, khi phối ghép chúng với bộ vi xử lý ta cũng phải thoả mãn một số yêu cầu đặc biệt để đảm bảo hệ thống hoạt động đúng. Có 2 nhóm công tắc: công tắc có tiếp xúc cơ khí(kiểu điện trở thay đổi khi ấn và nhả) và loại công tắc không có tiếp xúc cơ khí (kiểu điện dung thay đổi khi ấn và khi nhả). Trong thực tế, loại công tắc tiếp xúc kiểu cơ khí được dùng rất rộng rãi.
Về mặt cơ-điện, khi ta ấn rồi nhả phím, xung điện thu được ở đầu ra không phải là liên tục mà bị ngắt quãng tại các giai đoạn quá độ (lúc bắt đầu ấn phím và lúc bắt đầu nhả phím). Nếu trong thời gian quá độ mà ta đọc thông tin từ công tắc thì rất dễ nhận được thông tin sai lệch về trạng thái của công tắc. Do vậy, người ta thường phải chờ cỡ 10¸20ms sau khi công tắc bị ấn hoặc nhả để đọc được trạng thái của công tắc trong giai đoạn xác lập.
Để nhận được thông tin chính xác về trạng thái của một phím trong các hệ thống người ta thường phải làm 3 khối công việc chính như sau:
+Phát hiện có ấn phím.
+Chờ công tắc ở trạng thái ổn định(chống rung).
+Tìm phím được ấn và tạo mã cho phím dó.
Trong thực tế, có 2 cách thực hiên phối ghép bàn phím để thực hiện được các chức năng trên:
Dùng bộ vi xử lý để quản lý trực tiếp bàn phím thông qua một số mạch cổng. Trong trường hợp này, CPU làm việc ở chế độ thăm dò. Bằng cách này CPU phải để một phần thời gian để quản lý bàn phím nhưng ta lại đạt được sự đơn giản về phần cứng.
Dùng một mạch quản lý bàn phím chuyên dụng để phối ghép với bàn phím. Ở đây, CPU làm việc với bộ quản lý bàn phím qua yêu cầu ngắt. Bằng cách này, ta giải phóng được CPU để nó có thể dành thời gian cho việc khác quan trọng hơn, tuy nhiên về phần cứng rõ ràng là phức tạp hơn.
Ta sẽ dùng cách thứ nhất để ghép nối một bàn phím 16 phím(16 số hệ hexa từ 0¸F) với hệ vi xử lý 8051 theo kiểu ma trận.
+5V
D0
D1
D2
D3
D3
D2
D1
D0
D4
D5
D6
D7
10K
10K
10K
0
1
2
3
C
D
E
F
Cổng ra 00
Cổng vào 01
1.6.10 Ghép nối với động cơ bước
Độ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ạn như 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 bao bọc xung quanh là một đứng yên gọi stato. 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. Kiểu động cơ bước này được gọi là động cơ bước 4 pha.
Cấu trúc cơ bản của một động cơ bước :
Trên hình vẽ, rotor có 4 răng và stator có 6 cực. Mỗi cuộn dây sẽ được quấn trên hai cực đối nhau. Vì vậy, giả sử, khi cấp điện cho cực 1 (stator), rotor sẽ quay cực gần nhất (X) để răng thẳng với cực 1. Cắt điện cuộn số 1, tiếp tục cấp điện cho cuộn 2, rotor sẽ quay răng tiếp sau (Y) cho thẳng với cực 2. Cứ như vậy điều khiển quay rotor.
Sơ đồ mạch nguyên lý điều khiển động cơ bước :
§¬n cùc
Nguyên tắc điều khiển động cơ bước :
- full-stepping :
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
- half - stepping :
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
1.6.11 Ghép nối với LCD
LCD trong thiết kế có 14 chân, chức năng của các chân được cho trong bảng sau :
Chân
Ký hiệu
I/O
Mô tả
1
VSS
-
Đất
2
VCC
-
Dương nguồn 5v
3
VEE
-
Cấp n
Các file đính kèm theo tài liệu này:
- DA0299.DOC