1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

vi xử lý hệ thống điều khiển led 7 đoạn

140 1,1K 2
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Hệ Thống Điều Khiển Led 7 Đoạn
Tác giả Phạm Quang Trí
Trường học Khoa Công Nghệ Điện Tử
Chuyên ngành Điện Tử Công Nghiệp
Thể loại Tài Liệu Hướng Dẫn Thí Nghiệm - Thực Hành
Định dạng
Số trang 140
Dung lượng 1,98 MB

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

Nội dung

Bài 1: Chương trình ñiều khiển hiển thị số 7 trên LED4 LED4 ñược nối với Port0.. Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 LED4 ñược nối với Port0.. Bài 2:

Trang 1

BỘ MÔN ðIỆN TỬ CÔNG NGHIỆP TÀI LIỆU HƯỚNG DẪN

THÍ NGHIỆM - THỰC HÀNH

Trang 2

A MỤC ðÍCH:

• Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi ñiều khiển và sử dụng mô hình thí nghiệm ñể kiểm chứng

• ðiều khiển thiết bị ngoại vi bằng các port của vi ñiều khiển

• ðiều khiển việc hiển thị bằng cách sử dụng LED 7 ñoạn theo nhiều phương pháp khác nhau

• ðiều khiển việc hiển thị các thông tin và số liệu bằng cách sử dụng các bộ hiển thị dùng LED 7 ñoạn

B YÊU CẦU:

• Nắm vững tập lệnh của vi ñiều khiển MCS-51

• Biết cách viết các chương trình ñiều khiển LED 7 ñoạn ở chế ñộ:

mềm)

phần mềm)

cứng)

• Nắm ñược sơ ñồ và nguyên lý hoạt ñộng của khối LED 7 ñoạn trên mô hình thí nghiệm

• Nắm ñược sơ ñồ và nguyên lý ñiều khiển LED 7 ñoạn theo phương pháp:

mềm)

phần mềm)

cứng)

• Biết cách viết các chương trình ñiều khiển ñể hiển thị các thông tin và số liệu trên các bộ hiển thị dùng LED 7 ñoạn

Trang 3

Bài 1: Chương trình điều khiển hiển thị số 7 trên LED4 (LED4 được nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 đoạn với J34 (SWITCH) ở khối cơng tắc và gạt tất cả các cơng tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J14 (7SEG OUT 1) ở khối giải mã với J8 (7SEG4 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J16 (BCD IN 1-2) ở khối giải mã

• Dùng hai dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn và J36 (POWER) ở khối giải mã với nguồn +5V ở khối nguồn

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0 AD1 AD2 AD3 AD4 AD5 AD6

AD7 AD6 AD5 AD4 AD3 AD2 AD1

AD0 AD1 AD2 AD3

A B C D E F G

A B C D E F G

XTAL2 18

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

MẠCH ĐIỀ U KHIỂ N LED 7 ĐOẠN

A 7

QA 13B

Trang 4

Bài 1: Chương trình ñiều khiển hiển thị số 7 trên LED4 (LED4 ñược nối với Port0)

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 7 TREN LED 7 DOAN

;***************************************************

1.4 Lưu chương trình và biên dịch chương trình

1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có

1.6 Gắn chip vi ñiều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt ñộng

1.7 Nạp chương trình vào vi ñiều khiển

1.8 Sử dụng vi ñiều khiển vừa nạp gắn vào socket tương ứng trên khối vi ñiều khiển

1.9 Bật nguồn cho mô hình thí nghiệm Quan sát kết quả hoạt ñộng, nếu kết quả hoạt ñộng không ñúng yêu cầu của ñề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 ñến bước 9

2 Bài tập:

(xem thêm trong phần hướng dẫn và phần bài tập của Bài 2)

Trang 5

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

• Cách 1:

XUẤT SỐ 0 RA PORT (P0) = 00H BEGIN

GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 1 RA PORT (P0) = 01H GỌI CTC TẠO TRỄ DELAY500MS

B2.1 NB

XUẤT SỐ 2 RA PORT (P0) = 02H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 3 RA PORT (P0) = 03H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 4 RA PORT (P0) = 04H GỌI CTC TẠO TRỄ DELAY500MS

XUẤT SỐ 6 RA PORT (P0) = 06H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 7 RA PORT (P0) = 07H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 8 RA PORT (P0) = 08H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 9 RA PORT (P0) = 09H GỌI CTC TẠO TRỄ DELAY500MS MAIN:

XUẤT SỐ 5 RA PORT (P0) = 05H GỌI CTC TẠO TRỄ DELAY500MS

Trang 6

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

CJNE A ,#10,LOOP ;GIA TRI KET THUC + 1

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 3 trên LED1

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 5 trên LED2

Trang 7

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 5 xuống 0 trên LED2

• Bài 4: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

Trang 8

Bài 3: Chương trình ñiều khiển hiển thị số 35 trên hai LED (LED5 và LED4 ñược nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mô hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 ñoạn với J34 (SWITCH) ở khối công tắc và gạt tất cả các công tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J14 (7SEG OUT 1) ở khối giải mã với J8 (7SEG4 IN) ở khối LED 7 ñoạn

• Dùng dây bus 8 nối J17 (7SEG OUT 2) ở khối giải mã với J7 (7SEG5 IN) ở khối LED 7 ñoạn

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi ñiều khiển với J16 (BCD IN 1-2) ở khối giải mã

• Dùng hai dây bus 3 nối J110 (POWER) ở khối LED 7 ñoạn và J36 (POWER) ở khối giải mã với nguồn +5V ở khối nguồn

AD3 AD4 AD5 AD6

AD7 AD6 AD4 AD3 AD2 AD1

AD4 AD5

AD7

A1 B1 C1

E1 F1 G1

A1 B1

D1 E1 F1 G1

AD0 AD1 AD2

A2 B2 C2

E2 F2 G2

A2 B2 C2

E2 F2 G2 XTAL2

18

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

7 8 9

QB 12C

2

QC 11D

BI/RBO

RBI 5

QF 15LT

QA 13B

C

D 6

QD 10BI/RBO

4

QE 9RBI

Trang 9

Bài 3: Chương trình ñiều khiển hiển thị số 35 trên hai LED (LED5 và LED4 ñược nối với Port0)

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 35 TREN LED 7 DOAN

;***************************************************

Trang 10

Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED5 và LED4 ñược nối với

Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 3

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 3

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 TREN LED 7 DOAN

;***************************************************

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 53 trên hai LED

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 59 trên hai LED

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 59 xuống 00 trên hai LED

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 23 trên hai LED

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 23 xuống 00 trên hai LED

Trang 11

Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED5 và LED4 ñược nối với

• ðể giãm giá trị trong thanh ghi A xuống một ñơn vị (theo kiểu BCD) ta có thể dùng tổ hợp lệnh sau:

SETB C ;XU LY LOI (CHO CY = 1) ERROR:

• Khi sử dụng tổ hợp lệnh giãm như trên cần phải lưu ý rằng:

dụ trước: so sánh với 81H)

trước: so sánh với F0H)

Trang 12

Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED (LED5 và LED4 được nối với Port1, LED7 và

LED6 được nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 đoạn với J34 (SWITCH) ở khối cơng tắc và gạt tất cả các cơng tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J14 (7SEG OUT 1) ở khối giải mã với J8 (7SEG4 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J17 (7SEG OUT 2) ở khối giải mã với J7 (7SEG5 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J19 (7SEG OUT 3) ở khối giải mã với J6 (7SEG6 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J21 (7SEG OUT 4) ở khối giải mã với J5 (7SEG7 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J16 (BCD IN 1-2) ở khối giải mã

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J20 (BCD IN 3-4) ở khối giải mã

• Dùng hai dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn và J36 (POWER) ở khối giải mã với nguồn +5V ở khối nguồn

1.2 Sơ đồ nguyên lý của hệ thống:

AD7

AD0

AD0 AD2 AD4 AD6

AD7 AD5 AD3 AD1 AD0 AD2

A1 C1 E1 G1

AD4 AD6

A2 C2 E2 G2

A2 C2 E2 G2

A3 C3 E3 G3

A4 C4 E4 G4

A3 C3 E3 G3

A4 C4 E4 G4

P1.4 P1.6

G1 F1 D1 B1

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1

AT89C51

C1 33p

C2 33p

X1

12MHz

2 4 6 8

1 RP1

10K

MẠCH ĐIỀ U KHIỂ N LED 7 ĐOẠN

A 7

QA 13B

C

D 6

QD 10BI/RBO

RBI

LT 3

QG 14U2

74LS47

LED4

+5V R11

56 R12

56 R13

56 R14

56 R15

56 R16

56 R17

QC 11D

BI/RBO 4

QE 9RBI

5

QF 15LT

U3

74LS47

R2 56 R3 56 R4 56 R5 56 R6 56 R7 56 R8 56

LED5 +5V

A 7

QA 13B

1

QB 12C

D 6

QD 10BI/RBO

RBI

LT 3

QG 14U4

74LS47

R9 56 R10 56

R18 56

R19 56

R20 56

R21 56

R22 56

QC 11D

BI/RBO

RBI 5

QF 15LT

U5

74LS47

R23 56

R24 56

R25 56

R26 56

R27 56

R28 56

R29 56

LED6 +5V

LED7 +5V

Trang 13

Bài 5: Chương trình ñiều khiển hiển thị số 1234 trên bốn LED (LED5 và LED4 ñược nối với Port1, LED7 và

LED6 ñược nối với Port0)

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN

;***************************************************

;***************************************************

ORG 00H

Trang 14

Bài 6: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 ñến 9999 trên bốn LED (LED5 và LED4 ñược nối

với Port1, LED7 và LED6 ñược nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 5

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 5

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

NẠP GIÁ TRỊ BẮT ðẦU (R0) = 00H - CHỤC/ðƠN VỊ (R1) = 00H - NGÀN/TRĂM BEGIN

GỌI CTC TẠO TRỄ DELAY500MS

B6 NB MAIN:

LOOP:

TĂNG GIÁ TRỊ CỦA DỮ LIỆU (TĂNG THEO KIỂU DEC) ADD / DA - (R0) - CHỤC/ðƠN VỊ

GIÁ TRỊ ≠ 00H (100H) (CHƯA ðẾM XONG; ≤99)

ð

S

XUẤT DỮ LIỆU RA PORT (P0) = (R0) - CHỤC/ðƠN VỊ (P1) = (R1) - NGÀN/TRĂM

TĂNG GIÁ TRỊ CỦA DỮ LIỆU (TĂNG THEO KIỂU DEC) ADD / DA - (R1) - NGÀN/TRĂM

GIÁ TRỊ ≠ 00H (100H) (CHƯA ðẾM XONG; ≤99)

Trang 15

Bài 6: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 ñến 9999 trên bốn LED (LED5 và LED4 ñược nối

với Port1, LED7 và LED6 ñược nối với Port0)

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 5678 trên bốn LED

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 5999 trên bốn LED

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 5999 xuống 0000 trên bốn LED

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 1234 trên bốn LED

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 1234 xuống 0000 trên bốn LED

• Bài 6: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

3 Hướng dẫn:

• ðể giãm giá trị trong thanh ghi A xuống một ñơn vị (theo kiểu BCD) ta có thể dùng tổ hợp lệnh sau:

SETB C ;XU LY LOI (CHO CY = 1) ERROR:

• Khi sử dụng tổ hợp lệnh giãm như trên cần phải lưu ý rằng:

bỏ qua thao tác này do giá trị sau khi tăng hoặc giãm lại trùng với giá trị ban ñầu

Trang 16

Bài 1: Chương trình điều khiển hiển thị số 7 trên LED4 (LED4 được nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 đoạn với J34 (SWITCH) ở khối cơng tắc và gạt tất cả các cơng tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J8 (7SEG4 IN) ở khối LED 7 đoạn

• Dùng dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn với nguồn +5V ở khối nguồn

AD7 AD6 AD5 AD4 AD3 AD2 AD1

A B C D E F G

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

MẠCH ĐIỀU KHIỂN LED 7 ĐOẠN

Trang 17

Bài 1: Chương trình ñiều khiển hiển thị số 7 trên LED4 (LED4 ñược nối với Port0)

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 7 TREN LED 7 DOAN

;***************************************************

Trang 18

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

• Cách 1:

XUẤT MÃ CỦA SỐ 0 RA PORT (P0) = C0H BEGIN

GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 1 RA PORT (P0) = F9H GỌI CTC TẠO TRỄ DELAY500MS

B2.1 N7

XUẤT MÃ CỦA SỐ 2 RA PORT (P0) = A4H GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 3 RA PORT (P0) = B0H GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 4 RA PORT (P0) = 99H GỌI CTC TẠO TRỄ DELAY500MS

XUẤT MÃ CỦA SỐ 6 RA PORT (P0) = 82H GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 7 RA PORT (P0) = F8H GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 8 RA PORT (P0) = 80H GỌI CTC TẠO TRỄ DELAY500MS XUẤT MÃ CỦA SỐ 9 RA PORT (P0) = 90H GỌI CTC TẠO TRỄ DELAY500MS MAIN:

XUẤT MÃ CỦA SỐ 5 RA PORT (P0) = 92H GỌI CTC TẠO TRỄ DELAY500MS

Trang 19

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

B2.2 N7

NẠP GIÁ TRỊ BẮT ðẦU (R0) = 00H DISP:

MAIN:

NẠP DỮ LIỆU HIỂN THỊ (A) = (R0) GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) XUẤT MÃ DỮ LIỆU RA PORT (P0) = (A) GỌI CTC TẠO TRỄ DELAY500MS TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R0) = (R0) + 1

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S VÙNG DỮ LIỆU CODEDISP C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H

;***************************************************

ORG 00H

MAIN:

DISP:

MOVC A , @A+DPTR ;LAY MA HIEN THI

Trang 20

Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED4 (LED4 ñược nối với Port0)

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 3 trên LED2

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 5 trên LED3

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 5 xuống 0 trên LED3

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ 0 lên F trên LED0

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ F xuống 0 trên LED0

• Bài 6: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 7: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

Trang 21

Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED (LED4 được nối với Port0, LED5 được nối với

Port1)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 đoạn với J34 (SWITCH) ở khối cơng tắc và gạt tất cả các cơng tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J8 (7SEG4 IN) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J7 (7SEG5 IN) ở khối LED 7 đoạn

• Dùng dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn với nguồn +5V ở khối nguồn

AD7 AD6 AD5 AD4 AD3 AD2 AD1

AD0 AD1 AD2 AD3 AD4 AD5 AD6

G2

A2 B2 C2 D2 E2 F2 G2

G1

B1 C1 D1 E1 F1 XTAL2

18

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

MẠCH ĐIỀ U KHIỂ N LED 7 ĐOẠN

Trang 22

Bài 3: Chương trình ñiều khiển hiển thị số 35 trên hai LED (LED4 ñược nối với Port0, LED5 ñược nối với

;***************************************************

ORG 00H

MAIN:

Trang 23

Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED4 ñược nối với Port0,

LED5 ñược nối với Port1)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 3

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 3

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

BEGIN NẠP ðỊA CHỈ VÙNG MÃ 7 ðOẠN (DPTR) = CODEDISP B4

NẠP GIÁ TRỊ BẮT ðẦU (R0) = 00H - ðƠN VỊ (R1) = 00H - CHỤC DISP:

MAIN:

NẠP DỮ LIỆU HIỂN THỊ (A) = (R0) - ðƠN VỊ GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - ðƠN VỊ

XUẤT MÃ DỮ LIỆU RA PORT (P1) = (A) - CHỤC GỌI CTC TẠO TRỄ DELAY500MS TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R0) = (R0) + 1 - ðƠN VỊ

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S

NẠP DỮ LIỆU HIỂN THỊ (A) = (R1) - CHỤC GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - CHỤC

XUẤT MÃ DỮ LIỆU RA PORT (P0) = (A) - ðƠN VỊ

KHỞI ðỘNG LẠI GIÁ TRỊ (R0) = 00H - ðƠN VỊ TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R1) = (R1) + 1 - CHỤC

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S VÙNG DỮ LIỆU CODEDISP C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H

;***************************************************

ORG 00H

MAIN:

DISP:

MOVC A , @A+DPTR ;LAY MA HIEN THI

MOVC A , @A+DPTR ;LAY MA HIEN THI

LCALL DELAY500MS

Trang 24

Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED4 ñược nối với Port0,

LED5 ñược nối với Port1)

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 53 trên hai LED

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 59 trên hai LED

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 23 trên hai LED

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 23 xuống 00 trên hai LED

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ 00 lên FF trên hai LED

• Bài 6: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ AB xuống 00 trên hai LED

• Bài 7: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

Trang 25

Bài 5: Chương trình ñiều khiển hiển thị số 1234 trên bốn LED (LED4 ñược nối với Port0, LED5 ñược nối với

Port1, LED6 ñược nối với Port2 và LED7 ñược nối với Port3)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mô hình thí nghiệm

• Dùng dây bus 8 nối J2 (SEL LED IN) ở khối LED 7 ñoạn với J34 (SWITCH) ở khối công tắc và gạt tất cả các công tắc ở vị trí ON (vị trí GND)

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi ñiều khiển với J5 (7SEG7 IN) ở khối LED 7 ñoạn

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi ñiều khiển với J6 (7SEG6 IN) ở khối LED 7 ñoạn

• Dùng dây bus 8 nối J65 (PORT2 / A8 A15) ở khối vi ñiều khiển với J7 (7SEG5 IN) ở khối LED 7 ñoạn

• Dùng dây bus 8 nối J66 (PORT3 / FUNCTION) ở khối vi ñiều khiển với J8 (7SEG4 IN) ở khối LED 7 ñoạn

• Dùng dây bus 3 nối J110 (POWER) ở khối LED 7 ñoạn với nguồn +5V ở khối nguồn

AD7 AD5 AD3 AD1

A1 C1 E1 G1

AD0 AD2 AD4 AD6

G2

A2 C2 E2 G2

B4 C4 E4 G4

B3 C3 E3 G3

B4 C4 E4 G4 G1 A1

F1 D1 B1 XTAL2

18 XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

Trang 26

Bài 5: Chương trình ñiều khiển hiển thị số 1234 trên bốn LED (LED4 ñược nối với Port0, LED5 ñược nối với

Port1, LED6 ñược nối với Port2 và LED7 ñược nối với Port3)

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

BEGIN XUẤT MÃ CỦA SỐ 4 RA PORT (P0) = 99H - ðƠN VỊ B5

END

XUẤT MÃ CỦA SỐ 3 RA PORT (P1) = B0H - CHỤC XUẤT MÃ CỦA SỐ 2 RA PORT (P2) = A4H - TRĂM XUẤT MÃ CỦA SỐ 1 RA PORT (P3) = F9H - NGÀN

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN

;***************************************************

;***************************************************

ORG 00H

MAIN:

Trang 27

Bài 6: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 9999 trên bốn LED (LED4 ñược nối với Port0,

LED5 ñược nối với Port1, LED6 ñược nối với Port2 và LED7 ñược nối với Port3)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 5

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 5

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

BEGIN NẠP ðỊA CHỈ VÙNG MÃ 7 ðOẠN (DPTR) = CODEDISP B6

NẠP GIÁ TRỊ BẮT ðẦU (R0) = 00H - ðƠN VỊ (R1) = 00H - CHỤC (R2) = 00H - TRĂM (R3) = 00H - NGÀN DISP:

MAIN:

NẠP DỮ LIỆU HIỂN THỊ (A) = (R0) - ðƠN VỊ GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - ðƠN VỊ

XUẤT MÃ DỮ LIỆU RA PORT (P1) = (A) - CHỤC

GỌI CTC TẠO TRỄ DELAY500MS

TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R0) = (R0) + 1 - ðƠN VỊ

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S NẠP DỮ LIỆU HIỂN THỊ

(A) = (R1) - CHỤC GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - CHỤC

XUẤT MÃ DỮ LIỆU RA PORT (P0) = (A) - ðƠN VỊ

KHỞI ðỘNG LẠI GIÁ TRỊ (R0) = 00H - ðƠN VỊ TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R1) = (R1) + 1 - CHỤC

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S

VÙNG DỮ LIỆU CODEDISP C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H

NẠP DỮ LIỆU HIỂN THỊ (A) = (R2) - TRĂM GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - TRĂM

XUẤT MÃ DỮ LIỆU RA PORT (P3) = (A) - NGÀN

NẠP DỮ LIỆU HIỂN THỊ (A) = (R3) - NGÀN GIẢI MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) - NGÀN

XUẤT MÃ DỮ LIỆU RA PORT (P2) = (A) - TRĂM

KHỞI ðỘNG LẠI GIÁ TRỊ (R1) = 00H - CHỤC TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R2) = (R2) + 1 - TRĂM

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

ð

S KHỞI ðỘNG LẠI GIÁ TRỊ (R2) = 00H - TRĂM TĂNG GIÁ TRỊ CỦA DỮ LIỆU (R3) = (R3) + 1 - NGÀN

GIÁ TRỊ ≠ 10 (0AH) (CHƯA ðẾM XONG; ≤ 9)

;***************************************************

ORG 00H

MAIN:

DISP:

MOVC A , @A+DPTR ;LAY MA HIEN THI

Trang 28

Bài 6: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 9999 trên bốn LED (LED4 ñược nối với Port0,

LED5 ñược nối với Port1, LED6 ñược nối với Port2 và LED7 ñược nối với Port3)

MOVC A , @A+DPTR ;LAY MA HIEN THI

MOVC A , @A+DPTR ;LAY MA HIEN THI

MOVC A , @A+DPTR ;LAY MA HIEN THI

LCALL DELAY500MS

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 5678 trên bốn LED

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 5999 trên bốn LED

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 5999 xuống 0000 trên bốn LED

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0000 lên 1234 trên bốn LED

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 1234 xuống 0000 trên bốn LED

• Bài 6: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ 0000 lên FFFF trên bốn LED

• Bài 7: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ FFFF xuống 0000 trên bốn LED

• Bài 8: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ 0000 lên ABCD trên bốn LED

• Bài 9: Hãy viết chương trình ñiều khiển hiển thị ñếm số HEX từ ABCD xuống 0000 trên bốn LED

• Bài 10: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 11: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

Trang 29

đa hợp bên ngồi)) Bài 1: Chương trình điều khiển hiển thị số 1 trên LED0 (LED0 được nối với Port0, tín hiệu SEL7 được nối với

P1.0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Tắt nguồn cấp cho mơ hình thí nghiệm

• Dùng dây bus 8 nối J14 (7SEG OUT 1) ở khối giải mã với J4 (7SEG IN MUL) ở khối LED 7 đoạn

• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J16 (BCD IN 1-2) ở khối giải mã

• Dùng dây bus 4 nối J64 (PORT1) ở khối vi điều khiển với J1 (SEL IN1) ở khối LED 7 đoạn (chú ý là ta chỉ nối 4 bit thấp của J64 và J1 với nhau)

• Dùng hai dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn và J36 (POWER) ở khối giải mã với nguồn +5V ở khối nguồn

AD7 AD6 AD5 AD4 AD3 AD2 AD1

AD0 AD1 AD2 AD3

A B C D E F G

A B C D E F G

XTAL2 18

XTAL1 19

ALE 30 EA 31 PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

MẠCH ĐIỀU KHIỂN LED 7 ĐOẠN

A

B 1

QB 12C

Trang 30

ña hợp bên ngoài)) Bài 1: Chương trình ñiều khiển hiển thị số 1 trên LED0 (LED0 ñược nối với Port0, tín hiệu SEL7 ñược nối với

;***************************************************

ORG 00H

MAIN:

Trang 31

ña hợp bên ngoài)) Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED0 (LED0 ñược nối với Port0, tín hiệu

SEL7 ñược nối với P1.0)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

• Cách 1:

XUẤT SỐ 0 RA PORT (P0) = 00H BEGIN

GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 1 RA PORT (P0) = 01H GỌI CTC TẠO TRỄ DELAY500MS

B2.1 MBI

XUẤT SỐ 2 RA PORT (P0) = 02H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 3 RA PORT (P0) = 03H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 4 RA PORT (P0) = 04H GỌI CTC TẠO TRỄ DELAY500MS

XUẤT SỐ 6 RA PORT (P0) = 06H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 7 RA PORT (P0) = 07H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 8 RA PORT (P0) = 08H GỌI CTC TẠO TRỄ DELAY500MS XUẤT SỐ 9 RA PORT (P0) = 09H GỌI CTC TẠO TRỄ DELAY500MS MAIN:

XUẤT SỐ 5 RA PORT (P0) = 05H GỌI CTC TẠO TRỄ DELAY500MS

XUẤT MÃ ðIỀU KHIỂN LED (P1) = 11111110B = FEH

Trang 32

ña hợp bên ngoài)) Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED0 (LED0 ñược nối với Port0, tín hiệu

SEL7 ñược nối với P1.0)

GỌI CTC TẠO TRỄ DELAY500MS

B2.2 MBI MAIN:

;***************************************************

ORG 00H

MAIN:

LOOP:

LCALL DELAY500MS

Trang 33

ña hợp bên ngoài)) Bài 2: Chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 9 trên LED0 (LED0 ñược nối với Port0, tín hiệu

SEL7 ñược nối với P1.0)

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 5 trên LED5

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 0 lên 5 trên LED4

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 5 xuống 0 trên LED4

• Bài 4: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay ñổi như thế nào? Tại sao? Tiến hành mô phỏng thử xem sao?

• Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình

Trang 34

ña hợp bên ngoài)) Bài 3: Chương trình ñiều khiển hiển thị số 12 trên hai LED (LED1, LED0 ñược nối với Port0; tín hiệu SEL0 và

SEL1 lần lượt ñược nối với P1.0 và P1.1)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1

1.2 Sơ ñồ nguyên lý của hệ thống:

AD7

AD0

AD0

AD2 AD3 AD4 AD5

AD7 AD5 AD4 AD3 AD2

AD0

AD2 AD3

A B C D E F G

A

C D E F G

A B C D E F G

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32

P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8

P3.0/RXD 10P3.1/TXD 11P3.2/INT0 12P3.3/INT1 13P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15P2.7/A15 28

P2.0/A8 21P2.1/A9 22P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27

8 9

QA 13B

1

QB 12C

D

BI/RBO 4

QE 9RBI

5

QF 15LT

Trang 35

ña hợp bên ngoài)) Bài 3: Chương trình ñiều khiển hiển thị số 12 trên hai LED (LED1, LED0 ñược nối với Port0; tín hiệu SEL0 và

SEL1 lần lượt ñược nối với P1.0 và P1.1)

;***************************************************

;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN

;***************************************************

;***************************************************

ORG 00H

MAIN:

LCALL DELAYLED

Trang 36

ña hợp bên ngoài)) Bài 3: Chương trình ñiều khiển hiển thị số 12 trên hai LED (LED1, LED0 ñược nối với Port0; tín hiệu SEL0 và

SEL1 lần lượt ñược nối với P1.0 và P1.1)

• Cách 2:

BEGIN NẠP ðỊA CHỈ VÙNG MÃ (DPTR) = 100H

B3.2 MBI

NẠP SỐ LẦN QUÉT (2 LED) (R0) = 02H DISP:

MAIN:

NẠP OFFSET DỮ LIỆU HIỂN THỊ

(A) = (R1) LẤY MÃ DỮ LIỆU HIỂN THỊ (A) = (@A+DPTR) XUẤT MÃ DỮ LIỆU RA PORT (P0) = (A)

GỌI CTC TẠO TRỄ CHO 1 LED DELAYLED

TĂNG OFFSET CỦA DỮ LIỆU (R1) = (R1) + 1

ð

S VÙNG DỮ LIỆU CODEDISP – 100H

02H,01H VÙNG DỮ LIỆU CODESCAN – 110H

FEH,FDH

NẠP OFFSET CỦA DỮ LIỆU (R1) = 00H – CODEDISP (100H) NẠP OFFSET CỦA MÃ QUÉT (R2) = 10H – CODESCAN (110H) DISP1:

NẠP OFFSET MÃ QUÉT (A) = (R2) LẤY MÃ QUÉT (A) = (@A+DPTR) XUẤT MÃ QUÉT RA PORT (P1) = (A)

TẮT HIỂN THỊ - CHỐNG LEM (P1) = 11111111B = FFH

TĂNG OFFSET CỦA MÃ QUÉT (R2) = (R2) + 1 GIÃM SỐ LẦN QUÉT LED

SỐ LẦN QUÉT ≠ 0 (CHƯA QUÉT XONG)

DISP1:

MOVC A , @A+DPTR

MOVC A , @A+DPTR

LCALL DELAYLED

Trang 37

ña hợp bên ngoài)) Bài 3: Chương trình ñiều khiển hiển thị số 12 trên hai LED (LED1, LED0 ñược nối với Port0; tín hiệu SEL0 và

SEL1 lần lượt ñược nối với P1.0 và P1.1)

NẠP GIÁ TRỊ HÀNG ðƠN VỊ (60H) = 02H GỌI CTC QUÉT-HIỂN THỊ DISP7SEGMUL2

MAIN:

B3.3 MBI

CẤT TẠM GIÁ TRỊ CỦA ACC, R0 VÀO STACK

DISP7SEGMUL2

NAME: DISP7SEGMUL2 - QUÉT HIỂN THỊ 2 LED 7 ðOẠN.

INPUT: 61H, 60H = GIÁ TRỊ HIỂN THỊ (CHỤC/ðƠN VỊ).

OUTPUT: P0 = 7 ðOẠN LED / DP (MSB) - A (LSB).

P1 = QUÉT LED / LEFT (MSD) – RIGHT (LSD).

(R0) = 61H DISP:

XUẤT GIÁ TRỊ RA PORT (P0) = (@R0) XUẤT MÃ QUÉT RA PORT (P1) = (A) GỌI CTC TẠO TRỄ CHO 1 LED DELAYLED

LẤY ðỊA CHỈ NƠI CHỨA GIÁ TRỊ HIỂN THỊ KẾ TIẾP

(R0) = (R0) - 1

TẮT HIỂN THỊ - CHỐNG LEM (P1) = 11111111B = FFH

DỊCH MÃ QUÉT LED

RR A - QUÉT LED KẾ TIẾP

QUÉT LED ? (CHƯA QUÉT XONG)

;***************************************************

ORG 00H

Trang 38

ña hợp bên ngoài)) Bài 3: Chương trình ñiều khiển hiển thị số 12 trên hai LED (LED1, LED0 ñược nối với Port0; tín hiệu SEL0 và

SEL1 lần lượt ñược nối với P1.0 và P1.1)

MAIN:

LCALL DISP7SEGMUL2 ;QUET HIEN THI

;***************************************************

;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN)

;***************************************************

;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)

;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM

;***************************************************

;***************************************************

DISP7SEGMUL2:

PUSH 00H

DISP:

LCALL DELAYLED

Trang 39

ña hợp bên ngoài)) Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED1, LED0 ñược nối với

Port0; tín hiệu SEL0 và SEL1 lần lượt ñược nối với P1.0 và P1.1)

1 Trình tự tiến hành thí nghiệm:

1.1 Kết nối thiết bị thí nghiệm

• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1

1.2 Sơ ñồ nguyên lý của hệ thống:

• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 3

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển

NẠP GIÁ TRỊ BẮT ðẦU (60H) = 00H - ðƠN VỊ (61H) = 00H - CHỤC BEGIN

GỌI CTC DELAY VÀ QUÉT-HIỂN THỊ

DELAY_SCAN

MAIN:

B4 MBI

TĂNG GIÁ TRỊ HÀNG ðƠN VỊ (60H) = (60H) + 1

ðƠN VỊ ≠ 10 (0AH) (CHƯA TĂNG XONG; ≤ 9)

ð

S NẠP LẠI GIÁ TRỊ HÀNG ðƠN VỊ (60H) = 00H MP1:

TĂNG GIÁ TRỊ HÀNG CHỤC (61H) = (61H) + 1

CHỤC ≠ 10 (0AH) (CHƯA TĂNG XONG; ≤ 9)

ð

S

DELAY_SCAN CẤT TẠM GIÁ TRỊ CỦA R0 VÀO

STACK NẠP GIÁ TRỊ VÒNG LẶP (R0) = 50

LOOP2:

GIÃM SỐ LẦN LẶP

SỐ LẦN LẶP ≠ 0 (CHƯA LẶP XONG)

ð

S LẤY LẠI GIÁ TRỊ CHO R0 TỪ

STACK RET

KHỞI ðỘNG TIMER (TIMER 0, MODE 1) (TMOD) = 01H

NẠP GIÁ TRỊ CHO TIMER (T DELAY = 5000.T MÁY ) (TH0/TL0) = -5000 = EC78H

CHƯA ðỦ THỜI GIAN (TF0) = 0

SCAN:

GỌI CTC QUÉT-HIỂN THỊ DISP7SEGMUL2

;***************************************************

ORG 00H

MAIN:

MP1:

LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI

MOV A ,60H

CJNE A ,#10,MP1 ;KIEM TRA HANG DON VI > 9

Trang 40

ña hợp bên ngoài)) Bài 4: Chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 99 trên hai LED (LED1, LED0 ñược nối với

Port0; tín hiệu SEL0 và SEL1 lần lượt ñược nối với P1.0 và P1.1)

;***************************************************

;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)

;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM

;***************************************************

;***************************************************

DISP7SEGMUL2:

PUSH 00H

DISP:

LCALL DELAYLED

LCALL DISP7SEGMUL2 ;GOI CTC QUET HIEN THI

• Bài 1: Hãy viết chương trình ñiều khiển hiển thị số 34 trên hai LED

• Bài 2: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 59 trên hai LED

• Bài 3: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 59 xuống 00 trên hai LED

• Bài 4: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 00 lên 23 trên hai LED

• Bài 5: Hãy viết chương trình ñiều khiển hiển thị ñếm số BCD từ 23 xuống 00 trên hai LED

Ngày đăng: 09/05/2014, 21:14

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

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