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

(TIỂU LUẬN) tiểu luận kỹ THUẬT VI xử lý và GIAO TIẾP máy TÍNH đề tài xây DỰNG máy TÍNH bỏ túi sử DỤNG MA TRẬN PHÍM và LCD

57 13 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

Thông tin cơ bản

Tiêu đề Xây Dựng Máy Tính Bỏ Túi Sử Dụng Ma Trận Phím Và LCD
Tác giả Nguyễn Thanh Tú, Trần Quang Nam, Trần Đăng Tùng
Người hướng dẫn TS. Nguyễn Đình Thuận
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Vi Xử Lý Và Giao Tiếp Máy Tính
Thể loại Tiểu luận kỹ thuật
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 57
Dung lượng 804 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vi xử lý được sử dụng trong nhiều lĩnh vựckhác nhau, nhất là trong các máy IBM PC/XT... Tín hiệu xung clock : Nó cung cấp thời gian cho bộ xử lý cho các hoạt động... Trong chu k

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

SVTH : NGUYỄN THANH TÚ - 20168566

TRẦN QUANG NAM - 20168366 TRẦN ĐĂNG TÙNG - 20168579

Hà Nội, 2021

Trang 2

MỤC LỤC

CHƯƠNG I: GIỚI THIỆU VÀ PHÂN TÍCH KIẾN TRÚC HỆ

THỐNG 3

I.Yêu cầu chức năng 3

II.Khối điều khiển và ngôn ngữ lập trình 3

2.1.Vi xử lý 8086: 3

2.2.Vi mạch 8255A 10

2.5.Sơ đồ khối phối lắp mạch 15

CHƯƠNG II THIẾT KẾ MẠCH 16

I.Sơ đồ đấu nối 16

II.Kết quả mô phỏng 16

III Lập trình vi xử lý 17

KẾT LUẬN 57

Trang 3

CHƯƠNG I: GIỚI THIỆU VÀ PHÂN TÍCH KIẾN TRÚC HỆ

THỐNG

I.Yêu cầu chức năng

Xây dựng 1 máy tính bỏ túi sử dụng ma trận phím để nhập dữ liệu vàLCD để hiển thị kết quả, chỉ cần cộng trừ nhân chia sử dụng 8086,8255, ma trậnphím, LCD,74LS373

II.Khối điều khiển và ngôn ngữ lập trình

2.1.Vi xử lý 8086 :

Vi xử lý 8086 là bộ vi xử lý 16 bít đầu tiên của Intel và là vi xử lý đầu tiên hỗtrợ tập lệnh x86 Ngoài ra Intel cũng giới thiệu 8088 tương thích với 8086 nhưng độrộng buýt dữ liệu bằng một nửa (8 bít) Vi xử lý được sử dụng trong nhiều lĩnh vựckhác nhau, nhất là trong các máy IBM PC/XT

Trang 4

Hình 2 Sơ đồ mô tả cấu trúc của bộ vi xử lý 8086

Đơn vị thực thi EU

Cung cấp hướng dẫn cho BIU, ghi chú nơi lấy dữ liệu và sau đó giải mã, thựchiện các hướng dẫn, Chức năng chính là điều khiển các hoạt động trên dữ liệu bằngcách sử dụng bộ giải mã lệnh ALU và EU không có kết nối trực tiếp với các bus hệthống, nó thực hiện các hoạt động thông qua dữ liệu BIU

Đơn vị dao diện BUS (BIU)

BIU đảm nhận tất cả dữ liệu và chuyển địa chỉ trên các xe bus cho EU, gửi địa chỉ, nạp các lệnh từ bộ nhớ, đọc dữ liệu từ các cổng và bộ nhớ cũng như dữ liệu vào

Trang 5

accs cổng bộ nhớ EU không có kết nối hướng với bus hệ thống nên điều này có thể xảy ra với BIU,EU và BIU được kết nối với bus nội bộ

Hình 3 Sơ đồ chân của bộ vi xử lý 8086

Nguồn cung và tín hiệu số : Nó sử dụng nguồn điện 5V DC ở chân V

và sử dụng nối đất ở chân V SS - 1 và 20 cho hoạt động của nó

Tín hiệu xung clock : Nó cung cấp thời gian cho bộ xử lý cho các hoạt

động Tần số của nó là khác nhau đối với các phiên bản khác nhau, tức là 5MHz,8MHz và 10MHz

CC -40

Trang 6

Địa chỉ trạng thái bus và bus dữ liệu : AD0-AD15 Đây là 16 bus địa chỉ /

dữ liệu AD0-AD7 mang dữ liệu byte bậc thấp và AD8-AD15 mang dữ liệu byte bậc cao Trong chu kỳ xung nhịp đầu tiên, nó mang địa chỉ 16 bit và sau đó nó mang dữ liệu 16 bit

A16 /S3-A19/S6 Đây là 4 xe buýt địa chỉ / trạng thái Trong chu kỳ xungnhịp đầu tiên, nó mang địa chỉ 4 bit và sau đó nó mang các tín hiệu trạng thái

BHE/S7 BHE là viết tắt của Bus High Enable Nó có sẵn ở chân 34 và được

sử dụng để chỉ ra việc truyền dữ liệu bằng cách sử dụng bus dữ liệu D8-D15 Tínhiệu này ở mức thấp trong chu kỳ đồng hồ đầu tiên, sau đó nó hoạt động

RD Nó có sẵn ở chân 32 và được sử dụng để đọc tín hiệu cho hoạt động đọc.

READY là tín hiệu báo nhận từ các thiết bị I / O mà dữ liệu được truyền Đó

là một tín hiệu cao đang hoạt động Khi nó ở mức cao, nó chỉ ra rằng thiết bị đã sẵnsàng để truyền dữ liệu (Chân 22)

RESET được sử dụng để khởi động lại quá trình thực thi Nó khiến bộ xử lý

chấm dứt ngay hoạt động hiện tại của nó Tín hiệu này hoạt động ở mức cao trong

4 chu kỳ xung nhịp đầu tiên để ĐẶT LẠI bộ vi xử lý ( Chân 21)

INTR Đây là một tín hiệu yêu cầu ngắt, được lấy mẫu trong chu kỳ xung

nhịp cuối cùng của mỗi lệnh để xác định xem bộ xử lý có coi đây là một ngắt haykhông (có sẵn ở chân 18)

Trang 7

TEST Khi tín hiệu này ở mức cao, thì bộ xử lý phải đợi trạng thái IDLE, nếu

không thì quá trình thực thi sẽ tiếp tục.(Chân 23)

NMI Nó là một đầu vào được kích hoạt cạnh, gây ra một yêu cầu ngắt tới bộ

vi xử lý.( Chân 17)

INTA Nó là một tín hiệu báo nhận ngắt và id Khi bộ vi xử lý nhận được tín

hiệu này, nó sẽ báo nhận ngắt (Chân 24)

ALE Nó là viết tắt của chốt kích hoạt địa chỉ Một xung tích cực được tạo ra

mỗi khi bộ xử lý bắt đầu bất kỳ hoạt động nào Tín hiệu này cho biết sự sẵn có củamột địa chỉ hợp lệ trên các đường địa chỉ / dữ liệu ( Chân 25)

DEN

Nó là viết tắt của Data Enable Nó được sử dụng để kích hoạt Bộ thu phát

8286 Bộ thu phát là một thiết bị dùng để tách dữ liệu khỏi bus địa chỉ / dữ liệu.(Chân

26)

DT/R

Nó là viết tắt của tín hiệu Truyền / Nhận dữ liệu Nó quyết định hướng củaluồng dữ liệu qua bộ thu phát Khi nó ở mức cao, dữ liệu được truyền ra ngoài vàngược lại (Chân 27)

M/IO

Tín hiệu này được sử dụng để phân biệt giữa bộ nhớ và các hoạt động I / O.Khi nó ở mức cao, nó cho biết hoạt động I / O và khi nó ở mức thấp cho biết hoạtđộng của bộ nhớ Nó có sẵn tại pin 28

WR

Trang 8

Nó là viết tắt của tín hiệu ghi Nó được sử dụng để ghi dữ liệu vào bộ nhớhoặc thiết bị đầu ra tùy thuộc vào trạng thái của tín hiệu M / IO (Chân 29)

0 1 Byte opcode đầu tiên từ hàng đợi

S 0 ,S 1 ,S 2

Trang 10

2.2.Vi mạch 8255A

• Vi mạch 8255A là vi mạch cỡ lớn LSI, là mạch phối ghép vào ra songsong lập trình được

• Do khả năng mềm dẻo trong ứng dụng thực tế nó là mạch phối ghép đc

sử dụng phổ biến cho các hệ vi xử lý 8,16,32 bit Gồm 40 chân:

• 24 đường dẫn lối vào ra xếp thành 3 cổng song song (port A,port B, port C) Một nửa cổng (PC4…PC&) thuộc nhóm A, còn lại nửa thuộc nhóm B

• Chân reset phải đuộc nối với tín hiệu reset chung toàn hệ thống

• Tín hiệu CS được nối với mạch tạo xung chọn thiết bị để đặt mạch

8255 vào một cơ sở địa chỉ nào đó Các tín hiệu địa chỉ A0, A1 chọn 4 thanh ghi bên trong 8255, một thanh đi điều khiển cho hoạt động 8255 và 3 thanh ghi khác ứng các cổng PA,PB,PC để đọc dữ liệu

Trang 11

Hình 4 Cấu trúc 8255A

Trang 12

Hình 5 Sơ đồ khối 8255A

Cấu tạo và nguyên lý hoạt động :

24 chân cho 3 cổng vào / ra

PAO - PAT : 8 chân cho Công A

Dùng để chốt địa chỉ và trạng thái

Chân OC (Output Control) điều khiển cho phép/ cấm dữ liệu ra

Trang 14

-Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển

điều khiển

-Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":

+ Logic “0”: Bus DB0 - DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi”

để ghi hoặc nối với logic “1” đọc

-Chân số 6 - E : chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:

phát hiện một xung (high-to-low transition) của tín hiệu chân E

(low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuốngmức thấp

Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổithông tin với MPU Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệuđược truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu đượctruyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)

Trang 15

2.5.Sơ đồ khối phối lắp mạch

M ạch điều khiển

Trong khuôn khổ môn học, 8086 xuyên suốt quá trình, đồng thời 8086 cũng

là thiết bị cơ bản nhất cho các chip cao cấp hơn như i5 i7… Nhóm chúng em có thểhiểu cụ thể hơn nữa về 8086 bằng việc bắt tay vào làm một mạch thực tế Còn vơi ngôn ngữ ASM là ngôn ngữ lập trình bậc thấp, không hỗ trợ những hàm if hay for như trong C/C++

Trang 16

CHƯƠNG II THIẾT KẾ MẠCH

I.Sơ đồ đấu nối

II.Kết quả mô phỏng

Trang 17

Nhận xét:

+ Thiết kế thành công được mạch

+ Code và các vi xử lý hoạt động ổn định (Code được mô tả chi tiết ở mục III.) + Thực hiện được các phép tính cộng trừ nhân chia chính xác

PORTC_VAL DB 0

MSSV1 DB "20168142$"

MSSV2 DB "20168635$"

MSSV3 DB "20168960$"

;DIA CHI CAC CONG

CWR equ 10001000B ; C UPPER INPUT CON LAI OUTPUT

Trang 18

PA EQU 00H ;PORTA KET NOI VOI D0-D7 CUA LED

PB EQU 02H ;PORTB0 LA RW (READ/WRITE), PORTB1 LA RS(RESET SELECT), PORTB2 LA EN(ENABLE)

PC EQU 04H ;PORT KET NOI KEYPAD

PCWR EQU 06H ;PORT DE DIEU KHIEN IO

; BIEN DEM

NHAP DW 0 ; LUU SO NHAP VAO TU BAN PHIM

SO_10 DW 10 ; DE NHA, CHIA 10

PHEP_TOAN DW 0 ; PHAN BIET +-x/

KET_QUA DW 0 ; LUU VA HIEN THI KET QUA

SO_PHEP_TINH DW 0 ; DE PHAN BIET LAN BAM DAU TIEN

VA CAC LAN SAU

HIEN_THI DW 0 ; DUNG DE HIEN THI TUNG CHU SO KHI CO KET QUA

XOA_MH DW 0 ; XOA MAN HINH SAU KHI RA KET QUA

BIEN_CX DW 0 ; TRANH TH CX BI THAY DOI VA KO CAN

DUNG PUSH POP

CAC_CHU_SO DW 1 ; XOA MAY DAU 0 O KET QUA

DAU_TRU DW 0 ; CHECK DAU

ENDS

STACK SEGMENT

Trang 19

;HANG 1

;COT 1

LEA SI,MSSV1 ; CHO DIA CHI CUA NAME1 VAO SI, DE HIEN TRONG HAM IN CHUOI

Trang 21

; PHAN TREN NAY TUONG TU PHAN SETUP TRONG

ADRUINO Y, CHAY 1 LAN THOI

LAP: ; CHUONG TRINH SE LAP TU DAY

; CHO HANG 1 XUONG LOW MOV AX, 11111110B

Trang 25

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 26

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 27

CMP NHAP, 0 ; TRANH TH AN DAU TRUOC CA KHI NHAP SO

Trang 28

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 29

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 30

CALL LCD_WRITE_CHAR

MOV AX, 6

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 31

MOV AX, NHAP ; CHIA 10 DI VI SO BI NHAP GAP 10 LAN

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

MUL SO_10 ; NHAN 10

Trang 32

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 33

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV AX, NHAP

Trang 34

CMP NHAP, 0 ; TRANH TH AN DAU TRUOC CA KHI NHAP SO

MOV PHEP_TOAN, 2 ; DANH DAU PHEP TOAN LA PHEP TRU

CMP SO_PHEP_TINH, 0 ; KIEM TRA XEM CO PHAI LAN DAU BAM KO

JE TINH_LAN_DAU

JMP DOI ; DO LUC TRUOC DA CO PHEP TINH ROI NEN PHAI DOI DAU = HOAC LA GHI TIEP SO

Trang 36

MOV AX, NHAP

MUL SO_10 ; NHAN 10

Trang 41

JE KHONG_DOI_DAU ; GHI DAU NEU NHU DOI DAU

MOV AH, '-'

CALL LCD_WRITE_CHAR

KHONG_DOI_DAU:

MOV CX, CAC_CHU_SO ; LUU LAI SO CHUSO

MOV AX, KET_QUA

Trang 43

HIEN_LUON:

Trang 45

PROC CHECK_DAU ; KIEM TRA DAU TRUOC KHI TINH TRUPUSH AX ; LUU LAI GIA TRI THANH GHI TRANH MATGIA TRI

Trang 46

MOV AH,30H ; 30H LA MA SETUP CUA LED

CALL LCD_CMD ; MAY CAI KHAC CUNG LA MA SETUP

CUA CAI LED NAY, THEO NHA SAN XUAT

MOV CX,50

CALL DELAY

MOV AH,30H

Trang 48

;DAU VAO: AH = MA LENH

; RS = 0 = CHO LENH CHI DAN VAO

PUSH DX ; LUU LAI GIA TRI CAC THANH GHI DE KHI

CALL LENH KO THAY DOI GIA TRI CUA CHUNG

Trang 50

CHO DU LIEU VAO>

; BAT RS LEN 1( CHE DOCALL OUT_B

MOV AL,AH

CALL OUT_A

DUNG LENH OUT_A

; DOI QUA THANH GHI AL DE

Trang 51

AND AL,0FBH ; DOI GIA TRI CHAN EN VE 0CALL OUT_B

= 1 THI DOC NGUOC

; CO DF = 0 THI DOC THUAN,

LODSB

CAC KY TU VAO THANH GHI AL

; load String byte: NAP DAN GIA TRI

Trang 52

;LCD DUNG COT 0 LAM COT CO BAN

DEC DH ; VI COT CO BAN LA 0 NEN - 1 DI

CHO DUNG VI TRI

;CHON TH HANG 1 HAY 2

Trang 53

@ROW1: ; HANG 1

MOV AH,80H ; 80H = 10000000BJMP @LCD_SET_CUR_ENDCASE

MOV AH,0C0H ; C0H = 1100000B

JMP @LCD_SET_CUR_ENDCASE

@LCD_SET_CUR_ENDCASE: ; DH = COTADD AH,DH ; GIASU T GOI COT 1 THI GIA TRI

ENDP LCD_SET_CUR

PROC LCD_SHOW_CUR ; HIEN CON TRO

Trang 54

;GUI DU LIEU TOI CAC CONG PA, PB, PC VA LUU GIA TRI

CUA CHUNG VAO BIEN

Trang 55

; CHO GIA TRI AL VAO O NHO CO DIA

MOV PORTB_VAL,AL ; LUU LAI GIA TRI Al VAO GIA TRI CUA PB

Trang 57

KẾT LUẬN

Đề tài thiết kế, xây dựng 1 máy tính bỏ túi sử dụng ma trận phím để nhập dữ liệu vàLCD để hiển thị kết quả , là một ứng dụng rất thực tế và hữu ích Qua quá trình dàinghiên cứu và tiếp thu kiến thức từ thầy Nguyễn Đình Thuận, chúng em đã hoàn thành được đề tài trên

Trong quá trình làm việc và học tập dưới sự hướng dẫn của thầy, chúng em đã họcthêm nhiều kiến thức quan trọng, giúp bọn em nắm rõ hơn về trình độ kiến thức chuyên môn cũng như đánh giá tốt hơn về trình độ bản thân Bài báo cáo của bọn

em vẫn còn nhiều thiếu sót Qua đó, bọn em rất mong được sự góp ý và chỉ bảo thêm từ thầy để có thể hoàn thiện hơn

Chúng em xin chân thành cảm ơn thầy

Ngày đăng: 15/12/2022, 15:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w