do-an-vi-dieu-khien-89 c51

27
Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy I. CƠ SỞ LÝ THUYẾT Tổng quan về họ vi điều khiển 89C51 Giới thiệu chung về cấu trúc phần cứng 89C51 là IC vi điều khiển ,là vi mạch tổng quát của họ MCS-51, linh kiện đầu tiên của họ này được hãng sản xuất Intel đưa ra thị trường . IC 89C51 có các đặc trưng được tóm tắt như sau: 4 KB EPROM bên trong. 128 Byte RAM nội. 4 Port xuất /nhập I/O 8 bit. Giao tiếp nối tiếp. 64 KB vùng nhớ mã ngoài 64 KB vùng nhớ dữ liệu ngoại. Xử lý Boolean (hoạt động trên bit đơn). 210 vị trí nhớ có thể định vị bit. s cho hoạt động nhân hoặc chia. Lớp 10TLT Trang 1

Upload: pham-trong-thuan

Post on 29-Jun-2015

374 views

Category:

Education


0 download

TRANSCRIPT

Page 1: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

I. CƠ SỞ LÝ THUYẾT

1. Tổng quan về họ vi điều khiển 89C51

1.1 Giới thiệu chung về cấu trúc phần cứng

89C51 là IC vi điều khiển ,là vi mạch tổng quát của họ MCS-51,

linh kiện đầu tiên của họ này được hãng sản xuất Intel đưa ra thị trường .

IC 89C51 có các đặc trưng được tóm tắt như sau:

4 KB EPROM bên trong.

128 Byte RAM nội.

4 Port xuất /nhập I/O 8 bit. Giao tiếp nối tiếp.

64 KB vùng nhớ mã ngoài

64 KB vùng nhớ dữ liệu ngoại.

Xử lý Boolean (hoạt động trên bit đơn).

210 vị trí nhớ có thể định vị bit.

s cho hoạt động nhân hoặc chia.

Hình : Sơ đồ chân của vi điều khiển 89C51

Lớp 10TLT Trang 1

Page 2: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

Port 0 : Port0 (P0.0-P0.7) có số chân từ 32-39.Port 0 có 2 chức

năng:

-Port xuất nhập dữ liệu (P0.0-P0.7) → không sử dụng bộ nhớ ngoài và bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0-AD7) → có sử dụng bộ nhớ ngoài.

-Port0 đóng vai trò xuất nhập dữ liệu thì phải sử dụng các điện trở kéo bên ngoài.

Port1: Port1(P1.0-P1.7) có số chân từ 1 -8. Port có chức năng xuất nhập dữ liệu (P1.0-P1.7) →sử dụng hoặc không sử dụng bộ nhớ ngoài

Port 2: Port(P2.0-P2.7) có số chân từ 21-28.Port có 2 chức năng

:port xuất nhập dữ liệu(p2.0-P2.7) không sử dụng bộ nhớ ngoài

và bus địa chỉ cao(A8-A5) có sử dụng bộ nhớ ngoài

Port 3: Port 3( P3.0-P3.7) có số chân từ 10-17.Có 2 chức năng:

Khi không hoạt động xuất / nhập,các chân của port3 có nhiều

chức năng riêng (mỗi chân có chức năng riêng liên quan đến đặc

trưng cụ thể của 89C51)

* Bảng chức năng của port3 và 2 chân của P1.0 , P1.1 của port.

Bit Tên Địa chỉ bit Chức năngP3.0 RxD B0H Chân nhận dữ liệu của bit nối tiếpP3.1 TxD B1H Chân phát dữ liệu của port nối

tiếpP3.2 B2H Ngõ vào ngắt ngoài 0

P3.3 B3H Ngõ vào ngắt ngoài 1

P3.4 T0 B4H Ngõ vào của bộ định thời /điểm 0P3.5 T1 B5H Ngõ vào của bộ định thời /điểm1P3.6 B6H Điều khiển ghi bộ nhớ dữ liệuP3.7 B7H Điều khiển đọc bộ nhớ dữ liệu

P1.0 T2 90H Ngõ vào của bộ định thời /điểm 2P1.1 T2EX 91H Nạp lại /thu nhận của bộ định

thời 2 Chân PSEN:

- PSEN cho phép bộ nhớ chương trình,chân số 29

- là tín hiệu cho phép truy xuất (đọc) bộ nhớ chương trinh (ROM) ngoài

- Là mức xuất tích cực ở mức thấp PSEN =0 → trong thời gian CPU tìm -

Lớp 10TLT Trang 3

Page 3: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

nạp lệnh từ ROM ngoài ,PSEN =1 → CPU sử dụng ROM trong.

Chân ALE :

- ALE cho phép chốt địa chỉ,chân số 30

-Là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa hợp cho bus

địa chỉ byte thấp và byte dữ liệu đa hợp (AD0-AD7).

Chân EA: Là chân truy xuất ngoài

- Là tín hiệu cho phép truy xuất ngoài (sử dụng )bộ nhớ chương trình ROM ngoài.

- Là tín hiệu nhập tích cực ở mức thấp EA =0 sử dụng chương trình ROM

ngoài,AE=1 sử dụng chương trình ROM trong.

Chân XTAL1,XTAL2: tinh thể thạch anh chân số 18,19

-Dùng để nối thạch anh với mạch dao động tạo xung clock bên ngoài cung

cấp xung clock cho chíp hoạt động .

- XTAL1 Ngõ vào mạch tạo xung clock trong chíp

- XTAL2 Ngõ ra mạch tạo xung clock trong chip f =12MHz f tần số

danh định

Chân RST: thiết lập lại là chân số 9

- Là tín hiệu cho phép thiết lập lại trạng thái ban đầu cho hệ thống

- Là tín hiệu nhập tích cực mức cao

RST=0 chip 89C51 hoạt động bình thường, RTS=1 chip 89C51 được thiết

lập lại trạng thái ban đầu

Chân Vcc, GND: Nguồn cung cấp điện chân số 40-20

-Cung câp nguồn điện cho chip hoạt động

- Vcc =+5V±10% và GND=0V

Lớp 10TLT Trang 4

Page 4: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

1.2 Giới thiệu chung về cấu trúc bên trong

1.2.1 Sơ đồ khối bên trong 89C51

Hình : sơ đồ cấu trúc bên trong của 89C51

1.2.2 Tổ chức bộ nhớ của 89C51

Bộ nhớ bên trong 89C51 bao gồm RAM và ROM.RAM bao gồm nhiều

thành phần: lưu trữ đa dụng,phần lưu trữ địa chỉ hoá từng bank thanh ghi

và các thanh ghi chức năng đặc biệt.

89C51 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho

chương trình và dữ liệu.Chương trình và dữ liệu có thể chứa bên trong

89C51 nhưng 89C51 vẫn có thể kết nối 64k byte bộ nhớ chương trình và 64k

byte bộ nhớ dữ liệu mở rộng.

RAM trong 89C51 được phân chia như sau:

- các bank thanh ghi có địa chỉ từ 00H đến 1FH.

- RAM địa chỉ hoá từng bít có địa chỉ từ 20H đến 2FH.

- RAM đa dụng từ 30H đến 7FH.

- Các thanh ghi chức năng đặc biệt từ 80H đến FFH.

Lớp 10TLT Trang 5

Page 5: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

Hình : Tổ chức bộ nhớ của 89C51

Lớp 10TLT Trang 6

Page 6: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

2. Các linh kiện dùng trong đề tài

2.1 Điện trở:Điện trở là linh kiện thụ động có tác dụng cản trở cả dòng và áp.

Điện trở đựơc sử dụng rất nhiều trong các mạch điện tử.

R =ρℓ/S

Trong đó ρ là điện trở suất của vật liệu

S là thiết diện của dây.

ℓ là chiều dài của dây.

Điện trở là đại lượng vật lí đặc trưng cho tính chất cản trở dòng điện

của một vật thể dẫn điện. Nó được định nghĩa là tỉ số của hiệu điện thế giữa

hai đầu vật thể đó với cường độ dòng điện đi qua nó:

Trong đó:

U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vô n (V).

I : là cường độ dòng điện đi qua vật dẫn điện, đo bằng ă m p e (A).

R : là điện trở của vật dẫn điện, đo bằng O h m (Ω).

2.2 Biến trở

Là 1 điện trở thay đổi được , có tác dụng là thay đổi điện

áp theo yêu cầu của người sử dụng. Ở trong đề tài này nó

có tác dụng kiểm soát độ sáng của Led phát quang và tốc

độ nhận tín hiệu của led thu hồng ngoại.

Lớp 10TLT Trang 7

Page 7: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

2.3 Transistor

C1815 là Transistor BJT gồm ba miền tạo bởi hai tiếp giáp p–n, trong

đó miền giữa là bán dẫn loại p. Miền có mật độ tạp chất cao nhất, kí hiệu n+

là miền phát (emitter). Miền có mật độ tạp chất thấp hơn, kí hiệu n, gọi là

miền thu (collecter). Miền giữa có mật độ tạp chất rất thấp, kí hiệu p, gọi là

miền gốc (base). Ba chân kim loại gắn với ba miền tương ứng với ba cực

emitter (E), base (B), collecter (C) của transistor.

2.4 Tụ điện:

Tụ điện là một linh kiện thụ động cấu tạo của tụ điện là hai bản cực

bằng kim loại ghép cách nhau một khoảng d ở giữa hai bản tụ là dung

dịch hay chất điện môi cách điện có điện dung C. Đặc điểm của tụ là cho

dòng điện xoay chiều đi qua, ngăn cản dòng điện một chiều.

Công thức tính điện dung của tụ: C = ε.S/d

ε là hằng số điện môi

S là điện tích bề mặt tụ m2

d là bề giày chất điện môi

Tụ điện phẳng gồm hai bàn phẳng kim loại diện tích đặt song song và

cách nhau một khoảng d.

Cường độ điện trường bên trong tụ có trị số

E =0

Lớp 10TLT Trang 8

Page 8: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

0 = 8.86.10-12 C2/ N.m2 là hằng số điện môi của chân không.

là hằng số điện môi tương đối của môi trường; đối với chân không

= 1, giấy tẩm dầu = 3,6, gốm = 5,5; mica =

4 5

2.5 Diode:

Diode được cấu tạo gồm hai lớp bán dẫn p-n được ghép với nhau.

Diode chỉ hoaït động dẫn dòng điện từ cực anot sang catot khi áp trên hai

chân được phân cực thuận (VP>VN) và lớn hơn điện áp ngưỡng. Khi phân

cực ngược (VP<VN) thì Diode không dẫn điện. 50Hz đến 60Hz sang điện

thế một chiều. Diode này tùy loại có thể chịu đựng được dòng từ vài trăm

mA đến loại công suất cao có thể chịu được đến vài trăm ampere.

Diode chỉnh lưu chủ yếu là loại Si. Hai đặc tính kỹ thuật cơ bản

của Diode chỉnh lưu là dòng thuận tối đa và đi ngược tối đa (Điện áp sụp đổ).

Hai đặc tính này do nhà sản xuất cho biết.

Lớp 10TLT Trang 9

Page 9: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

2.6 Led:

LLeded làlà mmộộtt ddạạnngg ddiiooddee phphátát ququaanngg,, kkhhii phphânân cựccực tthhuuậnận tthhìì ledled phphátát

ssaangng,, phphânân ccựcực nnghghịchịch tthhìì ledled khkhôônngg ssáánngg..

KíKí hihiệệuu::

2.7 Led 7 đoạn

LLàà 77 ccoonn LEDLED ssắpắp xxếpếp tthheoeo hhììnnhh mmẫẫuu.. MMộộtt cchhánán ccủủaa cáccác ccoonn ledled đđưượợcc

nốnốii cchhunungg vớvớii nhnhauau ((AAnonodd cchhunungg hohoặcặc KKaattoodd cchhungung)),, cáccác cchhâânn ccòònn lạilại đđưượợcc

đđưưaa rraa ngongoàiài đđểể phphầnần ccựcực cchhoo ccácác ccoonn leledd..

Lớp 10TLT Trang 10

Page 10: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

Đây là lọai đèn dùng hiển thị các số từ 0 đến 9, đèn gồm 7 đọan a, b, c, d, e, f,

g, bên dưới mỗi đọan là một led (đèn nhỏ) hoặc một nhóm led mắc song song

(đèn lớn).Qui ước các đọan cho bởi:

Khi một tổ hợp các đọan cháy sáng sẽ tạo được một con số thập phân từ 0 - 9.

Led 7 đoạn có hai loại là loại anot chung và catot chung:

LED anot chung LED catot chung

Lớp 10TLT Trang 11

Page 11: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

II THIẾT KẾ THI CÔNG

1.THIẾT KẾ MẠCH

Lớp 10TLT Trang 12

Page 12: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

2. THIẾT KẾ PHẦN MỀM

2.1 Chương trình nhấp nháy LED ở bit P1.0 với tần số 1HZ Các bước thực hiện

- Đặt P1.0 có giá trị là 0 để LED sáng- Làm trễ bằng chương trình delay- Đặt P1.0 có giá trị 1 để LED tắt- Làm trễ 1/2s

Code chương trìnhORG 0000HLJMP START

START: MOV P1.0,#00h ; Đặt P1.0 = 0 để LED sáng ACALL DELAY_500MS MOV P1.0,#01h ; Tắt LED ACALL DELAY_500MS LJMP START SJMP $;-------------------------------------DELAY_MS: ; Chương trình delay MOV R7,#00H LOOP_MS:

Lớp 10TLT Trang 13

Page 13: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

INC R7 MOV A,R7 CJNE A,#0FAH,LOOP_MSRET;-------------------------------------DELAY_100MS: MOV R6,#100 LOOP_100MS: ACALL DELAY_MS DJNZ R6,LOOP_100MSRET;-------------------------------------DELAY_500MS: MOV R5,#5 LOOP_500MS: ACALL DELAY_100MS DJNZ R5,LOOP_500MSRETEND

2.2 Chương trình hiển thị đèn giao thông, điều khiển bằng vòng FOR Các bước thực hiện

- Gán P1.0 bằng 1 để cho đèn 1 sáng- Gọi hàm delay 3 lần- Gán P1.1 bằng 1 để đèn 2 sáng, Gán P1.0 bằng 0 để đèn 1 tắt- Gọi gàm delay 1 lần- Gán P1.2 bằng 1 để đèn 3 sáng, Gán P1.1 bằng 0 để đèn 2 tắt- Gọi hàm delay 4 lần-

Code chương trìnhSTART: MOV P1.0,#001B ACALL DELAY_1S ACALL DELAY_1S ACALL DELAY_1S MOV P1.0,#010B ACALL DELAY_1S

MOV P1.0,#100B ACALL DELAY_1S ACALL DELAY_1S ACALL DELAY_1S ACALL DELAY_1S

LJMP START SJMP $;-------------------------------------DELAY_MS: MOV R7,#00H LOOP_MS: INC R7 MOV A,R7 CJNE A,#0FAH,LOOP_MSRET;-------------------------------------

Lớp 10TLT Trang 14

Page 14: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

DELAY_100MS: MOV R6,#100 LOOP_100MS: ACALL DELAY_MS DJNZ R6,LOOP_100MSRET;-------------------------------------DELAY_1S: MOV R5,#10 LOOP_1S: ACALL DELAY_100MS DJNZ R5,LOOP_1SRETEND

2.3 Chương trình đếm từ 0 đến 9 bằng LED 7 đoạn Các bước thực hiện

- Gán R0 bằng 0 để đếm từ 0- Gọi hàm để chuyển số thập phân sang mã nhị phân hiển thị số

8 bit- Gọi hàm delay 1s- Tăng số đếm nếu đếm đã = 9 thì gán lại bằng 0- Quay lại từ đầu

Code chương trìnhSTART: MOV R0,#0 LOOP: ACALL HT ACALL DELAY_1S ACALL DC_R0 LJMP LOOP LJMP $ RET

DELAY_MS: MOV R7,#00H LOOP_MS: INC R7 MOV A,R7 CJNE A,#0FAH,LOOP_MSRET;-------------------------------------DELAY_100MS: MOV R6,#100 LOOP_100MS: ACALL DELAY_MS DJNZ R6,LOOP_100MSRET;-------------------------------------DELAY_1S: MOV R5,#10 LOOP_1S: ACALL DELAY_100MS DJNZ R5,LOOP_1SRET;-------------------------------------

Lớp 10TLT Trang 15

Page 15: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

HT: MOV A,R0 MOV B,#10 DIV AB MOV A,B ACALL DOI_MA_LED MOV DATA_LED,ARET;-------------------------------------DC_R0: CJNE R0,#9,TANG_R0 MOV R0,#0 LJMP EXIT_DC_R0 TANG_R0: INC R0 EXIT_DC_R0:RET;-------------------------------------DOI_MA_LED: INC A MOVC A,@A+PCRETDB 11000000B,01111001B,00100100B,00110000B,00011001B,00010010B,00000010B,01111000B,00000000BDB 00010000B;-------------------------------------END

2.4 Hiển thị sáng đèn khi bấm nút tương ứng Các bước thực hiện

- bắt đầu vòng lặp- kiểm tra nút bấm tại P3.0 có được kích hoạt không- nếu có thì sáng đèn P1.0- Nếu không thì nhảy qua nút bấm tiếp theo

Code chương trìnhSTART: ACALL KHOI_TAO ;KHOI TAO CAC THANH GHI MOV P1,#00H ;THAN CHUONG TRINH CHINH LOOP:

JB P3.0,SANG_LED_0; kiểm tra nếu nút bấm P3.0 được bấm thì ;sẻ sáng đèn P1.0

SETB P1.0 ; còn không thì sẻ cho tắt P1.0 JMP PHIM_1 ; kiểm tra nút bấm tiếp theo SANG_LED_0: CLR P1.0 ;--------- PHIM_1: JB P3.1,SANG_LED_1 SETB P1.1 JMP PHIM_2 SANG_LED_1: CLR P1.1 ;-------- PHIM_2:

Lớp 10TLT Trang 16

Page 16: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

JB P3.2,SANG_LED_2 SETB P1.2 JMP PHIM_3 SANG_LED_2: CLR P1.2 PHIM_3: JB P3.3,SANG_LED_3 SETB P1.3 JMP PHIM_4 JMP EXIT SANG_LED_3: CLR P1.3 PHIM_4: JB P3.4,SANG_LED_4 SETB P1.4 JMP PHIM_5 JMP EXIT SANG_LED_4: CLR P1.4 PHIM_5: JB P3.5,SANG_LED_5 SETB P1.5 JMP PHIM_6 JMP EXIT SANG_LED_5: CLR P1.5 PHIM_6: JB P3.6,SANG_LED_6 SETB P1.6 JMP PHIM_7 JMP EXIT SANG_LED_6: CLR P1.6 PHIM_7: JB P3.7,SANG_LED_7 SETB P1.7 JMP EXIT SANG_LED_7: CLR P1.7 EXIT: JMP LOOP LJMP $

2.5 Nhấp nháy đèn LED với tần số 0,5HZ Các bước thực hiện

- bật timer ở chế độ 1- tắt ngắt- Khởi tạo bộ định thời chạy 200 lần- Nạp THx và TLx giá trị ban đầu- Chờ cờ tràn từ bộ định thời- Dừng bộ định thời- Xóa cờ tràn- Lặp lại từ đầu

Code chương trìnhSTART: ACALL KHOI_TAO ;KHOI TAO CAC THANH GHI

Lớp 10TLT Trang 17

Page 17: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

MOV P1,#00HLOOP_2S: MOV 35H,#200 ;BO DINH THOI 0 CHAY 200 LANLOOP_1: MOV TH0,#0ECH ;NAP GIA TRI ECh VAO TH0 MOV TL0,#78H ;NAP GIA TRI 78H VAO TL0 SETB TR0 ;BAT BO DINH THOI JNB TF0,$ ;CHO CO TRAN CLR TR0 ;DUNG BO DINH THOI CLR TF0 ;XOA CO TRAN DJNZ 35H,LOOP_1 ;NAP LAI BO DINH THOI CPL P1.0 LJMP LOOP_2S SJMP $

2.6 Đếm số lần bấm nút bằng chức năng đếm sự kiện của Timer0 Code chương trình

ORG 0000HLJMP START;---------------------------------ORG 03H ;external interrupt 0RETIORG 0BH ;timer 0 interruptRETIORG 13H ;external interrupt 1RETIORG 1BH ;timer 1 interruptRETIORG 23H ;serial port interruptRETI;=====================================ORG 30HKHOI_TAO: ;set up control registers MOV TCON,#00H MOV TMOD,#00000110B MOV PSW,#00H MOV IE,#00000010B RET;-------------------------------------;HAM MAIN;-------------------------------------START: ACALL KHOI_TAO MOV TH0,#0 MOV TL0,#0 SETB TR0 LAP: MOV A,TL0 MOV P0,A LJMP LAPRET ;-------------------------------------END

2.7 Tạo xung vuông 1Hz trên P2.0 dùng ngắt Timer1. Trong khi đó vẫn duy trì việc kiểm tra phím nào được bấm trong Port 0 và hiển thì lên Port1

Code chương trìnhORG 30H

Lớp 10TLT Trang 18

Page 18: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

KHOI_TAO: ;set up control registers MOV TCON,#00H MOV TMOD,#10H MOV PSW,#00H MOV IE,#88H RET;-------------------------------------;HAM MAIN;-------------------------------------START: ACALL KHOI_TAO ;KHOI TAO CAC THANH GHI MOV R0,#20 MOV TL0,#0AFH MOV TH0,#3CH SETB TR1 LAP: JB P0.0,TAT_LED_1 SETB P1.0 LCALL DELAY_100MS JMP PHIM_2 TAT_LED_1: CLR P1.0;------------------------------------------- PHIM_2: JB P0.1,TAT_LED_2 SETB P1.1 LCALL DELAY_100MS JMP PHIM_3 TAT_LED_2: CLR P1.1;----------------------------------------------- PHIM_3: JB P0.2,TAT_LED_3 SETB P1.2 LCALL DELAY_100MS JMP PHIM_4 TAT_LED_3: CLR P1.2;------------------------------------------------- PHIM_4: JB P0.3,TAT_LED_4 SETB P1.3 LCALL DELAY_100MS JMP EXIT TAT_LED_4: CLR P1.3 EXIT: LJMP LAP RET;-----------------------------------------DELAY_MS: MOV R7,#00H LOOP_MS: INC R7 MOV A,R7 CJNE A,#0FAH,LOOP_MSRET;-------------------------------------DELAY_100MS:

Lớp 10TLT Trang 19

Page 19: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

MOV R6,#100 LOOP_100MS: ACALL DELAY_MS DJNZ R6,LOOP_100MSRET;-------------------------------------DELAY_HS: MOV R5,#5 LOOP_HS: ACALL DELAY_100MS DJNZ R5,LOOP_HSRET;---------------------------------------NGAT_1: CLR TR1 MOV TL0,#0AFH MOV TH0,#3CH SETB TR1 DJNZ R0,TAO_XUNG MOV R0,#20 CPL P2.0TAO_XUNG:

RET

;-----------------------------------END

Lớp 10TLT Trang 20

Page 20: do-an-vi-dieu-khien-89 c51

Báo cáo thực hành Vi Xử Lý GVHD: Trương Minh Huy

MỤC LỤC

I. CƠ SỞ LÝ THUYẾT...................................................................................11. Tổng quan về họ vi điều khiển 89C51..................................................1

1.1 Giới thiệu chung về cấu trúc phần cứng.............................................11.2 Giới thiệu chung về cấu trúc bên trong...............................................5

1.2.2 Tổ chức bộ nhớ của 89C51..........................................................52. Các linh kiện dùng trong đề tài.............................................................7

2.1 Điện trở: ........................................................................................72.2 Biến trở................................................................................................72.3 Transistor.............................................................................................82.4 Tụ điện:...............................................................................................82.5 Diode:..................................................................................................92.6 Led:.....................................................................................................92.7 Led 7 đoạn........................................................................................10

II THIẾT KẾ THI CÔNG...............................................................................121.THIẾT KẾ MẠCH...................................................................................122. THIẾT KẾ PHẦN MỀM........................................................................13

2.1 Chương trình nhấp nháy LED ở bit P1.0 với tần số 1HZ.................132.2 Chương trình hiển thị đèn giao thông, điều khiển bằng vòng FOR. .132.3 Chương trình đếm từ 0 đến 9 bằng LED 7 đoạn...............................142.4 Hiển thị sáng đèn khi bấm nút tương ứng.........................................152.5 Nhấp nháy đèn LED với tần số 0,5HZ..............................................172.6 Đếm số lần bấm nút bằng chức năng đếm sự kiện của Timer0........172.7 Tạo xung vuông 1Hz trên P2.0 dùng ngắt Timer1. Trong khi đó vẫn duy trì việc kiểm tra phím nào được bấm trong Port 0 và hiển thì lên Port1........................................................................................................18

Lớp 10TLT Trang 21