Tải bản đầy đủ (.pdf) (103 trang)

luận văn tốt nghiệp giao tiếp máy tính với kit vi xử lý 8085

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (537.01 KB, 103 trang )

Chinh sua boi:
LUẬN VĂN TỐT NGHIỆP
Đề tài:
GIAO TIẾP MÁY TÍNH VỚI KIT VI XỬ LY
Ù8085



Chinh sua boi:

Lời mở đầu
Kỹ thuật vi xử lí với tốc độ phát triển nhanh đã và đang mang đến những thay đổi
to lớn trong khoa học và công nghệ cũng như trong đời sống hàng ngày. Ngày nay, các
thiết bò máy móc ngày càng trở nên thông minh hơn, các công việc được thực hiện với
hiệu quả cao hơn, đó cũng là nhờ vi xử lý, vi điều khiển.
Kỹ thuật vi xử lý, vi điều khiển là kỹ thuật của tương lai, là chìa khóa đi vào công
nghệ hiện đại. Đối với sinh viên chuyên ngành điện tử, đây là một lónh vực mới, hứa hẹn
và mở ra nhiều triển vọng. Để góp phần tạo nền tảng ban đầu cho việc học tập, tìm hiểu
kỹ thuật vi xử lý và cách truyền dữ liệu từ vi xử lý với các thiết bò bênh ngoài em xin đề
nghò thực hiện đề tài: “GIAO TIẾP MÁY TÍNH VỚI KIT VI XỬ LÝ 8085”.
Trong quá trình thực hiện đề tài này, mặc dù em đã rất cố gắng, xong chắc chắn
không tránh khỏi những thiếu sót. Rất mong nhận sự góp ý, phê bình và chỉ dẫn của q
thầy cô và bạn đọc.

Sinh viên thực hiện

Nguyễn Trung Dũng
Chinh sua boi:
Lời cảm tạ
Cuốn luận văn này được hoàn thành tốt đẹp theo đúng thời gian quy đònh của nhà trường cũng
như của khoa.Việc đạt được kết quả như trên không chỉ là sự nỗ lực của em mà còn sự giúp đỡ, chỉ


bảo của thầy hướng dẫn, của quý thầy cô và các bạn sinh viên.
Em xin chân thành cám ơn:
Sự dạy dỗ, chỉ bảo và góp ý của quý thầy cô trong khoa, đặc biệt là các thầy cô ở các xưởng
thực tập đã tạo mọi điều kiện thuận lợi cho chúng em hoàn thành luận văn.
Sự giúp đỡ và chỉ bảo tân tình của Thầy hướng dẫn Nguyễn Đình Phú trong quá trình làm luận
văn.
Xin cám ơn các bạn sinh viên trong khoa đã giúp đỡ chúng tôi rất nhiều mặt: như phương tiện,
sách vở, ý kiến …
Sinh viên thực hiện
Nguyễn Trung Dũng
Chinh sua boi:
Chinh sua boi:
Chương: Cơ sở lý luận
I. Thể thức nghiên cứu:
1. Thời gian nghiên cứu:
Quá trình nghiên cứu đề tài được xem là một qui trình công nghệ hẳn hoi vì đòi hỏi phải tiến
hành theo các khâu kế tiếp nhau bao gồm việc chọn đề tài, biên soạn đề cương, thu thập dữ kiện, xử lý
dữ kiện, viết công trình nghiên cứu.
Luận văn tốt nghiệp được tiến hành thực hiện trong khoảng thời gian là 6 tuần:
Tuần 1 : Chọn đề tài, chính xác hóa đề tài, soạn đề cương, thu thập kiện và tài liệu liên
hệ.
Tuần 2 : Biên soạn nội dung phần lý thuyết.
Tuần 3 : Thiết kế mạch trên giấy và tiến hành thi công, thủ mạch.
Tuần 4 : Thiết kế bàn thực tập.
Tuần 5 : Soạn bài thực tập cho mô hình đã thiết kế.
Tuần 6 : Hoàn chỉnh mô hình,cân chỉnh phần lý thuyết để in ấn và nộp luận văn.
2. Phương pháp thu thập dữ kiện:
Đây là giai đoạn quan trọng, sử dụng các phương pháp và phương tiện nghiên cứu để thu thập
các dữ kiện về đề tài đã xác đònh. Dữ kiện đã thu thập được sẽ là chất liệu để hình thành công trình
thực hiện đề tài. Vấn đề là làm sao thu thập được dữ kiện đầy đủ, chính xác, và phù hợp với nội dung

nghiên cứu.
Trong phạm vi luận văn này người nghiên cứu sử dụng phương pháp tham khảo tài liệu để thu
thập dữ kiện giải quyết đề tài. Việc tham khảo tài liệu giúp người thực hiện bổ sung thêm kiến thức, lý
luận cũng như phương pháp mà những công trình nghiên cứu trước đó đã xây dựng. Nhờ đó người
nghiên cứu tập trung giải quyết vấn đề còn tồn tại. Tuy nhiên việc nghiên cứu tham khảo tài liệu luôn
bảo đảm tính kế thừa và phát triễn có chọn lọc.
3. Xử lý dữ kiện:
Các dữ kiện sau khi được thu thập chưa thể sử dụng được ngay mà phải qua quá trình sàng lọc,
sửa chữa, phân tích khái quát thành lý luận . Tài liệu được sử dụng là những tài liệu có chất lượng cao
chủ yếu là tài liệu gốc nên bảo đảm chính xác về nội dung đề cập.
4. Trình bày đồ án:
Đề tài tốt nghiệp được trình bày theo cấu trúc một tập đồ án tốt nghiệp để phù hợp với nội
dung và thời gian nghiên cứu đồng thời đáp ứng đúng yêu cầu về chương trình đào tạo của trường.
Chinh sua boi:
Trình bày thành văn công trình nghiên cứu khoa học là giai đoạn hoàn thành nghiên cứu, do đó
không được xem đó là quá trình kỹ thuật mà là một quá trình sáng tạo sâu sắc. Chính việc nắm vững
bút pháp trong nghiên cứu khoa học giúp người nghiên cứu làm sáng tỏ thêm những kết quả đạt được,
phát triễn chúng và có thêm những kiến thức mới.
II. Cơ sở lý luận:
Đồ án tốt nghiệp thực chất là một quá trình nghiên cứu khoa học - quá trình nhận thức và hành
động. Quá trình này đòi hỏi phải có thời gian nhất đònh tương xứng với nội dung của đối tượng nghiên
cứu và tính chất phức tạp của vấn đề nghiên cứu.
Việc nghiên cứu khoa học giúp ta tìm ra cái mới. Cái mới ở đây không những mang tính chủ
quan của người nghiên cứu mà còn mang tính khách quan đối với xã hội. Nghiên cứu khoa học phải
nhằm mục đích phục vụ xã hội, đáp ứng yêu cầu thực tiễn.
Hoạt động ngiên cứu khoa học muốn đạt kết quả tốt phải hội đủ các yếu tố:
Phương tiện, phương pháp, cơ sở vật chất, máy móc thiết bò, hình thức tổ chức. Các yếu tố này
có mối quan hệ hữu cơ và phù hợp với đối tượng nghiên cứu.
CÁC CƠ SỞ CHO VIỆC NGHIÊN CỨU ĐỀ TÀI
1. Kiến thức và năng lực người nghiên cứu:

Trong quá trình nghiên cứu và thực hiện đề tài người nghiên cứu cần phải cân nhắc kỹ độ khó
và độ phức tạp của đề tài sao cho phù hợp với khả năng,ø kiến thức và năng lực của người nghiên cứu.
Độ phức tạp của đề tài thể hiện ở các mặt: lónh vực nghiên cứu rộng hay hẹp, ở một ngành hay
liên ngành, đối tượng nghiên cứu là đồng nhất hay không đồng nhất. Tuy nhiên cần lưu ý rằng giá trò
của đề tài không phụ thuộc vào độ phức tạp của nó. Đề tài hẹp chưa hẳn là đề tài kém giá trò. Mỗi đề
tài nghiên cứu khoa học có một phạm vi nhất đònh, phạm vi này càng hẹp thì sự nghiên cứu càng sâu.
Độ khó của đề tài nói lên tính vừa sức đối với người nghiên cứu. Do đó độ phức tạp của đề tài thường
có mối liên hệ tương hổ với độ khó của nó.
Kiến thức của người nghiên cứu (đây là điều kiện chủ quan ở người nghiên cứu). Trước hết đó là
vốn liếng, kinh nghiệm của người nghiên cứu.
Giáo sư Hà Văn Tấn đã nhận xét: “Trình độ học sinh, sinh viên hiện nay không cho phép họ
ngay từ đầu chọn được đề tài nghiên cứu. Vì vậy phải có sự gợi ý của thầy cô giáo…”. Mỗi đề tài nghiên
cứu khoa học có những yêu cầu nhất đònh của nó. Người nghiên cứu cần nắm vững nội dung, phương
pháp nghiên cứu phù hợp với đề tài, nói khác đi đề tài nghiên cứu phải mang tính vừa sức.
Người nghiên cứu phải thể hiện năng lực nghiên cứu khoa học bao gồm việc nắm vững lý thuyết
cơ bản của khoa học trong lónh vực nghiên cứu của mình, nắm được mức độ nhất đònh về sự phát triễn
và tiến bộ thuộc lónh vực nghiên cứu. Có như thế mới chọn được đề tài có giá trò. Trong tình hình tiến bộ
của khoa học kỹ thuật hiện nay trên thế giới, khối lượng thông tin khoa học gia tăng với qui mô lớn và
nhòp độ nhanh đòi hỏi người nghiên cứu phải tham khảo tài liệu nước ngoài. Để thực hiện được vấn đề
này người nghiên cứu người nghiên cứu khoa học cần có số vốn ngoại ngữ nhất đònh.
Thể hiện lòng ham mê khoa học và quyết tâm nghiên cứu tìm tòi chân lý.
Chinh sua boi:
2-Vấn đề thực tiễn:
Người nghiên cứu phải coi thực tiễn làm cơ sở, là động lực của nhận thức. Ang - ghen viết: “Khi
xã hội có những yêu cầu kỹ thuật thì xã hội thúc đẩy khoa học hơn mười trường đại học”. Mặt khác
thực tiễn cũng là tiêu chuẩn để kiểm tra nhận thức .
Thực tế là những sự việc có thật, những tình hình cụ thể, những vấn đề đã hoặc chưa được giải
quyết trong cuộc sống. Người nghiên cứu với kinh nghiệm bản thân trong công tác hàng ngày thường
thấy được các mặt của vấn đề, các mối quan hệ phức tạp, các diễn biến, phương hướng phát triển của sự
vật từ đó có đònh hướng thích hợp giải quyết đề tài.

Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề một cách cụ thể. Người nghiên cứu phải
xem thực tiễn cao hơn nhận thức (lý luận) vì nó có ưu điểm không những có tính phổ biến mà còn có
tính hiện thực trực tiếp. Hồ Chủ Tòch cũng đã dạy: “Học tập thì theo nguyên tắc: kinh nghiệm và thực
tiễn phải đi cùng nhau”.
Đề tài thực hiện mang tính thực tiễn, nội dung của đề tài là có thật, phát triển từ thực tế khách
quan.
Có thể nói hầu như mọi công trình nghiên cứu điều có giá trò thực tế của nó, chỉ khác nhau ở
mức độ ít nhiều, phục vụ trước mắt hay lâu dài, gián tiếp hay trực tiếp.
3. Tác động của điều kiện khách quan đến việc thực hiện đề tài:
Trong quá trình nghiên cứu thực hiện đề tài người nghiên cứu là yếu tố chủ quan góp phần quan
trọng đến kết quả còn đối tượng nghiên cứu, phương pháp nghiên cứu kể cả phương tiện ngiên cứu, thời
gian nghiên cứu cùng những người cộng tác nghiên cứu và người hướng dẫn nghiên cứu là những điều
kiện khách quan ảnh hưởng trực tiếp đến việc nghiên cứu và kết quả nghiên cứu. Người nghiên cứu càng
nắm chắc các yếu tố khách quan đó bao nhiêu thì kết quả nghiên cứu càng được khẳng đònh bấy nhiêu.
Chinh sua boi:
Chương I: CẤU TRÚC VI XỬ LÝ 8085
I. CẤU TẠO BÊN TRONG VI XỬ LÝ 8085
1. Cấu trúc của một vi xử lý cơ bản :
Một vi xử lý về cơ bản gồm có 3 khối chức năng: đơn vò thực thi (Execution), bộ điều khiển
tuần tự (Sequencer) và bus giao tiếp.
- Đơn vò thực thi : Xử lý các lệnh số học và logic. Các toán hạng liên quan có mặt ở các thanh
ghi dữ liệu hoặc đòa chỉ hoặc từ bus nội.
- Bộ điều khiển tuần tự : Bao gồm bộ giải mã lệnh (Intrustruction Decoder) và bộ đếm chương
trình (Program Counter).
+ Bộ đếm chương trình gọi các lệnh chương trình tuần tự.
+ Bộ giải mã lệnh thì khởi động các bước cần thiết để thực hiện lệnh.
Bộ điều khiển tuần tự tạo thành một hệ thống logic tuần tự mà cách thức hoạt động của nó
được chứa trong ROM. Nội dung chứa trong ROM được gọi là vi chương trình. Các lệnh bên ngoài trong
trường hợp này xác đònh các đòa chỉ vào vi chương trình.
Khi chương trình bắt đầu thực hiện thì bộ đếm chương trình PC được đặt ở đòa chỉ bắt đầu,

thường là đòa chỉ 0000
H
(với xi xử lý 8 bit). Đòa chỉ này được chuyển đến bộ nhớ thông qua bus đòa
chỉ (Address Bus). Khi tín hiệu Read được đưa vào ở bus đòa chỉ nội dung của bộ nhớ liên quan xuất hiện
trên bus dữ liệu (data bus) và sẽ được chứa ở bộ giải mã lệnh (Instruction Decoder). Sau khi khởi động
một số bước cần thiết để thực thi lệnh nhờ một số chu kỳ máy và khi lệnh đã thực thi, thì bộ giải mã
lệnh làm cho bộ đếm chương trình chỉ đến ô đòa chỉ của lệnh kế.
Trong đề tài này, sử dụng vi xử lý 8085 là một vi xử lý 8 bit nên dưới đây xin trình bày cấu
trúc của vi xử lý 8085.
Hình 1.1 :
Sơ đồ khối của một vi xử lý 8 bit.
Address
Register
Data Register
ALU
Instruction
Decoder
Program Counter
Logic Control
C
ontrol
Logic
Instructio
n
Instructio
n
Decoder
TEMP-1
TEMP-2
ALU

Out
SP
PC
High
Low
Memory Address
Register
Accumulator (A) Status Register
Register B
Register D
Register H
Register C
Register E
Register L
16 bit
Address
8 bit
Data Bus
IN
IN
8 bit Internal data bus Bus
Chinh sua boi:
Hình 1.2 :
Sơ đồ cấu trúc của một vi xử lý.
Qua sơ đồ trên, ta thấy vi xử lý bao gồm các khối chính sau: khối đơn vò số học/logic ALU
(Arithmatic Logic Unit), các thanh ghi và khối Control Logic. Các khối này liên hệ với nhau qua các
đường dây truyền tín hiệu.
2. Chức năng và nhiệm vụ của các khối trong vi xử lý:
a. Khối ALU (Arithmatic Logic Unit).
Khối đơn vò số học/ logic là khối quan trọng nhất bên trong vi xử lý, khối ALU

chứa các mạch điện logic có chức năng chính là thực hiện các phép toán, các phép thay
đổi số liệu. Cơ sở chính của khối ALU là mạch cộng, nên nó có khả năng thực hiện các
phép xử lý số nhò phân.
Khối ALU có hai ngõ vào và một ngõ ra, các ngõ vào có chức năng chuyển tín hiệu ngõ vào vào
khối ALU để tính toán, sau đó dữ liệu được chuyển đến ngõ ra để chuyển ra ngoài.
Dữ liệu trước khi vào khối ALU được chứa ở thanh ghi TEMP 1 và TEMP 2 là các thanh ghi
đệm. Trong vi xử lý có một thanh ghi đặc biệt có tên là thanh ghi A, hầu hết mọi hoạt động của ALU
đều thông qua thanh ghi này. Thông thường khối ALU nhận dữ liệu từ thanh ghi A rồi xử lý dữ liệu, sau
khi xử lý xong thì lại gởi dữ liệu ra thanh ghi A.
b. Các thanh ghi bên trong vi xử lý.
Các thanh ghi bên trong của vi xử lý có chức năng lưu trữ tạm thời các dữ liệu khi xử lý. Trong số
đó có một vài thanh ghi đặc biệt khi thực hiện lệnh, còn các thanh ghi còn lại là các thanh ghi thông
Chinh sua boi:
dụng. Các thanh ghi này giúp cho người lập trình thực hiện chương trình dễ dàng hơn, số lượng thanh
ghi phụ thuộc vào từng loại vi xử lý.
Các thanh ghi trong một vi xử lý gồm có: thanh ghi tích lũy (Accumulator Register), thanh ghi PC
(Program Counter Register), thanh ghi con trỏ ngăn xếp (Stack Pointer Register), thanh ghi trạng thái
(Status Register), các thanh ghi thông dụng, thanh ghi đòa chỉ và thanh ghi lệnh (Instruction Register).
* Thanh ghi tích lũy (thanh ghi A – Accumulator Register) :
Thanh ghi A là một thanh ghi quan trọng của vi xử lý có chức năng lưu trữ dữ liệu khi tính toán.
Hầu hết các phép toán số học và phép toán logic đều xảy ra giữa ALU và thanh ghi A, nhưng cần lưu ý
rằng hầt hết sau khi thực hiện phép tính, ALU thường gởi dữ liệu vào thanh ghi A làm dữ liệu trong
thanh ghi A trước đó bò mất.
Thanh ghi A thường làm trung gian để trao dữ liệu của vi xử lý với các thiết bò ngoại vi.
Với vi xử lý 8085A, thanh ghi A có độ dài 8 bit.
* Thanh ghi PC (Program Counter Register) :
Thanh ghi PC là thanh ghi quan trọng nhất của vi xử lý. Khi thực hiện một chương trình, các lệnh
của chương trình sẽ được quản lý bằng thanh ghi PC.
Thanh ghi PC sẽ chứa đòa chỉ của các lệnh đang thực hiện của một chương trình. Chính vì vậy, trước
khi vi xử lý thực hiện một chương trình thì thanh ghi PC phải được nạp một dữ liệu, đó chính là đòa chỉ

đầu tiên của chương trình. Trong quá trình thực hiện chương trình, vi xử lý tự động tăng nội dung thanh
ghi PC để chuẩn bò đón các lệnh tiếp theo, tuy nhiên trong chương trình có lệnh có khả năng làm thay
đổi nội dung thanh ghi PC.
Với vi xử lý 8085, thanh ghi PC có độ dài 16 bit và khi vi xử lý được reset lại, thanh ghi PC sẽ tự
động nạp cho mình giá trò 0000
H
.
* Thanh ghi trạng thái (Status Register):
Thanh ghi trạng thái còn gọi là thanh ghi cờ (Flag Register – thanh ghi F) dùng để lưu trữ kết quả
của một số lệnh kiểm tra. Việc lưu trữ kết quả của các lệnh kiểm tra giúp cho người lập trình có khả
năng điều khiển chương trình theo các nhánh khác nhau.
Với vi xử lý 8085 cấu trúc của thanh ghi trạng thái như sau:
7 6 5 4 3 2 1 0
S Z x AC x P x CY
Trong đó:
S (signal): bit dấu : S = 1 khi kết quả âm, S = 0 khi kết quả dương.
Z (Zero): bit Zero: Z = 1 khi kết quả bằng 0, Z = 0 khi kết quả khác 0.
AC (Auxiliary carry): bit tràn: AC = 1 : phép tính bò tràn trên bit 4.
AC = 0 : phép tính không bò tràn trên bit
4.
P (Parity): bit chẵn, lẻ: P = 1 khi kết quả là số chẵn.
P = 0 khi kết quả là số lẻ.
CY (Carry): bit nhớ: CY = 1 khi kết quả có số nhớ.
Chinh sua boi:
CY = 0 khi kết quả không có số nhớ.
Các bit x là các bit không được sử dụng thông dụng nên không giới thiệu trong đề tài này.
* Thanh ghi con trỏ ngăn xếp (Stack Pointer Register – thanh ghi SP):
Thanh ghi con trỏ ngăn xếp là thanh ghi quan trọng của vi xử lý, độ dài dữ liệu của thanh ghi
SP bằng với độ dài dữ liệu của thanh ghi PC. Chức năng của thanh ghi SP là dùng để quản lý bộ nhớ
ngăn xếp khi muốn lưu trữ tạm thời dữ liệu vào ngăn xếp, cũng giống như thanh ghi PC, thanh ghi SP

cũng tự động chỉ tới ô nhớ kế.
Trong các vi xử lý, vò trí con trỏ ngăn xếp luôn tự động giảm để chỉ tới ô nhớ kế tiếp, vì vậy khi
thiết lập giá trò cho thanh ghi con trỏ ngăn xếp phải là đòa chỉ cuối cùng của chương trình và nó phải
nằm trong vùng nhớ RAM. Nếu không khởi tạo đòa chỉ con trỏ ngăn xếp, nó sẽ chỉ đến một đòa chỉ ngẫu
nhiên, do đó dữ liệu cất vào ngăn xếp có thể ghi chồng lên phần chương trình làm chương trình chạy sai
hoặc SP không nằm trong vùng nhớ RAM làm nó không thực hiện đúng chức năng của mình.
* Thanh ghi đòa chỉ bộ nhớ:
Thanh ghi đòa chỉ ô nhớ có chức năng tạo đúng đòa chỉ ô nhớ mà vi xử lý muốn truy xuất dữ
liệu. Thanh ghi đòa chỉ luôn bằng với thanh ghi PC.
* Thanh ghi lệnh :
Thanh ghi này có chức năng chứa lệnh mà vi xử lý đang thực hiện. Đầu tiên, lệnh được đón từ
bộ nhớ đến chứa trong thanh ghi lệnh, tiếp theo lệnh sẽ được thực hiện, trong khi thực hiện lệnh, bộ giải
mã lệnh sẽ đọc dữ liệu trong thanh ghi lệnh để xử lý và báo chính xác cho vi xử lý biết yêu cầu của
lệnh. Trong suốt quá trình này thanh ghi lệnh không đổi, nó chỉ thay đổi khi thực hiện lệnh kế tiếp.
Với vi xử lý 8085 thanh ghi lệnh có độ dài dữ liệu là 8 bit.
Người lập trình không có khả năng tác động vào thanh ghi này.
* Thanh ghi chứa dữ liệu tạm thời (Temporary Data Register):
Thanh ghi chứa dữ liệu tạm thời dùng để trợ giúp khối ALU trong quá trình thực hiện các phép
toán. Trong mỗi loại vi xử lý, số lượng các thanh ghi tạm thời khác nhau.
c. Khối điều khiển logic (Logic Control):
Khối điều khiển logic thực chất là các mạch điều khiển logic, có chức năng nhận
lệnh hay tín hiệu điều khiển từ bộ giải mã lệnh và thực hiện việc điều khiển theo đúng
yêu cầu của lệnh. Khối điều khiển logic được xem như là bộ xử lý của vi xử lý.
Các tín hiệu điều khiển của khối điều khiển logic là các tín hiệu điều khiển các thiết bò bên ngoài
giao tiếp với vi xử lý và các đường điều khiển vi xử lý từ các thiết bò bên ngoài.
Ngõ vào tín hiệu quan trọng nhất trong khối điều khiển logic là ngõ vào xung clock, phải có tín
hiệu này thì khối điều khiển mới hoạt động được. Đồng thời giúp hệ thống hoạt động được đồng bộ.
d. Các thành phần khác bên trong vi xử lý.
Khối giải mã lệnh (Instruction Decoder):
Chức năng của khối giải mã lệnh là nhận lệnh từ thanh ghi lệnh, sau đó tiến hành giải mã lệnh

rồi đưa tín hiệu điều khiển đến khối điều khiển logic.
Các đường dây dẫn:
Chinh sua boi:
Các khối bên trong của vi xử lý liên hệ với nhau thông qua các đường dây dẫn. Các đường dây
dẫn được chia làm ba nhóm chính: đường dữ liệu, đường đòa chỉ và đường điều khiển.
-
Đường đòa chỉ
: trong vi xử lý 8085, đường dữ liệu của nó gồm 16 đường dây dẫn song song
để truyền tải các bit đòa chỉ. Số đường đòa chỉ cho ta biết số ô nhớ tối đa mà vi xử lý có khả năng truy
xuất được, số ô nhớ được tính bằng công thức 2
n
với n là số đường dây dẫn. Vậy với vi xử lý 8085A,
khả năng truy xuất ô nhớ tối đa là 65536 ô nhớ. Với nhiệm vụ đònh ra đòa chỉ của thiết bò cần truy
xuất nên đường đòa chỉ mang tính một chiều và chỉ có vi xử lý mới có khả năng đưa đòa chỉ lên đường
đòa chỉ.
-
Đường dữ liệu
: dùng để kết nối các thanh ghi bên trong vi xử lý với các khối khác bên trong vi
xử lý và chuyển dữ liệu ra ngoài. Vi xử lý 8085A có 8 đường dữ liệu. Để các thanh ghi bên trong vừa
có khả năng nhận dữ liệu vừa có khả năng xuất dữ liệu thì đường dữ liệu phải có tính chất hai chiều.
-
Đường điều khiển
: bao gồm các tín hiệu điều khiển để bảo đảm sự hoạt động đồng bộ với nhau
giữa các khối. Mỗi tín hiệu điều khiển có một chiều nhất đònh.
3. Tập lệnh của vi xử lý:
Mỗi vi xử lý có một tập lệnh riêng tùy thuộc vào cấu trúc bên trong của nó. Tập
lệnh gồm nhiều lệnh.
Lệnh của vi xử lý là dữ liệu ở dạng số nhò phân, với vi xử lý 8085 chiều dài một lệnh là 8 bit.
Một lệnh luôn luôn bao gồm hai phần chính:
mã lệnh


đòa chỉ
, nếu một lệnh mà phần sau của
nó là dữ liệu thì phần đòa chỉ đã được hiểu ngầm.
Để việc viết chương trình dễ dàng hơn, người ta dùng các từ gọi nhớ để lệnh dễ viết và dễ đọc
hơn, việc này làm người viết chương trình có thể nhớ được nhiều lệnh hơn.
Tập lệnh của vi xử lý được chia làm 9 nhóm lệnh cơ bản sau:
- Nhóm lệnh truyền dữ liệu.
- Nhóm lệnh số học và logic.
- Nhóm lệnh trao đổi, truyền khối dữ liệu và tìm kiếm.
- Nhóm lệnh xoay và dòch.
- Nhóm lệnh điều khiển.
- Nhóm lệnh về bit.
- Nhóm lệnh nhảy.
- Nhóm lệnh gọi, trở về và nhóm lệnh bắt đầu.
- Nhóm lệnh xuất/nhập.
4. Các kiểu đònh đòa chỉ trong vi xử lý:
Trong vi xử lý sử dụng rất nhiều kiểu đònh đòa chỉ, sau đây là một số kiểu đònh đòa chỉ thông
dụng.
* Kiểu đònh đòa chỉ tức thời:
Với kiểu đònh đòa chỉ tức thời thì trong mã lệnh không đề cập tới đòa chỉ mà chỉ đề
cập tới dữ liệu, đòa chỉ ở đây đã được hiểu ngầm.
* Kiểu đònh đòa chỉ trực tiếp:
Trong mã lệnh có chứa đòa chỉ trực tiếp của ô nhớ cần xử lý, vi xử lý 8085A có 16 đường đòa
Chinh sua boi:
chỉ nên đòa chỉ trực tiếp cũng có độ dài 16 bit.
* Kiểu đònh đòa chỉ ngầm:
Trong cách đònh đòa chỉ này, vò trí hoặc giá trò của số liệu được hiểu ngầm nhờ mã lệnh.
* Kiểu đònh đòa chỉ gián tiếp dùng thanh ghi:
Yếu tố thứ hai trong cấu trúc lệnh không phải là đòa chỉ của dữ liệu mà chỉ là dấu hiệu cho biết

vò trí, nơi chứa đòa chỉ của số liệu.
* Kiểu đònh đòa chỉ trực tiếp bằng thanh ghi:
Yếu tố thứ hai của cấu trúc lệnh là ký hiệu của các thanh ghi, dữ liệu xử lý là dữ liệu chư
II. SƠ ĐỒ CẤU TRÚC BÊN NGOÀI VÀ CHỨC NĂNG CÁC CHÂN CỦA VI XỬ LÝ 8085:
1. Đặc tính của vi xử lý 8085A:
- Nguồn cung cấp: 5 V ± 10%.
- Dòng điện cực đại: I
max
= 170 mA.
- Tần số xung clock chuẩn: 6,134 Mhz.
- Độ dài dữ liệu là 8 bit.
- Khả năng truy xuất ô nhớ trực tiếp là 64 Kbytes.
- Vi xử lý có thể tính số nhò phân, thập phân.
- Vi xử lý có 8 đường dữ liệu và 16 đường đòa chỉ.
- Các đường điều khiển : RD\, WR\, IO/M\, Clock Out, Reset Out và 4 ngắt.
Chinh sua boi:
2. Sơ đồ chân và sơ đồ logic:
Hình 1.3 :
Sơ đồ chân và sơ đồ logic của 8085A
3. Chức năng các chân:
* Chân 1, 2 – X
1
, X
2
(Input):
- Chân X
1
, X
2
là hai ngõ vào, đây cũng là nơi đặt thạch anh. Nhiệm vụ của nó là tạo dao động

cho các khối bên trong vi xử lý.
- Vi xử lý khác nhau có tần số làm việc khác nhau, sau đây là tần số làm việc cực đại của một
vài vi xử lý do Intel sản xuất:
• 6MHz đối với 8085A.
• 10MHz đối với 8085A-2.
• 12 MHz đối với 8085A-1.
* Chân 3: Reset Out (Output):
- Cho biết vi xử lý đang đặt ở trạng thái ban đầu. Ta có thể sử dụng tín hiệu từ
chân này làm tín hiệu reset cho các vi mạch khác trong hệ thống.
- Chân này nếu không sử dụng thì để trống.
- Tín hiệu luôn ở mức [0], khi tác động thì lên [1].
* Chân 4: SOD (Output):
- SOD (Serial Output Data): đây là ngõ ra dữ liệu nối tiếp, dữ liệu được xuất ra ở chân này tại bit
A
7
của thanh ghi A. ngõ ra này được thực hiện bởi lệnh SIM.
- Chân này nếu không sử dụng thì để trống.
* Chân 5: SID (Input):
- SID (Serial Input Data): đây là ngõ vào dữ liệu vào nối tiếp, dữ liệu từ hệ thống khác gửi đến
Ready
Hold
Intr
RST
RST
RST
Trap
Reset
X
1
X

2
SID
V
cc
V
ss
A
8
– A
15
AD
0
– AD
7
ALE
S
0
S
1
RD\
WR\
HLDA
INTA
Reset
out
Clock
out
SOD
8085A
X

1
X
2
Reset
out
SOD
SID
Trap
RST 7.5
RST
6.5
RST
5.5
INTR
INTA\
AD
0
AD
1
AD
2
AD
3
AD
4
AD
5
AD
6
AD

7
V
ss
V
cc
HOLD
HLDA
Clock out
Reset in
READY
IO/M\
S
1
RD\
WR
\
ALE
S
0
A
15
A
14
A
13
A
12
A
11
A

10
A
9
A
8
1
20 21
40
8085A
Chinh sua boi:
từng bit một khi vi xử lý có lệnh nhận tín hiệu, dữ liệu ở ngõ vào này được nạp vào bit A
7
của thanh
ghi A.
- Vi xử lý thực hiện công việc này khi nhận lệnh RIM.
* Chân 6: TRAP (Input):
- Ở chân này, tín hiệu ngắt không ngăn được. Tín hiệu yêu cầu ngắt có bậc ưu tiên
cao, không bò ngăn lại bởi chương trình (phần mềm).
- Ngõ vào này do hệ thống khác điều khiển.
Hình 1.4 :
Sơ đồ tác động ngắt của vi xử lý.
- Ngõ vào này được kích bởi cạnh lên.
- Khi chân TRAP ở mức [1], trạng thái này được lưu vào 1 bit bên trong vi xử lý, lúc đó chương
trình thứ I sẽ ngưng lại khi thực hiện xong và nhảy đến đòa chỉ 0024
H
để thực hiện chương trình tại
đòa chỉ này cho đến khi gặp lệnh trở về thì mới quay lại chương trình chính.
-
Ứng dụng của ngắt
: Một trong những ứng dụng là quét bàn phím. Khi có một phím tác động,

IC quét bàn phím sẽ báo cho vi xử lý tín hiệu ngắt vi xử lý sẽ chuyển sang nhận và xử lý phím đó. Sau
khi xử lý xong mới trở về chương trình chính.
* Chân 7, 8, 9 – RST 7.5, RST 6.5, RST 5.5: (Input):
- RST (Restart Interrupt Request): Tín hiệu ngắt có thể ngăn được. Đây là ba ngõ vào điều khiển
vi xử lý.
- Ba ngõ vào này được kích bằng cạnh lên hoặc bằng mức, tín hiệu đưa vào chân RST 7.5 có
thể là một xung.
- Khi gặp tín hiệu ngắt, vi xử lý sẽ thực hiện chương trình tại đòa chỉ được quy đònh quy đònh
trước.
* Chân RST 7.5 có đòa chỉ chương trình phục vụ ngắt là: 003C.
* Chân RST 6.5 có đòa chỉ chương trình phục vụ ngắt là: 0034.
* Chân RST 5.5 có đòa chỉ chương trình phục vụ ngắt là: 002C.
- Khi đoạn chương trình chính có lệnh cho phép ngắt DI tín hiệu ngắt từ các chân
này sẽ không được thực hiện.
- Khi đoạn chương trình chính có lệnh cho phép ngắt EI, thì các lệnh ngắt này sẽ được thực hiện
kể từ khi gặp lệnh EI trong chương trình chính.
- Nếu các chân này không sử dụng thì sẽ nối đất (GND).
Hệ
thống
khác
8085A
6
8085A
6
o
Trap
VXL
Hoặc

Chinh sua boi:

* Chân 10: INTR (Input):
- INTR (Interrupt) : tín hiệu báo ngắt vi xử lý sẽ nhận ra sau khi thi hành xong một
chỉ thò.
- Khi không sử dụng chân 10 nối GND.
* Chân 11: INTA\ (Output):
- INTA (Interrupt Acknowledge): Tín hiệu trả lời ngắt. Tín hiệu sẽ báo cho thiết bò yêu cầu ngắt
bởi tín hiệu INTA biết rằng vi xử lý đã 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 đường dữ liệu (Data Bus).
- Chân 10 và 11 thường được liên kết với các IC DMA (dùng trong máy tính).
- Khi không sử dụng chân 11 bỏ trống.
* Chân 12 ÷ 19 – AD0 ÷ AD7 (Input/Output) :
- AD (Address Data): đây là các đường đòa chỉ và các đường dữ liệu được tích hợp
chung với nhau tạo thành đường dữ liệu – đòa chỉ.
- Ở chu kỳ máy T
1
, các ngõ AD này đóng vai trò là các ngõ ra đòa chỉ, ở các chu kỳ sau thì bus
này đóng vai trò là các đường dữ liệu. Vi xử lý xuất hay nhập dữ liệu đều thông qua các đường này.
- Các đường dữ liệu và đòa chỉ trong bus này có thể được tách ra hẳn bởi một IC chốt
(74LS373, 74LS573) được điều khiển bởi chân ALE của vi xử lý.
* Chân 20 – V
ss
: Chân GND của vi xử lý.
* Chân 21 ÷ 28 – A
8
÷ A
15
(Output) Address bus
:
Các ngõ ra này được dùng để xuất 8 bit đòa chỉ cao.
Như vậy, vi xử lý 8085A có 16 đường đòa chỉ và 8 đường dữ liệu.

* Chân 29, 33, 34 – S
0
, S
1
,

IO/M\

(Output).
- Ba ngõ này cho biết trạng thái hoạt động của vi xử lý, trạng thái hoạt động có
thể xem ở bảng sau:
IO/M\ S
1
S
0
Trạng thái
0 0 1 Viết vào bộ nhớ (Memory Write)
0 1 0 Đọc bộ nhớ (Memory Read)
0 1 1 Xuất dữ liệu ra cổng (Op-Code Fetch)
1 0 1 Xuất dữ liệu ra cổng (I/0 Write)
1 1 0 Đọc dữ liệu từ cổng (I/0 Read)
1 1 1 Interrup Acknowledge
* Chân 30 – ALE (Output):
- ALE (Address Latch Enable) là chân điều khiển, dùng xác đònh vai trò của đường AD7 ÷ AD0.
Ngõ này tạo ra một xung ở chu kỳ máy T
1
nhằm xác đònh lúc đó đường
AD7 ÷ AD0 đóng vai trò là đường đòa chỉ (A
7
÷ A

0
).
- Bình thường thì ALE ở mức [0], ở chu kỳ T
1
thì ALE ở mức [1].
Chinh sua boi:
- Chân này dùng làm chân điều khiển cho IC chốt.
* Chân 31: WR\ (Output):
- WR\ (Write) dùng để xác đònh vi xử lý 8085A đang thực hiện lệnh ghi dữ liệu lên bộ nhớ
hay I/O.
- Chân WR\ của vi xử lý 8085A thường được nối với các chân WR của các IC khác (bộ nhớ
hay I/O).
* Chân 32: RD\ (Output):
- RD\ (Read): dùng để xác đònh vi xử lý đang thực hiện lệnh đọc dữ liệu từ bộ nhớ hay I/0 và
vi xử lý.
- Chân RD\ của vi xử lý 8085A thường được nối với các chân RD của các IC khác (bộ nhớ
hay I/0).
* Chân 35: Ready (Input):
- Ready: Tức tín hiệu trả lời cho vi xử lý. Bộ nhớ hay thiết bò ngoại vi I/0 báo cho vi xử lý biết
là đã sẵn sàng gửi hoặc nhận dữ liệu. Vi xử lý chưa thể hoàn thành chu kỳ máy nếu Ready có giá trò
thấp.
- Nếu hết 3 chu kỳ xung clock mà bộ nhớ chưa gửi dữ liệu ra thì chương trình sẽ sai. Do đó để
đồng bộ người thiết kế dùng chân Ready này (bình thường Ready ở mức [1]).
* Chân 36: Reset In (Input):
- Reset In: ngõ vào này dùng để reset vi xử lý. Khi thực hiện reset tín hiệu này phải ở mức logic
[0] trong khoảng 3 chu kỳ xung clock.
- Khi reset thanh ghi PC = 0000
H
nghóa là vi xử lý trở về trạng thái ban đầu. Sau đó vi xử lý
sẽ đón lệnh tại đòa chỉ này.

- Khi chân Reset In tác động thì chân Reset Out của vi xử lý cũng tác động theo. Nếu các IC
khác được nối với chân Reset Out thì khi reset vi xử lý, các IC khác cũng được reset theo.
Hình 1.5 :
Sơ đồ reset 8085A
.
* Chân 37: CLK (Output):
- CLK (Clock): ngõ ra tín hiệu xung clock để cung cấp cho các thiết bò khác khi có yêu cầu. Tần
số của nó bằng tần số ngõ vào chia 2.
- Nếu không sử dụng thì chân này để trống.
* Chân 38: HLDA (Output):
- HLDA (Hold Acknowledge): Tín hiệu ngõ ra cho biết tín hiệu HOLD đã được chấp nhận và vi xử
lý sẽ ở trạng thái HOLD ở chu kỳ xung clock tiếp theo.
8085A
36

R
C
Chinh sua boi:
* Chân 39: HOLD (Input):
- HOLD: nhận tín hiệu yêu cầu ngưng bộ điều khiển DMA.
- Nếu không sử dụng, chân HOLD nối GND.
Tóm lại, với chân HOLD và HLDA: khi DMA ngưng thì vi xử lý làm việc và ngược lại vì DMA kết
nối thông qua bus.
* Chân 40 – V
cc
:
Năng lượng nguồn 5V cung cấp cho vi xử lý hoạt động.
III. BỘ NHỚ:
1. KHÁI NIỆM:
Bộ nhớ là các vi mạch được tích hợp với mật độ cao. Bộ nhớ chính là nơi lưu trữ các chương

trình cho vi xử lý cũng như lưu trữ các kết quả khi xử lý, vì vậy mọi hệ thống điều khiển tự động dùng
vi xử lý đều phải dùng tới bộ nhớ.
2. HOẠT ĐỘNG TỔNG QUÁT CỦA MỘT BỘ NHỚ:
Quá trình hoạt động truy xuất dữ liệu của bộ nhớ đều thông qua các bước sau:
- Nhận đòa chỉ để chọn đúng ô nhớ cần truy xuất.
- Nhận tín hiệu điều khiển, tín hiệu này sẽ cho phép đọc hay ghi dữ liệu từ bộ nhớ.
- Nhận dữ liệu vào ô nhớ khi thực hiện chức năng ghi hoặc gởi dữ liệu ra khi thực hiện
chức năng đọc.
Hình 1.6
: Sơ đồ mô tả các đường tín hiệu của bộ nhớ.
Các đường điều khiển bao gồm ngõ vào Memory Enable và ngõ vào Read\Write.
Ngõ vào Memory Enable dùng để cho phép bộ nhớ hoạt động.
Ngõ vào Read \ Write dùng để xác đònh chế độ hoạt động của bộ nhớ: đọc dữ liệu ra hay ghi
dữ liệu vào.
Các đường đòa chỉ vào xác đònh đúng đòa chỉ ổ nhớ cần truy xuất.
Các đường dữ liệu dùng để truyền dữ liệu hai chiều.
BỘ NHỚ
Các đường dữ liệu
vào\ra
Các đường điều
khiển
Các đường đòa chỉ
vào
Chinh sua boi:
3. PHÂN LOẠI BỘ NHỚ:
Bộ nhớ được phân thành 2 loại, mỗi loại có cơ chế hoạt động khác nhau nhưng cùng có chung
chức năng chính là lưu trữ dữ liệu.
- Bộ nhớ chỉ đọc (ROM – Read Only Memory): trong lúc hoạt động bình thường, dữ liệu chỉ có thể
đọc ra chứ không có thể ghi vào.
- Bộ nhớ truy xuất ngẫu nhiên (RAM – Random Access Memory): bất kỳ ô nhớ nào cũng dễ dàng

truy xuất như những ô nhớ khác tức là dữ liệu có thể dễ dàng ghi vào cũng như đọc ra.
a. Bộ nhớ ROM:
ROM là bộ nhớ được thiết kế cho các ứng dụng cần tỷ lệ đọc dữ liệu cao. ROM lưu
trữ dữ liệu cố đònh và trong khi hoạt động bình thường chỉ dùng để đọc dữ liệu ra chứ
không thể ghi dữ liệu vào ROM.
Có nhiều loại ROM khác nhau, dưới đây là một số loại ROM thường gặp :
- PROM (Programmable ROM): loại ROM này chỉ có thể lập trình được một lần, sau đó không thể
xóa hay nạp lại để thay đổi dữ liệu.
- EPROM (Erasable Programmable ROM): với loại ROM này, dữ liệu có thể xóa đi để nạp dữ liệu
mới được. Tuy nhiên, khi cần thay đổi giá trò của một ô nhớ thì không thể chỉ xóa dữ liệu của ô nhớ đó
mà phải xóa hết rồi nạp lại toàn bộ dữ liệu.
Để xóa dữ liệu của EPROM phải dùng ánh sáng cực tím. Còn để nạp dữ liệu cho
ROM phải dùng mạch nạp cho ROM.
Họ EPROM có mã số 27xxx.
- EEPROM (Electrically Erasable Programmable ROM): đây là loại ROM cải tiến từ EPROM. Với
loại EEPROM này có thể xóa và nạp các ô nhớ một cách độc lập, không cần xóa đi toàn bộ các ô nhớ
chứa chương trình như của EPROM. Họ EEPROM có mã số 28xxx.
Trong thực tế, với các hệ thống điều khiển dùng vi xủ lý, người ta thường sử dụng
EPROM vì nó có thể cho phép người sử dụng nạp và xóa chương trình nhiều lần, đồng
thời tính kinh tế cao (rẻ và dễ kiếm hơn EEPROM nhiều lần). Chính vì vậy, trong đề tài
này, nhóm đã sử dụng EPROM để làm bộ nhớ cho hệ thống điều khiển của mình.
EPROM có nhiều loại với các dung lượng khác nhau. Sau đây là bảng liệt kê các loại EPROM.
Bảng liệt kê các loại EPROM:
Tên EPROM Dung lượng Ngõ ra Thời gian truy xuất
2707 1 Kbytes 3 trạng thái 150 ns
2716 2 Kbytes 3 trạng thái 150 ns
2732 4 Kbytes 3 trạng thái 250 ns
2764 8 Kbytes 3 trạng thái 450 ns
27128 16 Kbytes 3 trạng thái 450 ns
27256 32 Kbytes 3 trạng thái 450 ns

Chinh sua boi:
27512 64 Kbytes 3 trạng thái 450 ns
Trong đề tài nầy, ở đây chỉ trình bày sơ đồ chân, sơ đồ logic cùng bảng trạng thái
của vi mạch 2764:
Hình 1.7 :
Sơ đồ chân và sơ đồ logic của vi mạch 2764
Bảng trạng thái của vi mạch 2764:
Mode CE\ OE\ PGM\ V
PP
V
CC
Output
Read V
IL
V
IL
V
IH
V
CC
V
CC
D
out
Stand by V
IH
x x V
CC
V
CC

High Z
Program V
IL
x V
IL
V
PP
V
CC
D
in
Program verify V
IL
V
IL
V
IH
V
PP
V
CC
D
out
Program Inhibit V
IH
x x V
PP
V
CC
High Z

b. Bộ nhớ RAM:
Bộ nhớ RAM là bộ nhớ thay đổi, bất kỳ ô nhớ nào cũng có thể truy xuất dễ dàng
và thời gian truy xuất của các ô nhớ là như nhau. Khác với bộ nhớ ROM, dữ liệu trong
RAM sẽ mất đi khi nguồn điện cung cấp bò mất. Tuy vậy người ta khắc phục điều này
bằng cách sử dụng nguồn pin để “nuôi” RAM.
RAM thường được dùng trong các hệ thống điều khiển tự động để lưu trữ dữ liệu tạm thời
chương trình hay các dữ liệu. Do nội dung dữ liệu trong RAM thường thay đổi liên tục trong quá trình
hoạt động nên yêu cầu chu kỳ đọc và ghi của RAM phải nhanh để không làm ảnh hưởng đến tốc độ của
cả hệ thống.
Cũng như bộ nhớ ROM, bộ nhớ RAM cũng dùng thanh ghi để lưu trữ dữ liệu, mỗi thanh ghi lưu
trữ một dữ liệu và chỉ tương ứng với một đòa chỉ duy nhất. Khác với bộ nhớ ROM, bộ nhớ RAM còn có
đường điều khiển cho phép ghi hoặc đọc dữ liệu : R\W.
Bộ nhớ RAM được chia làm hai loại: SRAM và DRAM.
A
0
A
1
A
11
A
12
CE\
OE\
PGM
V
pp
D
0
D
7

2764
1
2
3
4
5
6
7
8
9
1
1
1
1
1
2
2
2
2
2
2
2
2
2
1
1
1
1
1
V

pp
A
12
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
0
D
1
D
2
GND
V
cc
PGM\
NC

A
8
A
9
A
11
OE\
A
10
CE\
D
7
D
6
D
5
D
4
D
3
2764
Chinh sua boi:
- SRAM (Static RAM) còn gọi là RAM tónh. Đây là loại RAM lưu trữ dữ liệu cho đến khi nào
nguồn nuôi không còn. SRAM thực chất là những Flip – Flop (FF), trong đó mỗi FF là một phần tử nhớ
đại diện cho một bit.
- DRAM (Dynamic RAM) còn gọi là RAM động. Đây là loại RAM phải luôn được làm “tươi” tức
là phải nạp lại dữ liệu cho RAM trong một khoảng thời gian nhất đònh, nếu không RAM sẽ bò mất dữ
liệu. Trong khi làm tươi RAM, ô nhớ đó không được phép truy xuất.
Trong đề tài này, nhóm chỉ sử dụng SRAM: 6264 nên ở đây chỉ trình bày sơ đồ chân, sơ đồ
logic và bảng trạng thái của SRAM này.

Bảng trạng thái làm việc của vi mạch 6264:
Mode WR\ CS\ CS OE\ Output
Not select x H x X High Z
Not select x x L X High Z
Output Disable H L H H High Z
Read H L H L D
out
Write L L H H D
in
A
0
A
1
A
11
A
12
CS\
OE\
WR\
CS
D
0
D
7
6264
1
2
3
4

5
6
7
8
9
1
1
1
1
1
2
2
2
2
2
2
2
2
2
1
1
1
1
1
NC
A
12
A
7
A

6
A
5
A
4
A
3
A
2
A
1
A
0
D
0
D
1
D
2
GND
V
cc
WR\
CS
A
8
A
9
A
11

OE\
A
10
CS\
D
7
D
6
D
5
D
4
D
3
6264
Hình 1.8 : Sơ đồ chân và sơ đồ logic của vi mạch 6264
Chinh sua boi:
IV. KẾT NỐI BỘ NHỚ VỚI VI XỬ LÝ:
Bộ nhớ có vai trò rất quan trọng trong hệ thống vi xử lý, hoạt động của bộ nhớ
gắn liền với hoạt động của vi xử lý, là nơi lưu trữ dữ liệu để vi xử lý xử lý. do đó bộ nhớ
luôn hiện diện trong hệ thống vi xử lý và khi sử dụng phải tiến hành kết nối. Bộ nhớ bao
gồm cả ROM và RAM, chúng liên hệ với nhau và đợc kết nối với vi xử lý thông qua các
bus: bus dữ liệu, bus đòa chỉ, và bus điều khiển. Sơ đồ kết nối được trình bày ở dạng khối
sau:
Trong hệ thống có thể có một ROM một RAM hoặc số lượng ROM và RAM nhiều hơn nữa, việc
bộ nhớ được truy xuất hoàn toàn phụ thuộc vào sự điều khiển của vi xử lý thông qua 1 IC giải mã
74LS138.
Hình 1.8 :
Sơ đồ khối kết nối giữa bộ nhớ với vi xử lý
Trong hệ thống có thể có một ROM một RAM hoặc số lượng ROM và RAM nhiều hơn nữa. Việc

bộ nhớ được truy xuất hoàn toàn phụ thuộc vào sự điều khiển của vi xử lý thông qua 1 IC giải mã
74LS138.
Khi thiết kế vấn đề quan tâm đầu tiên đó là khả năng truy xuất bộ nhớ của vi xử lý, kế đến là
dung lượng của bộ nhớ cần sử dụng. Trong thực tế, bộ nhớ có nhiều dung lượng khác nhau (2K, 4K,
8K… ), nhằm phục vụ cho việc thiết kế đồ án này nhóm thực hiện lựa chọn bộ nhớ có dung lượng
8Kbyte đó là vi mạch nhớ 2764 và 6264.
V. VẤN ĐỀ GIẢI MÃ CHO BỘ NHỚ :
Với mỗi bộ nhớ (1EPROM hay 1 RAM) để vi xử lý có thể truy xuất hết 8 Kbyte bộ nhớ thì
phải tiến hành kết nối 13 đường đòa chỉ A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2

A
1
A
0
của vi xử lý đến 13 đường
đòa chỉ A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A

0
của bộ nhớ. do đó tất cả 13 đường đòa chỉ của EPROM và
RAM đều được nối với 13 đường đòa chỉ của vi xử lý. để truyền được tín hiệu với nhau thì các đường dữ
liệu D
7
– D
0
của vi xử lý cũng phải được kết nối với các đường dữ liệu D
7
– D
0
của từng bộ nhớ. Đường
tín hiệu điều khiển RD\ của vi xử lý được kết nối với ngõ vào OE\ của EPROM và RAM.
Nếu chỉ như vậy thì khi vi xử lý gởi một đòa chỉ ra để truy xuất thì các bộ nhớ đều nhận được
đòa chỉ này và sẽ cùng gởi dữ liệu ra hoặc cùng nhận dữ liệu vào. Như vậy dữ liệu mà vi xử lý nhận
được sẽ không biết của ô nhớ nào. Vấn đề được đặt ra là bằng cách nào để vi xử lý truy xuất chính xác
từng ô nhớ yêu cầu. Công việc này được giải quyết bằng cách thiết kế thêm phần giải mã đòa chỉ để cho
phép hoặc không cho phép bộ nhớ nào hoạt động.
Riêng đối với bộ nhớ RAM vì RAM là bộ nhớ đọc – ghi nên phải nối thêm đường WR\ của vi xử
Vi
xử

Bộ nhớ
ROM
Bộ nhớ
RAM
Bus đòa chỉ
Bus dữ liệu
Bus điều khiển
Chinh sua boi:

lý tới đường WR\ của RAM.
Sơ đồ mạch giải mã bộ nhớ:
Hình 1.10 :
Sơ đồ mạch giải mã bộ nhớ
đến CE\ của EPROM
đến CS\ của RAM
A
13
A
14
A
15
A
B
C
O
0
\
O
1
\
O
2
\
O
3
\
O
4
\

O
5
\
O
6
\
O
7
\
E
3
E
1
\
E
2
\
0 1 d d d s
1 0 0 0 0 s
Chinh sua boi:
CHƯƠNG II: GIỚI THIỆU TẬP LỆNH CỦA VI XỬ LÝ 8085
I. NHÓM LỆNH DI CHUYỂN 8 BIT:
1. Lệnh truyền dữ liệu giữa các thanh ghi:
+ Cú pháp: MOV d, s
• s (source): tượng trưng cho các thanh ghi phát.
• d (destination): tượng trưng cho
thanh nhận.
+ Mã đối tượng:

+ Các bit ddd và sss tra ở BẢNG 2.1 cuối tập lệnh.

+ Ý nghóa: chuyển nội dung thanh ghi s vào thanh ghi d, nội dung thanh ghi s vẫn còn.
+ Lệnh này chiếm 1 byte, số chu kỳ xung clock = 4.
+ Thanh ghi trạng thái không thay đổi.
(Tương tự cho các lệnh khác).
2. Lệnh chuyển dữ liệu thanh ghi vào ô nhớ:
Cú pháp: MOV M, s
3. Lệnh chuyển dữ liệu từ ô nhớ vào thanh ghi:
Cú pháp: MOV d, M
4. Lệnh truyền tức thời dữ liiệu 8 bit vào thanh ghi:
Cú pháp: MVI d, D8
5. Lệnh truyền tức thời dữ liệu 8 bit vào ô nhớ:
Cú pháp: MVI M, D8
II. NHÓM LỆNH TĂNG GIẢM 8 BIT:
1. Lệnh tăng nội dung thanh ghi:
+ Cú pháp: INR d
+ Mã đối tượng:

+ Ý nghóa: Lệnh này tăng nội dung thanh ghi lên một đơn vò.
+ Lệnh nầy chiếm 1 byte , số chu kỳ xung clock = 4.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái trừ bit Cy không ảnh hưởng.
(Tượng tự cho các lệnh khác)
2. Lệnh giảm nội dung thanh ghi:
Cú pháp: DCR d
3. Lệnh tăng nội dung ô nhớ:
Cú pháp: INR M
4. Lệnh giảm nội dung ô nhớ:
Cú pháp: DCR M
III. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ THANH GHI
1. Lệnh cộng thanh ghi:
+ Cú pháp: ADD s

+ Mã đối tượng:
0 0 d d d 1
1 0 0 0 1 s
Chinh sua boi:
+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s, kết quả chứa trong thanh ghi
A , nội dung thanh ghi s vẫn còn.
+ Lệnh này chiếm một byte, số chu kỳ xung clock = 4.
+ Lệnh này ảnh hưởng đến thanh ghi trạng thái.
2. Lệnh cộng thanh ghi có số nhớ ban đầu:
+ Cú pháp: ADC s
+ Mã đối tượng:

+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s cộng với bit Cy, kết quả chứa
trong thanh ghi A, nội dung thanh ghi s vẫn còn.
+ Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 4.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
3. Lệnh trừ thanh ghi:
Cú pháp: SUB s
4. Lệnh trừ thanh ghi có số nhớ ban đầu:
Cú pháp: SBB s
5. Lệnh and với thanh ghi:
Cú pháp: ANA s
6. Lệnh Ex-or với thanh ghi:
Cú pháp: XRA s
7. Lệnh or với thanh ghi:
Cú pháp: ORA s
8. Lệnh so sánh với thanh ghi:
Cú pháp: CMP s
IV. NHÓM LỆNH SỐ HỌC GIỮA Ô NHỚ VỚI THANH GHI A:

1. Lệnh cộng với ô nhớ:
+ Cú pháp: ADD M
+ Mã đối tượng:

+ Ý nghóa: nội dung thanh ghi A được cộng với nội dung ô nhớ có đòa chỉ chứa trong cặp thanh
ghi HL, kết quả chứa trong thanh ghi A, nội dung ô nhớ không thay đổi.
+ Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
2. Lệnh cộng ô nhớ có số nhớ ban đầu:
+ Cú pháp: ADC M
+ Mã đối tượng:
+ Ý nghóa: nội dung thanh ghi A được cộng với dung ô nhớ có đòa chỉ chứa trong cặp thanh ghi
HL, kết quả chứa trong A, nội dung ô nhớ không thay đổi.
+ Lệnh nầy chứa 1 byte, số chu kỳ xung clock = 7.
+ Lệnh nầy ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
3. Lệnh trừ với ô nhớ:
1 0 0 0 0 1
1 0 0 0 1 1

×