1. Trang chủ
  2. » Luận Văn - Báo Cáo

Vận dụng vi xử lý 8085 trong quá trình đo máy Bird part1 ppsx

11 379 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 158,32 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 thạo Kit vi xử lý 8

Trang 1

Chương I:

CHƯƠNG DẪN NHẬP

Trang 2

I ĐẶT VẤN ĐỀ:

Khi nhu 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 thầy 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 vi 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 thạo Kit vi xử lý 8085,…

Khi viết một chương trình trên Kit vxl 8085 và để kiểm nghiệm chương trình đó thì ngưòi học phải qua các bước :

Bước 1: Xác định mục đích yêu cầu của chương trình

Mục đích, yêu cầu được xác định từ đề bài, hoặc một nhu cầu thực tế, đây là mục đích chung của chương trình Để thực hiện mục đích chung này, có thể sẽ 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 quyết bằng một chương trình nhỏ hơn, phát sinh trong giai đoạn viết lưu đồ Bước 2: Vẽ 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 đồ chi 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ư đầy đủ

 Ở giai đoạn nhập mã máy (bước 5), để nhập nhanh thì phải nhớ vị trí phím, phải nhập chính xác để tránh thời gian dò để sửa một chương trình nhập sai Để nhập một byte cần gõ 3 phím và phải đối chiếuqua lại giữa bản dịch chương trình, nội dung hiển thị trên các led 7 đoạn cùng với địa chỉ ô nhớ và bàn phím

 Đố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

Trang 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

 Sau 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ể đem ý tưởng đó vào việc học lập trình vi 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 chỉ 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ều sâu Do đó, đồ á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 học, ứng dụng bài học vào thực tế, chứng minh được sự hữu ích của nhữ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 VI XỬ LÝ 8085”

Đề tài đư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ý trên Kit8085 với một thứ tự sau:

1) Xác đị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 dị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ểm tra trong khi nạp nên độ chính xác cũng tuyệt đối

 Ngoài ra, chương trình được lưu trữ, quản lý dể dàng, dể xem lại, dể 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ó lợi, 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ô

Trang 4

phỏ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 kit 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

III GIỚI HẠN VẤN ĐỀ

Đâ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 đồ án này, người viết chỉ có thể trình bày những phần sau:

 Khái quát Kit 8085 sử dụng, các linh kiện có liên quan trực tiếp đến giao tiếp

 Cách thức sử dụng kit, những hoạt động bên trong kit về lệnh, dữ liệu

… mà sau đó sẽ được thay thế bằng cách nạp từ máy tính

 Giao tiếp máy tính

 Một 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 dị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

IV MỤC ĐÍCH NGHIÊN CỨU

Trước mắt: đây là một vấn đề hay, đã thu hút người viết từ lâu mà nay mới có dịp thực hiện, và cũng là nhu cầu cần thiết trong thực tế

Lâu dà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 tiếp chỉ 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 dùng cho thể chọn fie cần truyền, và truyền xuống kit qua một port nào đó để nạp dữ liệu vào RAM

Đề tài này chỉ thực hiện việc nạp dữ 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 kit, 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

Trang 5

Chương II:

CƠ SỞ LÝ LUẬN

Trang 6

Từ vấn đề đặt ra như ở chương 1 đã 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 LPT1 (mà sau này có thể phát triển để có thể sử dụng cả LPT2, COM1, 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, và 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 Borland C 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 cụ 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

 Thử nghiệm

 Sửa lỗi

 Phương pháp chủ yếu là tham khảo tài liệu và thực nghiệm

Trang 7

Chương III:

KIT THỰC TẬP

VI XỬ LÝ 8085

Trang 8

I 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ý Kit này, xuất phát tại trường ĐH

Sư phạm kỹ thuật – Trung tâm Việt-Đức, và 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à mở rộng thêm một số chức năng cho kit

Một Kit 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 Kit 8085, chỉ cần quan tâm đến 8085 và bộ lệnh 8085, 8255, 8279

I.1 SƠ LƯỢC VI XỬ LÝ 8085:

Vi xử lý (microprocessor) là một thiết bị bán dẫn chứa các mạch logic điện tử có khả năng xử 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

I.1.1 Cấu trúc phần cứng:

I.1.1.1 Cấu trúc bên ngoài:

8085 là một bộ vi xử lý 8 bit 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, dạng DIP, sử 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:

Bảng 1:

Chân Ký hiệu In/out 3 state Ý nghĩa

1,2 X1, X2 I X1, 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: 10MHz 8085A-1:12MHz

3 Reset Out O 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 O Serial Output: ngõ ra dữ liệu nối tiếp

được xác định bởi lệnh SIM

Trang 9

5 SID I Serial Input: ngõ vào dữ liệu nối tiếp,

dữ liệu này được nạpàobit 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

7,8,9 RST 7.5, 6.5, 5.5 I Restart Intrerupt Repuest: là các tín

hiệu ngắt có thể ngăn được RST 7.5 có thể được kích bằng cạnh, RST 6.5 và 5.5 có thể được kích bằng mức

10 INTR I Interrupt: là tín hiệu ngắt thôngdụng

có thể che được lệnh kích bằng mức

11 INTA\ O Interrupt Acknowledge: tín hiwệu

dùng để báo cho thiết bị yêu cầu ngắt INTR biết rằng microprocessor đã 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-AD0 I/O-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 T1 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

28-22 A15-A8 O-3 Address bus:các ngõ này được dùng để

xuất 8 bit địa chỉ cao

30 ALE O Address Latch Ennable: ngõ này tạ ra

một xungở trạng thái T1 của chu kỳ máy để xác định A15-A8 và AD7-AD0 là các đường địa chỉ

31 WR\ O-3 Write: dùng để xác định icroprocessor

đang thực hiện lệnh ghi dữ liệu lên bộ nhớ hay IO

32 RD\ O-3 Read: dùng để xác định

Trang 10

microprocessor đang thực hiện lệnh đọc dữ liệu từ bộ nhớ hay IO

29,33,34 S0,S1, IO/M\ O,O-3 Machine Cycle Status: 3 bit này cho

biết trạng thái chu kỳ máy

IO/M\ S1 S0 Trạng thái

0 0 1 Memory Write

0 1 0 Memory Read

0 1 1 Op-code fetch

1 0 1 IO write

1 1 0 IO read

1 1 1 Interrupt Ackowledge

Ơû trạng thái dừng (halt), S1=S2=0 và IO/M\ ở trạng thái tổng trở cao Trong khoảng thời gian Hold và reset thì trạng thái của S0 và S1 không xác định,IO/M\ ở trạng thái tổng trở cao Thường thì các bit WR\, RD\ và IO/M\ 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 I 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 I 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 O 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

Trang 11

38 HLDA O Hold 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 I Hold request: nhận 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

Các chân của IC đượïc bố trí như hình vẽ sau (hình 2):

8085

CLK(OUT) RESET(OUT)

A11 S0

AD6

22 INTA

Vss AD2

32 35 38

15

5

S1

AD5

21

24 18

7 RST5.5

IO/M

X2

RST7.5

10 9 8 SOD

17

28 30

39

11 4

AD4

29 31

37 40

6

1

READY X1

AD0

19

A10 A12 A15 RD SID

16

Vcc

36

14 RST6.5

20

23 26

A9

A14 ALE

AD7

25

A8 A13

TRAP

27

33

12

AD3

34

RESET IN

8085 Pinout

Hình 2: Sơ đồ chân và các tín hiệu của 8085

Ngày đăng: 14/07/2014, 00:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w