Luận văn Giao tiếp máy tính với kit vi xử ly 8085
LUậN VĂN TỐT NGHIỆP  
					Đề tài:  
					GIAO TIẾP MÁY TÍNH VỚI KIT  
					VI XỬ LY 8085  
				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 quí thầy cô và bạn đọc.  
				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 …  
				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.  
					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ý.  
					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.  
				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ỉ 0000H (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.  
					Instruction Decoder  
					Data Register  
					ALU  
					Address Register  
					Program Counter  
					Logic Control  
					Hình 1.1 : Sơ đồ khối của một vi xử lý 8 bit.  
				16 bit  
					Address  
					Memory Address  
					Accumulator (A)  
					Status Register  
					Register  
					Register B  
					Register D  
					Register H  
					Low  
					Register C  
					Register E  
					Register L  
					High  
					SP  
					PC  
					8 bit Internal data bus Bus  
					8 bit  
					Data Bus  
					Instruction  
					TEMP-1  
					C
					TEMP-2  
					ontrol  
					Logic  
					IN  
					IN  
					Instruction  
					Decoder  
					ALU  
					Out  
					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ễ  
					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ị 0000H.  
					* 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
					x
					4
					3
					x
					2
					1
					x
					0
					S
					Z
					AC  
					P
					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ẻ:  
					CY (Carry): bit nhớ:  
					P = 1 khi kết quả là số chẵn.  
					P = 0 khi kết quả là số lẻ.  
					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  
					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:  
					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 2n 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 và đị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 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: Imax = 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.  
				2. Sơ đồ chân và sơ đồ logic:  
					A8 – A15  
					X1  
					X2  
					1
					40  
					Vcc  
					Ready  
					Hold  
					HOLD  
					HLDA  
					Clock out  
					Reset in  
					READY  
					IO/M\  
					S1  
					Reset out  
					SOD  
					Intr  
					RST 7.5  
					RST 6.5  
					RST 5.5  
					AD0 – AD7  
					SID  
					Trap  
					ALE  
					S0  
					S1  
					RD\  
					WR\  
					HLDA  
					INTA  
					Reset out  
					RST 7.5  
					RST 6.5  
					RST 5.5  
					INTR  
					INTA\  
					AD0  
					RD\  
					WR\  
					ALE  
					S0  
					8085A  
					Trap  
					Reset in  
					X1  
					8085A  
					AD1  
					A15  
					AD2  
					A14  
					X2  
					AD3  
					A13  
					AD4  
					A12  
					SID  
					Vcc  
					Vss  
					AD5  
					A11  
					SOD  
					Clock out  
					AD6  
					A10  
					AD7  
					A9  
					Vss  
					20  
					21  
					A8  
					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 – X1, X2 (Input):  
					- Chân X1, X2 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 A7 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 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 A7 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ệ  
					thống  
					khác  
					8085A  
					8085A  
					VXL  
					6
					Hoặc  
					o
					6
					
					Trap  
					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ỉ 0024H để 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).  
				* 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 T1, 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 – Vss: Chân GND của vi xử lý.  
					* Chân 21  28 – A8  A15 (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 – S0, S1, 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\  
					S1  
					0
					S0 Trạng thái  
					0
					0
					0
					1
					1
					1
					1
					0
					1
					1
					0
					1
					Viết vào bộ nhớ (Memory Write)  
					1
					Đọc bộ nhớ (Memory Read)  
					Xuất dữ liệu ra cổng (Op-Code Fetch)  
					Xuất dữ liệu ra cổng (I/0 Write)  
					Đọc dữ liệu từ cổng (I/0 Read)  
					Interrup Acknowledge  
					1
					0
					1
					1
					* 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 T1 nhằm xác định lúc đó đường  
					AD7  AD0 đóng vai trò là đường địa chỉ (A7  A0).  
					- Bình thường thì ALE ở mức [0], ở chu kỳ T1 thì ALE ở mức [1].  
					- 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 = 0000H 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.  
					R
					8085A  
					36  
					
					C
					Hình 1.5 : Sơ đồ reset 808
					* 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.  
					* 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 – 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:  
					- 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.  
					Các đường dữ  
					liệu vào\ra  
					Các ường  
					iều khiển  
					Các đường  
					địa chỉ vào  
					BỘ NHỚ  
					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.  
				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  
					2707  
					Dung lượng  
					1 Kbytes  
					2 Kbytes  
					4 Kbytes  
					8 Kbytes  
					16 Kbytes  
					32 Kbytes  
					64 Kbytes  
					Ngõ ra  
					Thời gian truy xuất  
					150 ns  
					3 trạng thái  
					3 trạng thái  
					3 trạng thái  
					3 trạng thái  
					3 trạng thái  
					3 trạng thái  
					3 trạng thái  
					2716  
					150 ns  
					2732  
					250 ns  
					2764  
					450 ns  
					27128  
					27256  
					27512  
					450 ns  
					450 ns  
					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:  
					Vpp  
					A12  
					A7  
					A6  
					A5  
					A4  
					A3  
					A2  
					A1  
					A0  
					D0  
					D1  
					D2  
					28  
					27  
					26  
					A0  
					A1  
					1
					2
					3
					Vcc  
					PGM\  
					NC  
					A8  
					D0  
					25  
					24  
					23  
					22  
					21  
					20  
					4
					5
					6
					7
					8
					9
					A9  
					A11  
					OE\  
					A10  
					CE\  
					D7  
					D6  
					D5  
					D4  
					D3  
					A11  
					A12  
					2764  
					2764  
					D7  
					19  
					18  
					17  
					16  
					15  
					10  
					11  
					12  
					13  
					14  
					CE\  
					OE\  
					PGM\  
					Vpp  
					GND  
					: 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\  
					VIL  
					VIH  
					VIL  
					VIL  
					VIH  
					OE\  
					VIL  
					x
					PGM\  
					VIH  
					x
					VPP  
					VCC  
					VCC  
					VPP  
					VPP  
					VPP  
					VCC  
					VCC  
					VCC  
					VCC  
					VCC  
					VCC  
					Output  
					Dout  
					Read  
					Stand by  
					High Z  
					Din  
					Program  
					x
					VIL  
					VIH  
					x
					Program verify  
					Program Inhibit  
					VIL  
					x
					Dout  
					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  
					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.  
					NC  
					A12  
					A7  
					A6  
					A5  
					A4  
					A3  
					A2  
					A1  
					A0  
					D0  
					D1  
					D2  
					28  
					27  
					26  
					A0  
					A1  
					1
					2
					3
					Vcc  
					WR\  
					CS  
					A8  
					D0  
					25  
					24  
					23  
					22  
					21  
					20  
					4
					5
					6
					7
					8
					9
					A9  
					A11  
					OE\  
					A10  
					CS\  
					D7  
					D6  
					D5  
					D4  
					D3  
					A11  
					A12  
					6264  
					6264  
					D7  
					19  
					18  
					17  
					16  
					15  
					10  
					11  
					12  
					13  
					14  
					CS\  
					OE\  
					WR\  
					CS  
					GND  
					Bảng trạng thái làm việc của vi mạch 6264:  
					Hình 1.8 : Sơ ồ chân và sơ ồ logic của vi mạch 6264  
					Mode  
					WR\  
					x
					CS\  
					H
					x
					CS  
					X
					L
					OE\  
					X
					Output  
					High Z  
					High Z  
					High Z  
					Dout  
					Not select  
					Not select  
					Output Disable  
					Read  
					x
					X
					H
					L
					H
					H
					H
					H
					H
					L
					L
					Write  
					L
					L
					H
					Din  
				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.  
					Bus địa chỉ  
					Vi  
					xử  
					lý  
					Bộ nhớ  
					ROM  
					Bộ nhớ  
					RAM  
					Bus dữ liệu  
					Bus điều khiển  
					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ỉ A12A11A10A9A8A7A6A5A4A3A2A1A0 của vi xử  
					lý đến 13 đường địa chỉ A12A11A10A9A8A7A6A5A4A3A2A1A0 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 D7 – D0 của vi xử lý cũng phải được kết  
					nối với các đường dữ liệu D7 – D0 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ử lý tới đường WR\ của RAM.  
					Sơ đồ mạch giải mã bộ nhớ:  
				A13  
					A14  
					A15  
					A
					B
					C
					O0\  
					O1\  
					O2\  
					O3\  
					O4\  
					O5\  
					ến CE\ của EPROM  
					ến CS\ của RAM  
					E3  
					E1\  
					E2\  
					O6\  
					O7\  
					Hình 1.10 : Sơ đồ mạch giải mã bộ nhớ  
				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:  
					0
					1
					d
					d
					d
					s
					s
					s
					+ 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:  
					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  
					MOV M, s  
					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:  
					0
					0
					d
					d
					d
					1
					0
					0
					+ Ý 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:  
					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  
					NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ THANH GHI  
					DCR d  
					III.  
					1. Lệnh cộng thanh ghi:  
					+ Cú pháp: ADD s  
					1
					0
					0
					0
					0
					s
					s
					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.  
					+ 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:  
					1
					0
					0
					0
					1
					s
					s
					s
					+ Ý 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:  
					1
					0
					0
					0
					0
					1
					1
					0
					+ Ý 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
					1
					0
					0
					0
					1
					1
					1
					0
					+ 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ớ:  
					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ớ:  
					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:  
					1. Lệnh cộng tức thời với dữ liệu 8 bit:  
					+ Cú pháp: ADI D8  
					1 1 0 0 0 1 1 0  
					+ Mã đối tượng:  
					Dữ liệu 8 bit D8  
					+ Ý nghĩa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, kết quả chứa trong  
					thanh ghi A.  
					+ Lệnh nầy chứa 2 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 tức thời với dữ liệu 8 bit có số nhớ ban đầu:  
					+ Cú pháp: ACI D8  
					1 1 0 0 1 1 1 0  
					+ Mã đối tượng:  
					Dữ liệu 8 bit D8  
					+ Ý nghĩa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, cộng với bit Cy, kết  
					quả chứa trong thanh ghi A.  
					+ Lệnh nầy chứa 2 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ừ tức thời với dữ liệu 8 bit:  
					Cú pháp: SUI D8  
					4. Lệnh trừ tức thời với dữ liệu 8 bit có số nhớ ban đầu:  
					Cú pháp: SBI D8  
					5. Lệnh and tức thời với dữ liệu 8 bit:  
					Cú pháp: ANI D8  
					6. Lệnh Ex-or tức thời với dữ liệu 8 bit:  
					Cú pháp: XRI D8  
					7. Lệnh or tức thời với dữ liệu 8 bit:  
					Cú pháp: ORI D8  
					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  
					0 0 0 0 0 0 0 1  
					+ Mã đối tượng:  
					8 bit thấp  
					8 bit cao  
					+ Ý 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.  
					(Tương tự cho các lệnh khác)  
					2. Lệnh nạp cặp thanh ghi DE:  
					Cú pháp: LXI D, D16  
					3. Lệnh nạp cặp thanh ghi HL:  
					Cú pháp: LXI H, D16  
					4. Lệnh nạp cặp thanh ghi SP:  
					Cú pháp: LXI SP, D16  
				VII. NHÓM LỆNH PUSH:  
					1. Lệnh cất cặp thanh ghi BC:  
					+ Cú pháp: PUSH B  
					+Mã đối tượng:  
					1
					1
					0
					0
					0
					1
					0
					+Ý nghĩa: nội dung cặp thanh ghi BC được copy vào ngăn xếp. Nội dung thanh ghi B  
					được cất vào ngăn xếp tại địa chỉ (SP-1), thanh ghi C được cất vào ngăn xếp tại địa chỉ (SP-  
					2), nội dung thanh ghi SP giảm đi 2.  
					+ Lệnh này chiếm 1 byte, số chu kì xung clock =12.  
					+Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
					(Tương tự cho các lệnh khác)  
					2. Lệnh cất cặp thanh ghi DE:  
					Cú pháp: PUSH D  
					3. Lệnh cất cặp thanh ghi HL:  
					Cú pháp: PUSH H  
					4. Lệnh cất cặp thanh ghi AF:  
					Cú pháp: PUSH PSW  
					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:  
					1
					1
					0
					0
					0
					0
					0
					1
					+ Ý 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:  
					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  
					POP D  
					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:  
					0
					0
					0
					0
					1
					0
					0
					1
					+ Ý 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.  
					Tương tự cho các lệnh cùng nhóm này như sau:  
					2. Lệnh cộng cặp thanh ghi DE:  
					+ Cú pháp:  
					3. Lệnh cộng cặp thanh ghi HL:  
					+ Cú pháp: DAD H  
					4. Lệnh cộng cặp thanh ghi SP:  
					+ Cú pháp: DAD SP  
					DAD D  
					X. NHÓM LỆNH TĂNG CẶP THANH GHI:  
					1.Lệnh tăng cặp thanh ghi BC:  
				+ Cú pháp:  
					INX B  
					+ Mã đối tượng:  
					0
					0
					0
					0
					0
					0
					0
					1
					+Ý nghĩa: nội dung cặp thah ghi BC tăng thêm một đơn vị.  
					+ Lệnh này chiếm 1 byte, số chu kỳ clock =6.  
					+ Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái.  
					(Tương tự cho các lệnh khác)  
					2. Lệnh tăng cặp thanh ghi DE:  
					+ Cú pháp:  
					1. Lệnh tăng cặp thanh ghi HL:  
					+ Cú pháp: INX H  
					2. Lệnh tăng cặp thanh ghi SP:  
					+ Cú pháp: INX SP  
					INX D  
				XI. LỆNH GIẢM CẶP THANH GHI:  
					1. Lệnh giảm cặp thanh ghi BC:  
					+ Cú pháp:  
					DCX D  
					+ Mã đối tượng:  
					0
					0
					0
					0
					1
					0
					1
					1
					+ Ý nghĩa: nội dung cặp thanh ghi BC giảm thêm 1 đơn vị.  
					+ Lệnh này chiếm 1 byte, số chu kỳ clock=6.  
					+ Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái.  
					(Tương tự cho các lênh khác)  
					2. Lệnh giảm cặp thanh ghi DE:  
					+ Cú pháp:  
					3. Lệnh giảm cặp thanh ghi HL:  
					+ Cú pháp: DCX H  
					4. Lệnh giảm cặp thanh ghi SP:  
					+ Cú pháp: DCX SP  
					DCX D  
					XII. NHÓM LỆNH GIÁN TIẾP DÙNG CẶP THANH GHI:  
					1. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi BC:  
					+ Cú pháp:  
					STAX  
					B
					+ Mã đối tượng:  
					0
					0
					0
					0
					0
					0
					1
					0
					+ Ý nghĩa: nội dung thanh gi được lưu trữ gián tiếp vào ô nhớ có địa chỉ chứa trong cặp  
					thanh ghi BC.  
					+ Lệnh này không ảnh hưỏng đến thanh ghi trạng thái.  
					(Tương tự cho các lênh khác cùng nhóm)  
					2. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE:  
					+ Cú pháp:  
					STAX  
					D
					3. Lệnh nạp gián tiếp dùng cặp thanh ghi BC:  
					+ Cú pháp:  
					LDAX  
					B
					+ Mã đối tượng:  
					0
					0
					0
					0
					1
					0
					1
					0
					+ Ý nghĩa: nội dung ô nhớ có địa chỉ chứa trong cặp thanh ghi BC được chuyển vào  
					thanh ghi A.  
					(Tương tự cho các lệnh khác)  
					4. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE:  
					+ Cú pháp:  
					LDAX  
					D
					XIII. NHÓM LỆNH TRỰC TIẾP:  
					1. Lệnh lưu trữ trực tiếp:  
					+ Cú pháp:  
					STA ADDR  
					0 0 1 1 0  
					0
					1 0  
					+ Mã đối tượng:  
					8 bit thấp  
					8 bit cao  
					+ Ý nghĩa: nội dung thanh ghi A được lưu trữ vào ô nhớ có địa chỉ ADDR.  
					+ Lệnh này chiếm 3 byte, số chu kỳ clock=13.  
					+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
					2. Lệnh nạp trực tiếp:  
					+ Cú pháp:  
					LDA ADDR  
					+ Mã đối tượng:  
					0 0 1 1 1 0 1  
					0
					8 bit thấp  
					8 bit cao  
				+ Ý nghĩa: nội dung ô nhớ có địa chỉ là ADDR được chuyển vào thanh ghi A.  
					+ Lệnh này chiếm 3 byte, số chu kỳ xung clock =13.  
					+ Lệnh nầy không ảnh hưởng đến thanh ghi trạng thái.  
					3. Lệnh lưu trữ trực iếp cặp thanh ghi:  
					+ Cú pháp:  
					SHLD ADDR  
					0 0 1 0  
					0
					0 1  
					0
					+ Mã đối tượng:  
					8 bit thấp  
					8 bit cao  
					+ Ý nghĩa: nội dung cặp thanh ghi HL đựoc lưu vào 2 ô nhớ liên tiếp là ADDR và  
					(ADDR+1). Nội dung thanh ghi L được lưu trữ vào ô nhớ có địa chỉ là ADDR, nội dung của  
					thanh ghi H được lưu trữ vào ô nhớ có địa chỉ là (ADDR+1).  
					+ Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 16.  
					+ Lệnh nầy không ảnh hưởng đến thanh ghi trạng thái.  
					4. Lệnh nạp trực tiếp cặp thanh ghi:  
					+ Cú pháp:  
					LHLD ADDR  
					+ Mã đối tượng:  
					0 0 1 0  
					1
					0 1 0  
					8 bit thấp  
					+ Ý nghĩa: nội dung của  
					2 ô nhớ có địa chỉ liên tiếp  
					là ADDR và (ADDR+1) được lưu trữ vào cặp thanh ghi HL. Nội dung của ô nhớ có địa chỉ  
					ADDR được nạp vào thanh ghi L, nội dung của ô nhớ có địa chỉ (ADDR+1) được nạp vào  
					thanh ghi H.  
					+ Lệnh này chiếm 3 byte, số chu kỳ xung clock =13.  
					+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
					XIV. NHÓM LỆNH XOAY THANH GHI A:  
					1. Lệnh dịch thanh ghi A sang trái:  
					+ Cú pháp: RLC  
					+ Mã đối tượng:  
					0
					0
					0
					0
					0
					1
					1
					1
					+ Ý nghĩa: nội dung thanh ghi A dịch từ phải sang trái, bit MSB được chuyển sang bit  
					Cy và bit LSB.  
					+ Lệnh này chiếm 1byte, số chu kỳ lock =4.  
					+ Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy.  
					2. Lệnh dịch thanh ghi A sang phải:  
					+ Cú pháp: RRC  
					+ Mã đối tượng:  
					0
					0
					0
					0
					1
					1
					1
					1
					+ Ý nghĩa: nội dung thanh ghi A dịch từ trái sang phải, bit LSB được chuyển sang bit  
					Cy và bit MSB.  
					+ Lệnh này chiếm 1byte, số chu kỳ lock =4.  
					+ Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy.  
					( Tương tự cho các lệnh khác).  
					3. Lệnh dịch thanh ghi A sang trái thông qua bit Cy:  
					+ Cú pháp: RAL  
					4. Lệnh dịch thanh ghi A sang phải thông qua bit Cy:  
				+ Cú pháp: RAR  
					XV. NHÓM LỆNH NHẢY:  
					1. Lệnh nhảy không điều kiện:  
					+ Cú pháp:  
					JMP ADDR  
					1 1 0 0  
					0
					0 1 1  
					+ Mã đối tượng:  
					8 bit thấp  
					+ ý nghĩa: vi xử lí sẽ nhảy đến địa chỉ ADDR để tiếp tục thực hiện chương trình.  
					+ Lệnh này chiếm 3 byte, số chu kỳ clock =10.  
					+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
					2. Lệnh nhảy khi bit Z=0:  
					+Cú pháp:  
					JNZ ADDR  
					1 1 0 0  
					0
					0 1 0  
					+ Mã đối tượng:  
					8 bit thấp  
					+ Ý nghĩa: vi xử  
					lí sẽ nhảy đến địa chỉ ADDR để tiếp  
					tục chương trình khi bit Z=0, ngay sau khi thực hiện lệnh ảnh hưởng đến bit z của thanh  
					ghi trạng thái.  
					+ Lệnh này chiếm 3 byte, số chu kỳ clock là 7/10.  
					+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
					( Tương tự cho các lệnh khác).  
					3. Lệnh nhảy khi bit Z=1:  
					+ Cú pháp:  
					4. Lệnh nhảy khi bit C=0:  
					+ Cú pháp: JNC ADDR  
					5. Lệnh nhảy khi bit C=1:  
					+ Cú pháp: JC  
					6. Lệnh nhảy khi bit P=0:  
					+ Cú pháp: JPO ADDR  
					7. Lệnh nhảy khi bit P=1:  
					JZ  
					ADDR  
					ADDR  
					+ Cú pháp:  
					JPE ADDR  
					8. Lệnh nhảy khi bit S=0:  
					+ Cú pháp:  
					9. Lệnh nhảy khi bit S=1:  
					+ Cú pháp: JM  
					JP  
					ADDR  
					ADDR  
					XVI. NHÓM LỆNH GỌI:  
					1. Lệnh gọi không điều kiện:  
					+ Cú pháp:  
					CAAL ADDR  
					1 1 0 0  
					1
					1 0  
					1
					+ Mã đối tượng:  
					8 bit thấp  
					8 bit cao  
					+ Ý nghĩa: vi xử lý sẽ thực hiện chương trình tại địa chỉ ADDR sau đó sẽ trở về chương  
					trình chính khi gặp lệnh trở về.  
					+ Lệnh này chiếm 3 byte, số chu kỳ clock =18.  
					+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.  
				Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Giao tiếp máy tính với kit vi xử ly 8085", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
        
        
        File đính kèm:
luan_van_giao_tiep_may_tinh_voi_kit_vi_xu_ly_8085.pdf

