1. Trang chủ
  2. » Giáo Dục - Đào Tạo

GIAO TIẾP máy TÍNH với KIT VI xử LY 8085

186 4 0

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

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

THÔNG TIN TÀI LIỆU

Trường ĐH SPKT Luận văn tốt nghiệp 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 Luận văn tốt nghiệp Đề tài: GIAO TIẾP MÁY TÍNH VỚI KIT VI Sinh XỬ Vin ThựcLY Hiện 8085 : Phan Tiến Hiếu Lớp : 95KĐĐ Gio Vin Hướng Dẫn : NGUYỄN ĐÌNH PH Sinh viên thực : NGUYỄN TRUNG DŨNG Lớp : 95KĐĐ Giáo Viên hướng dẫn : NGUYỄN ĐÌNH PHÚ Tp - Hồ Chí Minh : 03 - 2000 TP HỒ CHÍ MINH 03-2000 GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp Lời cảm tạ Cuốn luận văn hoàn thành tốt đẹp theo thời gian quy định nhà trường khoa.Việc đạt kết không nỗ lực em mà giúp đỡ, bảo thầy hướng dẫn, quý thầy cô bạn sinh viên Em xin chân thành cám ơn: Sự dạy dỗ, bảo góp ý q thầy khoa, đặc biệt thầy cô xưởng thực tập tạo điều kiện thuận lợi cho chúng em hoàn thành luận văn Sự giúp đỡ bảo tân tình Thầy hướng dẫn Nguyễn Đình Phú trình làm luận văn Xin cám ơn bạn sinh viên khoa giúp đỡ nhiều mặt: phương tiện, sách vở, ý kiến … Sinh viên thực Nguy GVHD: Nguyễn Đình Phú n Trung D ng SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Cơ sở lý luận Chương: I Luận văn tốt nghiệp Thể thức nghiên cứu: Thời gian nghiên cứu: Quá trình nghiên cứu đề tài xem qui trình cơng nghệ hẳn hoi địi hỏi phải tiến hành theo khâu bao gồm việc chọn đề tài, biên soạn đề cương, thu thập kiện, xử lý kiện, viết cơng trình nghiên cứu Luận văn tốt nghiệp tiến hành thực khoảng thời gian tuần: Tuần : Chọn đề tài, xác hóa đề tài, soạn đề cương, thu thập kiện tài liệu liên hệ Tuần : Biên soạn nội dung phần lý thuyết Tuần : Thiết kế mạch giấy tiến hành thi công, thủ mạch Tuần : Thiết kế bàn thực tập Tuần : Soạn thực tập cho mơ hình thiết kế Tuần : Hồn chỉnh mơ hình,cân chỉnh phần lý thuyết để in ấn nộp luận văn Phương pháp thu thập kiện: Đây giai đoạn quan trọng, sử dụng phương pháp phương tiện nghiên cứu để thu thập kiện đề tài xác định Dữ kiện thu thập chất liệu để hình thành cơng trình thực đề tài Vấn đề thu thập kiện đầy đủ, xác, phù hợp với nội dung nghiên cứu Trong phạm vi luận văn người nghiên cứu sử dụng phương pháp tham khảo tài liệu để thu thập kiện giải đề tài Việc tham khảo tài liệu giúp người thực bổ sung thêm kiến thức, lý luận phương pháp mà 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 vấn đề tồn tại& Tuy nhiên việc nghiên cứu tham khảo tài liệu bảo đảm tính kế thừa phát triễn có chọn lọc Xử lý kiện: Các kiện sau thu thập chưa thể sử dụng mà phải qua 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 sử dụng tài liệu có chất lượng cao chủ yếu tài liệu gốc nên bảo đảm xác nội dung đề cập Trình bày đồ án: Đề tài tốt nghiệp trình bày theo cấu trúc tập đồ án tốt nghiệp để phù hợp với nội dung thời gian nghiên cứu đồng thời đáp ứng yêu cầu chương trình đào tạo trường Trình bày thành văn cơng trình nghiên cứu khoa học giai đoạn hoàn thành nghiên cứu, khơng xem q trình kỹ thuật mà q trình sáng tạo sâu sắc Chính việc nắm vững bút pháp nghiên cứu khoa học giúp người nghiên cứu làm sáng tỏ thêm kết đạt được, phát triễn chúng có thêm kiến thức GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT II Cơ Luận văn tốt nghiệp sở lý luận: Đồ án tốt nghiệp thực chất trình nghiên cứu khoa học - trình nhận thức hành động Q trình địi hỏi phải có thời gian định tương xứng với nội dung đối tượng nghiên cứu tính chất phức tạp vấn đề nghiên cứu Việc nghiên cứu khoa học giúp ta tìm Cái khơng mang tính chủ quan người nghiên cứu mà cịn mang tính khách quan 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 tốt phải hội đủ yếu tố: Phương tiện, phương pháp, sở vật chất, máy móc thiết bị, hình thức tổ chức Các yếu tố có mối quan hệ hữu 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 Kiến thức lực người nghiên cứu: Trong trình nghiên cứu thực đề tài người nghiên cứu cần phải cân nhắc kỹ độ khó độ phức tạp đề tài cho phù hợp với khả năng, kiến thức lực người nghiên cứu Độ phức tạp đề tài thể mặt: lĩnh vực nghiên cứu rộng hay hẹp, ngành hay liên ngành, đối tượng nghiên cứu đồng hay không đồng Tuy nhiên cần lưu ý giá trị đề tài không phụ thuộc vào độ phức tạp Đề tài hẹp chưa đề tài giá trị Mỗi đề tài nghiên cứu khoa học có phạm vi định, phạm vi hẹp nghiên cứu sâu Độ khó đề tài nói lên tính vừa sức người nghiên cứu Do độ phức tạp đề tài thường có mối liên hệ tương hổ với độ khó Kiến thức người nghiên cứu (đây điều kiện chủ quan người nghiên cứu) Trước hết vốn liếng, kinh nghiệm 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 khơng cho phép họ từ đầu chọn đề tài nghiên cứu Vì phải có gợi ý thầy giáo…” Mỗi đề tài nghiên cứu học có yêu cầu định 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 đề tài nghiên cứu phải mang tính vừa sức Người nghiên cứu phải thể dực nghiên cứu khoa học bao gồm việc nắm vững lý thuyết khoa học lĩnh vực nghiên cứu mình, nắm mức độ định phát triễn tiến thuộc lĩnh vực nghiên cứu Có chọn đề tài có giá trị Trong tình hình tiến khoa học kỹ thuật giới, khối lượng thông tin khoa học gia tăng với qui mơ lớn nhịp độ nhanh địi hỏi người nghiên cứu phải tham khảo tài liệu nước Để thực vấn đề 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 Thể lòng ham mê khoa học tâm nghiên cứu tìm tịi chân lý 2-Vấn đề thực tiễn: GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp Người nghiên cứu phải coi thực tiễn làm sở, động lực nhận thức Ang - ghen viết: “Khi xã hội có yêu cầu kỹ thuật xã hội thúc đẩy khoa học mười trường đại học” Mặt khác thực tiễn tiêu chuẩn để kiểm tra nhận thức Thực tế việc có thật, tình hình cụ thể, vấn đề chưa giải sống Người nghiên cứu với kinh nghiệm thân công tác hàng ngày thường thấy mặt vấn đề, mối quan hệ phức tạp, diễn biến, phương hướng phát triển vật từ có định hướng thích hợp giải đề tài Chính thực tiễn giúp người nghiên cứu tìm thấy vấn đề cách cụ thể Người nghiên cứu phải xem thực tiễn cao nhận thức (lý luận) có ưu điểm khơng có tính phổ biến mà cịn có tính thực trực tiếp Hồ Chủ Tịch dạy: “Học tập theo nguyên tắc: kinh nghiệm thực tiễn phải nhau” Đề tài thực mang tính thực tiễn, nội dung đề tài có thật, phát triển từ thực tế khách quan Có thể nói cơng trình nghiên cứu điều có giá trị thực tế nó, khác mức độ nhiều, phục vụ trước mắt hay lâu dài, gián tiếp hay trực tiếp Tác động điều kiện khách quan đến việc thực đề tài: Trong trình nghiên cứu thực đề tài người nghiên cứu yếu tố chủ quan góp phần quan trọng đến kết đối tượng nghiên cứu, phương pháp nghiên cứu kể phương tiện ngiên cứu, thời gian nghiên cứu người cộng tác nghiên cứu người hướng dẫn nghiên cứu điều kiện khách quan ảnh hưởng trực tiếp đến việc nghiên cứu kết nghiên cứu Người nghiên cứu nắm yếu tố khách quan kết nghiên cứu khẳng định nhiêu GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Chương I: Luận văn tốt nghiệp CẤU TRÚC VI XỬ LÝ 8085 I CẤU TẠO BÊN TRONG VI XỬ LÝ 8085 Cấu trúc vi xử lý : Một vi xử lý gồm có khối chức năng: đơn vị thực thi (Execution), điều khiển (Sequencer) bus giao tiếp - Đơn vị thực thi : Xử lý lệnh số học logic Các tốn hạng liên quan có mặt ghi liệu địa từ bus nội - Bộ điều khiển : Bao gồm giải mã lệnh (Intrustruction Decoder) đếm chương trình (Program Counter) + Bộ đếm chương trình gọi lệnh chương trình + Bộ giải mã lệnh khởi động bước cần thiết để thực lệnh Bộ điều khiển tạo thành hệ thống logic mà cách thức hoạt động chứa ROM Nội dung chứa ROM gọi vi chương trình Các lệnh bên ngồi trường hợp xác định địa vào vi chương trình Khi chương trình bắt đầu thực đếm chương trình PC đặt địa bắt đầu, thường địa 0000H (với xi xử lý bit) Địa chuyển đến nhớ thơng qua bus địa (Address Bus) Khi tín hiệu Read đưa vào bus địa nội dung nhớ liên quan xuất bus liệu (data bus) chứa giải mã lệnh (Instruction Decoder) Sau khởi động số bước cần thiết để thực thi lệnh nhờ số chu kỳ máy lệnh thực thi, giải mã lệnh làm cho đếm chương trình đến ô địa lệnh kế Trong đề tài này, sử dụng vi xử lý 8085 vi xử lý bit nên xin trình bày cấu trúc vi xử lý 8085 Instruction Decoder Data Register ALU Address Register Program Counter Logic Control Hình 1.1 : Sơ đồ khối vi xử lý bit GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp 16 bit Address Memory Address Register Low High Accumulator (A) SP PC Status Register Register B Register C Register D Register E Register H Register L bit Internal data bus Bus bit Data Bus Cont rol Logi c Instruction Register Instruction Decoder TEMP-1 TEMP-2 IN IN ALU Out Hình 1.2 : Sơ đồ cấu trúc vi xử lý Qua sơ đồ trên, ta thấy vi xử lý bao gồm khối sau: khối đơn vị số học/logic ALU (Arithmatic Logic Unit), ghi khối Control Logic Các khối liên hệ với qua đường dây truyền tín hiệu Chức nhiệm vụ khối vi xử lý: a Khối ALU (Arithmatic Logic Unit) Khối đơn vị số học/ logic khối quan trọng bên vi xử lý, khối ALU chứa mạch điện logic có chức thực phép toán, phép thay đổi số liệu Cơ sở khối ALU mạch cộng, nên có khả thực phép xử lý số nhị phân Khối ALU có hai ngõ vào ngõ ra, ngõ vào có chức chuyển tín hiệu ngõ vào vào khối ALU để tính tốn, sau liệu chuyển đến ngõ để chuyển Dữ liệu trước vào khối ALU chứa ghi TEMP TEMP ghi đệm Trong vi xử lý có ghi đặc biệt có tên ghi A, hầu hết hoạt động ALU thông qua ghi Thông thường khối ALU nhận liệu từ ghi A xử lý liệu, sau xử lý xong lại gởi liệu ghi A b Các ghi bên vi xử lý Các ghi bên vi xử lý có chức lưu trữ tạm thời liệu xử lý Trong số có vài ghi đặc biệt thực lệnh, ghi cịn lại ghi thơng dụng Các ghi giúp cho người lập trình thực chương trình dễ GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp dàng hơn, số lượng ghi phụ thuộc vào loại vi xử lý Các ghi vi xử lý gồm có: ghi tích lũy (Accumulator Register), ghi PC (Program Counter Register), ghi trỏ ngăn xếp (Stack Pointer Register), ghi trạng thái (Status Register), ghi thông dụng, ghi địa ghi lệnh (Instruction Register) * Thanh ghi tích lũy (thanh ghi A – Accumulator Register) : Thanh ghi A ghi quan trọng vi xử lý có chức lưu trữ liệu tính tốn Hầu ht cỏc phộp toỏn s hoỗc v phộp toỏn logic xảy ALU ghi A, cần lưu ý hầt hết sau thực phép tính, ALU thường gởi liệu vào ghi A làm liệu ghi A trước bị Thanh ghi A thường làm trung gian để trao liệu vi xử lý với thiết bị ngoại vi Với vi xử lý 8085A, ghi A có độ dài bit * Thanh ghi PC (Program Counter Register) : Thanh ghi PC ghi quan trọng vi xử lý Khi thực chương trình, lệnh chương trình quản lý ghi PC Thanh ghi PC chứa địa lệnh thực chương trình Chính vậy, trước vi xử lý thực chương trình ghi PC phải nạp liệu, địa chương trình Trong trình thực chương trình, vi xử lý tự động tăng nội dung ghi PC để chuẩn bị đón lệnh tiếp theo, nhiên chương trình có lệnh có khả làm thay đổi nội dung ghi PC Với vi xử lý 8085, ghi PC có độ dài 16 bit vi xử lý reset lại, ghi PC tự động nạp cho giá trị 0000H * Thanh ghi trạng thái (Status Register): Thanh ghi trạng thái gọi ghi cờ (Flag Register – ghi F) dùng để lưu trữ kết số lệnh kiểm tra Việc lưu trữ kết lệnh kiểm tra giúp cho người lập trình có khả điều khiển chương trình theo nhánh khác Với vi xử lý 8085 cấu trúc ghi trạng thái sau: S Z x AC x P x CY Trong đó: S (signal): bit dấu : S = kết âm, S = kết dương Z (Zero): bit Zero: Z = kết 0, Z = kết khác AC (Auxiliary carry): bit tràn: AC = : phép tính bị tràn bit AC = : phép tính khơng bị tràn bit P (Parity): bit chẵn, lẻ: P = kết số chẵn P = kết số lẻ CY (Carry): bit nhớ: CY = kết có số nhớ CY = kết khơng có số nhớ Các bit x bit không sử dụng thông dụng nên không giới thiệu đề tài GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp * Thanh ghi trỏ ngân xếp (Stack Pointer Register – ghi SP): Thanh ghi trỏ ngăn xếp ghi quan trọng vi xử lý, độ dài liệu ghi SP với độ dài liệu ghi PC Chức ghi SP dùng để quản lý nhớ ngăn xếp muốn lưu trữ tạm thời liệu vào ngăn xếp, giống ghi PC, ghi SP tự động tới ô nhớ kế Trong vi xử lý, vị trí trỏ ngăn xếp tự động giảm để tới nhớ kế tiếp, thiết lập giá trị cho ghi trỏ ngăn xếp phải địa cuối chương trình phải nằm vùng nhớ RAM Nếu không khởi tạo địa trỏ ngăn xếp, đến địa ngẫu nhiên, liệu cất vào ngăn xếp ghi chồng lên phần chương trình làm chương trình chạy sai SP khơng nằm vùng nhớ RAM làm khơng thực chức * Thanh ghi địa nhớ: Thanh ghi địa nhớ có chức tạo địa ô nhớ mà vi xử lý muốn truy xuất liệu Thanh ghi địa với ghi PC * Thanh ghi lệnh : Thanh ghi có chức chứa lệnh mà vi xử lý thực Đầu tăn, lệnh đón từ nhớ đến chứa ghi lệnh, lệnh thực hiện, thực lệnh, giải mã lệnh đọc liệu ghi lệnh để xử lý báo xác cho vi xử lý biết yêu cầu lệnh Trong suốt q trình ghi lệnh khơng đổi, thay đổi thực lệnh Với vi xử lý 8085 ghi lệnh có độ dài liệu bit Người lập trình khơng có khả tác động vào ghi * Thanh ghi chứa liệu tạm thời (Temporary Data Register): Thanh ghi chứa liệu tạm thời dùng để trợ giúp khối ALU q trình thực phép tốn Trong loại vi xử lý, số lượng ghi tạm thời khác c Khối điều khiển logic (Logic Control): Khối điều khiển logic thực chất mạch điều khiển logic, có chức nhận lệnh hay tín hiệu điều khiển từ giải mã lệnh thực việc điều khiển theo đuđng yêu cầu lệnh Khối điều khiển logic xem xử lý vi xử lý Các tín hiệu điều khiển khối điều khiển logic tín hiệu điều khiển thiết bị bên giao tiếp với vi xử lý đường điều khiển vi xử lý từ thiết bị bên ngồi Ngõ vào tín hiệu quan trọng khối điều khiển logic ngõ vào xung clock, phải có tín hiệu khối điều khiển hoạt động Đồng thời giúp hệ thống hoạt động đồng d Các thành phần khác bên vi xử lý Khối giải mã lệnh (Instruction Decoder): Chức khối giải mã lệnh nhận lệnh từ ghi lệnh, sau tiến hành giải mã lệnh đưa tín hiệu điều khiển đến khối điều khiển logic Các đường dây dẫn: GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trường ĐH SPKT Luận văn tốt nghiệp Các khối bên vi xử lý liên hệ với thông qua đường dây dẫn Các đường dây dẫn chia làm ba nhóm chính: đường liệu, đường địa đường điều khiển - Đường địa chỉ: vi xử lý 8085, đường liệu gồm 16 đường dây dẫn song song để truyền tải bit địa Số đường địa cho ta biết số ô nhớ tối đa mà vi xử lý có khả truy xuất được, số nhớ tính cơng thức 2n với n số đường dây dẫn Vậy với vi xử lý 8085A, khả truy xuất ô nhớ tối đa 65536 ô nhớ Với nhiệm vụ định địa thiết bị cần truy xuất nên đường địa mang tính chiều có vi xử lý có khả đưa địa lên đường địa - Đường liệu: dùng để kết nối ghi bên vi xử lý với khối khác bên vi xử lý chuyển liệu ngồi Vi xử lý 8085A có đường liệu Để ghi bên vừa có khả nhận liệu vừa có khả xuất liệu đường liệu phải có tính chất hai chiều - Đường điều khiển: bao gồm tín hiệu điều khiển để bảo đảm hoạt động đồng với khối Mỗi tín hiệu điều khiển có chiều định Tập lệnh vi xử lý: Mỗi vi xử lý có tập lệnh riêng tùy thuộc vào cấu trúc bên Tập lệnh gồm nhiều lệnh Lệnh vi xử lý liệu dạng số nhị phân, với vi xử lý 8085 chiều dài lệnh bit Một lệnh ln ln bao gồm hai phần chính: mã lệnh địa chỉ, lệnh mà phần sau liệu phần địa hiểu ngầm Để việc viết chương trình dễ dàng hơn, người ta dùng từ gọi nhớ để lệnh dễ viết dễ đọc hơn, việc làm người viết chương trình nhớ nhiều lệnh Tập lệnh vi xử lý chia làm nhóm lệnh sau: - Nhóm lệnh truyền liệu - Nhóm lệnh số học logic - Nhóm lệnh trao đổi, truyền khối liệu tìm kiếm - Nhóm lệnh xoay dịch - Nhóm lệnh điều khiển - Nhóm lệnh bit - Nhóm lệnh nhảy - Nhóm lệnh gọi, trở nhóm lệnh bắt đầu - Nhóm lệnh xuất/nhập Các kiểu định địa vi xử lý: Trong vi xử lý sử dụng nhiều kiểu định địa chỉ, sau số kiểu định địa thông dụng * Kiểu định địa tức thời: Với kiểu định địa tức thời mã lệnh khơng đề cập tới địa mà đề cập tới liệu, địa hiểu ngầm * Kiểu định địa trực tiếp: Trong mã lệnh có chứa địa trực tiếp ô nhớ cần xử lý, vi xử lý 8085A có 16 đường địa nên địa trực tiếp có độ dài 16 bit GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp mov mov add mov mov cld push pop rep pop mov shl mov GVHD : Nguyễn Đình Phú si,offset baud$$ ah,0 si,ax di,offset baud% cx,4 ds es movsb ax cl,5 al,cl setup_byte,al parity: mov dx,offset par_menu call show_message call get_key call tty ;valid input range is "1" to "3" cmp al,'1' jc parity cmp al,'4' jnc parity ;input is valid range sub al,30h push ax ;select byte parity message and place in display area sub al,1 mov al,4 mul cl mov si,offset par$$ mov ah,0 add si,ax mov di,offset par% mov cx,4 cld push ds pop es rep movsb pop ax mov cl,3 shl al,cl or setup_byte,al stopbits: mov dx,offset stop_menu call show_message SVTH : Phan Tieán Hieáu Trang : 172 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú call get_key call tty ;valid input range is "1" or "2" cmp al,'1' jc stopbits cmp al,'3' jnc stopbits mov si,offset stop% mov byte ptr[si],al sub al,31h mov cl,2 shl al,cl or setup_byte,al word_length: mov dx,offset word_menu call show_message call get_key call tty ;valid input range is '1' or '2' cmp al,'1' jc word_length cmp al,'3' jnc word_length push ax ;Input in valid range Add and move input to display area add al,6 mov si,offset word% mov byte ptr[si],al pop ax sub al,30h inc al or setup_byte,al ;install new parameter mov al,setup_byte mov dx,0 mov ah,0 int 14h ;line feed and cariage reture before exit mov al,0dh call tty mov al,0ah call tty ;communication call comm_on jmp monitor ;display protocol SVTH : Phan Tieán Hieáu Trang : 173 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú show_protocol: mov dx,offset prot_ms call show_message jmp monitor ;********************************************************* ;output and display show_and_send: mov cx,2000 push ax thre_wait: mov dx,card_base add dx,5 in al,dx jmp short $+2 test al,20h jnz ok_2_send loop thre_wait ;wait period timed out,display error message and exit pop ax mov dx,offset err1_ms call show_message jmp monitor ok_2_send: pop ax ;place in transmitter hoding register to send mov dx,card_base out dx,al jmp short $+2 ;display character call tty jmp monitor ;********************************************************* ;CAC CHUONG TRINH CON comm_on proc near cli ;interrupt off ;reset buffer pointer to start of buffer mov data_in,0 mov data_out,0 ;set dx to base address of RS 232 card from BIOS mov dx,card_base mov dl,0fch mov al,00001011b out dx,al jmp short $+2 ;set bit mov dl,0fbh SVTH : Phan Tieán Hieáu Trang : 174 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú in al,dx jmp short $+2 _and al,7fh out dx,al jmp short $+2 in al,21h jmp short $+2 and al,0e7h out 21h,al jmp short $+2 ;reenable interrupt sti ret comm_on endp comm_off in or out jmp ret comm_off proc near al,21h al,18h 21h,al short $+2 endp show_message mov ah,9 int 21h ret show_message tty proc tty_one: push mov mov int pop cmp jne mov jmp not_cr: tty endp ;I/o delay proc near endp near ax ah,14 bx,0 10h ax al,0dh not_cr al,0ah tty_one ret flush proc near flush_1: mov ah,1 SVTH : Phan Tieán Hieáu Trang : 175 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú int 16h jz no_old_chars mov ah,0 int 16h jmp flush_1 no_old_chars: ret flush endp get_key mov int ret get_key proc near ah,0 16h endp rs232_int: sti ;interrupt on push ax push bx push dx push di push ds mov dx,data mov ds,dx assume ds:data data_check: mov dx,card_base mov dl,0fdh in al,dx jmp short $+2 test al,1eh jnz data_error jmp data_check data_error: mov al,'1' jmp store_byte data_ready: mov dl,0f8h in al,dx jmp short $+2 and al,7fh store_byte: lea di,circ_buf mov bx,data_in add di,bp mov byte ptr[di],al SVTH : Phan Tieán Hieáu Trang : 176 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú inc bx cmp bx,20 jne ok_in_ptr mov bx,0 ok_in_ptr: mov data_in,bx mov al,20h out 20h,al jmp short $+2 pop ds pop di pop dx pop bx pop ax iret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtran_file: call get_name ;doc ten file lea dx,filename ;dx chua offset cua ten file mov al,0 call open jc open_error mov handle,ax read_loop: lea dx,buffer ;tro toi vung dem mov bx,handle ;lay the file call read ;doc file,AX = so byte doc duoc or ax,ax ;ket thuc file je pexit ;dung, ket thuc file mov cx,ax ;CX chua so byte doc duoc call display ;hien thi file jmp read_loop ;lap lai open_error: lea dx,openerr ;lay thong bao loi add errcode,al mov ah,9 int 21h ;hien thi thong bao loi ;********************************************************* ;output and display ;show_and_send: pexit: mov cx,2000 pthre_wait: mov dx,card_base add dx,5 SVTH : Phan Tieán Hieáu Trang : 177 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú in al,dx jmp short $+2 test al,20h jnz pok_2_send loop pthre_wait ;wait period timed out,display error message and exit mov dx,offset err1_ms call show_message jmp ppexit pok_2_send: call con_hex ;goi chtr chuyen sang so hex lea dx,buffrr mov cx,256 call display mov cx,256 ;place in transmitter hoding register to send mov dx,card_base lea di,buffrr ;tro toi vung dem ppl: mov al,[di] ;lay byte data out dx,al jmp short $+2 call edelay inc di loop ppl ;display character ; call tty ppexit:mov bx,handle ;lay the file call close ;dong the file jmp monitor ;********************************************************* get_name proc near push ax push dx push di mov ah,9 ;ham hien thi chuoi lea dx,prompt int 21h cld lea di,filename ;DI tro toi ten file mov ah,1 ;ham doc ki tu tu ban phim read_name: int 21h cmp al,0dh ;co phai CR je done ;dung ket thuc stosb ;luu no vao chuoi jmp read_name ;tiep tuc doc vao SVTH : Phan Tieán Hieáu Trang : 178 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp done: mov stosb pop pop pop ret get_name open proc mov mov int ret open endp al,0 read near cx ah,3fh cx,512 21h cx proc push mov mov int pop ret read endp display push mov mov int pop ret display GVHD : Nguyễn Đình Phú ;luu byte di dx ax endp near ah,3dh ;ham mo file al,0 ;chi doc 21h ;ham mo file ;chi doc proc near bx ah,40h ;ham ghi file bx,1 ;the file cho man hinh 21h ;dong file bx endp close proc near mov ah,3eh_;ham dong file int 21h ;dong file ret close endp edelay proc push push mov edel2: mov edel1: dec jnz dec jnz near ax bx ax,0fh bx,0ffffh bx edel1 ax edel2 SVTH : Phan Tieán Hieáu Trang : 179 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú pop bx pop ax ret edelay endp ;++++++++++++++++++++++++++++++++++++++++++++ con_hex proc near push ax push bx push cx push dx push di push si mov ax,0b800h mov bx,0 cld lea si,buffrr mov cx,260 mov al,0 xxx8: mov [si],al inc si loop xxx8 lea si,buffrr lea di,buffer xxx3: mov al,[di] ;lay byte data cmp al,3ah ;so sanh voi ma dau ':' jz xxx2 ;nhay neu la dau ':' inc di jmp xxx3 ;quay lai de tim dau ':' xxx2: call ktra_end ;goi chuong trinh kiem tra ket thuc cmp ax,0 ;dung la het data thi lam cho AX=0000 jnz xxx4 xxx6: pop si pop di pop dx pop cx pop bx pop ax ret xxx4: mov al,[di] ;lay byte data mov [si],al ;dung la byte 3Ah can luu vao call goi_ht inc di inc si ;xu li so byte can goi SVTH : Phan Tieán Hieáu Trang : 180 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghieäp mov sub call mov rol mov inc mov sub call or mov add mov call al,[di] al,30h so_lon cl,4 al,cl ah,al di al,[di] al,30h so_lon al,ah [si],al al,1 dl,al goi_ht ;xu li phan dia chi can goi inc di inc si mov al,[di] sub al,30h call so_lon mov cl,4 rol al,cl mov ah,al inc di mov al,[di] sub al,30h call so_lon or al,ah mov [si],al call goi_ht inc di inc si mov al,[di] sub al,30h call so_lon mov cl,4 rol al,cl mov ah,al inc di mov al,[di] sub al,30h call so_lon or al,ah mov [si],al GVHD : Nguyễn Đình Phuù ;lay so can goi MSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;lay so can go LSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;or data lai byte ;cat so HEX ADDR_H ;luu so byte can xu li lai ;lay byte ADDR_L-MSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;lay byte ADDR_L-LSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;or data lai byte ;cat so HEX ADDR_H ;lay byte ADDR_H-MSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;lay byte ADDR_H-LSD ;tru di 30 de so hex ;kiem tra so ABCDEF ;or data lai byte ;cat so byte can goi dang HEX SVTH : Phan Tieán Hieáu Trang : 181 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luaän văn tốt nghiệp call GVHD : Nguyễn Đình Phú goi_ht ;xu li cac byte lai inc di inc di xxx1: inc di inc si mov al,[di] sub al,30h call so_lon mov cl,4 rol al,cl mov ah,al inc di mov al,[di] sub al,30h call so_lon or al,ah mov [si],al call goi_ht dec dl cmp dl,0 jnz xxx1 inc di inc di inc di jmp xxx3 con_hex endp ;bo byte 00 ;lay so byte thu nhat ;tru di 30 de so hex ;kiem tra so ABCDEF ;laq so byte thu ;tru di 30 de so hex ;kiem tra so ABCDEF ;or data lai byte ;cat so byte can goi dang HEX ;quay lai vi chua ;bo byte cuoi thu nhat ;bo byte thu ;bo ma xuong hang ;het hang data ;chuong trinh kiem tra ket thuc ktra_end proc near push di inc di mov al,[di] ;lay byte data cmp al,30h ;kiem tra byte thu nhat jnz kt_exit ;nhay den de thoat vi khong phai inc di ;neu dung thi kiem tra byte thu mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai inc di ;neu dung thi kiem tra byte thu mov al,[di] ;lay byte data cmp al,30h jnz kt_exit ;nhay den de thoat vi khong phai inc di ;neu dung thi kiem tra byte thu mov al,[di] ;lay byte data SVTH : Phan Tieán Hieáu Trang : 182 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp cmp jnz inc mov cmp jnz inc mov cmp jnz inc mov _cmp al,30h jnz inc mov cmp jnz inc mov cmp jnz inc mov cmp jnz mov pop ret kt_exit: mov pop ret ktra_end al,30h kt_exit di al,[di] al,30h kt_exit di al,[di] al,30h kt_exit di al,[di] goi_ht proc near di di,bx ah,1 push mov mov stosw mov pop ret goi_ht endp so_lon GVHD : Nguyễn Đình Phú ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte thu ;lay byte data ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte thu ;lay byte data ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte thu ;lay byte data kt_exit di al,[di] al,31h kt_exit di al,[di] al,46h kt_exit di al,[di] al,46h kt_exit ax,0 di ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte thu ;lay byte data ax,1111h di ;nap data cho khac khong la ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte F thu ;lay byte data ;nhay den de thoat vi khong phai ;neu dung thi kiem tra byte F thu 10 ;lay byte data ;nhay den de thoat vi khong phai endp bx,di di proc near SVTH : Phan Tieán Hieáu Trang : 183 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghieäp yyy: cmp jg ret sub ret so_lon GVHD : Nguyễn Đình Phú al,9 yyy al,7 endp code ends end start MỤC LỤC Trang SVTH : Phan Tieán Hieáu Trang : 184 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp GVHD : Nguyễn Đình Phú Lời nói đầu Phần A : LÝ THUYẾT Chương I : Khảo Sát Vi Điều Khiển 8951 I Giới Thiệu Cấu Trúc Phần Cứng Họ MSC_51 II Khảo Sát Sơ Đồ Chân 8951 Sơ đồ chân 8951 Chức chân III Cấu Trúc Bên Trong Của Vi Điều Khiển 8951 Tổ chức nhớ Các ghi chức đặc biệt Bộ nhớ IV Hoạt Động Timer Của Vi Điều Khiển 8951 Giới thiệu Các ghi điều khiển timer Các chế độ timer cờ tràn V Hoạt Động Port Nối Tiếp Của Vi Điều Khiển 8951 Giới thiệu Các ghi điều khiển chế độ port nối tiếp Tổ chức ngắt 8951 VI Tóm Tắt Tập Lệnh Của 8951 Các chế độ định địa 4 13 17 19 24 26 26 31 32 Chương II: Giao Tiếp Máy Tính Với Các Thiết Bị Ngoại Vi I Sơ Lược Về Cấu Trúc Máy Tính Sơ đồ khối chức Đơn vị xử lý trung tâm (CPU) Bộ nhớ ( Memory) Thiết bị nhập/xuất (I/O) Đồng hồ hệ thống II Các Phương Thức Giao Tiếp Qua Máy Tính Với Các Thiết Bị Ngoại Vi Giao tiếp qua Slot card Giao tiếp qua cổng máy in Giao tiếp qua cổng nối tiếp RS_232 Giới thiệu IC giao tiếp nối tiếp Max 232 III Giới Thiệu Về KIT Vi Điều Khiển 8951 Giới thiệu Bàn phím Cấu trúc phần cứng KIT 38 38 38 38 39 39 39 39 42 43 44 46 Phần B: THI CÔNG Chương I: Giao Tiếp Giữa Kit Vi Điều Khiển 8951 Với Máy Vi Tính I Phần Cứng Thiết kế cart giao tiếp 8951 máy vi tính II Phần Mềm Giới thiệu phần mềm SVTH : Phan Tieán Hieáu 49 50 Trang : 185 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Giới thiệu ngôn ngữ Assembly Lưu đồ chương trình giao tiếp III đánh giá kết thi cơng GVHD : Nguyễn Đình Phú 50 51 66 KẾT LUẬN HƯỚNG PHÁT TRIỂN ĐỀ TÀI TÀI LIỆU THAM KHẢO Phần C: PHỤ LỤC SVTH : Phan Tieán Hieáu Trang : 186 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... nghiệp : GIAO TIẾP VỚI MÁY TÍNH CHƯƠNG III I GIAO TIẾP SONG SONG: GIAO TIẾP QUA CỔNG MÁY IN 1.1 Vài nét cổng máy in: Vi? ??c nối máy in với máy tính thực hiên qua ổ cắm 15 chân phía sau máy tính Nhưng... THIỆU HỆ THỐNG KIT VI XỬ LÝ 8085 GIỚI THIỆU CẤU TRÚC PHẦN CỨNG KIT VI XỬ LÝ 8085: Tần số làm vi? ??c: + Vi xử lý 8085 Intel với tần số hoạt động 6MHz + Các chương trình thời gian vi? ??t tương ứng... VI XỬ LÝ 8085 I CẤU TẠO BÊN TRONG VI XỬ LÝ 8085 Cấu trúc vi xử lý : Một vi xử lý gồm có khối chức năng: đơn vị thực thi (Execution), điều khiển (Sequencer) bus giao tiếp - Đơn vị thực thi : Xử

Ngày đăng: 02/11/2022, 10:30

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w