Upload
dddly
View
532
Download
0
Embed Size (px)
DESCRIPTION
ai dang lam lay ve dung nha
Citation preview
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
MỤC LỤC
Trang
LỜI NÓI ĐẦU……………………………………………. 02
A - PHƯƠNG ÁN THIẾT KẾ…………………………….. 04
I - SƠ ĐỒ KHỐI HỆ THỐNG MẠCH ĐÈN GIAO THÔNG……
II - PHƯƠNG ÁN THIẾT KẾ…………………………………
B - THIẾT KẾ ………………………………………………. 07
I - GIỚI THIỆU VỀ VĐK 8051…………………………….. 07
1. Cấu trúc của VĐK 8051……………………………….. 07
2. Các nhóm lệnh của VĐK 8051………………………… 16
II - THIẾT KẾ PHẦN CỨNG……………………………….. 23
1. Khối Giải mã……………………………………………. 23
2. Khối xử lý ………………………………………………. 25
3. Khối hiển thị ………………………………………. ….. 27
4. Sơ đồ nguyên lý hệ thống………………………………. 29
5. Sơ đồ mạch in của hệ thống……………………………. 30
III - THIẾT KẾ PHẦN MỀM………………………………... 31
CHƯƠNG TRÌNH ĐIỀU KHIỂN HỆ THỐNG..............................
C - NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG ….. 35
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 1
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
LỜI NÓI ĐẦU
Trong thời đại ngày nay khi nhân loại đang trải qua những bước tiến vượt bậc
về khoa học công nghệ, thì ngành điện tử cũng có những bước tiến quan trọng
đặc biệt là trong lĩnh vực vi điều khiển. Các bộ vi xử lý ngày càng phát triển và
hoàn thiện hơn,được sử dụng trong hầu hết các hệ thống điều khiển tự động trong
công nghiệp,khoa học kĩ thuật,cũng như trongcác thiết bị dân dụng. Chính nhờ vai
trò,chức năng của vi xử lý đã đem lại nhiều ưu điểm, nhiều tính năng đặc biệt cho
các hệ thống điều khiển thay thế con người trong các công việc đòi hỏi sự phức tạp và
yêu cầu kỹ thuật cao.
Để áp dụng tính năng đặc biệt đó của vi xử lý vào thực tiễn,nhóm sinh viên
chúng em gồm các thành viên:
1- Nguyễn Phùng Thịnh
2- Lê Tiến Phong
3- Nguyễn Huy Yên
Dưới sự hướng dẫn nhiệt tình và chu đáo của thầy giáo Nguyễn Đình Thư,
nhóm chúng em đã tiến hành nghiên cứu và hoàn thành đồ án với đề tài: THIẾT KẾ
MẠCH ĐÈN GIAO THÔNG SỬ DỤNG HỌ 8051.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 2
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051---------------------------------------------------------------------------------------------------------------- Trong hệ thống này nhóm em đã sử dụng IC AT89S52 là IC điều khiển chính.
Ngoài việc sử dụng IC 89S52 còn sử dụng một số linh kiện phụ trợ khác.
Mặc dù đã cố gắng nhiều nhưng vì kinh nghiệm chưa có nhiều và sự khác biệt giữa lý
thuyết – thực hành nên trong quá trình thực hiện còn nhiều thiếu sót. Mong được sự
góp ý chân tình từ thầy cô và các bạn!
Chúng em chân thành cám ơn các thầy,các cô giáo dã nhiệt tình giúp đỡ nhóm
em trong thời gian hoàn thành đồ án.Cám ơn các anh chị sinh viên đi trước và các bạn
sinh viên đã cùng đóng góp ý kiến, thảo luận và giúp đỡ.
Đặc biệt chúng em xin chân thành cám ơn Thầy giáo hướng dẫn Nguyễn Đình
Thư,cô giáo Trần Thị Thương đã nhiệt tình hướng dẫn và giúp đỡ chúng em hoàn
thành đồ án này.
Chúng em xin chân thành cám ơn!
Vinh,ngày 05 tháng 09 năm 2010
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 3
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
A - PHƯƠNG ÁN THIẾT KẾ
I - SƠ ĐỒ KHỐI HỆ THỐNG
KHỐI GIẢI MÃ KHỐI ĐIỀU KHIỂN KHỐI HIỂN THỊ
------------------------- BUS -------------------------------- BUS- --------------------------
IC IC LED 7 THANH ( SN 74LS47 ) 89S52
Hình 1: Sơ đồ khối của hệ thống
II - PHƯƠNG ÁN THIẾT KẾ
Hiện nay việc sử dụng các mạch số kết kợp với chíp vi điều khiển trong các hệ
thống điều khiển tự động đã trở nên rất phổ biến vì những ưu việt của nó như: độ
chính xác, khả năng lập trình được, tốc độ điều khiển nhanh, sử dụng đơn giản,…Mặt
khác kỹ thuật số, vi xử lý, vi điều khiển là lĩnh vực đang phát triển mạnh mẽ và có
ứng dụng trong rất nhiều ngành sản xuất. Vì vậy, ta sẽ thiết kế một hệ thống điều
khiển giao thông đơn giản, chỉ sử dụng bộ vi điều khiển. Tất cả các tín hiệu điều khiển
đều đượcđưađến khối hiển thị trực tiếp từ các cổng của bộ vi điều khiển.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 4
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051---------------------------------------------------------------------------------------------------------------- Phương án này có đặc điểm là mạch gọn nhẹ, không quá phức tạp, cách thức bố trí linh kiện dễ dàng, lập trình đơn giản, dễ chỉnh sửa.
Do đề tài yêu cầu:
“ Thiết kế mạch đèn giao thông sử dụng họ VĐK 8051”
Nên chúng ta sẽ chọn :
+ VĐK AT89S52 ( Họ VĐK 8051) làm khối điều khiển chính của hệ thống
mạch đèn giao thông.
+ Để điều khiển hệ thống , ta sử dụng khối giải mã bao gồm IC SN
74LS247N.
+ Để hiển thị thời gian ta sử dụng các Led 7 thanh.
+ Ngoài ra , ta còn sử dụng 1 số điện trở, tụ diện . transistor.....và 1 số linh kiện
phụ trợ khác
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 5
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
B - THIẾT KẾ
I - GIỚI THIỆU VỀ VI ĐIỀU KHIỂN 8051
1 - CẤU TRÚC CỦA VĐK 8051
1.1 - Sơ đồ khối và sơ đồ chân của VĐK 8051
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 6
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Hình 2: Sơ đồ chân của VĐK 8051
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 7
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Hình 3: Sơ đồ chân của VĐK 8051
VĐK 8051 bao gồm:
+ CPU 8 bit
+ 4KB Rom bộ nhớ chương trình
+ 128 Byte Ram dữ liệu
+ 2 Bộ định thời timer 0,1
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 8
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
+ 1 cổng ra nối tiếp (Seral port)
+ 4 cổng xuất nhập P0 - P3 (I/O port)8 bit
+ Mạch giao tiếp nối tiếp
+ Không gian nhớ chương trình ngoàI 64K.
+ 210 vị trí nhớ được định địa chỉ , mỗi vị trí 1 bit
+ Bộ xử lý bit (thao tác trên các bit riêng lẻ )
+ Một bộ điều khiển ngắt:Interruptcontrol
+ Một mạch dao động bên trong và một bộ điều khiển Bus
+ Các cổng P0-P3 là các cổng vào ra hai chiều. Ngoài ra P0 và P2 còn được xử
dụng để truy cập bộ nhớ ngoài với các chương trình ứng dụng này cổng P0
sẽ đưa ra địa chỉ Byte thấp và P2 đưa ra địa chỉ cao
+ Cổng port 3 có hai công dụng :
Khi hoạt động ở chế độ xuất nhập mỗi một cổng của P3 có một chức
năng riêng
+ RxD : chân nhập dữ liệu cổng nối tiếp
+ TxD : phát dữ liệu cổng nối tiếp
+ INT : ngắt ngoài
+ INT1 : Ngõ ngoài của bộ định thời không và ngõ vào của bộ định thời 1
+ OE : ( outront enable) cho phép đọc các byte lệnh trong thời gian lấy lệnh
+ Trong thời gian lấy lệnh tín hiệu PSEN=0
Trong thời gian thực hiện lệnh PSEN=1
+ ALE (address lacht Enable): là tín hiệu để chốt địa chỉ
+ EA : truy xuất bên ngoài.
+ 8051 thực hiện chương trình trong Rom nội. Ngoài ra EA được dùng
chân nhận điện áp 21V cho việc lập trình Eprom
+ RST : (reset) là chân dùng thiết lập trạng thái ban đầu cho hệ thống
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 9
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
+ WR : tín hiệu đIều khiển ghi nhớ ngoài
+ RD : tín hiệu đIều khiển đọc bộ nhớ ngoài
+ PSEN : (Program store Enable) là tín hiệu điều khiển cho phép truy xuất bộ
nhớ ngoài , tín hiệu này được nối với OE
1.2 - Chức năng các chân của VĐK 8051
Vcc : chân cấp điện
Vss : Chân nối đất (0 V)
32 chân trong số 40 chân của 8051 có công dụng xuất/nhập, tuy nhiên 24 trong
32 đường này có 2 mục đích (công dụng). Mỗi một đường có thể hoạt động xuất/nhập
hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.
32 chân nêu trên hình thành 4 port 8-bit. Với thiết kế yêu cầu một mức tối thiểu
bộ nhớ ngoài hoặc các thành phần bên ngoài khác, ta có thể sử dụng các port này làm
nhiệm vụ xuất/nhập. 8 đường cho mỗi port có thể được xử lý như một đơn vị giao tiếp
với các thiết bị song song như máy in, bộ biến đổi D-A v.v hoặc mỗi đường có thể
hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, BJT,
FET, cuộn dây, động cơ, loa,...
Port 0 : Port 0 ( các chân từ 32 đến 39 trên 8051 ) có hai công dụng . Trong các thiết
kế có tối thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập. Trong các
thiết kế lớn hơn có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp
( byte thấp của bus địa chỉ)
Port 1 : Port1 chỉ có một công dụng là xuất/nhập ( các chân từ 1 đến 8 trên 8051 )
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 10
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------.
Các chân của port 1 được ký hiệu là P1.0, P1.1,..., P1.7 và được dùng để giao tiếp
với thiết bị bên ngoài khi có yêu cầu. Không có chức năng nào nữa gán cho các chân
của port 1, nghĩa là chúng chỉ được sử dụng để giao tiếp với các thiết bị ngoại vi.
Port 2 : Port 2 ( các chân từ 21 đến 28 trên 8051 ) có 2 công dụng, hoặc làm nhiệm vụ
xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16 bit cho các thiết kế có bộ nhớ
chương trình ngoài hoặc các thiết kế có nhiều hơn 256 bytes bộ nhớ dữ liệu ngoài.
Port 3 : Port 3 ( các chân từ 10 đến 17 trên 8051 ) có 2 công dụng. Khi không hoạt
động xuất/nhập, các chân của port 3 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ác đặc trưng cụ thể của 8051 )
Bảng sau đây cho ta chức năng của các chân của port 3 :
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu port nối tiếp
P3.1 TxD B1H Chân phát dữ liệu port nối tiếp
P3.2 INT0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời/đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời/đếm 1
P3.6 WR B6H Điều khiểnghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H ĐiềU khiển đọcbộ nhớ dữ liệu
ngoài
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 11
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Chân cho phép bộ nhớ chương trình PSEN :
8051 cung cấp cho ta 4 tín hiệu điều khiển bus. Tín hiệu cho phép bộ nhớ
chương trình PSEN ( program store enable) là tín hiệu xuất trên chân 29. Đây là tín
hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài. Chân này thường
nối với chân cho phép xuất OE ( output enable ) của EPROM ( hoặc ROM ) để cho
phép đọc các file lệnh.
Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh. Các mã nhị phân
của chương trinh hay opcode ( mã thao tác ) được đọc từ EPROM, qua bus dữ liệu và
chốt vào thanh ghi lệnh IR của 8051 để được giải mã.
Khi thực thi một chương trình chứa trong ROM nội , PSEN được duy trì ở
logic không tích cực ( logic 1 ).
Chân cho phép chốt địa chỉ ALE :
8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE
( address latch enable ) để giải đa hợp ( demultiplexing ) bus dữ liệu và bus địa chỉ.
Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để
chốt địa chỉ ( byte thấp của địa chỉ 16 bit) vào một thanh ghi ngoài trong suốt nửa đầu
của chu kỳ bộ nhớ ( memory cycle ). Sau khi điều này đã được thực hiên, các chân
của port 0 sẽ xuất/nhập dữ liệu hợp lệ trong suốt nửa thứ hai của chu kỳ bộ nhớ.
Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong chip vi
điều khiển và có thể dùng làm xung clock cho phần còn lại của hệ thống. Nừu mạch
dao động có tần số 12 MHz, tín hiệu ALE có tần số 2 MHz . Ngoại lệ duy nhất là
trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua. Chân ALE còn
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 12
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------được dùng để nhận xung ngõ vào lập trình cho EPROM trên chip đối với các phiên
bản có EPROM này.
Chân truy xuất ngoài EA
Ngõ vào này ( chân 31 ) có thể được nối với 5 V ( logic 1 ) hoặc với GND
( logic 0 ) . Nếu chân này nối lên 5 V, 8051 thực thi chương trình trong ROM nội
( chương trình nhỏ hơn 4K ). Nếu chân này nối với GND ( và chân PSEN cũng ở
logic 0 ), chương trình cần thực thi chứa ở bộ nhớ ngoài. Nếu chân EA ở logic 0 ,
ROM nội bên trong chip được vô hiệu hoá và chương trình cần thực thi chứa ở
EPROM bên ngoài.
Chân RESET ( RST )
Ngõ vào RST ( chân 9 ) là ngõ vào xoá chính ( master reset ) của 8051 dùng để
thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống. Khi ngõ vào
này được treo ở logic 1 tối thiểu 2 chu kỳ máy, các thanh ghi bên trong của 8051 được
nạp các giá trị thích hợp cho việc khởi động lại hệ thống.
Các chân XTAL1 và XTAL2
Mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ở hai
chân XTAL1 và XTAL2 ( chân 18 và 19 ). Tần số danh định của thạch anh là 12 MHz
cho hầu hết các chip của họ MCS-51.
XTAL1 : Ngõ vào đến mạch khuếch đại đảo của mạch dao động.
XTAL2 : Ngõ ra từ mạch khuếch đại đảo của mạch dao động.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 13
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
1.3- Bộ nhớ trên chip
* RAM trong:
Bộ vi điều khiển 8051 có 128 byte RAM trong bao gồm 32 byte đầu tiên (00H đến 1FH)
dành cho các thanh ghi, 16 byte tiếp theo (20H đến 2FH) là vùng RAM định địa chỉ theo bit,
sau đó là 80byte RAM nháp.
Vùng thanh ghi có 32 byte, chia thành 4 khối (bank 0 đến bank 3),mỗi khối có 8 thanh ghi
(từ R0 đến R7).
Ở vùng RAM định địa chỉ theo bit, các bit được dánh địa chỉ từ 00H đến 7FH.
Các thanh ghi chuyên dụng (SFRs – Special Function Registers):
Các thanh ghi này có địa chỉ từ 80H đến FFH. Chúng chứa nộidung của các thanh ghi điều khiển.
Sau đây là một số thanh ghi chuyên dụng:
THANH GHI MÃ GỢI NHỚ ĐỊA CHỈCHỐT CỔNG Port0 P0 80HCHỐT CỔNG Port1 P1 90HCHỐT CỔNG Port2 P2 AOH CHỐT CỔNG Port3 P3 BOH
Điều khiển bộ định thời/bộ đếm TCON 88HĐiền khiển chế độ bộ định thời/bộ đếm TMOD 89HByte thấp bộ định thời/bộ đếm 0 TL0 8AHByte cao bộ định thời/bộ đếmo TH0 8BHByte thấp bộ định thời/bộ đếm 1 TL1 8CHByte cao bộ định thời/bộ đếm 1 TH1 8DHCho phép ngắt IF A8HĐiều khiển ưu tiên khi ngắt IP B8HTừ trạng thái chuong trình PSW D0HThanh ghi tích lũy ACC(A) E0HThanh ghi B B F0H
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 14
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Bảng 1: Một số thanh ghi chuyên dụng của vi điều khiển 8051
* ROM:
Bộ vi điều khiển AT89S52 có 4KB FLASH lập trình được.
ROM luôn chiếm vùng địa chỉ thấp nhất trong bộ nhớ chương trình.
1.4-Các Bộ định thời/Bộ đếm:
Bộ vi điều khiển 8051 có 2 Bộ định thời/Bộ đếm là Bộ định thời/Bộ đếm 0 và
Bộ định thời/Bộ đếm 1.Chúng có thể hoạt động như là bộ định thời hoặc bộ đếm.
Chế độ hoạt động của các Bộ định thời/Bộ đếm được cất trong thanh ghi TMOD
GATE1 C/T1 M1(1) M0(1) GATE0 C/T0 M1(0) M0(0)
Nếu bit GATE xóa, các Bộ định thời/Bộ đếm được phép hoạt đông khi bit TR# tương
ứng trong thanh ghi TCON thiết lập. Ngược lại, nếu GATE thiết lập thì các Bộ định
thời/Bộ đếm chỉ hoạt động khi các chân INT# tương ứng tích cực (mức thấp).
Bit C/T# dùng để lựa chọn chế độ hoạt động bộ đếm hay bộ định thời. Nếu được
thiết lập thì nó hoạt đông theo chế độ đếm sự kiện,lúc này nguồn xung cho bộ đếm là
xung ngoài đưa vào từ chân T# tương ứng (chân 14, 15). Nếu bị xóa,thì nó hoạt động
theo chế độ định thời với nguồn xung là xung tạo ra từ bộ tạo dao đông trên
chip sau khi chia 12.
Các bit M0, M1 dùng để xác dịnh chế độ đếm cho các bộ đếm:
M1 M0 CHẾ ĐỘ
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 15
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
0 0 Đếm 13 bit0 1 Đếm 16 bit1 0 Đếm 8 bit và tự động nạp lại1 1 Bộ đếm 0 đếm 8bit riêng rẽ Bộ đếm 1 dừng hoạt động
Bảng 2: Các chế độ hoạt động của các bộ đếm
Sự hoạt động của các Bộ định thời/Bộ đếm được điều khiển bởi thanh ghi TCON:
TF1 TR1 TF0 TR0 IE1 IT1 ITE IE0 IT0
Các bit TR# cho phép Bộ định thời/Bộ đếm hoạt động (nếu được thiết lập) hoặc
không cho phép chúng hoạt động (nếu bị xóa).
Các bit TF# là các cờ tràn tương ứng với các Bộ định thời/Bộ đếm. Chúng
được thiết lập khi xảy ra tràn và được xóa bằng phần cứng nếu khi đó bộ xử lý rẽ
nhánh đến chương trình phục vụ ngắt tương ứng.
Các bit IT# là các bit ngắt. Thiết lập IT# tạo ra chế độ ngắt cạnh,chân INT# nhận ra
một ngắt khi nhận ra có một sườn âm (↓) của tín hiệu vào. Xóa IT# tạo ra chế độ ngắt
mức, tức là ngắt được tạo ra khi tín hiệu vào ở mức thấp (0). Ở chế độ ngắt mức, khi
tín hiệu vào còn ở mức thấp thì ngắt được tạo ra liên tục cho đến khi tín hiệu vào
chuyển lên mức cao hoặc thiết lập IT#.
Các bit IE# là các cờ ngắt cạnh, được thiết lập khi dò thấy ngắt cạnh.
1.5-Điều khiển ngắt
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 16
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051---------------------------------------------------------------------------------------------------------------- Bộ vi điều khiển 8051 có 5 nguồn ngắt: TF0, TF1, INT0, INT1 và ngắt do cổng nối
tiếp. Sự điều khiển hoạt động ngắt được cất trong 2 thanh ghi là thanh ghi cho phép
ngắt IE (Interrupt Enable) và thanh ghi xác định thứ tự ưu tiên ngắt IP (Interrupt
Priority).
Các bit và chức năng của chúng trong thanh ghi IE như sau (thiết lập là cho phép,
xóa là cấm):
BIT MÃ GỌI NHỚ CHỨC NĂNG7 EA Cho ngắt toàn cục6 -- Không dùng5 ET2 Cho phép ngắt do bộ định thời 24 ES Cho phép ngắt do cổng nối tiếp3 ET1 Cho phép ngắt do bộ đếm 12 EX1 Cho phép ngắt từ bên ngoài 11 ET0 Cho phép ngắt do bộ đếm0 EX0 Cho phép ngắt từ bên ngoài 0
Bảng 3: Các bit và chức năng của nó trong thanh ghi IE
Với thanh ghi IP:BIT MÃ GỢI NHỚ CHỨC NĂNG7 -- Không dùng6 -- Không dùng5 PT2 Ưu tiên ngắt do bô định thời 24 PS Ưu tiên ngắt do cổng nói tiếp3 PT1 Ưu tiên ngắt do bộ đếm 12 PX1 Ưu tiên ngắt từ bên ngoài 1
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 17
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------1 PT0 Ưu tiên ngắt do bộ đếm 00 PX0 Ưu tiên ngắt từ bên ngoài 0
Bảng 4: Các bit và chức năng của chúng trong thanh ghi IP
2 - CÁC NHÓM LỆNH CỦA VĐK 8051 Tập lệnh của 8951 được chia thành 5 nhóm:
- Số học.
- Luận lý.
- Chuyển dữ liệu.
- Chuyển điều khiển.
Các chi tiết thiết lập lệnh:
Rn :Thanh ghi R0 đến R7 của bank thanh ghi được chọn.
Data : 8 bit địa chỉ vùng dữ liệu bên trong. Nó có thể là vùng RAM dữ liệu
trong (0-127) hoặc các thanh ghi chức năng đặc biệt.
@Ri : 8 bit vùng RAM dữ liệu trong (0-125) được đánh giá địa chỉ gián tiếp qua
thanh ghi R0 hoặc R1.
#data : Hằng 8 bit chức trong câu lệnh.
#data 16: Hằng 16 bit chứa trong câu lệnh
Addr16 : 16 bit địa chỉ đích được dùng trong lệnh LCALL và LJMP.
Addr11: 11 bit địa chỉ đích được dùng trong lệnh LCALL và AJMP.
Rel: Byte offset 8 bit có dấu được dùng trong lệnh SJMP và những lệnh nhảy có điều
kiện.
Bit: Bit được định địa chỉ trực tiếp trong RAM dữ liệu nội hoặc các thanh
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 18
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
ghi chức năng đặc biệt
a – Nhóm lệnh số học
ADD A,Rn : cộng nội dung thanh ghi Rn vào thanh ghi A.
ADD A,data (2,1): Cộng trực tiếp 1 byte vào thanh ghi A.
ADD A,@Ri (1,1): Cộng gián tiếp nội dung RAM chứa tại địa chỉ
được khai báo trong Ri vào thanh ghi A
ADD A,#data (2,1):Cộng dữ liệu tức thời vào A.
ADD A,Rn (1,1): Cộng thanh ghi và cờ nhớ vào A.
ADD A,data (2,1): Cộng trực tiếp byte dữ liệu và cờ nhớ vào A.
ADDC A,@Ri (1,1): Cộng gián tiếp nội dung RAM và cờ nhớ vào A.
ADDC A,#data (2,1): Cộng dữ liệu tức thời và cờ nhớ vào A.
SUBB A,Rn (1,1): Trừ nội dung thanh ghi A cho nội dung thanh ghi
Rn và cờ nhớ.
SUBB A,data (2,1): Trừ trực tiếp A cho một số và cờ nhớ.
SUBB A,@Ri (1,1): Trừ gián tiếp A cho một số và cờ nhớ.
SUBB A,#data (2,1): Trừ nội dung A cho một số tức thời và cờ nhớ.
INC A (1,1): Tăng nội dung thanh ghi A lên 1.
INC Rn (1,1): Tăng nội dung thanh ghi Rn lên 1.
INC data (2,1): Tăng dữ liệu trực tiếp lên 1.
INC @Ri (1,1): Tăng gián tiếp nội dung vùng RAM lên 1.
DEC A (1,1): Giảm nội dung thanh ghi A xuống 1.
DEC Rn (1,1): Giảm nội dung thanh ghi Rn xuống 1.
DEC data (2,1): Giảm dữ liệu trực tiếp xuống 1
DEC @Ri (1,1): Giảm gián tiếp nội dung vùng RAM xuống 1.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 19
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------INC DPTR (1,2): Tăng nội dng con trỏ dữ liệu lên 1.
MUL AB (1,4): Nhân nội dung thanh ghi A với nội dung thanh ghi B.
DIV AB (1,4): Chia nội dung thanh ghi A cho nội dung thanh ghi B.
DA A (1,1,): hiệu chỉnh thập phân thanh ghi A
ANL A,Rn (1,1): AND nội dung thanh ghi A với nội dung thanh ghi Rn.
ANL A,data (2,1): AND nội dung thanh ghi A với dữ liệu trực tiếp.
ANL A,@Ri (1,1): AND nội dung thanh ghi A với dữ liệu gián tiếp
trong RAM
ANL A,#data (2,1): AND nội dung thanh ghi với dữ liệu tức thời.
ANL data,#data (2,1): AND một dữ liệu trực tiếp với A.
ANL C,bit (3,2): AND một dữ liệu trực tiếp với A một dữ liệu tức thời.
ANL C,/bit (2,2): AND cờ nhớ với 1 bit trực tiếp.
ANL data,A (2,2): AND cờ nhớ với bù 1 bit trực tiếp
ORL A,Rn (1,1): OR thanh ghi A với thanh ghi Rn.
ORL A,@Ri (2,1): OR thanh ghi A với một dữ liệu trực tiếp.
ORL A,#data (1,1): OR thanh ghi A với một dữ liệu gián tiếp.
ORL data,A (2,1): OR thanh ghi A với một dữ liệu tức thời.
ORL data,#data (2,1): OR một dữ liệu trực tiếp với thanh ghi A.
ORL C,bit (3,1) :OR một dữ liệu trực tiếp với một dữ liệu tức thời.
ORL C,/bit (2,2): OR cờ nhớ với một bit trực tiếp.
XRL A,Rn (2,2): OR cờ nhớ với bù của một bit trực tiếp.
XRL A,data (1,1): XOR thanh ghi A với thanh ghi Rn.
XRL A,@Ri (2,1): XOR thanh ghi A với mộ dữ liệu trực tiếp.
XRL A,#data (1,1): XOR thanh ghi A với một dữ liệu gián tiếp.
XRL data,A (2,1): XOR thanh ghi A với mộ dữ liệu tức thời.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 20
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------SETB C (1,1): Đặt cờ nhớ.
SETB bit (2,1): Đặt một bit trực tiếp.
CLR A (1,1): Xóa thanh ghi A.
CLR C (1,1): Xóa cờ nhớ.
CPL A (1,1): Bù nội dung thanh ghi A.
CPL C (1,1): Bù cờ nhớ.
CPL bit (2,1): Bù một bit trực tiếp.
RL A (1,1): Quay trái nội dung thanh ghi A.
RLC A (1,1): Quay trái nội dung thanh ghi A qua cờ nhớ.
RR A (1,1): Quay phải nội dung thanh ghi A.
RRC A (1,1): Quay phải nội dung thanh ghi A qua cờ nhớ.
SWAP ( 1,1): Quay trái nội dung thanh ghi A 1 nibble (1/2byte).
b – Nhóm lệnh chuyển dữ liệu
MOV A,Rn (1,1):Chuyển nội dung thanh ghi Rn vào thanh ghi A.
MOV A,data (2,1):Chuyển dữ liệu trực tiếp vào thanh ghi A.
MOV A,@Ri (1,1):Chuyển dữ liệu gián tiếp vào thanh ghi A.
MOV A,#data (2,1):Chuyển dữ liệu tức thời vào thanh ghi A.
MOV Rn,data (2,2):Chuyển dữ liệu trực tiếp vào thanh ghi Rn.
MOV Rn,#data (2,1):Chuyển dữ liệu tức thời vào thanh ghi Rn.
MOV data,A (2,2):Chuyển một dữ liệu gián tiếp vào một dữ liệu gián tiếp.
MOV data,Rn (3,2):Chuyển một dữ liệu tức thời vào một dữ liệu trực tiếp
MOV data,data (1,1):Chuyển nội dung thanh ghi A vào một dữ liệu gián tiếp.
MOV data,@Ri (2,2):Chuyển một dữ liệu trực tiếp vào một dữ liệu gián tiếp.
MOV DPTR,#data (3,2):Chuyển một hằng 16 bit vào thanh ghi con trỏ dữ liệu
MOV C,bit (2,1):Chuyển một bit trực tiếp vào cờ nhớ.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 21
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051---------------------------------------------------------------------------------------------------------------- MOV bit,C (2,2):Chuyển cờ nhớ vào một bit trực tiếp.
MOV A,@A+DPTR (1,2): Chuyển byte bộ nhớ chương trình có địa chỉ là
@A+DPRT Vào thanh ghi A.
MOVC A,@A+PC (1,2): Chuyển byte bộ nhớ chương trình có địa chỉ
@A+PC vào thanh ghi
MOVX A,@Ri (1,2): Chuyển dữ liệu ngoài (8 bit địa chỉ) vào.
MOVX A,@DPTR (1,2): Chuyển dữ liệu ngoài (16 bit địa chỉ) vào thanh
ghi A.
PUSH data (2,2): Chuyển dữ liệu trực tiếp vào ngăn xếp và tăng SP.
POP data (2,2): Chuyển dữ liệu trực tiếp vào ngăn xếp và giảm SP.
XCH A,Rn (1,1): Trao đổi dữ liệu giữa thanh ghi Rn v2 thanh ghi A.
XCH A,data (2,1): Trao đổi giữa thanh ghi A và một dữ liệu trực tiếp
XCH A,@Ri (1,1): Trao đổi giữa thanh ghi A và một dữ liệu gián tiếp.
XCHD A,@R (1,1): Trao đổi giữa nibble thấp (LSN) của thanh ghi A
và LSN
c – Nhóm lệnh chuyển điều khiển
ACALL addr11 (2,2): Gọi chương trình con dùng địa chì tuyệt đối.
LCALL addr16 (3,2): Gọi chương trình con dùng địa chỉ dài.
RET (2,2): Trở về từ lệnh gọi chương trình con.
RET1 (1,2): Trở về từ lệnh gọi ngắt.
AJMP addr11 (2,2): Nhảy tuyệt đối.
LJMP addr16 (3,2): Nhảy dài.
SJMP rel (2,2): Nhảy ngắn
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 22
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------JZ rel (2,2): Nhảy nếu A=0.
JNZ rel (2,2): Nhảy nếu A không bằng 0.
JC rel (2,2): Nhảy nếu cờ nhớ được đặt.
JNC rel (2,2): Nhảy nếu cờ nhớ không được đặt.
JB bit,rel (3,2): Nhảy tương đối nếu bit trực tiếp được đặt.
JNB bit,rel (3,2):Nhảy tương đối nếu bit trực tiếp không được đặt.
JBC bit,rel (3,2): Nhảy tương đối nếu bit trực tiếp được đặt , rồi xóa bit.
CJNE A,data,rel (3,2): So sánh dữ liệu trực tiếp với A và nhảy nếu không bằng
CJNE A,#data,rel (3,2): So sánh dữ liệu tức thời với A và nhảy nếu không
CJNE Rn,#data,rel (3,2): So sánh dữ liệu tức thời với nội dung thanh ghi Rn
và nhảy nếu không bằng.
CJNE @Ri,#data,rel (3,2): So sánh dữ liệu tức thời với dữ liệu gián tiếp và
nhảy
DJNZ Rn,rel (2,2): Giản thanh ghi Rn và nhảy nếu không bằng.
DJNZ data,rel (3,2): Giảm dữ liệu trực tiếp và nhảy nếu không bằng.
d – Các lệnh rẽ nhánh
Có nhiều lệnh để điều khiển lên chương trình bao gồm việc gọi hoặc trả lại từ
con hoặc chương trình chia nhánh có điều kiện hay không có điều kiện.
Tất cả các lệnh rẽ nhánh đều không ảnh hưởng đến cờ. Ta có thể định nhản cần
nhảy tới mà không cần rõ địa chỉ, trình biên dịch sẽ đặt địa chỉ nơi cần nhảy tới
đúng khẩu lệnh đã đưa ra.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 23
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
II - THIẾT KẾ PHẦN CỨNG
1-Khối giải mã (SN74LS247N) Khối giải mã nhận tín hiệu điều khiển từ khối xử lý, sau đó giải mã để đưa đến
hiển thị trên các đồng hồ đếm ngược. Với chức năng trên thì khối này chính là khối
giải mã cho đèn LED 7 thanh.
Vì các đồng hồ được hiển thị bằng các đèn LED 7 thanh nên ta sẽ sử dụng bộ giải
mã là các IC 74LS247N. Sơ đồ chân ra và sơ đồ khối chức năng như sau:
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 24
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Hình 6: Sơ đồ chân ra và sơ đồ khối chức năng của IC 74LS247N
Các đầu ra (từ a đến f) nối đến các chân tương ứng của LED 7 thanh. Ta thấy cácđầu ra đều có mức tích cực là mức thấp. Do đó, loại LED 7 thanh cần sử dụng là loại Anode chung. LED 7 thanh sẽ ghép nối với IC này theo bảng chân lý sau:
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 25
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Bảng 5: Bảng chân lý của IC 74LS247N
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 26
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
2.Khối xử lý
Khối xử lý gồm 1 bộ vi điều khiển 89S52 làm
trung tâm.bên cạnh đó là một khối RESET,1
khối tạo dao động.
a . 89S52
.
Hinh 5: VĐK 89S52
b . Khối RESET
Gồm 1 phím bấm,1 điện trở tụ.
Nguyên tắc hoạt động:
Khi có tác động vào phím bấm
RESET thì vi điều khiển sẽ chạy
lại chương trình từ ban đầu
Hình 7: Sơ đồ khối RESET
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 27
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
c . Khối tạo dao động
Gồm 1 bộ dao động thach anh có tần số 12MHz ,2 tụ có trị số 33 pF.
Nguyên tắc hoạt động:
Bộ dao động này tự phát ra xung dao động có tần số 12MHz để bộ vi điều khiển hoạt
động.
Bộ này có đặc điểm là không cần cấp nguồn thì nó vẫn có thể phát ra xung chính xác.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 28
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 29
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
3.Khối hiển thị
Khối hiển thị có chức năng đưa ra thông tin điều khiển giao thông tương ứng với
trạng thái hiện thời của hệ thống. Khối này gồm 2 phần:đèn điều khiển và đồng hồ.
Đèn điều khiển bao gồm: Đèn dành cho các phương tiện tham gia giao thông: xanh,
đỏ, vàng. Đồng hồ dùng các LED 7 thanh để tạo thành các bộ hiển thị từ 00 đến 99.
Ở đây ta dùng loại Anode chung (phù hợp với IC 74LS47), cấu trúc của nó như sau:
Hình 7: Cấu trúc bên trong của LED 7 thanh Anode chung
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 30
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Hình 8: Ghép nối 74LS247N đến LED 7 thanh
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 31
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
4 - Sơ đồ nguyên lý hệ thống mạch đèn giao thông
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 32
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 33
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
5 – Sơ đồ mạch in của hệ thống
Hình 11: Sơ đồ mạch in hệ thống
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 34
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
III . THIẾT KẾ PHẦN MỀM
Chương trình điều khiển hệ thống
ORG 00H
LJMP MAIN
TG.XANH EQU 14
TG.VANG EQU 4
TG.DO EQU 19
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 P2H,#09H
LCALL DKDEN2
DEC 17H
MOV 16H,#TG.VANG
MOV P2,#11H
LCALL DKDEN1
MOV 16H,TG.DO
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 35
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
MOV 17H,#TG.XANH
MOV P2,#24H
LCALL DKDEN1
DEC 16H
MOV 17H,#TG.VANG
MOV P2,#22H
LCALL DKDEN2
SJMP LAP
; CAC CHUONG TRINH CON HO TRO. ; CHUONG TRINH CON GIAI MA HEX SANG MA BCD & SU DUNG SN74LS47 DE GIAI MA CHO LED 7 THANH
HEX TO BCD:MOV A,16HMOV B,#10DIV ABMOV 36H,AMOV 37H,BMOV A,17HMOV B,#10DIV ABMOV 26H,AMOV 27H,BRET
;CHUONG TRINH CON HIEN THI LED 7 THANH HIEN THI: ;MAT 20MICRO S
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 36
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
MOV P1,36H SETB P1.7
LCALL TRE10USCLR P1.7MOV P1,26H
SETB P1.6LCALL TRE10USCLR P1.6MOV P1,37HSETB P1.5LCALL TRE10USCLR P1.5MOV P1,27HSETB P1.4LCALL TRE10USCLR P1.4RET
;CHUONG TRINH DELAY 1S
DELAY:MOV R1,#1
DELAY2:
MOV R3,#100LCALL HIENTHI
DELAY3:
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 37
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
DJNZ R3,DELAY3DJNZ R1,DELAY2RET
;CHUONG TRINH DELAY 1MS TRE10US:
MOV R4,#205 TRE1:
MOV R5,#122 TRE:
DJNZ R5,TREDJNZ R4,TRERET
;CHUONG TRINH DIEU KHIEN DEN DKDEN1: LAP1:
LCALL HEXTOBCDLCALL DELAYDEC 16HDJNZ 17H,LAP1LCALL HEXTOBCDLCALL DELAYRET
DKDEN2: LAP2:
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 38
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
LCALL HEXTOBCDLCALL DELAYDEC 17HDJNZ 16H,LAP2LCALL HEXTOBCDLCALL DELAYRET
END
C - NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG
Các mạch hiển thị hoạt động trên nguyên tắc điều khiển bit vào/ra của các cổng
trên IC AT89S52.
Cụ thể như sau: Vi điều khiển được lập trình để điều khiển 2 công việc chính:
a) Chuyển mức của các đèn tín hiệu trên hai làn đường(Xanh,đỏ,vàng).Việc chuyển
mức này sẽ được thực hiện bằng 6 bit truyền tín hiệu:
Làn đường thứ nhất: Làn đường thứ hai:
P3.5: đèn xanh. P0.2: đèn xanh.
P3.6: đèn vàng. P0.1: đèn vàng.
P3.7: đèn đỏ. P0.0: đèn đỏ.
Các đèn hiển thị là các LED đơn nối chung nhau anốt.Đèn sáng sẽ tương ứng với mức
logic thấp. Giữa các lần hiển thị sẽ kết hợp đèn của hai làn đường. Đèn xanh ở làn 1
thì tương ứng sẽ là đèn đỏ ở làn 2 và ngược lại.Và chuyển mức giữa các đèn sẽ xen
kẽ những bộ đếm,kết thúc mỗi bộ đếm sẽ tương ứng thiết lập lại các bit để hiển thị các
trạng thái đèn tiếp theo.
Giữa đèn xanh và đèn vàng là 15s
Giữa đèn vàng và đèn đỏ là trễ một thời gian
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 39
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Giữa đèn đỏ và đèn xanh là 20s.
Có đèn báo hiệu cho người di bộ của hai làn đường.
b) Hiển thị bộ đếm tương ứng với mỗi trạng thái đèn:
- Ta sử dụng IC 74LS247N để thực hiện việc giải mã BCD sang thập phân và
hiển thị các trạng thái thập phân đó trên LED 7 thanh.
- Mã BCD là mã 4 bit(tương ứng sẽ hiển thị được một LED 7 thanh).
Ta sử dụng số có hai chữ số để đếm cho hai làn đường.Vì thế 8 bit của cổng P2 sẽ
được dùng cho việc hiển thị hai LED trên làn đường thứ nhất và 8 bit của cổng P1 sẽ
được sử dụng cho hiển thị LED tại làn đường thứ hai.
Các cổng 8 bit này sẽ được nối tới IC 74LS247N tương ứng(4 bit cho một IC) và ở
đầu ra(trên LED 7 thanh) sẽ hiển thị trạng thái thập phân của số Hexa đang gửi tới
cổng đó.
- Việc tạo ra số thập phân được thực hiện bằng cách ghi dãy số Hexa 27 giảm dần
vào vị trí ROM nội bắt đầu từ địa chỉ 40H.(Lúc này ta sử dụng chân số 31(EA/VPP)
và cho nó mức điện áp cao để đọc dữ liệu từ Rom nội).
Khi ghi dãy số Hexa 27-0 ta sẽ bỏ qua các trạng thái 1F,1E…1A,F,E,…,A để tương
ứng ta thu được mã BCD hiển thị ra dãy số thập phân 27-0.Khi đó ta sẽ tách làm 3
vòng lặp:
Vòng lặp thứ nhất sẽ ghi các số từ 27-20. (tương ứng là các địa chỉ 40h-47h).
Vòng lặp thứ hai sẽ ghi các số từ 19-10. (tương ứng là địa chỉ 48h- 51h).
Vòng lặp cuối cùng là các số từ 9-0. ( ứng với các địa chỉ 52h- 5Bh).
Như vậy từ địa chỉ 40h-5Bh ta sẽ thu được dãy số 27-0.
- Việc hiển thị cùng các đèn ta sẽ thực hiện tương ứng như sau:
Đèn đỏ sáng kết hợp hiển thị trạng thái từ địa chỉ 40h-5Bh ta sẽ thu được bộ đếm
27s-0s.
Đèn vàng sáng trễ một thời gian .
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 40
Đồ án VI XỬ LÝ MẠCH ĐÈN GIAO THÔNG DÙNG HỌ 8051----------------------------------------------------------------------------------------------------------------
Đèn xanh sáng kết hợp cùng hiển thị trạng thái từ địa chỉ 47h-5Bh ta sẽ thu được bộ
đếm 20s-0s.
==>Cuối cùng ta được một hệ thống đèn giao thông hoàn chỉnh kết hợp giữa tạo trễ
và hiển thị.
------------------------------------------------------------------------------------------------Nhóm SV: Phùng Thịnh,Tiến Phong ,Huy Yên Trang 41