mình tìm đc bài tập lớn của 1 bạn trên diễn đàn gần giồng với bài thầy mình giao cho mình làm ... nhưng mà có điều kô có trị số của linh kiện ... mình kô thể làm đc ... ai có thể giúp mình tìm trị số đc ko? Mình cảm ơn nhiều ...
I.Cấu trúc chung về VĐK AT89C52.
VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau:
• 4KB ROM bên trong
• 256 Byte ngoài
• 4 Port xuất nhập dữ liệu I/O
• 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
II Thiết kế
1. Nhiệm vụ.
Thiết kế cụn đèn giao thông sáng theo chu trình.
- Đèn đỏ sáng 29s, đèn vàng sáng 5s, đèn xanh sáng 24s.
- Trong khoảng thời gian các đèn sáng, 2 LED 7 thanh làm nhiệm vụ đếm ngược thời gian đặt trước về 00 rồi tác động đèn màu tương ứng.
- Chu trình được lặp lại vô tận.
2. Thiết kế.
Các mạch thiết kế: Mạch chủ điều khiển đèn màu (xanh, vàng, đỏ).
Code chương trình được viết trên Reads 51.
#include "sfr51.inc"
ORG 00H
LJMP MAIN
tg_xanh equ 24
tg_vang equ 4
tg_do equ 29
ORG 30H
MAIN:
mov SP,#5fh
mov P1,#00h
mov P2,#00h
mov P3,#00h
mov P0,#00h
lap:
mov 16h,#tg_xanh
mov 17h,#tg_do
mov P2,#09h ; xanh 1 do 2
lcall dkden2
dec 17h
mov 16h,#tg_vang
mov P2,#11h ; vang 1 do 2
lcall dkden1
mov 16h,#tg_do
mov 17h,#tg_xanh
mov P2,#24h ; do 1 xanh 2
lcall dkden1
dec 16h
mov 17h,#tg_vang
mov P2,#22h ; do 1 vang 2
lcall dkden2
sjmp lap
; cac chuong trinh con ho tro.
; chuong trinh con giai ma hex sang ma bcd & su dung 7447 de giai ma cho LED 7 thanh
hextobcd:
mov A,16h ; giai ma so thu nhat
mov B,#10
div AB
mov 36h,A
mov 37h,B
mov A,17h ; giai ma so thu hai
mov B,#10
div AB
mov 26h,A
mov 27h,B
ret
; chuong trinh con hien thi LED 7 thanh
hienthi: ; mat 20 micro s
mov P1,27h ; hang don vi cho LED 1
setb P1.4
lcall tre10us
clr P1.4
mov P1,26h ; hang chuc cho LED 1
setb P1.5
lcall tre10us
clr P1.5
mov P1,37h ; hang don vi cho LED 2
setb P1.6
lcall tre10us
clr P1.6
mov P1,36h ; hang chuc cho LED 2
setb P1.7
lcall tre10us
clr P1.7
ret
; chuong trinh delay 1s
delay:
mov R1,#100
delay1: mov R2,#50
delay2: mov R3,#100
lcall hienthi
delay3: djnz R3,delay3
djnz R2,delay2
djnz R1,delay1
ret
; chuong trinh delay 1ms
tre10us:
mov R4, #10
tre: djnz R4, tre
ret
; chuong trinh dieu khien den
dkden1:
lap1:
lcall hextobcd
lcall delay
dec 16h
djnz 17h, lap1
lcall hextobcd
lcall delay
ret
dkden2:
lap2:
lcall hextobcd
lcall delay
dec 17h
djnz 16h, lap2
lcall hextobcd
lcall delay
ret
END
I.Cấu trúc chung về VĐK AT89C52.
VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau:
• 4KB ROM bên trong
• 256 Byte ngoài
• 4 Port xuất nhập dữ liệu I/O
• 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
II Thiết kế
1. Nhiệm vụ.
Thiết kế cụn đèn giao thông sáng theo chu trình.
- Đèn đỏ sáng 29s, đèn vàng sáng 5s, đèn xanh sáng 24s.
- Trong khoảng thời gian các đèn sáng, 2 LED 7 thanh làm nhiệm vụ đếm ngược thời gian đặt trước về 00 rồi tác động đèn màu tương ứng.
- Chu trình được lặp lại vô tận.
2. Thiết kế.
Các mạch thiết kế: Mạch chủ điều khiển đèn màu (xanh, vàng, đỏ).
Code chương trình được viết trên Reads 51.
#include "sfr51.inc"
ORG 00H
LJMP MAIN
tg_xanh equ 24
tg_vang equ 4
tg_do equ 29
ORG 30H
MAIN:
mov SP,#5fh
mov P1,#00h
mov P2,#00h
mov P3,#00h
mov P0,#00h
lap:
mov 16h,#tg_xanh
mov 17h,#tg_do
mov P2,#09h ; xanh 1 do 2
lcall dkden2
dec 17h
mov 16h,#tg_vang
mov P2,#11h ; vang 1 do 2
lcall dkden1
mov 16h,#tg_do
mov 17h,#tg_xanh
mov P2,#24h ; do 1 xanh 2
lcall dkden1
dec 16h
mov 17h,#tg_vang
mov P2,#22h ; do 1 vang 2
lcall dkden2
sjmp lap
; cac chuong trinh con ho tro.
; chuong trinh con giai ma hex sang ma bcd & su dung 7447 de giai ma cho LED 7 thanh
hextobcd:
mov A,16h ; giai ma so thu nhat
mov B,#10
div AB
mov 36h,A
mov 37h,B
mov A,17h ; giai ma so thu hai
mov B,#10
div AB
mov 26h,A
mov 27h,B
ret
; chuong trinh con hien thi LED 7 thanh
hienthi: ; mat 20 micro s
mov P1,27h ; hang don vi cho LED 1
setb P1.4
lcall tre10us
clr P1.4
mov P1,26h ; hang chuc cho LED 1
setb P1.5
lcall tre10us
clr P1.5
mov P1,37h ; hang don vi cho LED 2
setb P1.6
lcall tre10us
clr P1.6
mov P1,36h ; hang chuc cho LED 2
setb P1.7
lcall tre10us
clr P1.7
ret
; chuong trinh delay 1s
delay:
mov R1,#100
delay1: mov R2,#50
delay2: mov R3,#100
lcall hienthi
delay3: djnz R3,delay3
djnz R2,delay2
djnz R1,delay1
ret
; chuong trinh delay 1ms
tre10us:
mov R4, #10
tre: djnz R4, tre
ret
; chuong trinh dieu khien den
dkden1:
lap1:
lcall hextobcd
lcall delay
dec 16h
djnz 17h, lap1
lcall hextobcd
lcall delay
ret
dkden2:
lap2:
lcall hextobcd
lcall delay
dec 17h
djnz 16h, lap2
lcall hextobcd
lcall delay
ret
END
Comment