LỜI MỞ ĐẦUNgày nay cùng với sự phát triển mạnh mẽ của khoa học kĩ thuật,máy tính trởthành công cụ vô cùng quan trọng.Sự phát triển của “Kỹ thuật ghép nối với máytính” đã mở rộng đáng kể
Trang 1LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển mạnh mẽ của khoa học kĩ thuật,máy tính trởthành công cụ vô cùng quan trọng.Sự phát triển của “Kỹ thuật ghép nối với máytính” đã mở rộng đáng kể các lĩnh vực ứng dụng của máy tính,đặc biệt là trong đolường và điều khiển.Các thiết bị ghép nối với máy tính theo các modul nhờ vậy màmáy tính có thể truyền nhận tín hiệu để thực hiện nhiệm vụ xử lý tín hiệu và điềukhiển Các thiết bị, hệ thống đo lường và điều khiển ghép nối máy tính có độ chínhxác cao, thời gian thu thấp số liệu ngắn, nhưng còn đáng quan tâm hơn là mức độ tựđộng hóa trong việc thu thập và xử lý các kết quả đo, kể cả việc lập bảng thống kêcũng như in ra kết quả LPT là một tiêu chuẩn của rãnh cắm mở rộng của máytính,phần lớn các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đềuđược chế tạo để đặt vào các rãnh cắm theo tiêu chuẩn LPT Bài tập lớn này của emchỉ nêu lên một ứng dụng nhỏ của việc kết nối máy tính vào sản xuất nói chung vàrãnh cắm mở rộng nói riêng
Qua một thời gian tìm hiểu, thiết kế với sự cố gắng của bản thân và sự hướngdẫn của thầy giáo bộ môn đến nay em đã hoàn thành bài tập lớn này Tuy nhiên, do
sự hiểu biết về thực tế và trình độ chuyên môn còn hạn chế nên bài tập lớn khôngtránh khỏi thiếu sót Em mong nhận được sự góp ý của các thầy cô giáo và các bạn
Em xin chân thành cảm ơn các thầy cô!
Trang 2CHƯƠNG 1 GIỚI THIỆU VỀ CÔNG NGHỆ 1.1 Giới thiệu về chuẩn giao tiếp LPT
1.1.1 Cấu trúc:
Sau đây là chức năng của các đương dẫn tín hiệu:
Strobe (1): Với một mức logic thấp ở chân này, máy tính thông báo cho máy in biết
có một byte đang sẵn sàng trên các đường dẫn tín hiệu để được truyền
D0 đến D7: Các đường dẫn dữ liệu
Acknowledge: với một mức logic thấp ở chân này, máy in thông báo cho máy tính
biết là đã nhận được kí tự vừa gửi và có thể tiếp tục nhận
Busy (bận – 11): máy in gửi đến chân này mức logic cao trong khi đang đón nhận
hoặc in ra dữ liệu để thông báo cho máy tính biết là các bộ đệm trong máy tính biết
Trang 3là các bộ đệm trong máy tính đã bị đầy hoặc máy in trong trạn thái Off-line.
Paper empty (hết giấy – 12): Mức cao ở chân này có nghĩa là giấy đã dùng hết Select (13): Một mức cao ở chân này, có nghĩa là máy in đang trong trạng thái kích
hoạt (On-line)
Auto Linefeed (tự nạp dòng): Có khi còn gọi là Auto Feed Bằng một mức thấp ở
chân này máy tính PC nhắc máy in tự động nạp một dòng mới mỗi khi kết thúc một dòng
Error (có lỗi): Bằng một mức thấp ở chân này, máy in thông báo cho máy tính là đã
xuất hiện một lỗi, chẳng hạn kẹt giấy hoặc máy in đang trong trạng thái Off-Line
Reset (đặt lại): Bằng một mức thấp ở chân này, máy in được đặt lại trạng thái được
xác định lúc ban đầu
Select Input: bằng một mức thấp ở chân này, máy in được lựa chọn bởi máy tính.
1.1.2 Các thanh ghi đặc biệt
a.Thanh ghi dữ liệu
Tám đường dẫn dữ liệu dẫn tới 8 ô nhớ trên thanh ghi dữ liệu thanh ghi dữ liệu được chỉ rõ là hai hướng dữ liệu có
thể được xuất ra các chân D0 đến D7 hoặc đọc vào
a Thanh ghi trạng thái
bốn đường dẫn điều khiển Strobe, Auto Linefeed, Reset, Select Input dẫn tới bốn ô nhớ trên thanh ghi điều khiển
b Thanh ghi điều khiển
năm đường dẫn trạng thái Acknowledge, Busy, Paper empty, Select, Error nốitới năm ô trên thanh ghi trạng thái
1.1.3 Địa chỉ các cổn trên máy tính:
Trang 4- Thời gian biến đổi lớn nhất là 35s
- Các phiên bản khác với chân ra tương thích có thể hoạt động ở tốc độ cao như: 15s với AD674B, 10s với AD1674
* Mô tả sản phẩm
AD574A là một bộ biến đổi ADC 12 bit hoàn chỉnh hoạt động trên nguyên lý xấp xỉ liên tiếp, với bộ đệm đầu ra ba trạng thái cho phép ghép nối trực tiếp với bus của bộ vi xử lý 8 hoặc 16 bit Một bộ phát xung nhịp và điện áp tham chiếu có độ chính xác cao được tích hợp trên chip
Trang 5Sơ đồ chân vi mạch AD574A
- AD574A có thể phối ghép với hầu hết các vi xử lý và các vi điều khiển
8 hoặc 16 bit Bộ đệm đầu ra ba trạng thái đa chế độ cho phép ghép trực tiếp với bus
dữ liệu trong quá trình đọc và các lệnh biến đổi nhận được từ bus điều khiển 12 bit của dữ liệu đầu ra có thể được đọc như là 1 dữ liệu 12 bit hoặc như 2 byte 8 bit (byteđầu với 8 bit dữ liệu, byte còn lại với 4 bit dữ liệu và 4 bi 0)
- Cung cấp 4 dải đo: 0 tới +10V và 0 tới +20V đơn cực, 5V tới +5V và 10V tới +10V lưỡng cực
-* Đấu nối dải đo đơn cực cho AD574A
AD574A chứa tất cả phần tử tích cực cần thiết để thực hiện biến đổi A/D hoàn chỉnh Vì thế, cho tất cả các vị trí, tất cả cần được nối với nguồn cấp (+5V, +12V/+15V, và -12V/+12V), đầu vào tương tự, và lệnh khởi tạo quá trình biến đổi,
Trang 6được thảo luận trong trang tiếp theo Sự đấu nối đầu vào tương tự và định cỡ là rất đơn giản; chế độ hoạt động đơn cực được biểu diễn như hình sau.
Chế độ hoạt động đơn cực của AD574AĐầu vào tương tự được nối giữa chân 13 và chân 9 cho phạm vi đầu vào 0V tới +10V, giữa chân 14 và chân 9 cho phạm vi đầu vào 0V tới +20V AD574A rất
dễ điều chỉnh để cung cấp tín hiệu đầu vào vượt cao hơn nguồn cấp
AD574A được thiết kế có độ sai lệch thông thường là ½ LSB so với độ chính xác ở đầu vào tương tự
* Hoạt động lưỡng cực
Sự đấu nối như hình vẽ
Trang 7Chế độ hoạt động lưỡng cực của AD574AADC nối tiếp AD7524
Sơ đồ chân AD7524
Bộ biến đổi AD7524 làm việc theo nguyên tắc mạng điện trở R – 2R, với R = 100k
Vi mạch AD7524 được chế tạo theo công nghệ CMOS, do vậy dòng tiêu thụ rất nhỏ (chỉ cỡ 1mA khi điện áp nguồn là 5V) Điện áp nguồn Vdd có thể nằm trong khoảng 5V tới 15V Tất cả các lối vào ra đều tương thích TTL
Trang 8Để đưa ra một tín hiệu Analog (0 -UREF*255
256V) ta cần đưa ra byte dữ liệu đến các chân từ D0 đến D7, sau đó cần tạo ra một xung âm tại chân WR để lưu byte
dữ liệu đó vào D/A
Điện áp so sánh UREF có thể là điện áp dương cũng có thể là điện áp âm, thậm chí có thể đấu với một điện áp xoay chiều có biên độ thay đổi trong một phạm vi giới hạn
1.2.2 Giới thiệu về 74HC245
Bộ đệm bus 2 chiều 74HC245 gồm có 20 chân, ,bộ đệm chỉ hoạt động khi có tínhiệu low ở chân 19.Nó có chứa 8 vi mạch đệm với các lối ra 3 trạng thái để trao đổithông tin giữa các đường dẫn bus dữ liệu theo 2 hướng Hướng truyền dữ liệu đượcxác định bằng chân DIR: DIR = 0, dữ liệu được chuyển từ B sang A Việc chuyểnhướng dữ liệu cho phép quản lý đơn giản bằng tín hiệu /IOR Ta có thể nối trực tiếp
ra chân DIR Qua đó đảm bảo bộ đệm chỉ cho phép dữ liệu đưa vào từ bên ngoàiđưa lên bus dữ liệu của máy tính khi PC thực hiện một quá trình truy nhập đọc(/IOR = 0)
1.2.3 Giới thiệu về 74HC688
Trang 9Bộ giả mã địa chỉ 74HC688 so sánh các tín hiệu từ A0-A7 xem có thống nhất vớicác địa chỉ của tín hiệu trên các chân tương ứng B0-B7.74HC688 so sánh hai trong
số tám bit xem có giống nhau không và khi các bit xếp kề sát đồng nhất sẽ tạo ramột tín hiệu Low ở chân19
Trang 10CHƯƠNG 2 THIẾT KẾ MODUL 2.1 Vi mạch 8255A
Với tổ hợp các tín hiệu địa chỉ (A0, A1), chon vi mạch (CS), và các lệnh đọcghi (RD, WR) của VXL, ta có các lệnh ghi đọc khác nhau cho các cửa (A, B, C ) vàthanh ghi điều khiển như bảng 3.2, tạo ra sự di chuyển số liệu giữa đường dây sốliệu, các cửa và thanh ghi điều khiển Như vậy, vi mạch 8255 có đặc điểm là không
có lệnh đọc thanh ghi trạng thái mà dùng lệnh đọc cửa C khi vi mạch ở chế độ 1 và
2, còn ở chế độ 0, không đọc trạng thái
Các từ điều khiển
Trang 11Từ điều khiển thiết lập chế độ:
Từ điều khiển lập xoá bit:
Chọn chế độ của 8255
Trong khi các cổng A, B và C được dùng để nhập và xuất dữ liệu thì hanh ghiđiều khiển phải được lập trình để chọn chế độ làm việc của các cổng này
Trang 12Các cổng của 8255 có thể được lập trình theo một chế độ bất kỳ dưới đây
- Chế độ 0 (mode0): đây là chế độ vào/ ra cơ sở Ở chế độ này các cổng A, B,PCH hay PLH có thể được lập trình như đầu vào hoặc đầu ra
- Chế độ 1 (mode1): Trong chế độ này các cổng A và B có thể được dùng nhưcác cổng đầu vào hoặc đầu ra với các khả năng bắt tay tín hiệu bắt tay được cấp bởicác bit của cổng C
- Chế độ 2 (mode2): Trong chế độ này cổng A có thể được dùng như cổngvào/ ra hai chiều với khả năng bắt tay và các tín hiệu bắt tay được cấp bởi các bitcổng C cổng B có thể được dùng như ở chế độ vào/ ra đơn giản hoặc ở chế độ có bắttay mode1
Trang 13Ta có sơ đồ chân ADC 0809
Hình 1.11 Sơ đồ chân và cấu tạo ADC 0809INo tới IN7 : 8 ngõ vào tương tự
A,B,C : Giải mã chọn một trong 8 ngõ vào
Z-1 tới Z-8 : Ngõ ra song song 8 bit
ALE : Cho phép chốt địa chỉ
Trang 14START : Xung bắt đầu chuyển đổi
CLK :Xung đồng bộ
REF (+): Điện thế tham chiếu (+)
REF (-): Điện thế tham chiếu (-)
VCC :Nguồn cung cấp
+Các đặc điểm của ADC 0809:
-Độ phân giải 8bit
-Nhiệt độ hoạt động -40oC tới 85oC
-Dễ dàng giao tiếp với vixuly hoặc dùng riêng
-Không cần điều chỉnh zero hoặc đầy thang
+Chọn kênh tương tự cho ADC 0809
-Chọn một kênh tương tự bằng cách tọa địa chỉ A,B,C theo bảng trên-Kích hoạt chân ALE Nó cần xung thấp lên cao để chốt địa chỉ-Kích hoạt chân SC bằng xung cao xuống thấp để bắt đầu chuyển đổi-Hiển thị OEC để báo kết thúc chuyển đổi
Trang 15-Kích hoạt OE cho phép đọc dữ liệu ra của ADC.
2.4 Ghép nối hoàn chỉnh
CHƯƠNG 3 Giao Diện Phần Mềm 3.1 Giao diện điều khiển
Trang 163.2 Phần mềm thực hiện
Add modul
Public Declare Function Inportb Lib "dlportio.dll" Alias "Dlport Read Port Uchar" (ByVal Port As Long) As Byte
Trang 17Public Declare Sub Outportb Lib "dlportio.dll" Alias "Dlport Write Port Uchar" (ByVal Port As Long, ByVal Value As Byte)
Private Sub Command1_Click()
MsgBox "day la chuong trinh dieu khien ghep noi may tinh giao dien LPT"End Sub
Private Sub Command2_Click()
Trang 18Outport b(&H37A, 2)
Outport b(&H378, &H7)
Outport b(&H378, &H146)
Outport b(&H378, &H5)
Outport b(&H37C, 0)
Outport b(&H378, &H3)
Outport b(&H378, &H5)
Outport b(&H378, &H7)
Outport b(&H378, &H23)
Outport b(&H378, &H5)
Outport b(&H378, &H7)
Trang 19Outport b(&H378, &H5) Outport b(&H378, &H7) Call Delay(0.1)
Outport b(&H378, &H4) Outport b(&H37C, 2)
Outport b(&H378, 8)
Outport b(&H37C, 0)
Outport b(&H37C, 1)
sensor3 = inportb(&H378) '''''''sensor4
Outport b(&H378, &H33) Outport b(&H378, &H5) Outport b(&H378, &H7) Call Delay(0.1)
Outport b(&H378, &H4) Outport b(&H37C, 2) 'Outport b(&H378, 8)
Outport b(&H37C, 0)
Outport b(&H37C, 1)
sensor4 = inportb(&H378) '''''''sensor5
Outport b(&H378, &HB)Outport b(&H378, &H5)Outport b(&H378, &H7) Call Delay(0.1)
Outport b(&H378, &H4) Outport b(&H37C, 2)
Outport b(&H378, 8)
Trang 20Outport b(&H37C, 0)
Outport b(&H37C, 1)
sensor5 = inportb(&H378) '''''''sensor6
Outport b(&H378, &H2B) Outport b(&H378, &H5) Outport b(&H378, &H7) Call Delay(0.1)
Outport b(&H378, &H4) Outport b(&H337C, 2) Outport b(&H378, 8)
Outport b(&H37C, 0)
Outport b(&H37C, 1)
sensor6 = inportb(&H378) '''''''sensor7
Outport b(&H378, &H1B)Outport b(&H378, &H5) Outport b(&H378, &H7)Call Delay(0.1)
Outport b(&H378, &H4) Outport b(&H37C, 2)
Outport b(&H378, 8)
Outport b(&H37C, 0)
Outport b(&H37C, 1)
sensor7 = inportb(&H378) '''''''sensor8
Outport b(&H378, &H13)Outport b(&HF37, &H5)
Trang 21Outport b(&H378, &H7)
Call Delay(0.1)
Outport b(&H378, &H4)
Outport b(&H37C, 2)
Outport b(&H378, 8) ' Chi con tro toi cong A
Outport b(&H37C, 0) 'Chot du lieu
Outport b(&H37C, 1)
sensor8 = inportb(&H378)
'''''''cam bien so
Outport b(&H37C, 2)
Outport b(&H378, A) ' Chi con tro toi cong B
Outport b(&H37C, 0) 'Chot du lieu
Outport b(&H37C, 1) 'dieu khien 6402 duong nhan tin hieu vaosensor = inportb(&H378) 'Nhan tin hieu vao
End Sub
Kết luận
Trang 22Sau nhiều ngày tìm hiểu và làm bài tập lớn dưới sụ hướng đẫn của các thầy vàbạn bè, em đã hoàn thành xong được đề tài này Sau khi làm xong đã giúp cho em
có nhiều hiểu biết hơn về vi điều khiển và hoạt động của nó Mặc dù em đã rất cốgắng, xong do kiến thức còn hạn chế nên không thoát khỏi những sai lầm trong khithiết kế, mong thầy có thể chỉ ra những sai sót đó để em có thể lắm rõ hơn nữa vềvấn đề Em xin chân thành cảm ơn
Tài liệu tham khảo
Trang 23[1] Bài giảng môn điều khiển sản xuất và tích hợp máy tinh - Trường ĐHHH ViệtNam
[2] Kỹ thuật ghép nối máy tính – Ngô diên tập , Nhà xuất bản khoa học – kĩ thuật [4] Trang web: http://www.dientuvietnam.net/forums
http://www.picvietnam.com/forum
Ngoài ra còn có một số tài liệu khác