Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa học kỹ
thuật, cho nên nhu cầu về thông tin trở nên thiết yếu đối với con người trong cuộc sống cũng như trong hoạt động sản xuất kinh doanh. Để đáp ứng nhu cầu trên, quang báo là hình thức cung cấp thông tin hữu ích không thể thiếu trong cuộc sống hằng ngày. Do đó quang báo ngày càng phát triển tinh vi hơn, đa dạng hơn, từ việc thiết kế quang báo với văn bản được ghi chết trong ROM, đến việc thiết kế một KIT vi xử lý để điều khiển.
Quang báo là hình thức thông báo trên bảng đèn. Bảng đèn quang báo gồm nhiều Ma Trận LED ghép lại, mỗi một Ma Trận biểu diễn một kí tự. Tùy chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác nhau. Các từ trong văn bản sẽ lần lượt xuất hiện và chạy dần từ phải sang trái. Khi văn bản đã hiển thị đến từ cuối cùng thì từ đầu tiên lại bắt đầu xuất hiện trở lại. Quá trình đó cứ tiếp tục lại mãi.
Bên cạnh đó, với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều khiển. Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào mục đích quảng cáo, chẳng hạn như dùng trong quang báo. Nhờ vậy, việc thiết kế phần cứng cho quang báo trở thành ít phức tạp hơn, nhưng độ tin cậy cao hơn. Trong thực tế để hiển thị các văn bản, người ta dùng các kiểu chữ là các Ma Trận LED 5x7, 5x8, 8x12 hoặc 8x14 tuỳ thuộc vào mục đích sử dụng và độ phân giải.
Theo cách nghĩ đó việc thiết kế mạch quang báo kết hợp giữa KIT vi xử lý và máy tính được chúng em trình bày trong luận văn này. Phần mềm điều khiển viết bằng ngôn ngữ PASCAL. Ở đây máy tính đóng vai trò truyền dữ liệu và điều khiển còn KIT vi xử lý có nhiệm vụ lưu trữ và thực hiện chương trình quang báo. Việc kết hợp giữa hai thiết bị làm cho quang báo trở nên đa dạng, phong phú, độ tin cậy cao và dễ dàng sử dụng. Ngoài ra Kit vi xử lý còn có thể thực hiện chương trình quang báo độc lập với máy tính nếu như điều kiện thực tế không cho phép.
Mặt dù đã dành nhiều thời gian để thực hiện đề tài nhưng do kiến thức và tay nghề có hạn nên không tránh khỏi thiếu sót, chúng em rất mong sự góp ý của quí thầy cô và các bạn để luận văn được hoàn hảo hơn.
Chúng em chân thành cảm ơn thầy Nguyễn Xuân Đông, cùng tất cả quí thầy cô đã trao dồi cho chúng em lượng kiến vô cùng quí báu để hoàn thành tốt luận văn đã được giao.
Cám ơn các bạn sinh viên đã có những góp ý quí báu trong việc thực hiện
luận văn này.
131 trang |
Chia sẻ: oanh_nt | Lượt xem: 956 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Luận văn Việc thiết kế mạch quang báo kết hợp giữa KIT vi xử lý và máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU
Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa học kỹ thuật, cho nên nhu cầu về thông tin trở nên thiết yếu đối với con người trong cuộc sống cũng như trong hoạt động sản xuất kinh doanh. Để đáp ứng nhu cầu trên, quang báo là hình thức cung cấp thông tin hữu ích không thể thiếu trong cuộc sống hằng ngày. Do đó quang báo ngày càng phát triển tinh vi hơn, đa dạng hơn, từ việc thiết kế quang báo với văn bản được ghi chết trong ROM, đến việc thiết kế một KIT vi xử lý để điều khiển.
Quang báo là hình thức thông báo trên bảng đèn. Bảng đèn quang báo gồm nhiều Ma Trận LED ghép lại, mỗi một Ma Trận biểu diễn một kí tự. Tùy chiều dài của bảng đèn mà có thể hiển thị những bản tin có độ dài khác nhau. Các từ trong văn bản sẽ lần lượt xuất hiện và chạy dần từ phải sang trái. Khi văn bản đã hiển thị đến từ cuối cùng thì từ đầu tiên lại bắt đầu xuất hiện trở lại. Quá trình đó cứ tiếp tục lại mãi.
Bên cạnh đó, với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm điều khiển. Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào mục đích quảng cáo, chẳng hạn như dùng trong quang báo. Nhờ vậy, việc thiết kế phần cứng cho quang báo trở thành ít phức tạp hơn, nhưng độ tin cậy cao hơn. Trong thực tế để hiển thị các văn bản, người ta dùng các kiểu chữ là các Ma Trận LED 5x7, 5x8, 8x12 hoặc 8x14 tuỳ thuộc vào mục đích sử dụng và độ phân giải.
Theo cách nghĩ đó việc thiết kế mạch quang báo kết hợp giữa KIT vi xử lý và máy tính được chúng em trình bày trong luận văn này. Phần mềm điều khiển viết bằng ngôn ngữ PASCAL. Ở đây máy tính đóng vai trò truyền dữ liệu và điều khiển còn KIT vi xử lý có nhiệm vụ lưu trữ và thực hiện chương trình quang báo. Việc kết hợp giữa hai thiết bị làm cho quang báo trở nên đa dạng, phong phú, độ tin cậy cao và dễ dàng sử dụng. Ngoài ra Kit vi xử lý còn có thể thực hiện chương trình quang báo độc lập với máy tính nếu như điều kiện thực tế không cho phép.
Mặt dù đã dành nhiều thời gian để thực hiện đề tài nhưng do kiến thức và tay nghề có hạn nên không tránh khỏi thiếu sót, chúng em rất mong sự góp ý của quí thầy cô và các bạn để luận văn được hoàn hảo hơn.
Chúng em chân thành cảm ơn thầy Nguyễn Xuân Đông, cùng tất cả quí thầy cô đã trao dồi cho chúng em lượng kiến vô cùng quí báu để hoàn thành tốt luận văn đã được giao.
Cám ơn các bạn sinh viên đã có những góp ý quí báu trong việc thực hiện luận văn này.
Sinh viên thực hiện
Nguyễn Thanh Tuấn
Nguyễn Ngọc Khánh
CHƯƠNG 1:
TỔNG QUAN KỸ THUẬT VI XỬ LÝ
I.1.Lịch sử phát triển vi xử lý.
I.1.1.Giới thiệu chung về hệ thống vi xử lý.
Vi xử lý là sự kết hợp của hai kỹ thuật công nghệ quan trọng:Đó là máy tính dùng kỹ thuật số và các vi mạch điện tử. Hai công nghệ này kết hợp lại với nhau và các nhà nghiên cứu đã chế tạo ra vi xử lý.
Chức năng chính của vi xử lý là xử lý dữ liệu chứa trong bộ nhớ. Để làm được điều này vi xử lý phải có các mạch logic cho việc xử lý dữ liệu và cần phải có chương trình. Chương trìng là tập hợp các lệnh. Vi xử lý thực hiện một lệnh với trình tự như sau:
Đón lệnh từ bộ nhớ.
Giải mã lệnh
Thực hiện lệnh.
I.1.2.Năng lực của vi xử lý.
Khi nói đến năng lực của Microprocessor có nghĩa là nói đến khả năng xử lý dữ liệu, có 3 thông số để đánh giá năng lực của Microprocessor.
Chiều dài của từ dữ liệu của Microprocessor.
Số lượng các ô nhớ mà Microprocessor có thể truy xuất được.
Tốc độ mà Microprocessor có thể thực hiện một lệnh.
I.2.Các khái niệm cơ bản về cấu trúc của vi xử lý.
I.2.1.Chiều dài từ dữ liệu.
Microprocessor đầu tiên có chiều dài từ dữ liệu là 4 bit, tiếp theo là các Microprocessor 8 bit, 16 bit, 32 bit và 64 bit. Mỗi Microprocessor có chiều dài từ dữ liệu khác nhau có một khả năng ứng dụng khác nhau, các Microprocessor có chiều dài từ dữ liệu lớn, tốc độ làm việc nhanh, khả năng truy suất bộ nhớ lớn được dùng trong các công việc xử lý dữ liệu, điều khiển phức tạp, các Microprocessor có chiều dài từ dữ liệu nhỏ hơn, khả năng truy suất bộ nhớ nhỏ hơn, tốc độ làm việc thấp hơn được sử dụng trong các công việc điều khiển và xử lý đơn giản chính vì thế các Microprocessor này vẫn tồn tại.
I.2.2.Khả năng truy suất bộ nhớ.
Dung lượng bộ nhớ mà Microprocessor làm việc quyết định đến tốc độ làm việc của Microprocessor. Các Microprocessor đầu tiên bị giới hạn về khả năng truy xuất bộ nhớ. Microprocessor 4004 có 14 đường điạ chỉ nên có thể truy xuất được 214 = 16.384 ô nhớ, vi xử lý 8 bit có 16 đường điạ chỉ nên có thể truy xuất được 216 = 65.536 ô nhớ, Microprocessor 16 bit có 20 đường điạ chỉ nên có thể truy suất 220 = 1.024.000 ô nhớ, Microprocessor 32 bit như 386 hay 68020 có thể truy suất 4 G ô nhớ, Microprocessor có khả năng truy xuất bộ nhớ càng lớn nên có thể xử lý các chương trình lớn. Tùy theo ứng dụng cụ thể mà chọn một Microprocessor thích hợp.
I.2.3.Tốc độ làm việc của microprocessor
Tần số xung clock cung cấp cho Microprocessor làm việc quyết định đến tốc độ làm việc của Microprocessor. Microprocessor có tốc độ làm việc càng lớn thì khả năng xử lý lệnh càng nhanh. Tần số xung Clock làm việc của các Microprocessor được cho bởi các nhà chế tạo
I.2.4. Các thanh ghi của Microprocessor.
Các thanh ghi là một phần quan trọng trong cấu trúc của Microprocessor. Các thanh ghi bên trong của Microprocessor dùng để xử lý dữ liệu. Nếu Microprocessor có số lượng thanh ghi nhiều thì người lập chương trình có thể viết các chương trình điều khiển Microprocessor đơn giản hơn, làm tăng tốc độ xử lý chương trình. Nếu Microprocessor có số lượng thanh ghi ít thì chương trình sẽ phức tạp hơn, tốc độ xử lý chương trình chậm hơn. Vậy số lượng các thanh ghi bên trong Microprocessor cũng ảnh hưởng đến tốc độ và khả năng xử lý chương trình.
I.2.5.Các lệnh của Microprocessor.
Tập lệnh của Microprocessor là một trong những yếu tố cơ bản để đánh giá tốc độ làm việc của Microprocessor. Nếu Microprocessor có nhiều mạch điện logic bên trong để thực hiện thì số lệnh điều khiển của Microprocessor càng nhiều, khi đó Microprocessor càng lớn và độ phức tạp càng lớn. Ví dụ so sánh 2 tập lệnh của 2 Microprocessor 8 bit là 8051 và Z80 thì 8051 có 111 lệnh khác nhau còn Z80 có 158 lệnh. Tập lệnh của một Microprocessor càng nhiều rất có ích khi lập trình hay viết chương trình cho Microprocessor.
I.2.6.Cấu trúc truy xuất bộ nhớ.
Một phần quyết định sự mềm dẻo trong lập trình là số lượng các kiểu truy suất bộ nhớ khác nhau của Microprocessor, Microprocessor có nhiều kiểu truy suất bộ nhớ sẽ có khả năng xử lý càng nhanh và cấu trúc các mạch điện bên trong càng phức tạp. Microprosesor có chiều dài từ dữ liệu càng lớn thì có số lượng các kiểu truy xuất bộ nhớ càng lớn.
I.2.7.Các mạch điện giao tiếp bên ngoài của Microprocessor.
Ngoài giao tiếp với bộ nhớ, Microprocessor có các mạch điện giao tiếp với các mạch điện bên ngoài để điều khiển hay mở rộng khả năng điều khiển. Các mạch điện bên ngoài là các IC và được gọi là IC ngoại vi. Mỗi IC có một chức năng riêng, tùy thuộc vào yêu cầu điều khiển mà chọn các IC ngoại vi.
Hình 1.1: Sơ đồ tổng quát của một hệ thống vi xử lý
I.3.Cấu trúc bên trong của bộ vi xử lý.
Một bộ vi xử lý gồm có hai phần chính là đơn vị thực hành EU (execution unit) và đơn vị tương thích BUS là BIU.
+ EU thực hiện tất cả các phép tính toán số học và logic.
+ BIU thì thu nhận lệnh và dữ liệu từ bộ nhớ. Các lệnh này dùng để điều khiển hoạt động CPU.
I.3.1.Đơn vị thực hiện.
EU là nơi xảy ra các quá trình xử lý dữ liệu trong bộ vi xử lý. Ở đây có đơn vị số học và logic (ALU – ARITHMETIC LOGIC UNIT) cộng với các thanh ghi xử lý số liệu và lưu trữ các kết quả trung gian. EU nhận dữ liệu và các lệnh do BIU thu được rồi xử lý các thông tin đó. Dữ liệu đã được xử lý trong EU lại được chuyển ra bộ nhớ hoặc thiết bị ngoại vi thông qua BIU. Như vậy EU không liên hệ trực tiếp với bên ngoài mà không phải thông qua BIU.
I.3.2.Đơn vị tương thích Bus.
BIU gồm các mạch phát điạ chỉ và điều khiển Bus, dãy chứa lệnh và con trỏ lệnh. Nó có nhiệm vụ bảo đảm cho Bus được sử dụng hết dung lượng để tăng tốc độ các thao tác.
I.3.3. Bus địa chỉ, Bus dữ liệu, Bus điều khiển.
a> Bus địa chỉ
Một địa chỉ ứng với môït vị trí duy nhất trong bộ nhớ. Địa chỉ rất cần thiết để có thể truy xuất chính xác đến vị trí cần thao tác. Mỗi bộ vi xử lý đều có số Bus địa chỉ khác nhau tương ứng dung lượng nhớ mà CPU có thể truy suất tới.
b> Bus dữ liệu
Bus dữ liệu (Data Bus) để chuyển thông tin từ CPU đến bộ nhớ và các bộ phận khác (thao tác ghi), nhận dữ liệu vào CPU (thao tác đọc). Bus dữ liệu vừa thu vừa phát thông tin nên được xem là Bus dữ liệu hai chiều. Tuy nó không thể đồng thời thu và phát thông tin cùng một lúc.
c> Bus điều khiển
Các đường dây của Bus điều khiển dùng để xác định một lệnh thực hiện vào lúc nào và như thế nào, xác định các thao tác đọc, viết bộ nhớ, xác định chế độ hoạt động của CPU.
I.4.Cấu trúc CPU Z80.
I.4.1.Cấu tạo căn bản CPU Z80.
CPU Z80 có những đặc điểm sau:
8 bit tác động song song.
158 loại bệnh căn bản.
Có 22 thanh ghi bên trong.
Có tính năng ngắt (interrupt).
Có thể nối trực tiếp với RAM tĩnh hoặc RAM động mà hầu như không cần mạch phụ trợ bên ngoài.
Tốc độ của lệnh Fetch là 1,6ms (Z – 80), 1ms (Z – 80A), 0,76ms (Z – 80B).
Chỉ cần dùng một nguồn điện +5V duy nhất.
Tất cả các chân xuất tín hiệu ra và nhập tín hiệu vào đều thuộc loại TTL.
Cấu trúc bên trong của CPU Z80
Các thanh ghi thường dùng
Thanh ghi chủ yếu Thanh ghi bổ trợ
Accumulator
A
Flag
F
Accumulator
A’
Flag
F’
B
C
B’
C’
D
E
D’
E’
H
L
H’
L’
Các thanh ghi chuyên dùng
Interrupt vector
Register I
Memory refesh
Register R
Index register
IX
Index register
IY
Stack Pointer
SP
Program counter
PC
I.4.2. Các thanh ghi của CPU -Z80.
a> Các thanh ghi đa năng: Bao gồm A, B, C, D,E, H, L.
Các thanh ghi đa năng có độ dài bằng số bit của BUS dữ liệu, chúng có những chức năng sau:
Là nơi CPU trao đổi dữ liệu, chứa dữ liệu được đọc từ bên ngoài hay gởi dữ liệu ra.
Là nơi chứa các toán hạng, kết quả của một phép toán.
b>Thanh ghi F (8bit):
Đây là thanh ghi cờ, và còn một thanh ghi cờ phụ là F’. Khác với các thanh ghi trên, mỗi bit của thanh ghi cờ độc lập với nhau và được CPU phản ánh tình trạng của kết quả sau một phép toán nào đó. Mỗi bit được gọi là một cờ và người sử dụng có thể kiểm tra bằng cờ.
S
Z
X
H
X
P/V
N
C
Cấu trúc thanh ghi cờ CPU Z80
+ Cờ ZERO (cờ Z):
Sau một phép toán kết quả bằng 0 thì cờ Z = 1 và nếu kết quả khác 0 thì cờ Z = 0.
+ Cờ CARRY (cờ C):
Cờ này phản ánh số nhớ hay số mượn sau một lệnh cộng hoặc trừ. Cờ này là cờ hiệu ở bit cao nhất của bộ tích lũy.
+ Cờ SIGN (cờ S):
Đây là cờ dấu hay cờ âm, phản ánh được đặt tính về dấu.
Nếu S = 0 :Kết quả phép toán là dương.
Nếu S= 1 :Kết quả phép toán là âm.
Nói cách khác cờ S chính là giá trị của bit MSB của thanh ghi.
+ Cờ PARITY hay cờ OVER LOW (cờ P hay cờ V):
Đây là cờ cực tính hay cờ âm, cờ này tùy theo tác vụ thực hiện mà có ý nghĩa P hay V.
Nếu phép tính là lý luận thì cờ này là P.
Nếu phép tính là số học cờ thì này là V.
Tất cả các cờ trên, người sử dụng có thể kiểm tra được. Ngoài ra thanh ghi còn có hai cờ người sử dụng không thể kiểm tra được, các cờ này dùng cho phép tính BCD.
+ Cờ CPU (cờ H):
Cờ này có tác dụng nhờ cờ Carry nhưng nó chỉ phản ánh số nhớ hay số mượn sinh ra ở bit thứ tư.
+ Cờ SUBTRACT (cờ N):
Cờ này dùng cho phép tính DAA, cho cả hai phép cộng hoặc trừ.
c> Nhóm các thanh ghi phụ: A’, B’, C’, D’,E’, H’, L’
Sáu thanh ghi còn lại không phải là bộ tích lũy có thể được sử dụng riêng như những thanh ghi 8 bit: B, C, D, G, H, L. Hay chúng có thể được ghép cặp và sử dụng như những thanh ghi 16bit: BC, DE, HL.
d> Z80 còn có hai nhóm thanh ghi đặt biệt: có chức năng cố định người lập trình không thể dùng nó cho một chức năng khác.
* Nhóm thanh ghi đặt biệt thứ nhất gồm có: thanh ghi vector ngắt (I), thanh ghi làm tươi bộ nhớ (R), thanh ghi chỉ số (IX) và (IY), con trỏ ngăn xếp (SP), thanh ghi PC (bộ đếm chương trình), thanh ghi I và thanh ghi R là các thanh ghi có độ dài 8 bit, các thanh ghi còn lại có độ dài 16bit.
+Thanh ghi PC (program counter) :
Nguyên tắc đối với một bộ vi xử lý và thi hành một lệnh đặt tại địa chỉ là nội dung của thanh ghi PC. Như vậy, thanh ghi PC chứa địa chỉ của lệnh tại một thời điểm nào đó. Lúc mới cấp điện hay Reset CPU, thanh ghi PC sẽ chứa một giá trị nào đó và đây chính là địa chỉ để CPU bắt đầu thi hành chương trình. Thanh ghi PC sẽ tự động tăng 1 sau mỗi byte, đặt biệt giá trị của một thanh ghi PC có thể được nạp theo ý muốn của người sử dụng. Điều này cho phép chương trình điều khiển có thể nạp lại.
+Thanh ghi SP (stack pointer) :
Đây là thanh con trỏ nhà hầm.
Nhà hầm (STACK): trong quá trình làm việc của CPU có thể xuất hiện một yêu cầu như cất một thanh ghi hoặc một giá trị nào đó. Nó sẽ cất những giá trị này được chọn là một vùng nhớ này gọi là nhà hầm.
+Thanh ghi vector ngắt I (interrupt vecror) :
Dùng trong khi phục vụ ngắt quãng cho phép chương trình phục vụ ngắt quãng đặt ở trong bộ nhớ. Thanh ghi vector ngắt sẽ lưu trữ byte địa chỉ cao của một vector ngắt và byte địa chỉ thấp sẽ được cung cấp từ thiết bị yêu cầu ngắt bên ngoài. Người lập trình phải nạp byte địa chỉ cao vào thanh ghi I trước khi sử dụng ngắt. Thanh ghi I có độ dài từ dữ liệu 8 bit.
+Thanh ghi R (memory refresh) :
Đây là thanh ghi phục vụ việc làm tươi bộ nhớ. Trong CPU Z 80 có chứa một bộ nhớ đệm để có làm tươi dễ dàng bộ nhớ động. Thanh ghi R sẽ tự động tăng sau mỗi lần lấy lệnh. Dữ liệu trong thanh R được gửi ra phần thấp của Bus địa chỉ cùng với tín hiệu làm tươi trong khi CPU giải mã và thực hiện lệnh vừa được lấy ra. Do đó việc làm tươi không làm chậm chương trình và đối với người lập chương trình thì điều đó coi như không có.
+Thanh ghi IX và thanh ghi IY (index register) :
Đây là các thanh ghi chỉ sử dụng trong kiểu định vị chỉ số, hai thanh ghi này kết hợp với một giá trị tương đối có độ dài 8 bit làm tăng khả năng truy xuất bộ nhớ có điạ chỉ khác với điạ chỉ đang chứa trong thanh chỉ số.
* Nhóm thanh ghi đặt biệt thứ hai là các flipflop điều khiển ngắt.
Z80 có hai ngắt NMI và INT, ngắt NMI là ngắt không thể ngăn được, ngắt INT là ngắt có thể ngăn được bởi người lập trình.
Ngắt không ngăn được NMI được tác động bởi yêu cầu ngắt NMI từ bên ngoài, khi tác động đến ngõ vào ngắt này, vi xử lý sẽ nhảy đến địa chỉ 0066H để thực hiện chương trình, địa chỉ này cố định.
Ngắt có thể ngăn được INT bởi lệnh DI và có thể cho phép bởi lệnh EI. Trạng thái hiện tại của ngắt này được thiết lập trong flip flop IFF1. Khi người lập trình cho phép ngắt INT, IFF1 được set ở mức logic 1, khi người lập trìng không cho phép ngắt INT thì IFF1 được reset về 0.
I.4.3.Bộ xử lý logic và số học ALU
Các lệnh logic và số học 8 bit của Z80 được thực hiện trong ALU, ALU trao đổi với thanh ghi qua Bus dữ liệu bên trong. Các loại hàm mà ALU thực hiện bao gồm:
ADD: lệnh cộng.
SUBTRACT: lệnh trừ.
LOGICAL AND: Lệnh AND thực hiện phép AND.
LOGICAL OR: Lệnh OR thực hiện phép logic OR.
LOGICAL EXCLUSIVE OR ( Lệnh XOR): thực hiện phép logic XOR.
COMPARE: Phép so sánh.
LEFT OR RIGHT SHIFTS OR ROTATOR: Lệnh quay vòng và dịch.
INCREMENT: Lệnh tăng 1.
DECREMENT: Lệnh giảm 1.
SET BIT: Lệnh thiết lập bit trạng thái.
RESET BIT: Lệnh đặt lại bit trạng thái.
TEST BIT: Lệnh kiểm tra bit.
I.4.4. Sơ đồ chân CPU Z80.
Hình 1.2: Sơ đồ chân và sơ đồ logic CPU-Z80
I.5. Bộ nhớ bán dẫn.
I.5.1.Bộ nhớ - Các bộ nhớ thông dụng.
Bộ nhớ là nơi lưu trữ dữ liệu để microprocessor xử lý.Các bộ nhớ của Microprocessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc chỉ đọc dữ liệu ra.
I.5.2.Hoạt động tổng quát của một bộ nhớ.
Nhận địa chỉ để lựa chọn đúng ô nhớ cần truy xuất.
Nhận tín hiệu điều khiển để thực hiện việc truy xuất có nghĩa là nhận dữ liệu vào hay gởi dữ liệu ra.
Nhận dữ liệu để lưu trữ vào ô nhớ khi thực hiện chức năng ghi.
Gởi dữ liệu ra khi thực hiện chức năng đọc.
Kiểm tra tín hiệu cho phép để biết bộ nhớ này có được phép truy xuất hay không.
I.5.3.Phân loại bộ nhớ.
Thông thường bộ nhớ có thể được phân thành hai loại tổng quát là:
* ROM(read only memory): bộ nhớ chỉ đọc
* RAM(random access memory): bộ nhớ truy suất ngẫu nhiên
a>ROM.
Đây là loại bộ nhớ không thay đổi thì các dữ liệu được lưu trữ trong ROM không bị mất đi hay hư hỏng khi bị mất nguồn điện. ROM cũng có nhiều dạng khác nhau người ta phân chúng thành 3 loại tiêu biểu :
+ MASKABLE ROM (ROM mặt nạ): Đây là loại ROM do nhà sản xuất nạp sẳn chương trình, khi đã nạp chương trình thì các bit trong ROM này không thay đổi được nữa.
+ PROGRAMMABLE ROM (PROM): Loại ROM này người sử dụng có thể nạp chương trình bằng một thiết bị gọi là thiết bị đốt PROM. Khi đã nạp chương trình thì các bit dữ liệu trong PROM không thể thay đổi được.
+ ERASABLE PROGRAMMABLE ROM (EPROM): Đây là loại ROM mà người sử dụng có thể nạp chương trình và các chương trình đó có thể xoá hay thay đổi được bằng một thiết bị chuyên dùng.
b> RAM (RANDOM ACCESS MEMORY).
RAM là bộ nhớ truy xuất ngẫu nhiên có nghĩa là bất kỳ ô nhớ nào cũng dễ dàng truy xuất như những ô nhớ khác.
RAM được dùng trong máy vi tính để lưu trữ tạm thời chương trình và dữ liệu, nội dung các ô nhớ trong RAM thay đổi liên tục khi Microprocessor thực hiện chương trình. Điều này đòi hỏi chu kỳ đọc, ghi phải nhanh để RAM không làm giảm tốc độ hoạt động của hệ thống.
Khuyết điểm của RAM là dữ liệu lưu trữ trong RAM sẽ mất đi khi máy tính mất điện, điều này có thể được cải thiện bằng cách dùng nguồn pin.
Bộ nhớ RAM được chia làm hai loại SRAM và DRAM.
+ STATIC RAM(SRAM): Đây là loại RAM lưu trữ dữ liệu mãi mãi nếu nguồn nuôi không bị mất đi. SRAM thực chất là hàng flip flop, trong đó mỗi flip flop là một phần tử nhớ đại diện cho 1 bit.
+ DYNAMIC RAM (DRAM) : Đây là loại RAM luôn được làm tươi. Cấu trúc cơ sở của 1 tế bào nhớ của DRAM là một tụ điện giữa cực chắn và cực nền của một Transistor. Dưới tác dụng của dòng rỉ, điện thế trong tụ bị giảm dần vì vậy phải luôn nạp điện cho mỗi tụ với chu kỳ nạp là 2ns. Việc nạp điện cho tụ như vậy gọi là quá trình làm tươi DRAM. Quá trình làm tươi DRAM bao gồm việc đọc dữ liệu ra khỏi ô nhớ rồi viết trở lại. Trong thời gian làm tươi thì không được truy xuất ô nhớ nào đó.
c> Sơ đồ chân và sơ đồ logic EPROM 2764
Hình 1.3: Sơ đồ chân và sơ đồ logic EPROM 2764
Bảng trạng thái làm việc của EPROM 2764.
MODE
CE\
OE\
PGM\
VPP
VCC
OUTPUT
Read
VIL
VIL
VIH
VCC
VCC
DOUT
Stand by
VIH
X
X
VCC
VCC
High Z
Program
VIL
X
VIL
VPP
VCC
DIN
Program Verify
VIL
VIL
VIH
VPP
VCC
DOUT
Program Inhibit
VIH
X
X
VPP
VCC
High Z
I.5.4. Khảo sát họ SRAM.
a> Cấu trúc của SRAM.
SRAM được chế tạo theo kỹ thuật MOST. Dữ liệu trong SRAM sẽ tồn tại nếu không ngắt nguồn nuôi RAM. Dung lượng SRAM cũng phụ thuộc vào số đường địa chỉ.
Tương tự như bộ nhớ ROM, bộ nhớ RAM cũng có một số thanh ghi, mỗi thanh ghi lưu trữ một từ dữ liệu duy nhất và có một địa chỉ duy nhất.
Hình 1.4: Cấu trúc bên trong của RAM
b> Sơ đồ chân và sơ đồ logic SRAM 6264
Hình 1.5: Sơ đồ chân và sơ đồ logic RAM 6264
Bảng sau cho ta các chế độ hoạt động, căn bản của RAM 6264 phụ thuộc vào trạng thái của các chân điều khiển.
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
Dout
Write
L
L
H
H
Din
I.6.Khảo sát các ic ngoại vi và ứng dụng.
I.6.1.Khảo sát khảo sát vi mạch giao tiếp 8255A.
a> Cấu trúc phần cứng 8255A.
8255A là IC ngoại vi được chế tạo theo công nghệ LSI dùng để giao tiếp song song giữa Microprocessor và thiết bị điều khiển bên ngoài.
Hình 1.6:Sơ đồ chân và sơ đồ logic 8255A
Tên các chân 8255A:
D7 – D0 Dữ liệu Bus (Bi – Direction)
RESET Reset input
CS\ Chip Select
RD\ Read input
WR\ Write input
A0, A1 Port Address
PA7 – PA0 Port A
PB7 – PB0 Port B
PC7 – PC0 Port C
8255A giao tiếp với Microprocessor thông qua 3 Bus: Bus dữ liệu 8 bit D7 – D0, Bus địa chỉ A1A2, Bus điều khiển RD, WR, CS, Reset.
Trong sơ đồ khối của 8255A, các Port I/O của 8255A chia ra làm 2 nhóm: Nhóm A gồm Port A và 4 bit cao của Port C, nhóm B gồm Port B và 4 bit thấp của Port C. Để sử dụng các Port của 8255A người lập trình phải gởi từ điều khiển ra để thanh ghi điều khiển 8255A định cấu hình cho các Port đúng theo yêu cầu mà người lập trình mong muốn.
GROUP B
PORT C (LOWER)
1 = INPUT
0 = OUTPUT
PORT B
0 = MODE 0
1 = MODE 1
MODE SELECTION
0 = MODE 0
1 = MODE 1
GROUP A
PORT C (UPPER)
1 = INPUT
0 = OUTPUT
PORT A
1 = INPUT
0 = OUTPUT
MODE SELECTION
00 =MODE 0
01 = MODE 1
1X = MODE 2
MODE SET FLAG
1 = ACTIVE
D7 D6 D5 D4 D3 D2 D1 D0
hình 1.7: Cấu trúc từ điều khiển
I.6.2.Cấu trúc phần mềm 8255A
a> Các nhóm A và B được cấu hình ở Mode 0:
Từ điều khiển khi 2 nhóm A và B làm việc ở Mode 0:
1
0
1
D4
D3
1
D1
D0
Ở Mode 0 các Port A, Port B, Port C thấp cà Port C cao là các Port xuất hoặc nhập dữ liệu độc lập. Do có 4 bit để lựa chọn nên có 16 từ điều khiển khác nhau cho 16 trạng thái xuất/nhập của 4 Port.
b> Các nhóm A và B được cấu hình ở Mode 1:
Nhóm A làm việc ở cấu hình Mode 1.
Port A được cấu hình là Port nhập dữ liệu.
Chức năng của các đường tín hiệu được trình bày ở hình vẽ 1.8
Các đường tín hiệu của Port C trở thành các đường điều khiển/dữ liệu của Port A.
1
0
1
1
D3
X
X
X
Hình 1. 8: Chế độ làm việc khi PORT A nhập dữ liệu
Bit PC4 trở thành bit STBA ( Strobe Input, tác động mức thấp nhất), được dùng để chốt dữ liệu ở ngõ vào PA7 – PA0 vào mạch chốt bên trong 8255A.
Bit PC5 trở thành bit IBFA (Input Buffer Full, tác động mức cao), dùng để báo cho thiết bị bên ngoài biết dữ l
Các file đính kèm theo tài liệu này:
- LUANVAN.DOC
- TTRINH.DOC