GIỚI THIỆU CHUNGHiện nay thực trạng giao thông nước ta đang gặp rất nhiều vấn đề, đặc biệt là điều khiển giao thông qua lại tại các ngã ba, ngã tư. Nhằm giải quyết thực trạng này đã có rất nhiều cột đèn giao thông được đưa vào sử dụng. Cùng với sự phát triển mạnh mẽ của các dòng vi điều khiển, việc thực hiện điều khiển các trụ đèn giao thông đã trở nên đơn giản hơn rất nhiều, và có thể điều khiển nhiều đèn cùng lúc với độ chính xác cao và nhiều chế độ khác nhau.Vì vậy em đã làm đề tài thiết kế hệ thống đèn giao thông đơn giản tại một ngã tư đường sử dụng onchip 8051(89c51).Đề tài gồm 3 chương:Chương I: Tổng quan về đèn giao thôngChương II: Thiết kế phần cứngChương III: Mô phỏng và thiết kế phần mềmEm xin chân thành cảm ơn sự giúp đỡ ,chỉ bảo tận tình của thầy cô hướng dẫn trong suốt khoảng thời gian chúng em thực hiện đề tài này Do thời gian và kiến thức còn hạn chế, bài làm của em còn nhiều hạn chế và thiếu sót. Mong được sự đóng góp của các bạn và thầy giáo.Hà Nội,tháng 12 năm 2011 Học sinh viên thực hiện: Thái Huy Hải Chương I: Tổng quan về đèn giao thông1 Chế độ hoạt động Yêu cầu bài tập là thiết kế hệ thống điều khiển đèn giao thông tại ngã tư đường, hệ thống đèn đáp ứng yêu cầu như sau:Hướng đi thứ nhất (cột 1 và cột 3) Đèn xanh: 25 sĐèn vàng: 5sĐèn đỏ: 30sHướng đi thứ hai(cột 2 và cột 4)Đèn đỏ: 30s Đèn xanh: 25sĐèn vàng: 5s 2Các linh kiện sử dụngDo yêu cầu của đề bài nên phần cứng của hệ thống bao gồm các thành phần chính như sau:Onchip 89c51Các đèn led 7 seg hiển thị thời gianIC 7447 chuyển đổi BCD sang 7 thanhCác đèn LED báo hiệu : đỏ, vàng, xanhMột số các thiết bị khác như: công tắc, dây nối,điện trở,tụ điện,ổn áp…3Nguyên lý hoạt động Mạch đèn giao thông hoạt động dựa trên nội dung đã lập trình cho AT89C51,khi có tác động từ nút điều khiển mạch sẽ hoạt động theo đúng thời gian yêu cầu. AT89C51 đưa dữ liệu đến các LED xanh,đỏ,vàng để điều khiển các LED này đóng mở. LED 7 thanh còn nhận dữ liệu từ vi điều khiển trung tâm để thực hiện việc đếm lùi thời gian. Như vậy mỗi khi mạch thực hiện đếm lùi,nếu hướng đi bên này đèn xanh hoặc vàng thì hướng đi bên kia đèn đỏ sang và ngược lại. Bộ điều khiển AT89C51 là nút Reset. Tùy theo thời gian yêu cầu mà ta điều khiển các trục giao thông sang. Chương II: Thiết kế phần cứngSơ đồ khốiHệ thống điều khiển: Onchip 89C51: AT89C51 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao,công suất nguồn tiêu thụ thấp và có 4kB bộ nhớ ROM Flash xóa đượclập trình được. Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao của Atmel. Chip AT89C51 cũng tương thích với tệp lệnh và các chân ra của chuẩn công nghiệp MCS51. Flash trên chip này cho phép bộ nhớ chương trình được lập trình lại trên hệ thống. Kết hợp một CPU linh hoạt 8 bit với Flash trên một chip đơn thể,Atmel 89C51 là một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp có hiệu quả về chi phí và rất linh hoạt với các ứng dụng điều khiển. AT89C51 có tất cả 40 chân. Trong số 40 chân có 32 chân dành cho 4 cổng P0,P1,P2 và P3,mỗi cổng có 8 chân. Các chân còn lại dành cho nguồn Vcc,đất GND,các chân dao động XTAL1,XTAL2,khởi động lại RST,cho phép chốt địa chỉ ALE,truy cập được địa chỉ ngoài EA, cho phép cất chương trình PSEN. Trong 8 chân này thì 6 chân Vcc, GND, XTAL1, XTAL2, RST và EA được các họ 8031 và 8051 sử dụng. Đây là bộ vi xử lý trung tâm của hệ thống điều khiển đèn giao thông. Nó hoạt động ở tần số 12MHz với bộ dao động bên trong và thạch anh dao động bên ngoài, hai tụ ổn định C1=C2=33pF. Bộ vi xử lý thực hiện chương trình điều khiển đếm thời gian và hiển thị chúng ra hệ thống cảnh báo gồm các đèn led theo màu và led 7 thanh báo hiệu cụ thể. Bộ vi xử lý kết nối với các thiết bị ngoại vi qua các cổng của nó, điều khiển các thiết bị ngoại vi theo chương trình lưu trong bộ nhớ trong.
Trang 1Nguyễn Văn Thanh
Tin học 8B
GIỚI THIỆU CHUNG
Hiện nay thực trạng giao thông nước ta đang gặp rất nhiều vấn đề, đặc biệt là điều khiển giao thông qua lại tại các ngã ba, ngã tư Nhằm giải quyết thực trạng này đã có rất nhiều cột đèn giao thông được đưa vào sử dụng Cùng với sự phát triển mạnh mẽ của các dòng vi điều khiển, việc thực hiện điều khiển các trụ đèn giao thông đã trở nên đơn giản hơn rất nhiều, và có thể điều khiển nhiều đèn cùng lúc với độ chính xác cao và nhiều chế độ khác nhau
Vì vậy em đã làm đề tài thiết kế hệ thống đèn giao thông đơn giản tại một ngã tư đường sử dụng on-chip 8051(89c51)
Đề tài gồm 3 chương:
Chương I: Tổng quan về đèn giao thông
Chương II: Thiết kế phần cứng
Chương III: Mô phỏng và thiết kế phần mềm
Em xin chân thành cảm ơn sự giúp đỡ ,chỉ bảo tận tình của thầy cô hướng dẫn trong suốt khoảng thời gian chúng em thực hiện đề tài này!
Do thời gian và kiến thức còn hạn chế, bài làm của em còn nhiều hạn chế và thiếu sót Mong được sự đóng góp của các bạn và thầy giáo
Hà Nội,tháng 12 năm 2011 Học sinh viên thực hiện: Thái Huy Hải
Trang 2Chương I: Tổng quan về đèn giao thông
1/ Chế độ hoạt động
Yêu cầu bài tập là thiết kế hệ thống điều khiển đèn giao thông tại ngã tư đường, hệ thống đèn đáp ứng yêu cầu như sau:
Hướng đi thứ nhất (cột 1 và cột 3)
Hướng đi thứ hai(cột 2 và cột 4)
2/Các linh kiện sử dụng
Do yêu cầu của đề bài nên phần cứng của hệ thống bao gồm các thành
Trang 3 On-chip 89c51
Các đèn led 7 seg hiển thị thời gian
IC 7447 chuyển đổi BCD sang 7 thanh
Các đèn LED báo hiệu : đỏ, vàng, xanh
Một số các thiết bị khác như: công tắc, dây nối,điện trở,tụ điện,ổn áp… 3/Nguyên lý hoạt động
Mạch đèn giao thông hoạt động dựa trên nội dung đã lập trình cho AT89C51,khi có tác động từ nút điều khiển mạch sẽ hoạt động theo đúng thời gian yêu cầu AT89C51 đưa dữ liệu đến các LED xanh,đỏ,vàng để điều khiển các LED này đóng mở LED 7 thanh còn nhận dữ liệu từ vi điều khiển trung tâm để thực hiện việc đếm lùi thời gian
Như vậy mỗi khi mạch thực hiện đếm lùi,nếu hướng đi bên này đèn xanh hoặc vàng thì hướng đi bên kia đèn đỏ sang và ngược lại Bộ điều khiển AT89C51 là nút Reset Tùy theo thời gian yêu cầu mà ta điều khiển các trục giao thông sang
Chương II: Thiết kế phần cứng
On-chip 89c51
Hệ thống đèn báo
Hệ thống đèn led 7seg
Hệ thống
điều
khiển
Trang 4 On-chip 89C51:
AT89C51 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao,công suất nguồn tiêu thụ thấp và có 4kB bộ nhớ ROM Flash xóa được/lập trình được Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao của Atmel
Chip AT89C51 cũng tương thích với tệp lệnh và các chân ra của chuẩn công nghiệp MCS-51 Flash trên chip này cho phép bộ nhớ chương trình được lập trình lại trên hệ thống Kết hợp một CPU linh hoạt 8 bit với Flash trên một chip đơn thể,Atmel 89C51 là một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp có hiệu quả về chi phí và rất linh hoạt với các ứng dụng điều khiển
AT89C51 có tất cả 40 chân Trong số 40 chân có 32 chân dành cho 4 cổng P0,P1,P2 và P3,mỗi cổng có 8 chân Các chân còn lại dành cho nguồn Vcc,đất GND,các chân dao động XTAL1,XTAL2,khởi động lại RST,cho phép chốt địa chỉ ALE,truy cập được địa chỉ ngoài EA, cho phép cất chương trình PSEN Trong 8 chân này thì 6 chân Vcc, GND, XTAL1, XTAL2, RST
và EA được các họ 8031 và 8051 sử dụng
Trang 5Đây là bộ vi xử lý trung tâm của hệ thống điều khiển đèn giao thông Nó hoạt động ở tần số 12MHz với bộ dao động bên trong và thạch anh dao động bên ngoài, hai tụ ổn định C1=C2=33pF
Bộ vi xử lý thực hiện chương trình điều khiển đếm thời gian và hiển thị chúng ra hệ thống cảnh báo gồm các đèn led theo màu và led 7 thanh báo hiệu cụ thể
Bộ vi xử lý kết nối với các thiết bị ngoại vi qua các cổng của nó, điều khiển các thiết bị ngoại vi theo chương trình lưu trong bộ nhớ trong
Gồm các led với màu khác nhau theo yêu cầu :
Đèn đỏ báo dừng lại
Đèn vàng báo chuẩn bị dừng
Đèn xanh báo cho phép đi thẳng
Các chân cổng P1&P3 nối đến các LED hiển thị xanh,đỏ ,vàng
Hệ thống led 7-seg hiển thị thời gian:
Đây là led 7-seg hiển thị thời gian tương ứng của các đèn báo tín hiệu đỏ, vàng, xanh
Hệ thống led-7seg được sử dụng ở đây là led -7seg Anot chung
Các chân P0.0 đến P0.7 nối tương ứng với các chân đầu vào của IC7447 Các chân đầu ra của 7447 được nối đến LED 7 thanh cột 1 và 3
Các chân P2.0 đến P7.7 nối tương ứng với các chân đầu vào của IC7447 Các chân đầu ra của 7447 được nối đến LED 7 thanh cột 2 và 4
Các led báo này được điều khiển bằng mức tích cực thấp, do vậy nối chung chân Anot của các led
Chương III: Thiết kế phần mềm
Trang 61/ Sơ đồ thuật toán
Trang 82/ Chương trình lập trình bằng Assembly
org 000H
ljmp begin
org 30h
//dinh nghia cac cong su dung cho cac led 7 thanh DEN1 EQU P0
DEN2 EQU P2
//dinh nghia cac thanh ghi su dung de luu cac bien
Trang 9VALUE1 EQU R4
VALUE2 EQU R5
NUM1 EQU R6
NUM2 EQU R7
//dinh nghia chan su dung cho cac den led
RED1 BIT P3.0
Y1 BIT P3.1
B1 BIT P3.2
RED2 BIT P3.3
Y2 BIT P3.4
B2 BIT P3.5
RED3 BIT P1.0
Y3 BIT P1.1
B3 BIT P1.2
RED4 BIT P1.3
Y4 BIT P1.4
B4 BIT P1.5
BEGIN:
; -KHOI
Trang 10CLR B3 //den xanh 3 sang xanh 25s
MOV VALUE1,#26 MOV VALUE2,#31 MOV NUM1,#1 MOV NUM2,#1
LOOP:
DEC VALUE1 //giam cot1 DEC VALUE2 //giam cot2
LCALL DELAY1S //DAY LA PHAN DEM GIAM VA HIEN THI
CJNE VALUE1,#0,KT_DEN2 //kiem tra xem cot1 giam ve 0 chua?
//khi cot 1 giam =0 CJNE NUM1,#1,KT_NUM1_2 MOV NUM1,#2 //lan sau nhay toi KT_NUM_2
MOV VALUE1,#6 //cho den vang cot 1 sang5s vang 5s
CLR Y1
Trang 11CLR Y3 LJMP KT_DEN2 //nhay de kiem tra xem cot 2 sang het 30 s den do chua?
KT_NUM1_2:
CJNE NUM1,#2,KT_NUM1_3 MOV NUM1,#3
SETB Y1 CLR RED1 SETB Y3 CLR RED3 LJMP KT_DEN2
KT_NUM1_3:
MOV NUM1,#1
SETB RED1 CLR B1 SETB RED3 CLR B3
LJMP KT_DEN2 //KIEM TRA COT 2 KT_DEN2:
Trang 12CJNE VALUE2,#0,LOOP //KIEM TRA XEM COT 2 GIAM VE 0 CHUA,NEU CHUA THI NHAY E PHAN LOOP
DE TIEP TUC GIAM
//GIAM HET ROI THI NAP GIA TRI MOI CHO NO
CJNE NUM2,#1,KT_NUM2_2
NAY DE LAN SAU NAP GIA TRI MOI CHU KO NAP GIA TRI NAY
MOV VALUE2,#26 //xanh 25s
SETB RED2 CLR B2 SETB RED4 CLR B4
LJMP LOOP
KT_NUM2_2:
CJNE NUM2,#2,KT_NUM2_3 MOV NUM2,#3
MOV VALUE2,#6 //vang 5s SETB B2
CLR Y2 SETB B4 CLR Y4
Trang 13MOV NUM2,#1
SETB Y2 CLR RED2 SETB Y4 CLR RED4
LJMP LOOP //chuong trinh hien thi gia tri tren led 7 thanh
//ham truyen bien la 2 gia tri time1 a timer2 tren led 7 thanh
HIEN_THI:
MOV A,VALUE1 //dua gia tri thanh ghi timer1 vao thanh ghi a lam so
bi chia
MOV B,#10 //dua 10 vao thanh ghi b lam so chia
DIV AB //chia timer1 cho 10
RL A
RL A
RL A
RL A
ADD A,B
MOV DEN1,A
MOV A,VALUE2
Trang 14MOV B,#10
DIV AB
RL A
RL A
RL A
RL A
ADD A,B
MOV DEN2,A
RET
//tao thoi gian tre 1 s
DELAY1S: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
MOV R0,#200 //nap gia tri cho r0
MOV TMOD,#01H //chon timer0 che do 1
LOOP2:
MOV TH0,#0ECH //ffff-ec78+1=5000=5msx200=1000ms=1S
MOV TL0,#78H
SETB TR0 //khoi dong TIMER0
JNB TF0,$ //nhAy tai cho neu tf0 chua dc bat
CLR TR0 //tf0 dc bat thi dung bo dinh thoi
CLR TF0 //xoa co cho lan ssu dung sau
DJNZ R0,LOOP2 //lap lai viec nay 200 lan
POP 00H
Trang 15RET
END
3/Mô phỏng trên Proteus
Trang 164/ Sơ đồ nguyên lý
5/ Sơ đồ mạch in
Trang 17Kết luận : Sau quá trình thực hiện đề tài thực tập, em đã có thêm được một
số kiến thức về điện tử cơ bản và kinh nghiệm trong việc biến mô phỏng thành mạch thật Do kiến thức còn hạn hẹp nên có thể chưa đạt được kết quả hoàn hảo,song em đã hết sức cố gắng hoàn thành đề tài này Kính mong nhận được sự ủng hộ,đóng góp ý kiến của thầy cô và các bạn để em tích lũy thêm kinh nghiệm cho những đề tài sau!
Em xin chân thành cảm ơn!