Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

BÀI TẬP LỚN MÔN HỌC KĨ THUẬT VI XỬ LÝ


(Nhóm Sinh viên_ Nhóm 2)
ĐỀ BÀI
“Thiết kế hệ thống đèn giao thông cho một ngã tư”

Cấu trúc phần cứng

+ Vi xử lí: Họ 8051 (nên sử dụng Atmel 89C52)


+ 1 Thạch anh 12MHz (hoặc 11.059MHz)
+ 2 tụ điện 33pF, 2 tụ 100nF(tụ 104K)
+ 2 diode 1N4148
+ chọn Led đơn nhỏ, R bằng các Ri ghép nối 470Ω đến 1KΩ
+ 10 phím bấm, R 470Ω, R 10KΩ.
+ Nguồn: BA 12V, diode 1N4007, ổn áp 7805, Jack nối, LED, trở…như trên KIT1

▪ Hệ thống đèn tín hiệu bao gồm 4 cột đèn, ở đây chỉ thiết kế cho 2 cụm chính cho
2 hướng, trong đó mỗi cụm bao gồm:
- 2 đèn xanh hướng chính của 2 cột đèn nối với chân P1.0 và P1.3
- 2 đèn vàng hướng chính của 2 cột đèn nối với chân P1.1 và P1.4
- 2 đèn đỏ hướng chính của 2 cột đèn nối với chân P1.2 và P1.5
- 2 cột đèn phụ được đấu nối tiếp với hướng chính để người đi đường dễ quan sát.

▪ Hệ thống phím bấm cho người đi bộ thiết kế cho 2 hướng chính để dễ dàng tác
động theo 2 hướng:
- 2 phím bấm của 2 cột đèn nối với chân P3.2 và P3.3
- 2 đèn đỏ dành cho người đi bộ được nối với chân P1.7 và P3.1
- 2 đèn xanh dành cho người đi bộ được nối với chân P1.6 và P3.0

Hoạt động
Đơn giản hoá thời gian để chạy mô phỏng, ta chọn như sau:

- Hướng 1: ta cho đèn đỏ sáng 10s, xanh sáng 10s và vàng sáng 2s
- Hướng 2: tương ứng hoạt động theo hướng 1. Tức là thời gian của đèn đỏ của
hướng 1 sẽ bằng tổng thời gian của đèn xanh và vàng của hướng 2 và ngược lại.
Cụ thể theo sơ đồ sau:

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
1
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

ĐỎ 10s XANH 10s V 2s


Hướng 1

XANH 8s V 2s ĐỎ 12s
Hướng 2

- Hướng cho người đi bộ: bình thường đèn đỏ luôn luôn sáng, khi có tác động bấm
phím đèn đỏ sẽ sáng 3s để thoát hết các phương tiện trên đường, đồng thời đèn sáng 2 đèn
vàng 2 hướng chính. Sau đó bật đèn xanh của người đi bộ trong 10s, đồng thời sáng đèn
xanh hướng chính cùng chiều người đi bộ và sáng đèn đỏ hướng chính còn lại
- Chu trình được lặp lại như trên.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
2
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

I. TÌM HIỂU SƠ LƯỢC VỀ 89C52

1. Bảng tóm tắt các vùng nhớ 89C52.

Bảng nhớ Data trên chip như sau:

Địa Địa
chỉ Địa chỉ bit chỉ Địa chỉ bit
Byte Byte

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
3
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

2. Sơ đồ và chức năng các chân của 89C52

40
30p 19
Vcc Po.7 32 AD7
XTAL1 33
12MHz Po.6 AD6
Po.5 34 AD5
XTAL2 Po.4 35 AD4
18
30p Po.3 36 AD3
Po.2 37 AD2
Po.1 38 AD1
29
PSEN\ Po.0 39 AD0
30 ALE P2.7 8
31 EA\ P2.6 7
9 P2.5 6
RET
P2.4 5
4
P2.3
17 3
P2.2
RD\ 16 2
WR\ P2.1
15 P2.0 1
T1
14 28
T0 P1.7 A15
INT1 13 27
12 P1.6 A14
INT0 26
TXD 11 P1.5 A13
P1.4 25 A12
RXD 10
P1.3 24 A11
P1.2 23 A10
P1.1 22 A9
P1.0 21 A8
Vss
20

a. Port 0: là port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ
nhỏ ( không dùng bộ nhớ mở rộng ) có hai chức năng như các đường IO. Đối với các thiết
kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giữa các bus.

b. Port1: Port1 là 1 cổng IO trên các chân 1-8. Các chân được ký hiệu P1.0
….P1.8 có thể dùng cho các thiết bị ngoài nếu cần. Port1 không có chức năng khác, vì
vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị ngoài.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
4
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

c. Port2: Port2 là một port công dụng kép trên các chân 21-28 được dùng như
các cổng xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở
rộng.

d. Port3: Là một port công dụng kép trên các chân 10-17. Các chân của port
này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của
8952 như ở bảng sau:

Bit Teân Chức năng chuyển đổi


P3.0 RXD Dữ liệu nhận từ Port nối tiếp
P3.1 TXD Dữ liệu phát cho Port nối tiếp
P3.2 INTO Ngắt 0 bên ngoài
P3.3 INT1 Ngắt 1 bên ngoài
P3.4 TO Ngoõ vaøo cuûa timer/counter 0
P3.5 T1 Ngoõ vaøo cuûa timer/counter 1
P3.6 WR Xung ghi boä nhôù döõ lieäu ngoaøi
P3.7 RD Xung ñoïc boä nhôù döõ lieäu ngoaøi

Bảng chức năng của các chân trên Port3

e. PSEN (Program store Enable) : 8952 có bốn tín hiệu điều khiển

PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ nhớ
chương trình mở rộng và thường được nối đến chân OE (Output Enable ) của một
EPROM để cho phép đọc các bytes mã lệnh.

PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình
được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8952 để giải mã lệnh.
Khi thi hành chương trình trong ROM nội (8952 ) PSEN sẽ ở mức thụ động (mức cao).

f. ALE (Address Latch Enable ):


Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm việc với các vi xử lý
8585, 8088, 8086, 8951 dùng ALE một cách tương tự cho làm việc giải các kênh các bus
địa chỉ và dữ liệu khi port 0 được dùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu
vừa là bus thấp của địa chỉ, ALE là tín hiếu để chốt địa chỉ vào một thanh ghi bên trong
nữa đầu của chu kỳ bộ nhớ. Sau đó, các đường Port 0 dùng để xuất hoặc nhập dữ liệu
trong nữa sau chu kỳ của bộ nhớ.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tố số dao động trên chip và có thế
được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung trên 8952 là 12MHZ thì ALE
có tấn 2MHz. Chỉ ngoại trừ khi thi hành lệch MOVX, một xung ALE sẽ bị mất. Chân
này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8952.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
5
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

g. EA (Extemal Acces):
Tín hiệu vào EA trên chân 31 thường đươc mặc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, 8952 thi hành chương trình từ ROM nội trong khoảng địa chỉ
thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng
8031, EA luôn được nối mức thấp vì không có bộ nhớ chương trình trên chip. Nếu EA
được nối mức thấp bộ nhớ trong chương trình 8952 sẽ bị cấm và chương trình thi hành từ
EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình
cho EPROM trong 8952.

h. SRT( Reset):
Ngõ vào RST trên chân 9 là ngõ reset của 8952. Khi tín hiệu này được đưa lên mức
cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong 8952 được tải những giá trị thích
hợp để khởi động hệ thống.

i. Các ngõ vào bộ dao động trên chip:


Như đã thấy trong các hình trên, 8952 có một bộ dao động trên chip. Nó thường
được nối với thạch anh giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ. Tần
số thạch anh thông thường là 12Mhz.

j. Các chân nguồn:


8952 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss(GND) được
nối vào chân 20.

k. Các bank thanh ghi:


32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của 8952
hỗ trợ 8 thanh ghi (R0 – R7) và theo mặc định (sau khi Reset hệ thống) các thanh ghi này
ở các địa chỉ 00H-07H. Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích
lũy.

MOV A,R5
Đây là lệnh một byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự có thể
được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai:

MOV A,05H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh
tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường xuyên nên
dùng một trong các thanh ghi này.

Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi
trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ
ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H:

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
6
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

MOV R0,A
Ý tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình nhanh
và hiệu quả (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghi riêng không phụ
thuộc vào các phần khác).

Lệnh reset :
8952 được reset bằng cách giữ chân RST ở mức cao ít nhất trong 2 chu kỳ máy và
trả nó về mức thấp. RST có thể được kích khi cấp điện dùng một mạch R-C.

+5V
+5V
100 10UF

8,2K

Mạch reset hệ thống

Trạng thái của tất cả các thanh ghi của 8952 sau khi reset hệ thống được tóm tắt
trong bảng sau:

Thanh ghi Noäi dung


Đếm chương trình 0000H
Tích lũy 00H
B 00H
PSW 00H
SP 07H
DPTR 0000H
Port 0-3 FFH
IP XXX00000B
IE 0XX00000B
Các thanh ghi định thời 00H
SCON 00H
SBUF 00H
PCON(HMOS) 0XXXXXXB
PCON(CMOS) 0XXX0000B

Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình, nó được đặt
lại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt đầu ở địa chỉ
đầu tiên trong bộ nhớ trong chương trình: địa chỉ 0000H. Nội dung của RAM trên chip
không bị thay đổi bởi lệnh reset

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
7
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

3. Hoạt động của Timer

Truy xuất timer của AT89C52 dùng 6 thanh ghi chức năng cho trong bảng sau:

SFR MỤC ĐÍCH ĐỊA CHỈ Địa chỉ hóa từng bit
TCON Điều khiển timer 88H Có
TMOD Chế độ timer 89H Không
TL0 Byte thấp của timer 0 8AH Không
TL1 Byte thấp của timer 1 8BH Không
TH0 Byte cao của timer 0 8CH Không
TH1 Byte cao của timer 1 8DH Không

Thanh ghi chức năng đặc biệt dùng timer

▪ Thanh ghi chế độ timer (TMOD)


Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer 0 và
timer 1.

Bit Tên Timer Mô tả


7 GATE 1 Bit (Mở) cổng, khi lên 1 timer chỉ chạy khi INT1
ở mức cao.
6 C/T 1 Bit chọn chế độ counter/timer
1=bộ đếm sự kiện
0=bộ định khoảng thời gian
5 M1 1 Bit 1 của chế độ (mode)
4 M0 1 Bit 0 của chế độ
00: chế độ 0 : timer 13 bit
01: chế độ 1 : timer 16 bit
10: chế độ 2 : tự động nạp lại 8255A bit
11: chế độ 3 : tách timer
3 GATE 0 Bit (mở) cổng
2 C/T 0 Bit chọn counter/timer
1 M1 0 Bit 1 của chế độ
0 M0 0 Bit 0 của chế độ

▪ Thanh ghi điều khiển timer (TCON)

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer 0 và timer 1.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
8
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

Bit Kí hiệu Địa chỉ Mô tả


TCON.7 TF1 8FH Cờ báo tràn timer 1. Đặt bởi phần cứng
khi tràn, được xóa bởi phần mềm hoặc phần
cứng khi bộ xử lý chỉ đến chương trình ngắt.

TCON.6 TR1 8EH Bit điều khiển timer 1 chạy.


Đặt/ xóa bằng phần mềm
TCON.5 TF0 8DH Cờ báo tràn timer 0
TCON.4 TR0 8CH Bit điều khiển timer 0 chạy
TCON.3 IE1 8BH Cờ cạnh ngắt 1 bên ngoài
TCON.2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài
Phần cứng khi phát hiện một cạnh xuống
ở INT1, xóa bằng phần mềm hoặc phần
cứng khi CPU chỉ đến chương trình phục
vụ ngắt. Đặt xóa bằng phần mềm.
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngoài
TCON.0 IT0 88H Cờ kiểu ngắt 0 bên ngoài

Tóm tắt thanh ghi TCON

▪ Khởi động và truy xuất các thanh ghi timer


Thông thường các thanh ghi được khởi động một lần ở đầu chương trình để đặt chế
độ làm việc cho đúng. Sau đó thân chương trình là các timer được cho chạy, dừng, các bit
cờ được kiểm tra và xóa, các thanh ghi được đọc và cập nhật…
TMOD là thanh ghi thứ nhất đước khởi động vì nnó đặt chế độ hoạt động. Ví dụ
các lệnh sau khi khởi động timer 1 như timer 16 bit (chế độ1) có xung nhịp từ bộ dao
động trên chíp cho việc định khoảng thời gian.

▪ Các khoảng ngắn và các khoảng dài


89C52 hoạt động với tần số là 12Mhz. Như vậy xung nhịp của các timer có tần số
là 1MHz.
Khoảng thời gian ngắn nhất có thể có bị giới hạn không chỉ bởi tần số xung nhịp
của timer mà còn bởi phầm mềm. Do ảnh hưởng của thời gian khoảng thực hiện 1 lệnh,
ngắn nhất là 1 chu kì máy hay 1s
Sau đây là bảng tóm tắt:

Khoảng thời gian Kỹ thuật


10 - Bằng phần mềm
256 - Timer 8 bit tự động nạp lại
65535 - Timer 16 bit
Khoảng thời gian - Timer 16 bit cộng với các vòng lặp
phần mềm

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
9
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

II. HOẠT ĐỘNG ĐÈN GIAO THÔNG

Lưu đồ hoạt động của đèn Giao thông:

Bắt đầu

Bật đèn xanh hướng 2, đỏ hướng 1.


Lưu sáng và hiển thị

Bật đèn vàng hướng 2, đỏ hướng 1.


Lưu sáng và hiển thị

Bật đèn đỏ hướng 2, xanh hướng 1.


Lưu sáng và hiển thị

Bật đèn đỏ hướng 2, vàng hướng 1.


Lưu sáng và hiển thị

Kết thúc

Trên đây là hoạt động của 2 hướng chính của hệ thống. Khi có tác động của phím bấm thì
tất cả các hướng dừng lại trong thời gian 3s. Sau đó đèn xanh của người đi bộ sáng 10s
đồng thời cho sáng luôn đèn xanh của hướng song song, hướng còn lại đèn đỏ.
Sau 10s đèn đỏ của người đi bộ lại sáng bình thường. Lúc này đèn vàng của 2 hướng
chính cũng được bật lên để chuẩn bị trả về trạng thái lúc trước có tác động bấm phím cho
nó.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
10
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

III. MÔ PHỎNG VÀ VIẾT CHƯƠNG TRÌNH CHO HỆ THỐNG

1. Phần cứng

- Mô phỏng trên phần mềm Proteus.


- Sau khi cài đặt xong bật giao diện chính của Proteus lên. Lần lượt lấy các linh kiện
cần thiết cho quá trình mô phỏng hệ thống đèn Giao thông, bao gồm:
+ 1 con Vi xử lý AT89C52
+ 3 con LED_GREEN, RED, YELLOW
+ 1 con LED 7 thanh: 7SEG-MPX4-CC
+ 1 con DIODE 1N4007
+ 1 phím bấm
Ở đây chỉ mang tính chất mô phỏng nên ta chưa cho thêm con Transistor và các điện trở,
nguồn vào mà lấy trực tiếp nguồn của con VXL đấu với các đèn, đầu còn lại nối đất.
Sau khi nối các chân của các linh kiện vào chân của VXL (hình vẽ) ta sử dụng tính
năng Wide label để giấu các đường nối với các tên gọi tương ứng.

Sau đó ta đi viết chương trình chạy và nạp vào cho con VXL 89C52 này.

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
11
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

2. Lập trình

- Viết chương trình bằng ngôn ngữ Assembly trên phần mềm Keil
- Tạo một Folder mới rồi tạo một Project viết, chạy và dịch chương trình trong đó.

Chương trình có nội dung như sau:

dem equ 30h mov tl1,#low(15535)


leddv equ 31h mov dptr,#bangma
ledch equ 32h mov tdo1,#10
ledtr equ 33h mov txa1,#8
tdo1 equ 34h mov tva,#2
txa1 equ 35h mov tddb,#3
tva equ 36h mov txdb,#10
ti1 equ 37h clr p3.0
cden equ 38h clr p3.1
quet1 equ 39h
tddb equ 40h mov cden,#0
txdb equ 41h setb ET0
leddvb equ 42h setb EX0
ledchb equ 43h setb EX1
ledtrb equ 44h setb p0.4
setb p0.5
org 00h setb p0.6
ljmp main setb tr0
setb tr1
org 03h ;------------------
clr tr0 loop:
ljmp ngat0 mov r0,#0
org 0bh mov a,tdo1
ljmp t0i lcall tinhtg
org 013h
clr tr0 ; hien thi den do cua huong 1 va den
ljmp ngat1 xanh2 vang1
org 45h xanh:
main: lcall quetled
mov sp,#5fh mov p1,#0ch
mov tmod,#11h mov a,tdo1
setb EA inc a
mov dem,#0 subb a,tva
mov th0,#high(15535) mov ti1,a
mov tl0,#low(15535) mov a,r0
mov th1,#high(15535) cjne a,ti1,xanh

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
12
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

vang2: ;----------------- nap cac so hanh don vi,


lcall quetled chuc, tram
mov p1,#14h tinhtg:
mov a,r0 mov b,#100
cjne a,tdo1,vang2 div AB
;------------------------------- mov ledtr,a
mov r0,#0 mov a,b
mov a,txa1 mov b,#10
add a,tva div AB
lcall tinhtg mov ledch,a
mov leddv,b
; hien thi den xanh cua huong 2, do cua ret
huong 1 ;---------------------
do: quetled:
lcall quetled mov a,leddv
mov p1,#21h movc a,@a+dptr
mov a,txa1 mov P2,a
mov ti1,a clr P0.3
mov a,r0 lcall tre1
cjne a,txa1,do setb P0.3

vang1: mov a,ledch


lcall quetled movc a,@a+dptr
mov p1,#22h mov P2,a
mov a,txa1 clr P0.2
add a,tva lcall tre1
mov ti1,a setb P0.2
mov a,r0
cjne a,ti1,vang1 mov a,ledtr
movc a,@a+dptr
ljmp loop mov P2,a
;------------------ clr P0.1
trevn: lcall tre1
mov r3,#100 setb P0.1
ret
loop1n:
mov r4,#200 ;---------------
tre1:
loop2n: mov R1,#50
djnz r4,loop2n
djnz r3,loop1n loop0:
ret djnz R1,loop0
ret

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
13
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

t0i:;---------------------------------------- lcall trev


mov th0,#high(15535) mov a,txdb
mov tl0,#low(15535) lcall tinhtg
inc dem mov p1,#61h
mov a,dem lcall tredb
cjne a,#20,thoat mov a,tddb
mov dem,#0 lcall tinhtg
lcall capnhat mov p1,#0a4h
thoat: lcall trev
reti;----------------- mov a,leddvb
capnhat: mov leddv,a
dec leddv mov a,ledchb
inc r0 mov ledch,a
mov a,leddv mov a,ledtrb
cjne a,#255,thoat1 mov ledtr,a
mov leddv,#9 mov a,r2
mov r0,a
dec ledch setb tr0
mov a,ledch reti
cjne a,#255,thoat1
mov ledch,#9 ;---------------------------
trev:
dec ledtr mov r3,tddb
mov a,ledtr loop1:
cjne a,#255,thoat1 mov r4,#30
mov ledtr,#9 loop2:
mov r5,#100
thoat1: loop3:
ret;-------------------------------- lcall quetled
---------- djnz r5,loop3
djnz r4,loop2
ngat0: lcall capnhat
mov a,leddv djnz r3,loop1
mov leddvb,a ret
mov a,ledch
mov ledchb,a ;-------------------
mov a,ledtr tredb:
mov ledtrb,a mov r3,txdb
mov a,r0 loop4:
mov r2,a mov r4,#29
mov a,tddb loop5:
lcall tinhtg mov r5,#100
mov p1,#0a2h

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
14
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử

loop6:
lcall quetled setb tr0
djnz r5,loop6 clr p3.1
djnz r4,loop5 reti
lcall capnhat ;-------------------------
djnz r3,loop4
ret bangma: db
;------------------ 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,
ngat1: 6fh
mov a,leddv End.
mov leddvb,a
mov a,ledch
mov ledchb,a
mov a,ledtr
mov ledtrb,a
mov a,r0
mov r2,a
mov a,tddb
lcall tinhtg
mov p1,#14h
setb p3.1
clr p3.0
lcall trev
mov a,txdb
lcall tinhtg
mov p1,#0ch
setb p3.0
clr p3.1
lcall tredb
mov a,tddb
lcall tinhtg
mov p1,#24h
setb p3.1
clr p3.0
lcall trev
mov a,leddvb
mov leddv,a
mov a,ledchb
mov ledch,a
mov a,ledtrb
mov ledtr,a
mov a,r2
mov r0,a

Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
15

You might also like