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

vi xử lý hệ thống điều khiển dac

12 732 3
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

Định dạng
Số trang 12
Dung lượng 560,33 KB

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

Nội dung

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.. Bài 1: Chương trình điều khiển biến đổ

Trang 1

KHOA CÔNG NGHỆ ĐIỆN TỬ

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

• Khảo sát nguyên lý hoạt động của vi mạch DAC 0808

• Thực hiện việc biến đổi từ tín hiệu số (Digital) sang tín hiệu tương tự (Analog)

B YÊU CẦU:

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

• Tham khảo trước và nắm được hoạt động của vi mạch DAC 0808

Trang 3

Bài 1: Chương trình điều khiển biến đổi D/A thơng qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục 00H, 01H, 02H, 04H, 08H, 10H, 20H, 40H ,80H, C0H và FFH, mỗi lần cách nhau 2 giây

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 J64 (PORT1) ở khối vi điều khiển với J37 (DIGITAL IN) ở khối DACõ

• Dùng máy đo VOM để đo điện áp tại J38 (ANALOG OUT) ở khối DAC

• Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn

VI ĐIỀU KHIỂN

A0 A7

SELECT

POWER SW DAC

NGUỒN 5V, 12V 8

8

VOM

1

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

AD7

AD0

AD0 AD2 AD4 AD6

AD7 AD5 AD3 AD1

P1.7

P1.0

P1.6 P1.4 P1.2

P1.0

P1.2

P1.4

P1.6

XTAL2 18

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.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 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14

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

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

U1

AT89C51 VCC=+5V

C1

33p

C2

33p

X1

12MHz

C3

10uF

R1

10k

+5V

2 4 6 8

1

RP1

10K

MẠCH ĐIỀU KHIỂN DAC (DIGITAL TO ANALOG CONVERTER)

A2

14

A1 5

A3 7 A4 8 A5 9 A6 10 A7 11 A8 12

VREF- 15

U2

DAC0808 VCC=+12V

+88.8

Volts

DIEN AP ANALOG R2

2K7

R3

2K7

D1

5V

RV2

10K

C4

10uF

C5

100nF

R6

2K7

C6

100nF

C7

100nF

C8

100nF

U3

LM741

+88.8

Volts

DIEN AP CHUAN

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

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

;CHUONG TRINH DIEU KHIEN BIEN DOI D/A THONG QUA DAC0808 VA

;HIEN THI GIA TRI ANALOG (DANG DIEN AP) LEN VOLT KE

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

;KET NOI: DIGITAL IN -> PORT1

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

ORG 00H

MAIN:

MOV DPTR,#MYDATA ;NAP DIA CHI VUNG DU LIEU CAN CHUYEN DOI D/A

MOV R0 ,#11 ;SO BIEN DU LIEU TRONG VUNG DU LIEU

MP1:

Trang 4

Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục 00H, 01H, 02H, 04H, 08H, 10H, 20H, 40H ,80H, C0H và FFH, mỗi lần cách nhau 2 giây

CLR A

MOVC A , @A+DPTR ;LAY DU LIEU TU VUNG DU LIEU

MOV P1 , A ;XUAT DU LIEU DIGITAL RA DAC0808

ACALL DELAY2S ;TAO THOI GIAN TRE GIUA HAI LAN XUAT DU LIEU

INC DPTR ;CHUAN BI LAY DU LIEU KE TIEP

DJNZ R0 ,MP1 ;KIEM TRA HOAN TAT MOT CHU TRINH XUAT DU LIEU

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

DELAY2S: ;CHUONG TRINH CON TAO THOI GIAN TRE 2S

PUSH 00H

MOV R0 ,#200

MOV TMOD ,#01H

LOOP2:

MOV TH0 ,#HIGH(-10000)

MOV TL0 ,#LOW(-10000)

SETB TR0

JNB TF0 ,$

CLR TR0

CLR TF0

DJNZ R0 ,LOOP2

POP 00H

RET

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

MYDATA:

DB 00H,01H,02H,04H,08H,10H,20H,40H,80H,0C0H,0FFH

END

DELAY2S

(XEM CTC NÀY TẠI VÍ DỤ A7.3)

NẠP SỐ DỮ LIỆU TRONG VÙNG

(R0) = 11

BEGIN NẠP ĐỊA CHỈ VÙNG DỮ LIỆU (DPTR) = MYDATA

NẠP ĐỊA CHỈ OFFSET BAN ĐẦU

(A) = 0 LẤY DỮ LIỆU (A) = (@A+DPTR) O1

XUẤT DỮ LIỆU RA PORT (P1) = (A) GỌI CTC TẠO TRỄ DELAY2S CHUYỂN SANG DỮ LIỆU KẾ TIẾP (DPTR) = (DPTR) + 1

MAIN:

MP1:

CHƯA HẾT DỮ LIỆU

(R0) ≠ 0

Đ

S VÙNG DỮ LIỆU MYDATA 00H,01H,02H,04H,08H,10H,20H,40H,80H,C0H,FFH

GIÃM BIẾN ĐỀM SỐ DỮ LIỆU (R0) = (R0) - 1

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 3)

Trang 5

Bài 2: Chương trình điều khiển biến đổi D/A thơng qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)

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 bốn dây bus 8 nối J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) và J8 (7SEG4 IN) ở khối LED 7 đoạn với J4 (7SEG IN MUL) ở khối LED 7 đoạn (ta nối chung các bus này lại với nhau thơng qua khối

mở rộng)

• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển 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 J2 (SEL LED 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 J37 (DIGITAL IN) ở khối DACõ

• Dùng máy đo VOM để đo điện áp tại J38 (ANALOG OUT) ở khối DAC

• Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn

• Dùng dây bus 8 nối J110 (POWER) ở khối LED 7 đoạn 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

A C E G

A C E G

A C E G

A C E G

A C E G

A C E G

A C E G

A C E G

A C E G

P1.6

P1.4

P1.2

P1.0

AD6

AD0 AD2 AD4

P1.7

P2.7

P2.0

P2.6 P2.4 P2.2

P2.0 P2.2 P2.4 P2.6

XTAL2

18

XTAL1

19

ALE

30

EA

31

PSEN

29

RST

9

P1.0

1

P1.1

2

P1.2

3

P1.3

4

P1.4

5

P1.5

6

P1.6

7

P1.7

8

U1

AT89C51

C1

33p

C2

33p

X1

12MHz

2 4 6 8

1

RP1

10K

LED7

Q1

A1015 +5V

LED6

Q2

A1015 +5V

R2

1K

R3

1K

R4

56

R5

56

R6

56

R7

56

R8

56

R9

56

R10

56

LED5

Q3

A1015 +5V

LED4

Q4

A1015 +5V

R11

1K

R12

1K

LED3

Q5

A1015 +5V

LED2

Q6

A1015 +5V

R13

1K

R14

1K

LED1

Q7

A1015 +5V

LED0

Q8

A1015 +5V

R15

1K

R16

1K

C3

10uF

R1

10k

+5V

MẠCH ĐIỀU KHIỂN DAC (DIGITAL TO ANALOG CONVERTER)

A2

14

A1 5

A3 7 A4 8 A5 9 A6 10 A7 11 A8 12

U3

DAC0808 VCC=+12V

+88.8

Volts

DIEN AP ANALOG R21

2K7

R20

2K7

D1

5V

RV1

10K

C5

10uF

C?

100nF

R17

2K7

C7

100nF

C4

100nF

C6

100nF

U2

LM741

+88.8

Volts

DIEN AP CHUAN

Trang 6

Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)

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

BEGIN

ĐẶT GIÁ TRỊ SỐ BAN ĐẦU

(A) = 0

O2

MAIN:

MP1:

XUẤT GIÁ TRỊ SỐ RA DAC

(P2) = (A)

LẤY GIÁ TRỊ SỐ ĐỂ GIẢI MÃ - HIỂN THỊ

(R7) = (A)

GỌI CTC GIẢI MÃ GIÁ TRỊ SANG BCD

BIN8TOBCD

GỌI CTC GIẢI MÃ BCD SANG MÃ 7 ĐOẠN

BCD3ADCTO7SEG

GỌI CTC HIỂN THỊ

DELAY_SCAN

LẤY GIÁ TRỊ KẾ TIẾP

(A) = (A) + 1

BIN8TOBCD

(XEM CTC NÀY TẠI PHẦN HƯỚNG

DẪN CỦA VÍ DỤ G)

DISP7SEGMUL8

(XEM CTC NÀY TẠI VÍ DỤ B8 MBI)

DELAYLED

(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)

DELAY_SCAN

(XEM CTC NÀY TẠI VÍ DỤ B6 MBO)

XỬ LÝ ĐỂ LẤY GIÁ TRỊ THỨ NHẤT TRONG

SỐ BCD NÉN (4 BIT THẤP)

(A) =

XỬ LÝ ĐỂ LẤY GIÁ TRỊ THỨ HAI TRONG SỐ

BCD NÉN (4 BIT CAO) (A) =

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

BCD3ADCTO7SEG

OUTPUT: 67H, 66H = CHUỖI KÝ TỰ “AD”.

65H, 64H = CHUỖI KÝ TỰ “C=“.

63H = CHUỖI KÝ TỰ “ “.

62H = MÃ 7 ĐOẠN (TRĂM).

61H, 60H = MÃ 7 ĐOẠN (CHỤC/ĐƠN VỊ).

BCD3ADCTO7SEG:

LẤY LẠI GIÁ TRỊ CHO DPH, DPL, ACC TỪ STACK

NẠP ĐỊA CHỈ VÙNG MÃ (DPTR) = CODE7SEG

RET

NẠP SỐ BCD NÉN CẦN GIẢI MÃ

GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR)

CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG ĐƠN VỊ

VÀO Ô NHỚ (60H) = (A)

NẠP SỐ BCD NÉN CẦN GIẢI MÃ

GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR)

CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG CHỤC VÀO

Ô NHỚ (61H) = (A)

CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “ “ VÀO Ô NHỚ

(63H) = FFH

CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “=“ VÀO Ô NHỚ

(64H) = FFH

CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “C“ VÀO Ô NHỚ

(65H) = C6H

CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “A“ VÀO Ô NHỚ

(66H) = 88H

CẤT MÃ 7 ĐOẠN CỦA KÝ TỰ “D“ VÀO Ô NHỚ

(67H) = A1H

XỬ LÝ ĐỂ LẤY GIÁ TRỊ THỨ NHẤT TRONG

SỐ BCD NÉN (4 BIT THẤP)

(A) =

NẠP SỐ BCD NÉN CẦN GIẢI MÃ

GIẢI MÃ DỮ LIỆU (A) = (@A+DPTR)

CẤT MÃ 7 ĐOẠN CỦA BCD HÀNG TRĂM VÀO

Ô NHỚ (62H) = (A)

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

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

;CHUONG TRINH DIEU KHIEN BIEN DOI D/A THONG QUA DAC0808 VA

;HIEN THI GIA TRI ANALOG (DANG DIEN AP) LEN VOLT KE

;HIEN THI GIA TRI DIGITAL (DANG DEC) LEN BO HIEN THI LED 7 DOAN

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

;KET NOI: DIGITAL IN -> PORT1

; 8 LED -> PORT0

; SEL LED -> PORT1

; MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0

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

ORG 00H

MAIN:

CLR A ;GIA TRI DIGITAL BAN DAU ACC = 0

MP1:

MOV P2 , A ;XUAT GIA TRI DIGITAL RA DAC0808 DE CHUYEN DOI D/A

MOV R7 , A ;LAY GIA TRI DIGITAL DE GIAI MA VA HIEN THI

ACALL BIN8TOBCD ;GIAI MA GIA TRI DIGITAL (DANG BIN) SANG MA BCD

ACALL BCD3ADCTO7SEG ;GIAI MA GIA TRI DIGITAL (DANG BCD) SANG MA 7 DOAN

ACALL DELAY_SCAN ;TAO TRE GIUA HAI LAN XUAT GIA TRI VA GOI CTC QUET HIEN THI GIA TRI

INC A ;TANG LEN DE XUAT GIA TRI KE TIEP

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

Trang 7

Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)

;CTC CHUYEN DOI SO BINARY 8 BIT (<= 255) SANG SO BCD

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

;NAME: BIN8TOBCD

;INPUT: R7 = SO BIN 8 BIT (<= 255)

;OUTPUT: R7,R6 = SO BCD (TRAM - CHUC - DON VI)

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

BIN8TOBCD:

PUSH ACC

PUSH B

MOV B ,#10

MOV A , R7

DIV AB ;LAY R7 CHIA CHO 10

PUSH B ;CAT SO HANG DON VI

MOV B ,#10

DIV AB ;LAY KET QUA TREN CHIA TIEP CHO 10

MOV R7 , A ;R7 = TRAM

MOV A , B ;LAY SO HANG CHUC

SWAP A ;DUA SO HANG CHUC LEN 4 BIT CAO

POP B ;LAY SO HANG DON VI TU STACK

ORL A , B ;KET HOP SO HANG CHUC VA SO HANG DON VI

MOV R6 , A ;R6 = CHUC - DON VI

POP B

POP ACC

RET

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

;CTC QUET HIEN THI LED 7 DOAN (8 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

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

;NAME: DISP7SEGMUL8

;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU)

; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN)

; 63H,62H = MA 7 DOAN (NGAN - TRAM)

; 61H,60H = MA 7 DOAN (CHUC - DON VI)

;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB)

; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)

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

DISP7SEGMUL8:

PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI

PUSH 00H

MOV A ,#7FH ;MA QUET

MOV R0 ,#67H ;DIA CHI VUNG MA HIEN THI

DISP:

MOV P0 , @R0 ;XUAT MA HIEN THI

MOV P1 , A ;XUAT MA QUET

LCALL DELAYLED

MOV P1 ,#0FFH ;CHONG LEM

DEC R0 ;LAY MA HIEN THI KE TIEP

RR A ;CHUYEN SANG LED KE TIEP

CJNE R0 ,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA

POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI

POP ACC

RET

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

DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS

PUSH 00H

PUSH 01H

MOV R1 ,#5

DEL:

MOV R0 ,#250

DJNZ R0 ,$

DJNZ R1 ,DEL

POP 01H

POP 00H

RET

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

Trang 8

Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)

DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 2S CO GOI CTC GIAI MA VA QUET HIEN THI

PUSH 00H

MOV R0 ,#200

MOV TMOD ,#01H

LOOP2:

MOV TH0 ,#HIGH(-10000)

MOV TL0 ,#LOW(-10000)

SETB TR0

SCAN: ;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY

ACALL DISP7SEGMUL8 ;HIEN THI GIA TRI LEN LED 7 DOAN

JNB TF0 ,SCAN

CLR TR0

CLR TF0

DJNZ R0 ,LOOP2

POP 00H

RET

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

;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (3 SO BCD) CO KEM CHUOI "DAC= "

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

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

;GIA TRI GIAI MA: 0 -> 9

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

;NAME: BCD3ADCTO7SEG

;INPUT: R7,R6 = SO BCD (TRAM - CHUC - DON VI)

;OUTPUT: 67H,66H = CHUOI KY TU "DA"

; 65H,64H = CHUOI KY TU "C="

; 63H = CHUOI KY TU " "

; 62H = MA 7 DOAN (TRAM)

; 61H,60H = MA 7 DOAN (CHUC - DON VI)

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

BCD3ADCTO7SEG:

PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI

PUSH DPL

PUSH ACC

MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN

MOV A , R6 ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA

ANL A ,#0FH ;XOA 4 BIT CAO

MOVC A , @A+DPTR ;LAY MA 7 DOAN TUONG UNG

MOV 60H, A ;CAT HANG DON VI VAO O NHO

MOV A , R6 ;LAY SO BCD NEN 1 (CHUC - DON VI) CAN GIAI MA

ANL A ,#0F0H ;XOA 4 BIT THAP

SWAP A ;HOAN CHUYEN CAO - THAP

MOVC A , @A+DPTR ;LAY MA 7 DOAN TUONG UNG

MOV 61H, A ;CAT HANG CHUC VAO O NHO

MOV A , R7 ;LAY SO BCD NEN 2 (TRAM) CAN GIAI MA

ANL A ,#0FH ;XOA 4 BIT CAO

MOVC A , @A+DPTR ;LAY MA 7 DOAN TUONG UNG

MOV 62H, A ;CAT HANG TRAM VAO O NHO

MOV 63H,#0FFH ;CAT MA KY TU " "

MOV 64H,#0B7H ;CAT MA KY TU "="

MOV 65H,#0C6H ;CAT MA KY TU "C"

MOV 66H,#88H ;CAT MA KY TU "A"

MOV 67H,#0A1H ;CAT MA KY TU "D"

POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI

POP DPL

POP DPH

RET

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

CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9)

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Trang 9

Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi các giá trị lưu trong vi

điều khiển thành điện áp tương tự Giá trị thay đổi liên tục từ 00H -> FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 -> 255)

1.4 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên

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 3)

Trang 10

Bài 3: Chương trình điều khiển biến đổi D/A thơng qua DAC0808 và thực hiện tạo sĩng cĩ tần số tự chọn tại

ngõ ra

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 J64 (PORT1) ở khối vi điều khiển với J37 (DIGITAL IN) ở khối DACõ

• Dùng máy hiện sĩng (Oscilloscope) để kiểm tra dạng sĩng tại J38 (ANALOG OUT) ở khối DAC

• Dùng dây bus 8 nối J108 (POWER) ở khối DAC với nguồn ±5V, ±12V ở khối nguồn

VI ĐIỀU KHIỂN

A0 A7

SELECT

POWER SW

DAC

NGUỒN 5V, 12V 8

8 1

OSC

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

AD7

AD0

AD0 AD2 AD4 AD6

AD7 AD5 AD3 AD1

P1.7

P1.0

P1.6 P1.4 P1.2

P1.0

P1.2

P1.4

P1.6

XTAL2 18

XTAL1 19

ALE 30

EA 31

PSEN 29

RST 9

P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.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 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14

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

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

U1

AT89C51

VCC=+5V

C1

33p

C2

33p

X1

12MHz

C3

10uF

R1

10k

+5V

2 4 6 8

1

RP1

10K

MẠCH ĐIỀU KHIỂN DAC (DIGITAL TO ANALOG CONVERTER)

A2

14

A1 5

A3 7 A4 8 A5 9 A6 10 A7 11 A8 12

VREF- 15

U2

DAC0808 VCC=+12V

R2

2K7

R3

2K7

D1

5V

RV2

10K

C4

10uF

C5

100nF

R6

2K7

C6

100nF

C7

100nF

C8

100nF

U3

LM741

+88.8

Volts

DIEN AP CHUAN

A

B

DANG TIN HIEU ANALOG

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

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

;CHUONG TRINH DIEU KHIEN BIEN DOI D/A THONG QUA DAC0808 VA

;UNG DUNG TAO RA TIN HIEU SONG SIN TUAN HOAN (TUONG DOI)

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

;KET NOI: DIGITAL IN -> PORT1

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

ORG 00H

MAIN:

MOV R0 ,#0 ;BIEN DEM SO MAU DU LIEU

MOV DPTR,#MYDATA ;NAP DIA CHI VUNG MAU DU LIEU

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

TỪ KHÓA LIÊN QUAN