ĐẶT VẤN ĐỀ: Khi như cầu học tập ngày càng cao thì thiết bị , phương tiện dạy học càng đóng, vai trò quan trọng, nó giúp người thay dỡ vất vả trong việc truyền thụ kiến thức, giúp người h
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT
THÀNH PHÓ HÒ CHÍ MINH
HGMUIIE
ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP
GIAO TIẾP MÁY TÍNH VỚI THIẾT BỊ THỰC TẬP VI XỬ LÝ 8085
GVHD: NGUYÊN VIỆT HÙNG
NGUYÊN THANH BÌNH SVTH: TRƯƠNG MINH TRỊ
TP Hồ Chí Minh, tháng 3/2000
3 › Z1
SKLOC
Trang 2
.F26 ˆ bẠI Học eUốC GIA TP.HỒ CHÍ MINH
\ 1 Ô - SÌ TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 3
tim xin chan thanh cam ơn quý Thấy Cô trong bboa Điện
~ Điện tử di dạy dỗ em trong suốt thời gian dài bọc tập tại
trương, da truyén thy cho em nbiéu biến tbiức quỹ báu,
thiét thite cho cuộc Sống
£m xin chân thành cảm ơn các Tbây Nguyễn Việt Hùng
va Thay Nuyễn Tbanh Bình đã tận tình bướng dẫn, giúp
đô em trong niệc boàn thành luận uăn tốt n,gbiệp
Sinh vién thuc hién
Trương Minh Trị
Trang 4PHẦN GIỚI THIỆU
Trang 5BỘ GIÁO DỤC & ĐẢO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐẠI HỌC QUỐC GIÁ TPHCM ĐỘC LẬP - TỰ DO - HẠNH PHÚC
TRUONG DAI HOC SU PHAM KY THUAT
Trang 6
'THẦY NGUYỄN THANH BÌNH
6, Ngay giáo nhiệm vu: AG | Ad] 4999
1 Ngay hoan thanh nhiệm vụ: 8 / OL] 2500
es Ngay 1q thangtz nim4q4q
⁄Z Chủ nhiệm bộ môn.
Trang 7NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 9NHẬN XÉT CỦA GIÁO VIÊN DUYỆT
Trang 10Phần giới thiệu Phần nội dung
L111 C&u trúc bên ngoài 8
'CHƯƠNG IV: GIAO TIẾP MÁY TÍNH VỚI KIT 8085 25
IL CÁC PHƯƠNG PHÁP KẾT NỐI VỚI MÁY TÍNH %
CHUONG V: VIET CHUGNG TRINH VA DICH ASSEMBLER 29
I TAISAO PHAISU DUNG CHUONG TRINH DICH ASSEMBLER30
Ul LƯU Ý KHISỬ DỤNG CHƯƠNG TRÌNH DỊCH ASSEBLER 30
II FILE *.PRN, NỘI DUNG, ĐẶC ĐIỂM, VÀ DỮ LIỆU CHÍNH 31
CHUONG VI: CHUONG TRINH DOWNLOAD 32
II PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONGC_ 34
IV THỰC HIỆN VIẾT CHƯƠNG TRÌNH DOWNLOAD 34
Trang 12PHẦN NỘI DUNG
Trang 13Luận Văn Tốt Nghiệp
Trang 14I ĐẶT VẤN ĐỀ:
Khi như cầu học tập ngày càng cao thì thiết bị , phương tiện dạy học càng đóng, vai trò quan trọng, nó giúp người thay dỡ vất vả trong việc truyền thụ kiến thức, giúp người học nhanh chóng tiếp thu, ngoài ra còn để minh họa, chứng thực môt
cách cụ thể những bài học mơ hồ trừu tượng,
Trong bài này, người thực hiện muốn để cập đến mồn học vi xử lý, lập trình ví
xử lý, một môn học mang ý nghĩa thiết thực trong xã hội mà quá trình công nghiệp hóa, hiện đại hóa diễn ra từng ngày Khi học môn này, người học không chỉ được học về cấu trúc vi xử lý cá phần cứng lẫn phần mềm, cách kết nối với các IC ngoại
vi 8255.8279 mà còn phải sử dụng thành thao Kit vi xt lý 8085,
Khi viết một chương trình trên KiL vxI 8085 và để kiểm nghiệm chương trình
đó thì người học phải qua các bước :
Iiước |: Xác định mục đích yêu cầu của chương trình
Mụtc đích, yêu cầu được xác định từ để bài, hoặc một nhu câu thực tế, đây là
truc đích chung của chương trình Để thực hiện mục đích chung này, có thể
se phái qua nhiều bước, mà mỗi bước là một mục đích cụ thể mới, được giải yết báng một chương trình nhỏ hơn, phát sinh trong giai đoạn viết lưu đồ
Lưu độ dùng để trình bày cách giải quyết vấn để, thường thì ngôn ngữ dùng trong lưu đồ khóng phải là một ngôn ngữ máy xác định nào, lưu đồ thực chất
để giúp người thảo chương chia nhổ một chương trình lớn Từ lưu đổ tổng
quát có thể vẽ ra lưu đỏ chỉ tiết,
Bước 3: Viết chương trình bằng ngôn ngữ gợi nhớ(ngôn ngữ Assembler)
Bước 4: Chuyển sang mã máy
Bước 5: Nhập mã máy vào Kit bằng phím
Bước 6: Chạy thử chương trình và kiểm tra kết quả
Một chương trình được viết phải được chạy thử và kiểm tra kết quả, kết quả
phải đúng trong mọi trường hợp cho phép (điểu kiện đặt ra trước) của chương trình,
và từ kết quả kiểm tra mà phán đoán, nhận định lỗi để sửa chương trình từ đâu, có khi phải sửa lại cả lưu đồ
Trong cách làm trên, ta nhận thấy có những khó khăn riêng sau:
—. Quá trình dịch từ ngôn ngữ gợi nhớ sang mã máy (bước 4), đòi hỏi sự
quen thuộc bắng tra mã, nếu khổng việc này chiểm nhiếu thời gian, và việc kiểm
tra lại cũng chiếm không ít thời gian Tại những lệnh jump, những lệnh call, cần phải xác định địa chỉ cụ thể, chính xác của ô nhớ rồi mới xác định được lệnh jump Việc này chỉ hoàn tất khi chương trình được dịch sang mã máy gần như
—_ Đối với những ai trong giai đoạn khởi đầu học lập trình vi xử lý, thì 2 việc trên luôn xẩy ra nhầm lẫn gây mất nhiều thời gian vô ích
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 15Luận Văn Tốt Nghiệp 3
Khi cÂn thêm hoặc xóa, hoặc sửa chương trình thì mất nhiều thời gian để dò
lại chương trình, nhập lại khó khăn, thậm chí phải nhập lại phẩn lớn chương tình
—§au khi bị mất điện thì dữ liệu lưu trong RAM không có nguồn dự trữ sẽ bị mất hết, phải nhập lại toàn bộ chương trình, Đối với những chương trình nhỏ thì thời gian nhập không đáng kể, nhưng đối với những chương trình lớn thì đây là công việc
mất nhiều thời gian, và gây phiển hà cho người học cñng_ như người lập trình vi xử
lý
Bên cạnh đó, thực tế đã có những thiết bị nạp EPROM rất tiện lợi, mà có thể dem ý tưởng đó vào việc học lập trình vị xử lý nhất là việc giao tiếp với thiết bị khác từ vi xử lý là một điều khá dễ dang,
Ngoài ra, chương trình đại học rất bao quát, thời gian và điểu kiện chi cho
phép sinh viên đi hết bể nổi của chương trình mà chưa có hoặc ít có dịp tìm hiểu về
chiến xấu, lo đó, đổ án tốt nghiệp là một cơ hội tốt cho sinh viên đào sâu vào chưng trình hoc, ứng dụng bài học vào thực tế, chứng minh được sự hữu ích của
nhiững kiến thức đã học được trong môi trường sư phạm
Tự những lý do trên, người viết quyết định chọn để tài “GIAO TIẾP MÁY
TÍNH VỚI VỊ XỬ ILÝ 8085,
ĐÓ tai đưa ra một chương trình như một công cụ hỗ trợ việc học lập trình vi xử
lý én Kit285 với một thứ tự sau:
định mục đích yêu cầu của chương trình cần viết
2) Vẽ lưu đổ,
3) Viết chương trình bằng ngôn ngữ Assembly (ngôn ngữ gợi nhớ)
4) Nhập chương trình bằng ngôn ngữ Assembly vào máy (dùng Norton)
5) Gọi chương trình dịch Assembler để dịch từ ngôn ngữ Assembly sang một
file có phần mở rộng “prn” chứa mã máy
6) Trong chương trình Giao tiếp, gọi file địch để nạp vào RAM
7) Chạy thử và kiểm tra kết quả
Cách làm này có những ưu điểm sau:
— Dịch từ ngôn ngữ Assembly (ngôn ngữ gợi nhớ) tốn rất ít thời gian vì việc này do
máy tính đảm trách, với độ chính xác tuyệt đối
— Cũng vậy, việc nạp dữ liệu vào RAM cũng chỉ trong vài giây, và được kiểmtra trong khi nạp nên độ chính xáx cũng tuyệt đối
—_ Ngoài ra, chương trình được lưu trữ, quản lý dể dàng, để xem lại, để kiểm tra,
Khi cần thêm, hoặc xóa hoặc sửa hoặc chép lại một đoạn chương trình, ngay cả
thay đổi địa chỉ bắt đầu, cũng rất đơn giản
—_ Về độ chính xác và thời gian cần thiết thì đối với chương trình các lớn càng có
+ Idi, càng phải nạp chương trình nhiếu thì càng có lợi
II.TẦM QUAN TRỌNG CỦA VẤN ĐỀ
Trong xã hội ngày càng phát triển, lượng kiến thức cẩn truyền tải trong nhà trường ngày càng tăng, mà thời gian cho phép ngày càng bị giảm đi, thì sự nổ lực của cả người dạy lẫn người học đều rất cần thiết Bên cạnh đó, phương tiện ít nhiều
sẽ góp phần quan trọng trong quá trình học tập
Trước đây, việc học lập trình vi xử lý đã diễn ra một cách tự nhiên, có thể coi như đã đây đủ về phương tiện học tập Nhưng nay, nếu có thêm một chương trình mô
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 16phỏng các họ vi điều khiển, hay vi xứ lý, giao tiếp máy tính với vi xử lý để truyền file thì tất nhiên sẽ có mặt tích cực, mang thêm nhiễu lợi ích cho việc học,
“Giao tiếp máy tính với vi xử lý” còn là một chứng thực về giao tiếp _ những
gì đã được học _ trên chính kiL thực tập, điều đó sẽ kích hoạt sự tìm tồi, sự ham thích hiểu biết của sinh viên,
IIL GIGI HAN VAN DEL
Đây là một chuyên để thứ vị, có nhiều vẫn để đáng quan tâm, nhưng do những giới hạn về thời gian và kiến thức, nên trong dé án này, người viết chỉ có thể trình
bày những phan sau:
Khái quát KiL 8085 sử dụng, các linh kiện có liên quan trực tiếp đến
giao
Cách thức sử dụng kit, những hoạt động bên trong kiL về lệnh, dữ liệu
mà sau đó sẽ được thay thế bằng cách nạp từ máy tính
(iiao tiếp máy tính
Mái số điểm cân lưu ý khi viết một chương trình bằng ngôn ngữ gợi nhớ cho chưng trình địch Assembler để tạo ra một file có phần mở rộng prn
Cấu trúc một file prn, những số liệu nào cần xuất
Đôi nét về ngôn ngữ C, chương trình Download
- Chương trình nhận dữ liệu
1V, MỤC ĐÍCH NGHIÊN CỨU
Trước mắt: mót vấn để hay, đã thu hút người viết từ lâu mà nay mới có
địp thực hiến và cũng là nhu cẩu cẩn thiết trong thực tế
Lầu đài: tuy chỉ là một thiết kế đơn giản, nhưng là một cơ sở ban đầu có thể
phát triển thém ra hướng tổng quát *
V XÁC ĐỊNH THUẬT NGỮ
Tựa đẺ tài là "Giao tiếp máy tính với kit vi xử lý 8085” Thực chất, vấn để giao tip chi là một cơ sổ, phương tiện chủ yếu Còn sản phẩm của để tài là một giao
diện trên màn hình vi tính mà trong đó, người ding cho thé chon fie can truyền, và
truyễn xuống ki qua một port nào đó để nạp đữ liệu vào RAM
Để tài này chỉ thực hiện việc nạp đữ liệu vào RAM mà sau đó sẽ có những phát triển khác Thực tế để ra là việc thực hành lập trình vi xử lý trên ki, chương, trình chỉ là để thực tập, chủ yếu chỉ nạp vào RAM, mà việc nạp dữ liệu vào Kit mất
nhiều thời gian, và mục đích của để tài trước tiên là để giải quyết vấn để đó, sau đó
có thể phát triển lên để đọc các vùng RAM, EPROM
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 17Luận Văn Tốt Nghiệp
Trang 18Từ vấn để đặt ra như ở chương ] đã trình bày, người thực hiện để tài đã tiến hành giải quyết theo hướng sau:
~_ Xác định thiết bị giao tiếp: Kit vi xử lý 8085 đã có sẵn các IC ngoại vi 8255 làm nhiệm vụ giao tiếp, chỉ cần chọn IC, xác định địa chỉ của IC đó, địa chỉ của các
port vào ra, mode hoạt động cửa các port, xác định các điểm nối kết phần cứng
với máy tính và viết chương trình nhận, phát dữ liệu
~_ Xác định cổng giao tiếp: đối với máy tính: chọn cổng LPTI (mà sau này có thể
phát triển để có thể sử dụng cả LPT2, COMI, COM2) với phướng pháp giao tiếp
song song bất đồng bộ
Xây dựng giao diện trên màn hình máy tính:Yêu cầu cẩn có và phù hợp với người sứ dụng, Sau đó tiến hành viết giải thuật, va bất tay vào viết chương trình
Ø đáy, người thực hiện đã viết chương trình truyển dữ liệu trong mồi trường
Norland € 3.1, Trong quá trình viết, phải giải quyết những khó khăn phát sinh
mút cách cu thể,
Viết chương trình truyền, nhận dữ liệu với Kit,
Ghép nối các phân lại
Trang 19Luận Văn Tốt Nghiệp
Trang 201 KIT THỰC TẬP VI XỬ LÝ 8085:
Kit thực tập vi xử lý 8085 là một loại máy tính chủ yếu phục vụ cho mục đích
học tập và nghiên cứu thiết kế về lĩnh vực vi xử lý KiL nầy, xuất phát tại trường
ĐH.Sư phạm kỹ thuật ~ Trung tâm Việt-Đức, va do nhu cầu học tập và nhu cầu thực
tế, các giáo viên trong bộ môn Điện-Điện tử của trường đã cải tiến cho phù hợp Mặt khác, sinh viên thuộc khoa, trong các để tài tốt nghiệp, đỏ án môn học, cùng với
sự hứng thú, đã tham khảo, tìm hiểu về cấu tạo và nguyên lý hoạt động, và ở rộng thêm một số chức năng cho kit,
Một KỈt thực tập vi xử lý thường có các phân chính được trình bày trong sơ đổ khối ở (Hình 1),
Với mục đích của để tài này là giao tiếp song song nên trong KiL 8085, chỉ cần
quan tim đến 8085 và bộ lệnh 8085, 8255, 8279,
1.1 SƠ LƯỢC VI XỬ LÝ 8085:
⁄\ xứ lý (rmieraproeessor) là một thiết bị bán dẫn chứa các mạch logic điện tit
oO kha nang xi lý các dữ liệu, chương trình từ ngoài đưa vào để điều khiển các IC, thiết bị kết nối theo mục đích định trước,
1.1.1 Cấu trúc phần cứng:
1.1.1.1 Cấu trúc bên ngoài:
80285 là mót bộ ví xử lý 8 bít do Intel sản xuất, đầu tiên vào năm 1977 Nó có khả năng định địa chỉ cho bộ nhớ tới 64 Kbyte, IC này có 40 chân, dang DIP, sit dụng nguồn đơn + 5V
Chức năng dạng tín hiệu, trạng thái các chân của 8085 được cho ở bảng sau:
Chan Ký hiệu In/out 3 state} Ý nghĩa
12 XI,X2 I XI, X2 là 2 ngõvào của mạch dao
động Tần số ngõ vào được chia cho 2 bởi mạch chia bên trong Tần số làm
« việc cực đạicủa:
8085A: 6MHz 8085A-2: 1OMHz 8085A-1:12MHz
3 Reset Out oO Cho biết CPU đang reset Tín hiệu này
có thể dùng để reset các thành phần khác trong mạch
4 SOD o9 Serial Output: ngõ ra dữ liệu nối tiếp
được xác định bởi lệnh SIM
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 21Luận Văn Tốt Nghiệp
9
5 SID I Serial Input: ng6 vao dữ liệu nối tiếp,
dữ liệu này được napàobiL thứ 7 của thanh ghi Accumulator khi thực hiện lệnh RIM
6 TRAP I Trap: tín hiệu không ngăn được Ngõ
Vào trap được kích bởi cạnh lên,
I Restart Intrerupt Repuest: là các tín
hiệu ngắt có thể ngăn được RST 7.5
dùng để báo cho thiết bị yêu cầu ngắt
INTR biết ring microprocessor da
| chấp nhận yêu câu ngất và thiết bị yêu
| | câu ngất hãy đặt lệnh lên bus dữ liệu,
| 19-12 | AD7-ADO 0-3 Address/Data bus: các đường dữ liệu
và các đường địa chỉ được tích hợp chung với nhau Ở trạng thái TI của chu kỳ máy, cá ngõ này đóng vai trò là các ngõ ra địa chỉ Các trạng thái còn
lại của chu kỳ máy, nó đóng vai trò là
các đường dữ liệu
20 Vss Ground
28-22 AI5-A8 0-3 Address bus:các ngõ này được dùng để
xuất 8 bit địa chỉ cao
30 ALE oO Address Latch Ennablc: ngõ này ta ra
một xungở trạng thái TỊ của chu kỳ máy để xác định AI5-A8 và AD7-AD0
Trang 2229,33,34' 50,51, IO/M\V 0,0-3 Machine Cycle Status: 3 bit nay cho
biết trạng thái chu kỳ máy
dùng để xác định trạng thái làm việc
của bus như: memory read, memory
write, IO read, IO write
35 READY Ready là tín hiệu trả lời từ bộ nhớ
hoặc thiết bị ngoại vi IO cho
microprocesser biết để microprocessor
có thể hoàn thành chu kỳ máy đang
thực hiện
36 RESET IN Reset: ngõ vào reset 8085 để trở về
trạng thái ban đầu của nó Tín hiệu này phải ở mức 0 khoảng 3 chu kỳ xung clock
37 CLK Clock out: ngõ ra tín hiệu clock để
cung cấp cho các thiết bị khác Tân số
cửa nó bằngtần số ngõ vào chia 2
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 23Hold Ackowledge: tín hiệu ngõ ra cho
biết tín hiệu hold đã được chấp nhận
và CPU sẽ ở trạng thái Hold ở chu kỳ
xung clock ti€p theo
39 HOLD
Hold request: nhan tín hiệu yêu cầu
ngưng từ bộ điều khiển DMA
40 Vcc Power: nguồn cung cấp +5V
AD4 L] 16 23 ADs C] 17 “4p
AI
Alo A9 A8
Hình 2: Sơ đồ chân và các tín hiệu của 8085
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 24Toàn bộ các tn hiệu của 8085 có thể đuợc phân thành 6 nhóm:
(1) Tuyến địa chỉ (2) Tuyến dữ liệu
(3) Các tín hiệu trạng thái và điều khiển
(4) Nguồn cung cấp và các tín hiệu tần số
1.1.1.2, Cau tric bén trong 8085:
8085 bao gồm don vj logic va so hoc ALU (Arithmetic and Logic Unit), đơn vị định thời và diéu khién (Timing and Control Unit) , b6 giải mã và thanh ghi lệnh (Instruction Register and Decoder), dãy thanh ghi ( Register Array), điều khiển ngắt (Interrupt Control) và điều khiển I/O nối
Trang 25Luận Văn Tốt Nghiệp
Igewelm | TE | oy | OT 'Decoger’ | | |sei|_ „ fee
Maite LG Sick Pouce
— Các hoạt động (sao chép) truyền dữ liệu
— Các hoạt động toán học
— Các hoạt động logic
— Các hoạt động rẽ nhánh
~_ Và, các hoạt động điều khiển
Tập lệnh vi xử lý 8085 được phân thành 3 nhóm tuỳ theo kích cỡ từ :
Trang 26Lệnh một byte chứa mã hoạt động (Opcode) và toán tử (Operand) trong cùng
một byte
“Trong lệnh hai byte, byte thứ nhất nêu lên mã hoạt động và theo sau là toán tử,
Đối với lệnh ba byte, byte đầu tiên cho biết mã hoạt động, 2 byte theo sau là
dữ liệu (nội dung hoặc địa chỉ) 16 bit
PBO WR—sa write | [J Sree Port vo
Al {Control cour B PA7-PA0 PBI Logic eae (8)
0 A0
Hình 5 : sơ đồ chân và Sơ đổ khối của 8255
Bảng 2: Bảng liệt kê chức năng các chân IC 8255
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 27
Tên các chân Chức năng,
D7-~ D0 Data bus (Bi — Direction)
RESET Rest Input
AO, Al Port Address
PAT — PAO Port A
‘PBT — PBO Port B
LPCT BC0 — [PonC
Sư đá khối trên hình 5 trình bày hai cổng 8 bit (A và B) và hai cổng 4 bit (Cụ
vá Cụ¡ bộ điện tuyến dữ liệu, và logic điểu khiển Hình 5.9 (b) trình bày một sơ đồ đơn gián h2a nhưng mổ rộng của cấu trúc bên trong, chứa một thanh ghi điểu khiển,
Sơ đó khốt nay chứa tất cả các phần tử của một thiết bị lập trình; cổng C thực hiện chức năng tưởng tự chức náng của thanh ghỉ trạng thái, ngoài ra còn cung cấp các tín
BiL D; của thanh ghi điều khiển nêu rõ hoặc chức năng I/O hoặc chức năng ĐặătĐặt lại bit như phân loại trong Hình 5.8 (b) Nếu D; = Icdc bit Dạ + Dạ quyết
định các chức năng UO ở các mốt khác nhau Nếu bit D; = 0, cổng C hoạt động ở mốt ĐặtĐặt lại bit (BSR) Từ diéu khiển BSR không ảnh tưởng đến các chức năng của các cổng A và B
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 28D7 | De | Ds | Da | Ds | Dz | Di | Do CROCE
PORT C (LOWER)
T— ,} 1=npur
0=OUTPUT PORTB 1sINPUT 0=OUTPUT
MODE SELECTION 0=MODE 0 1=MODE 1
0zOUTPUT PORT A AsINPUT
MODE SELECTION
01=MODE 1 1X=MODE 2
Hình 6: Cấu trúc từ điểu khiển của IC ngoại vi 8255
Cán cứ vào từ điều khiển của 8255, có thể khởi tạo 8255 ở các mode 0 hoặc
mode | hoae mode 2, và có thể xác định hướng vào ra dữ liệu cho mỗi port
ĐỂ tao đổi thông tin với các ngoại vi (ở đây là các mô - đun vào ra) thông qua
8255, ba bước sau đây là cần thiết :
(1) Xác định được địa chỉ các cổng A, B và C và cửa thanh ghi điểu khiển theo logic chọn chip (CS) và các đường địa chỉ Au, Ai
(2) Ghi từ điều khiển vào thanh ghi điểu khiển
(3) Ghi các lệnh I/O để thông tin với các ngoại vi thông qua cổng A,B và C
Hệ thống Kit đã được đặt cho 8255 làm việc với các ngõ vào / ra ở mốt () như
Để A, C là cổng nhập (8 bí, B là cổng xuất(8bíU), và chọn ngoại vi có địa chỉ
từ 00 ~ 03 thì phải làm như sau:
Gởi từ điều khiển 99hex vào thanh ghi điều khiển
Xuất từ điều khiển ra thanh ghỉ điểu khiển có địa chỉ 03hex
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 29Luận Văn Tết Nghiệp 17
8279 (Hình ) là một thiết bị dạng DỊP _ 40, có hai phần chính : bàn phím và hiển thị Phẫn bàn phím có thể được nối với một ma trận tối đa 64 phím, sự gõ phím
và mãphím được lưu trữ vào bộ nhớ FIFO bên trong (First _ In _ First _
Out: Vao tre, ra trước) , và một tín hiệu ngắt được phát ra mỗi lần gõ phím Phần
hiển thị có thể cung cấp một hiển thị có quét tối đa 16 Led, Phan này có bộ nhớ
RAM 16x, có thể được sử dụng đọc / ghi thông tin cho các mục đích hiển thị Phần
huổn thị cá thể được khởi tạo ở dạng ghỉ phải (right entry) hoặc ghỉ trái (left entry)
Tần sứ xung đẳng hồ cấp cho 8279 tối đa là 3,125MHz
Trang 30
truyền trên những đường
dữ liệu này
Clock input: ngé vao xung
clock Xung clock có tân ố
t6i da 1a 3, 125MHz
Reset in: ding dé đặt lại
trang thái làm việc của
8279 khi ngõ vào này ở mức cao
Sau khi được reset, 8279
có thể làm việc ở chế độ:
— Hiển thị 16 ký tự lối vào trái
- Lập ma quét phim khóa ngoài 2 phím
Chip selcet: tác động mức thấp cho phép 8279 thực hiện các chức năng kết nối với CPU để truyền và nhận dữ liệu
Buffer address: đường địa
chỉ này thương được kết
nối với đếa chỉ A0 của vi
xử lý dùng để phân biệt lệnh hay dữ liệu
- AO=[1]: tin hiéu vào ra
IRQ 1 Interrupt Request: đường
tín hiệu yêu câu ngắt (outpuU Ngõ ra này sẽ ở
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 31Luận Văn Tốt Nghiệp 19
mức cao nế có dữ liệu ở trong bộ nhớ FIFO hay SensorRAM, ngõ ra này
sẽ ở mức thấp mỗi khicó
sự đọc bộ nhớ FIFO/SensorRAM va trởlại mức cao khi dácó dữ liệu chứa trong RAM
Cấp nguồn 0Vvà +5V cho
8279
Scan lines: 4 dung scan
line nàycó thể giải mã ra
l6 đường hay mã hóa
thành I đường, được dùng
để quét phím hay ma trận cảm biến và hiển thị
mã của phím được nhấn
Shift, Control / Strobe
input Mode: trong chế độ
quét phím, mức logic của từng ngõ vào này sẽ được lưu trữ với vị trí của phím
để tạo ra 1 giá trị của phím được nhấn
OUT B0- B3 4 Đêy là 2 porngõ ra của
thanh ghi hiển thị 16 x 4 biL Dữ liệu từ những thanh ghi này sẽ được đưa ra
đồng bộ kết hợp với các
đường quét scan lines để
đa hợp thành số hiển thị Hai ngõ ra 4 bit này có thể
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 32xóa hiển thị trong quá
trình chuyển đổi giữa các
số hay khi gặp lệnh xóa hiển thị
Sơ đồ khối logic (Hình 8) trình bày bốn phần chính của 8279 : bàn phím, quét, hiển thị và giao tiếp vi xử lí Các chức năng của các phần này được miêu tả như dưới đây :
— Jnternal Data Bus (8)
= | Keyra
bis Display 16x 8 [Conưol and|+ Timing FirO/Senso 8x8 A Dedounce Kay
Registers RAM Registers | nme, RAM Control
‡
Display Registers Control | É su Conue Return
Hình 8: Sơ đồ khối của 8279
Để giao tiếp với vi xử lý, 8279 cần tám đường dữ liệu hai chiều (BDo _ BD;),
một đường yêu cầu ngắt (IRQ), và sáu đường giao tiếp, kể cả đường địa chỉ của bộ
Trang 33Luận Văn Tốt Nghiệp 21
Để có sử dụng 8279, cần biết các từ điều khiển của 8279
8279 có tất cả tám từ điểu khiển, tày theo mục đích sử dụng mà sẽ chọn từ điều khiển thích hợp
00 Hiển thị ®kítự 8 bit ghi trai
01 Hiển thị l6kí tự 8 bit ghi trái
19 Hiểnthị8kítự 8biL ghi phải
l1 Hiểnthị l6kítự 8 bit ghi phải
KKK
0 0 0 Bàn phím quét có lập mã _ Khóa ngoài 2 phím
9 0 1 Bàn phím quét có giải mã —_ Khóa ngoài 2 phím
0 ! 0 Bàn phím quét có lập mã — Xoay vòng N phím
0 1 1 Bànphímquếtcógiảimã _ Xoay vòng Nphím
1 0 0 Ma tận cảm biến, quét có lập mã
1 0 1 Ma tận cảm biến, quét có giải mã
1 1 0 Ngõ vào Strob, quét hiển thị có lập mã
1 1.0 Ngõ vào Strob, quét hiển thị có giải mã
Trong suốt thời gian RAM hiển thị đang bị xoá (~ 160 HS), nó không thể được
ghi vào BiL có trọng số cao nhất (MSB) của từ trạng thái được đặt trong suốt thời gian này Khi RAM hiển thị trở nên khả dụng trở lại, bit này tự động được đặt lại
Trang 34+ Lập trình xung đồng hổ
+ Xoá RAM hiển thị, hoặc FIEO hoặc cả hai
Các từ điều khiển còn lại có thể được gởi ra thanh ghi điều khiển trong lúc này
hoặc khi cần
II CÁC THAM SỐ CÂN BIẾT ĐỂ THỰC HIỆN KẾT NỐI KIT:
Trên đây, đã giới thiệu các IC quạn trọng để có thể kết nối Kit với máy tính
Ngoài ra, các thông số về địa chỉ cñng không kém phần quan trọng
Bắng : Bảng đồ địa chỉ bộ nhớ của kit
Trang 35
Luận Văn Tốt Nghiệp 23
0 viata 0E 8253A | Ð 0 909 L|1 10
Dựa vào 3 bịt A3 A4, A5 có thể xác định ngoại vi sử dụng như sau:
— Phim RESET hoac Q: khởi động lại toàn bộ hệ thống Kit, các thanh ghi, các
điểm dừng, các khởi tạo, đều được reset,
— Phím A hoặc Address hoặc §: đặt lại địa chỉ ô nhớ để tác động vào: xem dữ
liệu, thay đổi nội dung
— Phím UP hoặc † : lưu trữ dữ liệu ở 2 led trái vào địa chỉ ghi ở 4 led phải
—_ Phím Down hoặc : để xem lại dữ liệu đã nạp
Trang 36
—_ Phím P hoặc PC: đặt địa chỉ chạy chương trình
— Phim G hoặc GO: chạy chương trình tại địa chỉ đã chọn sẵn
~ Phim I hoặc INTR: ngắt chương trình, khởi động nóng hệ thống, các khởi
tạo, điểm dừng đều vẫn còn
Các thao tác nhập liệu trên là để đưa các dữ liệu, các lệnh vi xử lý đã được mã hóa ra dạng mã máy, vào những địa chỉ yêu cầu cửa người thảo chương Vàsau đó, kết quả kiểm tra, chạy thử chương trình sẽ cho biết chương trình đúng hay sai
Mục đích chủ yếu của để tài là rút ngắn thời gian dịch sang mã máy và thời gian nhập liêu, nghĩa là phải nạp được dữ liệu vào bộ nhớ RAM mà không tốn thời gian nhập liệu
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 381 CÁC PHƯƠNG PHÁP GIAO TIẾP MAY TINH:
Giao tiếp giữa máy tính và thiết bị ngoại vi có thể bằng một trong các cách sau:
I1 GIÁO TIẾP BẰNG SLOT-CARD:
Trong máy tính, trên main board hoặc IO-card, thường chế tạo sẵn các rãnh cắm (slot) cho phép mở rông bộ nhớ, cài đặt thêm phần cứng, mở rộng phạm vi ứng dụng cho máy tính
Để sử dụng được các rãnh cắm này, cẩn phải có tài liệu chính xác về các thông số cần thiết, ví dụ địa chỉ của cổng là bao nhiêu, thuộc loại rãnh bao nhiêu bit,
theo chuẩn nào, kích thước phần mạch in cấm vào , độ dày mạch in, rãnh nguồn,
rãnh dữ liệu, rãnh dự trữ,
1.2 GIAO TIẾP BẰNG CỔNG MÁY IN:
Moi máy tính đều có cổng máy in đặt phía sau máy Cổng máy in không chỉ để
kết nối với máy in mà còn có thể kết nối với nhiếu loại thiết bị ngoại vi khác cho
mut đích đo lường và điều khiển,
áy in là loại cổng 25 chân, dữ liệu truyền song song, dễ kết nối, các địa
chỉ của công của các máy tính hầu như giống nhau
€jao tiếp bang cổng máy ïn gọi là giao tiếp song song bất đồng bộ Trong kiểu giao tiếp này, nới phát tín hiệu và nới nhận n hiệu đều có xung báo phát và xung báo nhận, tấn số xung clock tại nơi phát và tần số xung clock tại nơi thu không cẩn
13 GIAO TIẾP BẰNG CỔNG COM:
Cổng COM được sử dụng khá phổ biến Dữ liệu truyền ở cổng này thuộc dang
đữ liệu nối tiếp Tín hiệu truyền ở cổng này có thể truyền đi xa nhờ có cấu tạo
đường đây cáp ít sợi hơn cổng song song, mức áp tín hiệu cao
Cổng COM có loại 9 chân và loại 25 chân như cổng song song, có tổng cộng 8
đường dẫn tín hiệu không kể đường nối đất, từ máy tính đi ra là loại phích cắm nhiều chân khác với cổng song song
Cổng COM, còn gọi là cổng nối tiếp theo chuẩn RS-232 Chuẩn RS-232 từ
năm 1969 được chấp nhận chuyên dùng cho truyền số liệu và các đường nối kiểm
tra giữa terminal và moderm, tốc độ cực đại là 20Kbps, với khoảng các tối đa không,
quá 15m Đây là lại giao tiếp không cân bằng có driver
Mức áp tín hiệu trên đường dây là +15V/-15V Trên đường dây, mức logic 1 có điện áp từ 5V đến 15V và mức logic 0 từ ~5V đến ~15V mức áp này không tương thích TTL do đó thường phải sử dụng thêm các IC chuyên dụng MC1488, MC1489
để thay đổi mức logic cho tương thích TTL
Giao tiếp nối tiếp còn chia ra nối tiếp bất đồng bộ và nối tiếp đồng bộ (sử dụng các chuẩn UART dùng CMOS 6402, USART dùng ngoại vị 8251, chuẩn ACIA
IV CHỌN PHUONG PHAP GIAO TIEP VA CONG KET NOI:
Trong để tài này, vì lý do thời gian có hạn, nên người thực hiện để tài chỉ có
thể sử dụng một phương pháp truyền dữ liệu, đó là truyền dữ liệu song song bất đồng bộ qua cổng máy in LPTI
Cổng LPTI là một cổng song song, dữ liệu được truyền với tốc độ khá cao từ
máy tính, do đó tốc độ truyền dữ liệu chung chỉ còn phụ thuộc vào Kí,
Trang 39Luận Văn Tốt Nghiệp 27
Hình dạng một cổng LPTI được cho trong hình sau:
Chân Ký hiệu Vào/Ra Mô tả
1 STROBE Output Byte được in
2 D0 Output Đường dữ liệu được in DO
3 DỊ Output Đường dữ liệu được in
4 D2 Output Đường dữ liệu được in
§ | D3 Output Đường dữ liệu được in
6 | D4 Output ~ Đường đữ liệu được in
4 | D6 Output Đường dữ liệu được in
10 Ack Input Acknowledge
II | Busy Input 1:máy in bận
12 ] PE Input Hết giấy
13 | SCLT Input Select
) 14 | AF Output Autofeet
16 INIT Output 0: đặt lại máy in
| 17 SLCTIN Output Select in
Các thanh ghỉ trong máy tính kết nối với cổng máy in:
Thanh ghi dữ liệu (Data register, địa chi = dia chi cơ bản )
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị
Trang 40‘Thanh ghi di¢u khién(control register, dia chi = dia chi cd ban + 2)
Dz} Do} Ds| Ds} Da} D2] Di} Do
Hình 12: Kết nối các thanh ghi ở cổng máy in của máy tính PC
Cổng LPT là cổng ghép nối song song, tất cả những đường dẫn của cổng này đều tương thích TTL, nghĩa là chúng đều cung cấp một mức áp nằm giữa 0 và 5V
Do đó, rất thích hợp cho kết nối vai Kit
Nhìn vào bảng công dụng các chân của cổng LPT và 3 thanh ghi của máy tính,
ta thấy có thể sử dụng thanh ghi data là thanh ghi phát, có nhiệm vụ truyền dữ liệu
ra ngoài, và thanh ghi điều khiển sẽ gởi tín hiệu điểu khiển cho Kit, còn thanh ghỉ trạng thái sẽ nhận tín hiệu báo trạng thái hiện tại của Kit về máy tính
Để kết nối giữa Kit và máy tính trong trường hợp này, phải sử dụng IC giao tiếp ngoại vi 8255 để xuất và nhận dữ liệu Còn về phía máy tính, có thể dùng ngôn ngữ lập trình C để đọc và xuất các thanh ghi dữ liệu Để kết nối đơn giản, có thể khởi tạo 8255 ở mode 0 với port A đọc thanh ghi data, porL B xuất trạng thái trả về cho thanh ghỉ trang thái, và port C dùng để nhận tín hiệu điểu khiển từ thanh ghi điều khiển của máy tính
Trường Đại học Sư Phạm Kỹ Thuật Trương Minh Trị