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

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 9 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

Định dạng
Số trang 57
Dung lượng 1,13 MB

Cấu trúc

  • 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 (0)
    • 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)

Nội dung

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

Vi xử lý 8086

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

+) Có một hàng đợi lệnh, có khả năng lưu trữ 6 byte lệnh từ bộ nhớ, giúp xử lý nhanh hơn

+) là bộ xử lý 16bit đầu tiên có ALU 16 bit, thanh ghi 16bit, bus dữ liệu bên trong và bus dữ liệu ngoài 16bit giúp xử lý nhanh hơn

+) Nó sử dụng hai giai đoạn pipelining, tức là giai đoạn tìm nạp và giai đoạn thực thi, giúp cải thiện hiệu suất

+) Gồm 256 ngắt vector, 29000 bóng bán dẫn

Hình 2 Sơ đồ mô tả cấu trúc của bộ vi xử lý 8086 Đơn vị thực thi EU

Hướng dẫn cho BIU bao gồm việc ghi chú nguồn dữ liệu và tiến hành giải mã, thực hiện các chỉ dẫn cần thiết Chức năng chính của BIU là điều khiển các hoạt động trên dữ liệu thông qua bộ giải mã lệnh ALU và EU, mà không cần kết nối trực tiếp với các bus hệ thống BIU thực hiện các hoạt động này thông qua dữ liệu được cung cấp.

BIU chịu trách nhiệm quản lý tất cả dữ liệu và địa chỉ trên các xe bus cho EU, bao gồm việc gửi địa chỉ, nạp lệnh từ bộ nhớ, và đọc dữ liệu từ các cổng và bộ nhớ Do EU không có kết nối hướng với hệ thống bus, BIU đảm nhận vai trò quan trọng trong việc kết nối giữa EU và 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ố được cung cấp thông qua nguồn điện 5V DC ở chân V CC - 40, trong khi chân V SS - 1 và 20 được sử dụng để nối đất, đảm bảo hoạt động ổn định của hệ thống.

Tín hiệu xung clock cung cấp thời gian cho bộ xử lý thực hiện các hoạt động với tần số khác nhau, bao gồm 5MHz, 8MHz và 10MHz Địa chỉ trạng thái bus và bus dữ liệu được xác định bởi AD0-AD15, với 16 bus địa chỉ/dữ liệu Trong đó, AD0-AD7 truyền dữ liệu byte bậc thấp, còn AD8-AD15 truyền dữ liệu byte bậc cao Trong chu kỳ xung nhịp đầu tiên, bus này mang địa chỉ 16 bit, sau đó chuyển sang truyền dữ liệu 16 bit.

Xe buýt A16/S3-A19/S6 là bốn xe buýt có địa chỉ và trạng thái cụ thể Trong chu kỳ xung nhịp đầu tiên, xe buýt này truyền tải địa chỉ 4 bit, sau đó tiếp tục phát đi các tín hiệu trạng thái.

BHE/S7 BHE là viết tắt của Bus High Enable, có mặt ở chân 34, được sử dụng để chỉ ra việc truyền dữ liệu qua bus dữ liệu D8-D15 Tín hiệu này ở mức thấp trong chu kỳ đồng hồ đầu tiên và sau đó sẽ 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, cho biết rằng dữ liệu đang được truyền Khi tín hiệu này ở mức cao, nó cho thấy thiết bị đã sẵn sàng để truyền dữ liệu (Chân 22).

RESET là tín hiệu được sử dụng để khởi động lại quá trình thực thi, khiến bộ xử lý dừng ngay hoạt động hiện tại Tín hiệu này hoạt động ở mức cao trong hệ thống.

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

Tín hiệu INTR là một 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, nhằm xác định xem bộ xử lý có nhận diện tín hiệu này là một ngắt hay không Tín hiệu này có sẵn tại chân 18.

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 là viết tắt của chốt kích hoạt địa chỉ, được tạo ra 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ủa một địa chỉ hợp lệ trên các đường địa chỉ và dữ liệu.

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

Tín hiệu Truyền / Nhận dữ liệu (TRD) quyết định hướng luồng dữ liệu qua bộ thu phát Khi tín hiệu ở mức cao, dữ liệu sẽ được truyền ra ngoài, và ngược lại khi tín hiệu ở mức thấp.

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

Nó là viết tắt của tín hiệu ghi, đượ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).

Nó là viết tắt của tín hiệu Hold Acknowledgement và có sẵn ở chân 30 Tín hiệu này ghi nhận tín hiệu HOLD

Tín hiệu này thông báo cho bộ xử lý rằng các thiết bị bên ngoài đang yêu cầu truy cập vào các bus địa chỉ và dữ liệu, và nó được cung cấp tại pin 31.

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 song song lập trình được

Mạch phối ghép 40 chân là một thành phần quan trọng được sử dụng rộng rãi trong các hệ vi xử lý 8, 16 và 32 bit nhờ vào khả năng mềm dẻo trong ứng dụng thực tế.

• 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 là một vi mạch được sử dụng để giao tiếp với các thiết bị ngoại vi Để sử dụng 8255, các tín hiệu địa chỉ A0 và A1 sẽ chọn 4 thanh ghi bên trong vi mạch Trong đó, một thanh ghi điều khiển sẽ quản lý hoạt động của 8255, trong khi ba thanh ghi còn lại tương ứng với các cổng PA, PB và PC để thực hiện việc đọc dữ liệu.

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

PB0 - PB7 : 8 chân cho Cổng B

PC0 PC7 : B chân cho Cổng C

Nhóm A Gồm Cổng A và 4 bit cao của Cổng C

Nhóm B : Gồm cổng B và 4 bit thấp của Cổng C

B255 Có thể hoạt động ở chế độ ( 0 , 12 )

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

Chức năng của từng chân LCD 1602:

- 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

- Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch điều khiển

- Chân số 3 - VE : điều chỉnh độ tương phản của LCD

- 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”

- write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

+ Logic “1”: Bus DB0 - DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

- Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0” để ghi hoặc nối với logic “1” đọc

Chân số 6 - E, hay còn gọi là chân cho phép (Enable), đóng vai trò quan trọng trong việc chấp nhận các lệnh sau khi tín hiệu được truyền lên bus DB0-DB7 Cụ thể, trong chế độ ghi, dữ liệu trên bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung chuyển từ cao xuống thấp (high-to-low transition) của tín hiệu chân E.

Trong chế độ đọc, dữ liệu sẽ được LCD truyền ra các chân DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) tại chân E Dữ liệu này sẽ được giữ lại trên bus cho đến khi chân E trở về mức thấp.

Chân số 7 đến 14 (D0 đến D7) là 8 đường bus dữ liệu dùng để trao đổi thông tin với MPU, hoạt động trong hai chế độ: chế độ 8 bit, trong đó dữ liệu được truyền trên cả 8 đường với bit MSB là DB7, và chế độ 4 bit, nơi dữ liệu được truyền trên 4 đường từ DB4 đến DB7, với bit MSB cũng là DB7.

- Chân số 15 - A : nguồn dương cho đèn nền

- Chân số 16 - K : nguồn âm cho đèn nền

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

Lý do chọn 8086 và ASM

Trong quá trình học về vi xử lý 8086, chúng tôi nhận thấy đây là thiết bị cơ bản cho các chip cao cấp như i5 và i7 Để hiểu rõ hơn về 8086, nhóm chúng tôi đã quyết định thực hiện một mạch thực tế Ngoài ra, ngôn ngữ lập trình ASM, mặc dù là ngôn ngữ bậc thấp, không hỗ trợ các cấu trúc điều khiển như if hay for như trong C/C++.

THIẾT KẾ MẠCH

Kết quả mô phỏng

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

Mã nguồn và các vi xử lý hoạt động ổn định, được trình bày chi tiết ở phần III, cho phép thực hiện các phép tính cộng, trừ, nhân, chia một cách chính xác.

Lập trình vi xử lý

Sử dụng dạng ngôn ngữ lập trình bậc thấp Assembly

; GIA TRI CUA CAC CONG PA PB PC

PORTA_VAL DB 0 PORTB_VAL DB 0

CWR equ 10001000B ; C UPPER INPUT CON LAI OUTPUT

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

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

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

MOV DX,PCWR ; SETUP CHE DO CUA 8255

; DAY LA PHAN SETUP TRUOC KHI BAT DAU CALL LCD_INIT

MOV DL,1 ;HANG 1 MOV DH,1 ;COT 1 CALL LCD_SET_CUR

LEA SI,MSSV1 ; CHO DIA CHI CUA NAME1 VAO

SI, DE HIEN TRONG HAM IN CHUOI

MOV DL,1 ;HANG 1 MOV DH,8 ;COT 1 CALL LCD_SET_CUR

LEA SI,MSSV2 ; CHO DIA CHI CUA MSSV1 VAO

SI, DE HIEN TRONG HAM IN CHUOI

MOV DL,2 ;HANG 2 MOV DH,4 ;COT 1 CALL LCD_SET_CUR

LEA SI,MSSV3 CALL LCD_PRINTSTR

; 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

NUT_7: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_8: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_9: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

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

CMP SO_PHEP_TINH, 0 ; DO LUC TRUOC DA CO PHEP TINH ROI NEN PHAI DOI DAU = HOAC LA GHI TIEP SO

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

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

NUT_4: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_5: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_6: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

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

CMP SO_PHEP_TINH, 0 ; DO LUC TRUOC DA CO PHEP TINH ROI NEN PHAI DOI DAU = HOAC LA GHI TIEP SO

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

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

NUT_1: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_2: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

NUT_3: ; NHAP SO VAO ROI NHAN 10

ADD NHAP, AX ; CONG VAO SO_NHAP

MOV NHAP, AX ; CHO LAI VAO SO_NHAP

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

CMP SO_PHEP_TINH, 0 ; DO LUC TRUOC DA CO PHEP TINH ROI NEN PHAI DOI DAU = HOAC LA GHI TIEP SO

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

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

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

MOV KET_QUA, 0 MOV SO_PHEP_TINH, 0 ; RESET HET TAT CA CAC BIEN MOV XOA_MH, 0

MOV CAC_CHU_SO, 0 MOV DAU_TRU, 0 CALL LCD_CLEAR

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

MOV DH,12 ;COT 12 CALL LCD_SET_CUR

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

CMP SO_PHEP_TINH, 0 ; NEU CHUA AN +-x/ THI HIEN LUON

CMP PHEP_TOAN, 2 ; THUC HIEN PHEP TOAN +-x/ NEU LA 1 2

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

CMP SO_PHEP_TINH, 0 ; DO LUC TRUOC DA CO PHEP TINH ROI NEN PHAI DOI DAU = HOAC LA GHI TIEP SO

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

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

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

ADD KET_QUA, BX ; THUC HIEN PHEP CONG

SUB KET_QUA, BX ; PHEP TRU

MOV AX, KET_QUA ; MUL = NHAN

MOV AX, KET_QUA ; DIV = CHIA

JAE KETQUA4 ; CHUC NANG BO SO 0

JE KHONG_DOI_DAU ; GHI DAU NEU NHU DOI DAU

MOV CX, CAC_CHU_SO ; LUU LAI SO CHUSO

MOV BIEN_CX, CX ; TRANH MAT BIEN TRONG THANH GHI

MOV CX, BIEN_CX ; BAT BUOC PHAI CO

MOV CX, CAC_CHU_SO ; KET QUA SE HIEN THI SO CHU

MOV HIEN_THI, 0 ; DEM_PHEP_TINH VAN KHAC 0

MOV BX, NHAP ; KHI AN DAU = MA KO AN +-x/

MOV KET_QUA, BX ; CHO SO NHAP = KET QUA MOV PHEP_TOAN, 0

TINH_LAN_DAU: ; DUNG KHI AN +-x/ LAN DAU MOV BX, NHAP

MOV NHAP, 0 ; RESET BIEN SO_NHAP

KETQUA5: ; DUNG DE DEM XEM CO BAO NHIEU CHU SO

PROC CHECK_DAU ; KIEM TRA DAU TRUOC KHI TINH TRU

PUSH AX ; LUU LAI GIA TRI THANH GHI TRANH MAT GIA TRI

JAE DUONG ; NHAY NEU LON HON HOAC BANG

MOV NHAP, AX ;KET_QUA = SO_NHAP ;SO_NHAP KET_QUA

POP BX ; TRA LAI DUNG GIA TRI THANH GHI

PROC LCD_INIT ; KHOI TAO LCD

MOV AL,0 CALL OUT_B ; SET CAC GIA TRI CUA RS=En=RW=0

MOV CX,1000 CALL DELAY ; CAI DAT LAI TRINH TU

MOV AH,30H ; 30H = 00110000B CALL LCD_CMD

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

CALL LCD_CMD MOV CX,500 CALL DELAY MOV AH,38H ; 38H = 00111000B CALL LCD_CMD

MOV AH,0CH ; 0CH = 00001100B CALL LCD_CMD

MOV AH,01H ;00000001B CALL LCD_CMD

MOV AH,06H ;00000110B CALL LCD_CMD

;CODE CHUNG DUNG MOI KHI THAY DOI SETUP CUA LED PROC LCD_CMD

;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

MOV AL,PORTB_VAL ; LAM CHAN RS CUA LED

AND AL,0FDH ; DUNG LENH OUT_B NEN PHAI DUNG AL

MOV AL,AH ; cho Al = AH VI OUT_A DUNG THANH GHI AL

MOV AL,PORTB_VAL ; BAT CHAN EN CUA LED LEN 1

AND AL,0FBH ; LAM CHO EN CUA LED 0

POP AX ; LAY LAI GIA TRI CAC THANH GHI POP DX

CALL LCD_CMD ; TAC DUNG LA XOA MAN HINH

PROC LCD_WRITE_CHAR ; VIET 1 KY TU VAO VI TRI CON TRO

OR AL,10B ; BAT RS LEN 1( CHE DO CHO DU LIEU VAO>

CALL OUT_A ; DOI QUA THANH GHI AL DE DUNG LENH OUT_A

OR AL,100B ; BAT CHAN EN LEN 1 CALL OUT_B

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

POP AX RET ENDP LCD_WRITE_CHAR

PROC LCD_PRINTSTR ; IN CHUOI KY TU VAO VI TRI CON TRO CHUOT

PUSH SI ; MOI LAN NAP LAI THAY DOI GIA TRI SI NEN PHAI PUSH SI DE LUU LAI

;DOC VA VIET KY TU

@LCD_PRINTSTR_LT: ; CO DF = 0 THI DOC THUAN,

LODSB ; load String byte: NAP DAN GIA TRI CAC KY TU VAO THANH GHI AL

MOV AH,AL ; CHO VAO AH DE DUNG HAM VIET KY TU

CALL LCD_WRITE_CHAR JMP @LCD_PRINTSTR_LT

POP AX POP SI RET ENDP LCD_PRINTSTR

PROC LCD_SET_CUR ; DIEU KHIEN VI TRI CON TRO

;LCD DUNG COT 0 LAM COT CO BAN

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

JE @ROW1 CMP DL,2 ; KIEM TRA XEM LA HANG 1 HAY 2

MOV AH,80H ; 80H = 10000000B JMP @LCD_SET_CUR_ENDCASE

MOV AH,0C0H ; C0H = 1100000B JMP @LCD_SET_CUR_ENDCASE

@LCD_SET_CUR_ENDCASE: ; DH = COT

ADD AH,DH ; GIASU T GOI COT 1 THI GIA TRI

CALL LCD_CMD ; AH = 10000001B ; HANG 1 COT 1

POP AX RET ENDP LCD_SET_CUR

PROC LCD_SHOW_CUR ; HIEN CON TRO

PUSH AX MOV AH,0FH ; 0FH = 00001111B CALL LCD_CMD

POP AX RET ENDP LCD_SHOW_CUR

PROC LCD_HIDE_CUR ; TAT HIEN CON TRO

PUSH AX MOV AH,0CH

CALL LCD_CMD ; 0CH = 00001100B POP AX

RET ENDP LCD_HIDE_CUR

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

OUT DX,AL MOV PORTA_VAL,AL POP DX

PUSH DX MOV DX,PB

OUT DX,AL ; CHO GIA TRI AL VAO O NHO CO DIA CHI CUA PB

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

POP DX RET ENDP OUT_B

PUSH DX MOV DX,PC OUT DX,AL MOV PORTC_VAL,AL POP DX

RET ; TUONG TU PB ENDP OUT_C

Ngày đăng: 03/04/2022, 15:55

HÌNH ẢNH LIÊN QUAN

Hình 2. Sơ đồ mơ tả cấu trúc của bộ vi xử lý 8086 - 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
Hình 2. Sơ đồ mơ tả cấu trúc của bộ vi xử lý 8086 (Trang 4)
Hình 3. Sơ đồ chân của bộ vi xử lý 8086 - 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
Hình 3. Sơ đồ chân của bộ vi xử lý 8086 (Trang 5)
Gv ghi bảng Gv hỏi Gv ghi bảng - 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
v ghi bảng Gv hỏi Gv ghi bảng (Trang 7)
Hình 4. Cấu trúc 8255A - 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
Hình 4. Cấu trúc 8255A (Trang 11)
Hình 5.Sơ đồ khối 8255A - 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
Hình 5. Sơ đồ khối 8255A (Trang 12)
Hình 6. 74LS373 - 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
Hình 6. 74LS373 (Trang 13)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w