Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
Bộ GIÁO DụC VÀ ĐÀO TạO
ĐạI HọC QUốC GIA TP. Hồ CHÍ MINH
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA : ĐIỆN _ ĐIỆN TỬ
BỘ MÔN : ĐIỆN TỬ
Luận văn tốt nghiệp
Đề tài:
GIAO TIẾP MÁY TÍNH VỚI KIT
VI XỬ LY 8085 Sinh viên thực hiện : NGUYỄN TRUNG DŨNG
Lớp : 95KĐĐ
Giáo Viên hướng dẫn : NGUYỄN ĐÌNH PHÚ
Sinh Vin Thực Hiện : Phan Tiến Hiếu
Lớp : 95KĐĐ
Gio Vin Hướng Dẫn : NGUYỄN ĐÌNH PH Tp - Hồ Chí Minh : 03 - 2000
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng
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.
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.
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.
Trường ĐH SPKT Luận văn tốt nghiệp
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 choa 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 dự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ý.
2-Vấn đề thực tiễn:
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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ổ
+ 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.
Instruction
Decoder
TEMP
-
1
TEMP
-
2
ALU
Out
SP
PC
High
Low
Memory Address
Register
Accumulator (A) Status Register
Register B
Register D
Register H
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 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ễ
Trường ĐH SPKT Luận văn tốt nghiệp
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ớ.
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
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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
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:
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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
* 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.
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 2. Sơ đồ chân và sơ đồ logic:
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 lað ngõ vào dữ liệu vào nối tiếp, dữ liệu từ hệ thống
khác gửi đến 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.
Ready
Hold
Intr
RST 7.5
RST 6.5
RST 5.5
Trap
Reset in
X
1
WR
\
HLDA
INTA
Reset out
Clock out
SOD
8085A
X
1
X
2
Reset out
SOD
SID
Trap
RST 7.5
HLDA
Clock out
Reset in
READY
IO/M
\
S
1
RD\
WR\
ALE
S
0
A
15
A
14
A
13
A
12
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): Tn 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
ệ
- 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
* 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].
- Chân này dùng làm chân điều khiển cho IC chốt.
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng * 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ộ
- 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
8085A
36
R
C
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng lại vì DMA kết nối thông qua bus.
* Chân 40 – Vcc : 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:
Các đường
địa chỉ vào
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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ừ
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
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.
- SRAM (Static RAM) còn gọi là RAM tĩnh. Đây là loại RAM lưu trữ dữ liệu cho đến
A
0
A
1
A
11
A
12
CE
\
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
D
0
D
1
D
2
GND
V
cc
PGM
\
NC
A
8
A
9
A
11
OE
\
A
10
CE
\
D
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
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
D
1
D
2
GND
V
cc
WR
\
CS
A
8
A
9
A
11
OE\
A
10
CS
\
D
7
D
6
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
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ữ laệ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 giaĩ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ử lý tới đường WR\ của RAM. i
xử
lý
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
O
7
\
E
3
E
1
\
E
2
\
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 0 1 d d d s s s
1 0 0 0 0 s s s
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ú 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:
+ Ý 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.
0 0 d d d 1 0 0
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 1
0 0 0 1 s s s
+ 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)
+ 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ớ:
Cú pháp: SUB M
4. Lệnh trừ ô nhớ có số nhớ ban đầu:
Cú pháp: SBB M
5. Lệnh and với ô nhớ:
Cú pháp: ANA M
6. Lệnh Ex-or với ô nhớ:
1 0
0 0 0 1 1 0
1 0 0 0 1 1 1 0
Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 0 0 0 0 0 0 0 1
8 bit thấp
8 bit cao
Cú pháp: XRA M
7. Lệnh or với ô nhớ:
Cú pháp: ORA M
8. Lệnh so sánh với ô nhớ:
Cú pháp: CMP M
V. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ DỮ LIỆU 8 BIT:
8. Lệnh so sánh tức thời với dữ liệu 8 bit:
Cú pháp: CPI D8
VI. NHÓM LỆNH NẠP TỨC THỜI CẶP THANH GHI:
1. Lệnh nạp cặp thanh ghi BC:
+ Cú pháp: LXI B, D16 + Mã đối tượng:
+ Ý nghĩa: dữ liệu 16 bit D16 được nạp vào cặp thanh ghi BC.
+ Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 10.
+ Không ảnh hưởng đến thanh ghi trạng thái.
1 1 0 0 0 1 1 0
D
ữ
li
ệ
u 8 bit D8
1 1 0 0 1 1 1 0
D
ữ
li
ệ
u 8 bit D8
Trường ĐH SPKT Luận văn tốt nghiệp
VIII. NHÓM LỆNH POP:
1. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi:
+ Cú pháp: POP B
+ Mã đối tượng:
+ Ý nghĩa: chuyển nội dung từ ngăn xếp vào cặp thanh ghi BC. Nội dung ngăn xếp có
địa chỉ chứa trong SP được chuyển cho thanh ghi C, nội dung của ngăn xếp có địa chỉ
(SP+1) được chuyển cho thanh ghi B, sau lệnh POP nội dung của SP tăng lên 2.
+ Lệnh này chiếm một byte, số chu kì clock =12.
+ Lệnh này không ảnh hưởng đến thanh ghi teạng thái.
(Tương tự cho các lệnh khác cùng nhóm).
2. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi DE:
+ Cú pháp: POP D
3. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi HL:
+ Cú pháp: POP H
4. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi AF:
+ Cú pháp: POP PSW
IX. NHÓM LỆNH CỘNG CẶP THANH GHI VỚI CẶP THANH GHI:
1. Lệnh cộng cặp thanh ghi BC:
+ Cú pháp: DAD B
+ Mã đối tượng:
+ Ý nghĩa: nội dung cặp thanh ghi BC được cộng với cặp thanh ghi HL, kết quả cất
trong cặp thanh ghi HL. Thanh ghi L được cộng với C, thanh ghi H được cộng với B.
+ Lệnh này chiếm 1 byte, số chu kỳ clock =10.
+ Lệnh này chỉ làm ảnh hưởng đến bit trạng thái Cy.
1 1 0 0 0 0 0 1
0 0 0 0 1 0 0 1