Thiết kế mạch quang báo kết hợp giữa KIT vi xử lý và máy tính qua cổng máy in (LPT)

MỤC LỤC

Khảo sát khảo sát vi mạch giao tiếp 8255A

Để 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. Bit BC6 trở thành bit ACKA (AcknowLEDge Input, tác động mức thấp), thiết bị nhận dữ liệu dùng tín hiệu này để báo cho 8255A biết tín hiệu đã được nhận và sẵn sàng nhận dữ liệu tiếp theo.

Hình 1. 8: Chế độ làm việc khi PORT A nhập dữ liệu
Hình 1. 8: Chế độ làm việc khi PORT A nhập dữ liệu

Giao tiếp qua cổng nối tiếp RS232

Giao tiếp giữa máy tính với thiết bị ngoại vi là việc trao đổi dữ liệu giữa máy tính với một hay nhiều thiết bị ngoại vi (với môi trường ngồi). -Phạm vi truyền tín hiệu gần và cáp truyền phức tạp.Trong một số trường hợp không thực hiện được.

Giao tiếp qua cổng máy in (LPT)

Mô tả cổng máy in

Các đường dẫn tín hiệu của cổng máy in được sắp xếp thành 3 thanh ghi:thanh ghi dữ liệu, thanh ghi trạng thái và thanh ghi điều khiển. Muốn truy xuất dữ liệu qua cổng máy in thì ta phải biếùt được địa chỉ cơ bản của các thanh ghi dữ liệu gọi là địa chỉ cơ bảb của cổng máy in.

Chọn cổng giao tiếp với KIT vi xử lý

Thông qua 3 thanh ghi này cho phép trao đổi thông tin giữa môi trường ngồi và bộ nhớ máy tính. - địa chỉ htanh ghi dữ liệu với địa chỉ cơ bản của cổng máy in 378h.

QUANG BÁO

XỬ LÝ

Phương pháp multiplex điều khiển ma trận led

Với một ma trận hiển thị, số lượng LED rất lớn, kéo theo số mạch chốt nhiều,dẫn đến phần hiển thị quang báo trở nên phức tạp, cồng kềnh, khó kết nối, khó vẽ mạch in, không có tính kinh tế. Các LED phát sáng theo tần số đủ nhanh để mắt người cảm thấy LED sáng liên tục, nhờ hiện tượng lưu ảnh trờn vừng mạc của mắt, nhưng chỳ ý làm sau cho cỏc LED sỏng rừ khụng cú cảm giác rung.

Bộ hiển thị

    Như vậy muốn 40 điểm LED đều sáng cùng một lúc thì ta chỉ việc cung cấp mức cao cho 8 hàng và mức thấp cho 5 cột còn nếu muốn điểm LED nào sáng thì ta cấp mức 1 và mức 0 tương ứng với Anod và Katod của điểm LED đó. Với cách mắc mạch như trên tại một thời điểm bất kỳ chỉ có một cột LED được sáng do đó muốn hiển thị một chữ (số) hay một hàng chữ thì ta phải quét làm nhiều lần nhưng do tần số quét nhanh ta cảm thấy các chữ xuất hiện cùng một lúc.

    Hình 3.2: Sơ đồ chân Ma Trận LED
    Hình 3.2: Sơ đồ chân Ma Trận LED

    Bảng kiểu ký tự

    Như vậy để cho hệ thống làm việc được thì nguồn cung cấp cho hệ thống phải có các tiêu chuẩn: điện áp cung cấp +5v, dòng tối thiểu 1A.

    Sơ đồ màn hình quang báo:
    Sơ đồ màn hình quang báo:

    KIT Z80

    • Lý thuyết thiết kế
      • Sử dụng CPU Z80
        • Kết nối bộ nhớ
          • Bộ giao tiếp bàn phím

            Tuy nhiên cũng còn một vấn đề mà ta cần giải quyết là khi chúng ta sử dụng công tắc đóng mở nguồn điện nhiều lần liên tục để Reset CPU, việc làm cho tụ điện xả điện nhanh là điều cần thiết. Khi đóng hay mở công tắc nguồn điện ta sẽ có dòng điện chạy trong mạch theo hai chiều khác nhau, vì giá trị điện trở theo hai chiều dẫn điện này lớn nhỏ khác nhau nên chúng có thể suy ra thời gian tích điện lên tụ kéo dài và thời gian tụ điện xã điện ngắn. Bộ nhớ của máy vi tính bao gồm các bộ nhớ ROM và RAM, chúng kết nối với nhau thông qua các Bus: Bus địa chỉ (Address Bus), Bus dữ liệu (Dữ liệu Bus) và Bus điều khiển (Control Bus).

            Tất cả các đường dây cột được nối với 1 cổng ra CHIP vi tính, các đường dây hàng được nối với cổng thứ hai, một phần mềm mô phỏng theo hoạt động của mạch phần cứng sẽ tiến hành quét lên các phím và mã hóa vị trí của phím đang được ấn thành một số nhị phân. Bàn phím trong mạch KIT Z80 của nhóm là loại bàn phím hoạt động theo kiểu không mã hố, thực chất là không sử dụng mạch phần cứng mà sử dụng phương pháp quét kết hợp giữa chương trình, vi mạch giao tiếp và sự điều khiển bởi CPU. Hoạt động quét như sau: Đầu tiên PORT A sẽ xuất ra một giá trị là 00H để quét hàng nhằm kiễm tra xem có phím nào được nhấn hay không, nếu một phím được nhấn thì một trong 5 đường của PORT C sẽ xuống mức [0] lúc này ta chỉ biết được hàng nào có phím ấn mà thôi.

            Để xác định chính xác vị trí của phím được ấn PORT A sẽ xuất dữ liệu để quét cột , giá trị thực sự là 7FH (011111112) dữ liệu này chỉ có một cột ở mức thấp trong khi đó ở các cột khác đều ở mức cao, bit [0] này sẽ lần lượt xuất hiện trên từng phần tử của PORT A, khi bit đó rơi vào cột được nhấn PORT C sẽ phát hiện được và thông báo về vi xử lý.

            Hình 3.6: Mạch Reset hệ thống
            Hình 3.6: Mạch Reset hệ thống

            MẠCH GIAO TIẾP

            • Thiết kế mạch giao tiếp 1. Sơ đồ nguyên lý

              Giao tiếp giữa máy tính và KIT Z80 là giao tiếp song song nên dữ liệu truyền đi lần lượt theo từng byte(8bit). Muốn KIT vi xử lý nhận được dữ liệu chính xác thì đòi hỏi khi truyền dữ liệu phải có những đường tín hiệu bắt tay để đồng bộ bên phát và bên thu nhận dữ liệu. Có nghĩa là trước khi gởi dữ liệu qua KIT thì máy tính phải tác động một xung để cho KIT vi xử lý biết sắp truyền sang và KIT sẵn sàng nhận dữ liệu.

              Khi KIT nhận dữ liệu xong một byte thì phải tác động một xung cho máy tính biết là KIT đã nhận xong một byte và yêu cầu máy tính gởi byte kế tiếp. • Bit PC4 được nối với chân ACK của LPT, chân này tác động mức thấp để báo cho máy tính biết là KIT đã nhận xong dữ liệu. • Bit PC6 Và PC7 là các bít mà KIT vi xử lý tác động về để người sử dụng biết chạy xong chương trình ứng dụng cụ thể nào đó.

              • Nếu port CL đọc vào là 03h có nghĩa người sử dụng muốn sử dụng máy tính gừ nội dung văn bản, sau đú dữ liệu truyền qua KIT và cựng lỳc đú KIT đang ở chế độ sẵn sàng nhập dữ liệu từ máy tính.

              THIẾT KẾ PHẦN MỀM

              THIẾT KẾ PHẦN MỀM Z80

              • Tập lệnh Z80
                • 1.2.1.1.Nhóm lệnh truyền 8 bit

                  Nhiều lệnh có hơn một tác tố, chẳng hạn như lệnh số hay lệnh dịch chuyển dữ liệu .Trong trường này có hai phương pháp được định vị sử dụng. Các kiểu định vị cho tốn hạng nguồn và đích là tùy ý.Trong kiểu định vị trực tiếp hay tức thời mở rộng (lệnh có hai byte dữ liệu ngồi mã lệnh ) byte thấp đi trước, byte cao đi sau. Đầu tiên nội dung của ngăn xếp giảm đi 1(SP-1) byte cao của cặp thanh ghi được đưa vào thanh ô nhớ có địa chỉ là nội dung cua SP.

                  Ở đây nhóm chỉ trình bày về tác dụng của các lệnh chính trong tập lệnh của Z80 để làm việc thuận tiện và tốt hơn chúng ta có thể tham khảo tập lệnh Z80. Là phần mềm của người sử dụng nạp vào được lưu trữ trong ROM hoặc RAM, hay đĩa để điều khiển CPU thực hiện các thao tác mà người sử dụng yêu cầu. • Thi hành chương trỡnh của người sử dụng tại một địa chỉ nào đú bằng cỏch gừ vào địa chỉ đầu địa chỉ đầu của chương trình và nhấn phím thi hành.

                  Như vậy trong hệ thống quang báo này chúng ta có hai chương trình chính, một điều khiển hệ thống làm việc như một KIT Z80 bình thường còn chương trình thứ hai thì phục vụ cho quang báo.

                  BEGI N

                  THIẾT KẾ PHẦM MỀM PASCAL

                  • Giới thiệu ngôn ngữ PASCAL

                    Pascal là một ngôn ngữ lập trình cấp cao do giáo sư NIKLAUS WIRTH ở trường đại học kỹ thuật ZURICH Thụy Sĩ sáng tạo vào năm 1970, và đặt tân là PASCAL để tưởng nhớ đến BLAISE PASCAL, nhà tốn học, nhà triết học PHÁP ở thế kỷ 17. PASCAL được coi là một ngôn ngữ đẹp nhất trong họ cổ điển, là một trong những ngôn ngữ mạnh, phổ biến nhất là nền tảng cho các môn lập trình khác, có nhiều tính ưu việt. Người ta đã nhận thấy rằng có thể lập trình một cách khoa học, logic cho một chương trình cụ thể nào đó dựa trên phân tích các thuật tốn và suy diễn tốn học.

                    PASCAL có thể thực hiện một cách chính xác các cấu trúc dữ liệu phức tạp và các thuật tốn phức tạp. PASCAL có tính mềm dẽo và tiện lợi trong việc chia nhỏ vấn đề ra giải quyết độc lập. Có đủ các phép tốn số học, logic,…Các kiểu dữ liệu trong PASCAL phong phú, thể hiện được nhiều kiểu dữ liệu từ đơn giản đến phức tạp.

                    Ngôn ngữ PASCAL trở thành ngôn ngữ chính thống, ngôn ngữ phổ biến, được dùng nhiều trong trường học và các lĩnh vực khác. - Chương trình dịch gọn, đòi hỏi ít bộ nhớ, có nhiều hàm,nhiều công cụ hỗ trợ. - Giải quyết hầu hết các bài tốn trong kỹ thuật, thiết kế đồ họa, quản lý, xây dựng các phần mềm hệ thống.