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

code thí nghiệm vi xử lý

24 1,2K 7

Đ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 24
Dung lượng 1,15 MB

Nội dung

Thực hành: Mạch nguyên lý có sử dụng công tắc tắt/ mở led đơn Code cho mạch nguyên lý trên:... Viết đoạn code sang dần với thời gian MOV R4,#0AAA: MOV A,R4MOV DPTR,#BANGMOVC A,@A+DPTRMOV

Trang 1

BÀI 1: IN/OUT

1. Giới thiệu chung.

IC 89C51 là họ vi điều điều khiển do hãng Intel của Mỹ sản xuất có đặc điểm như sau:

Bộ nhớ chương trình bên trong: 4KB (ROM)

Bộ nhớ dữ liệu bên trong: 128 byte

Bộ nhớ chương trình bên ngoài: 64KB

Bộ nhớ dữ liệu bên ngoài: 64KB

4 port xuất nhập dữ liệu: 8 bit

2 bộ định thời: 16 bit

Mạch giao tiếp nối tiếp

Bộ xử lý bit

210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit

Nhân chia trong 4s

2. Thực hành:

Mạch nguyên lý có sử dụng công tắc tắt/ mở led đơn

Code cho mạch nguyên lý trên:

Trang 2

SJMP PACK

END

Mạch nguyên lý hiển thị trên led đơn

Viết đoạn code sang dần với thời gian

MOV R4,#0AAA:

MOV A,R4MOV DPTR,#BANGMOVC A,@A+DPTRMOV P2,A

ACALL DELAYINC R4

CJNE R4,#9,AAASJMP MAINBANG:

Trang 3

MOV R2,#100LAP2:

NOPNOPNOPNOPNOPNOPNOPDJNZ R2,LAP2DJNZ R1,LAP1RET

END

Viết đoạn code sang dần, rồi tắt dần với

thời gian delay 10ms

Viết đoạn code làm cho led sang dần

từ trong ra ngoài, rồi tắt dần từ ngoài vào trong với thời gian delay 10ms.ORG 00H

MAIN:

MOV R4,#0AAA:

MOV A,R4MOV DPTR,#BANGMOVC A,@A+DPTRMOV P2,A

ACALL DELAYINC R4

CJNE R4,#17,AAASJMP MAIN

Trang 4

MOV R1,#10LAP1:

MOV R2,#100LAP2:

NOPNOPNOPNOPNOPNOPNOPDJNZ R2,LAP2DJNZ R1,LAP1RET

END

Bài 2: LED 7 ĐOẠN

1. Giới thiệu chung.

Cathode chung: thanh đó được sáng nếu như mức vào của thanh là Vcc

Trang 5

Anode chung: thanh đó được sang nếu như mức vào của thanh là GND.

IC giải mã led 7 đoạn anode chung là IC 7447

2. Thực hành.

Mạch nguyên lý hiển thị trên led 7 đoạn

Quét led 7 đoạn

Trang 6

MOV A,BMOVC A,@A+DPTRMOV P0,A

ACALL DELAYINC R4

CJNE R4,#100,AAASJMP MAIN

MOV R1,#10LAP1:

MOV R2,#100LAP2:

MOV R3,#100LAP3:

NOPNOPNOPNOPNOPNOPNOPNOP

Trang 7

MOV TMOD,#01100000BMOV TL1,#0

MOV TH1,#0SETB P3.5LOOP1:

SETB TR1MOV A,TL1CJNE A,#100,LOOPMOV TL1,#0

LOOP:

MOV DPTR,#BANGMOV B,#10

DIV ABMOVC A,@A+DPTRMOV P2,A

MOV A,BMOVC A,@A+DPTRMOV P1,A

JNB TF1,LOOP1CLR TF1

CLR TR1SJMP LOOP1BANG:

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

RETEND

Trang 9

MOV A,#0FFHMOV DPTR,#BANGMOV R1,#0

MOV R2,#00000001BMOV P2,#00000000BLOOP:

MOV P2,R2MOV A,R1MOVC A,@A+DPTRCALL DICH

MOV R3,#200DJNZ R3,$

INC R1MOV A,R2CJNE R1,#6,LOOP

Trang 10

MOV R7,#8LAP:

RRC AMOV SERIAL,CCLR CLK

NOPNOPNOPSETB CLKCLR LATCHNOP

NOPNOPSETB LATCHDJNZ R7,LAPRET

BANG:

DB 83H,0F5H,0F6H,0F5H,083H,0FFHEND

Code chạy chữ A dùng IC dịch

ORG 00HSJMP MAIN CLK EQU P3.1LATCH EQU P3.2

SERIAL EQU P3.0MAIN:

MOV A,#0FFHMOV DPTR,#BANG

MOV R2,#200MOV R4,#00000001B LOOP:MOV R1,#6

MOV P2,R4CALL HIENTHI

MOV A,R4MOV R6,A RL AMOV R4,A

CJNE A,#10000000B,BBB LJMP MAIN

BBB:

Trang 11

MOV R1,#6MOV P2,R6CALL HIENTHI

MOV A,R4MOV R5,A LAPLAI:

MOV A,R5

RR AMOV R5,A

CJNE A,#10000000B,AAA DJNZR2,BBB

LJMP LOOP AAA:

MOV P2,R5DEC R1CALL HIENTHILJMP LAPLAIDICH:

MOV R7,#8LAP:

RRC AMOV SERIAL,C CLR CLK

NOP NOP NOPSETB CLK CLR LATCH NOPNOP

NOPSETB LATCH DJNZ R7,LAPRET

HIENTHI:

MOV A,R1MOVC A,@A+DPTR CALL DICH

MOV R3,#200DJNZ R3,$ RETBANG:

DB

Trang 12

Chức năng các chân của LCD

Chân Vss: chân nối đất

Chân Vee: điều chỉnh độ tương phản

Chân RS: chân chọn thanh ghi RS = 1 chọn thanh ghi dữ liệu

Chân RW: chân đọc/ ghi dữ liệu

LJMP MAIN

Trang 13

CALL WRITE_COM MOV A,#06H

CALL WRITE_COM MOV A,#01H

CALL WRITE_COMRET

WAIT_LCD:

DELAY: MOV R7, #100D DEL1:MOV R6, #250D

DJNZ R6, $DJNZ R7, DEL1RET

WRITE_TEXT:

LCALL WAIT_LCD MOV P2,A

SETB RS SETB ENCLR ENRET

WRITE_COM:

LCALL WAIT_LCD MOV P2,A

CLR RS SETB ENCLR ENRET

BANG1:

DB 'TDT *'RET BANG2:

DB 'I LOVE TDT*' RET

MAIN:

CALL LCD_INIT MOV A,#87HCALL WRITE_COM MOV DPTR,#BANG1CLR A

LOOP:

Trang 14

CALL WRITE_TEXT CLR A

INC DPTRSJMP LOOP LAN2:

MOV A,#0C3H CALL WRITE_COMMOV DPTR,#BANG2CLR A

LOOP2:

MOVC A,@A+DPTR CJNE A,#'*',NEXT2SJMP KETTHUC NEXT2:

CALL WRITE_TEXT CLR A

INC DPTR SJMP LOOP2KETTHUC:

SJMP $END

BÀI 5:GIỚI THIỆU VỀ KÍT THÍ NGHIỆM

1. Giới thiệu chung

Trang 15

Thành phần của kít thí nghiệm.

• Demo versions of Micro C Compiler/Linker/Assembler

• Full version of SDCC C Compiler (open-source)

• Micro-IDE Integrated Development Environment/Simulator/Offline

• Serial downloader (WinLoad)

Các bước thực hiện viết và chạy chương trình trên kit

1. Sửa chữa một chương trình có sẵn hay một chương trình mới bằng trìnhbiên tập Micro-IDE Program Editor

2. Biên dịch chương trình sử dụng ASM51 Assembler for 8051-8052 Toolkit(công cụ biên dịch Assembler)

3. Nạp chương trình vào vi điều khiển trên kit thí nghiệm sử dụng công

cụ MINI- MAX/51-C Loader

4. Chạy và gỡ rối chương trình trên kit thí nghiệm sử dụng công cụ MAX/51-C Debugger

Trang 16

MOV R4,#0AAA:

MOV A,R4MOV DPTR,#BANGMOVC A,@A+DPTRMOV P2,A

ACALL DELAYINC R4

CJNE R4,#9,AAASJMP MAINBANG:

MOV R1,#100LAP1:

MOV R2,#100LAP2:

NOPNOPNOPNOPNOP

Trang 17

Viết đoạn code sang dần, rồi tắt dần với

thời gian delay 10ms

Viết đoạn code làm cho led sang dần

từ trong ra ngoài, rồi tắt dần từ ngoài vào trong với thời gian delay 10ms.ORG 00H

MAIN:

MOV R4,#0AAA:

MOV A,R4MOV DPTR,#BANGMOVC A,@A+DPTRMOV P2,A

ACALL DELAYINC R4

CJNE R4,#17,AAASJMP MAIN

Trang 18

MOV R2,#100LAP2:

NOPNOPNOPNOPNOPNOPNOPDJNZ R2,LAP2DJNZ R1,LAP1RET

Chân Vss: chân nối đất cho LCD

Chân Vdd: chân cấp nguồn

Chân Vee: điều chỉnh độ tương phản

Chân RS: chân chọn thanh ghi RS=1: ghi dữ liệu, RS=0: chế độ lệnhChân R/W: điều khiển đọc/ghi RW=1: ghi dữ liệu, RW=0: đọc dữ liệuChân E: trạng thái dữ liệu/ điều khiển

2. Thực hành

Hiển thị chuỗi chữ lên LCD

ORG 00H

EN EQU P0.2

Trang 19

ORL A,#00000100B ;EN=1,RW=0,RS=0MOV P0,A

MOV R1,#1ACALL DELAY1MS CLR EN

MOV R1,#1ACALL DELAY1MSMOVA,R3

SWAP AANLA,#0F0H CLR C

ORL A,#00000100B ;EN=1,RW=0,RS=0MOVP0,A

MOV R1,#1ACALL DELAY1MSCLR EN

MOV R1,#1 ACALL DELAY1MS

RETWRITE_TEXT:

MOV R3,AANL A,#0F0H CLR C

ORL A,#00000101B ;EN=1,RW=0,RS=1MOV P0,A

MOV R1,#1ACALL DELAY1MSCLR EN

MOV R1,#11ACALL DELAY1MSMOV A,R3

SWAP A ANL A,#0F0H CLR C

ORL A,#00000101B ;EN=1,RW=0,RS=1MOV P0,A

Trang 20

MOV R1,#1ACALL DELAY1MS CLR EN

MOV R1,#1ACALL DELAY1MS RETDELAY1MS:

MOV TMOD,#01H LOOP:

MOV TH0,#0FCHMOV TL0,#18H SETB TCON.4JNB TCON.5,$

CLR TCON.4CLR TCON.5DJNZ R1,LOOP RET

DELAY100U:

MOV R2,#10 LAP:

NOP NOP NOP NOP NOP NOP NOP NOPDJNZ R2,LAPRET

INIT_LCD:

MOV R1,#50ACALL DELAY1MSMOV A,#30H CLR C

ORL A,#00000100B ;EN=1,RW=0,RS=0MOV P0,A

MOV R1,#1ACALL DELAY1MS CLR EN

MOV R1,#5ACALL DELAY1MSMOV A,#30H CLR C

Trang 21

ORL A,#00000100B ;EN=1,RW=0,RS=0MOV P0,A

MOV R1,#1ACALL DELAY1MS CLR EN

ACALL DELAY100U MOV A,#30H

CLR CORL A,#00000100B ;EN=1,RW=0,RS=0MOV P0,A

MOV R1,#1ACALL DELAY1MS CLR EN

MOV A,#32HACALL WRITE_COMMOV A,#28H

ACALL WRITE_COMMOV A,#08H

ACALL WRITE_COM MOV A,#06H

ACALL WRITE_COMMOV A,#01H

ACALL WRITE_COMMOV A,#0CH

ACALL WRITE_COMRET

ACALL INIT_LCDMOV DPTR,#BANG1AGAIN:

CLR AMOVC A,@A+DPTR CJNE A,#'*',AAASJMP LAN2 AAA:

CALL WRITE_TEXT INC DPL

Trang 22

SJMP AGAIN LAN2:

MOV A,#0C0H CALL WRITE_COM MOV DPTR,#BANG2

AGAIN2:

CLR AMOVC A,@A+DPTR CJNE A,#'*',BBBSJMP $

BBB:

CALL WRITE_TEXT INC DPL

SJMP AGAIN2 END

BÀI 8: GIAO TIẾP VỚI MẠCH CÒI BUZZER

1. Giới thiệu chung.

Cái còi hay một chiếc loa đơn giản sẽ tạo ra tiếng nhạc khi một chuỗi sóng vuông tác động vào ngõ dương của nó ( trong ngõ vào âm được nối đất) Tần

số của song vuông sẽ tạo ra những tiếng nhạc khác nhau

Cái còi trên kit được nối với chân P1.2 của vi điều khiển Chân này cần đượclập trình như là một ngõ ra và các song vuông với tần số và chu kỳ thay đổi cần được tạo ra

2 Thực hành

Đoạn code 8 nốt nhạc

ORG 00HMAIN:

MOV R0,#05FH

DJNZ R0,N1MOV R0,#05FHN2: LCALL RE

DJNZ R0,N2MOV R0,#05FHN3: LCALL MI

DJNZ R0,N3

FA:

CPL P1.2MOV R1,#5LCALL DELAYRET

SO:

CPL P1.2MOV R1,#4LCALL DELAYRET

LA:

Trang 23

MOV R0,#05FHN4: LCALL FA

DJNZ R0,N4MOV R0,#05FHN5: LCALL SO

DJNZ R0,N5MOV R0,#05FHN6: LCALL LA

DJNZ R0,N6MOV R0,#05FHN7: LCALL SI

DJNZ R0,N7MOV R0,#05FHN8: LCALL DOO

DJNZ R0,N8SJMP MAIN

DO:

CPL P1.2MOV R1,#8LCALL DELAYRET

RE:

CPL P1.2MOV R1,#7LCALL DELAY RET

MI:

CPL P1.2MOV R1,#6LCALL DELAYRET

CPL P1.2MOV R1,#3LCALL DELAYRET

SI:

CPL P1.2MOV R1,#2LCALL DELAYRET

DOO:

CPL P1.2MOV R1,#1LCALL DELAYRET

DELAY:

LOOP1:

MOV R2,#100LOOP2:

NOPNOPNOPNOPNOPNOPNOPNOPDJNZ R2,LOOP2DJNZ R1,LOOP1RET

END

Ngày đăng: 17/11/2015, 10:33

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w