1. Trang chủ
  2. » Luận Văn - Báo Cáo

hệ thống điều khiển đèn giao thông tại 1 ngã tư

35 953 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 881 KB

Nội dung

Gồm 4 khối hoạt động liên quan chặt chẽ với nhau - Khối chế độ: là khối đặt các chế độ để điều khiển đèn - Khối điều khiển trung tâm: là khối quan trọng nhất của cả hệthống, điều khiển đ

Trang 1

BÀI TẬP LỚN VI XỬ LÝ

Đề tài: Hệ thống điều khiển đèn giao thông tại 1 ngã tư.

MỤC LỤC

I.Tài liệu tham khảo 2

II Đặt vấn đề 2

III Phương án giải quyết 2

IV Mô tả hệ thống 3

1 Khối chế độ………5

2 Khối điều khiển trung tâm……….5

3 Khối giải mã……… 22

4 Khối hiển thị……… 25

V Code……… 28

VI Sơ đồ mạch điều khiển 30

VII Sơ đồ mạch in………

31 VIII Nguyên lý hoạt động…… 31

IX Mở rộng thêm các chức năng của chương trình 32

X Kết luận……… … 34

Trang 2

I.Tài liệu tham khảo

1 Họ vi điều khiển 8051_ tác giả: Tống Văn On- Hoàng Đức Hải

2 Cấu trúc và lập trình họ vi điều khiển 8051_ tác giả: Nguyễn Tăng Cường

3 Lập trình hợp ngữ( Assembly) và máy tính IBM-PC_ Biên dịch: Quách TuấnNgọc- Đỗ Tiến Dũng- Nguyễn Quang Khải

II Đặt vấn đề

Hệ thống giao thông là vấn đề rất quan trọng trong một đô thị văn minh.Nhưng hiện nay tại Hà Nội và một số thành phố lớn nói chung vẫn thườngxuyên xảy ra tai nạn và ách tắc giao thông đặc biệt là vào các giờ cao điểm Hệthống đèn báo hiệu tại các ngã tư hoạt động chưa đạt được hiệu quả tối ưu, chưatiện lợi cho người đi đường Do vậy việc thiết kế hệ thống đèn báo hiệu hợp lý,hiệu quả là rất cần thiết

III Phương án giải quyết

Xuất phát từ việc cần thiết phải có một hệ thống điều khiển đèn giaothông khoa học và đạt hiệu quả Nhóm thiết kế chúng em đã chọn đề tài thiết kế

hệ thống điều khiển đèn giao thông có hiển thị đồng hồ đếm ngược báo hiệuthời gian hiển thị các đèn Việc có đồng hồ đếm thông báo hoạt động của cácđèn làm cho người tham gia giao thông chủ động trong việc chấp hành luật giaothông, đẩy lùi tan nạn và ách tắc giao thông

Trang 3

END

LƯU ĐỒ GIẢITHUẬT

So sánh chọn chế

độ

Chế độ tự động Chế độ đèn v ng àng

nhấp nháy

Khối hiển thị

S

Trang 4

Gồm 4 khối hoạt động liên quan chặt chẽ với nhau

- Khối chế độ: là khối đặt các chế độ để điều khiển đèn

- Khối điều khiển trung tâm: là khối quan trọng nhất của cả hệthống, điều khiển đèn bằng các lệnh đã được lập trình sẵn

- Khối giải mã: giải mã tín hiệu nhận được từ khối điều khiển trungtâm rồi đưa tín hiệu ra khối hiển thị

- Khối hiển thị: là khối hiển thị thời gian hoạt động từng đèn

SƠ ĐỒ KHỐI CỦA HỆ THỐNG

Khối Hiển thị

Khối

chế độ

Khối giải mó

Trang 5

- Chế độ tự động( chế độ 2): Tất cả các khối đều hoạt động Sử dụng chế độ này tại các thời điểm có lưu lượng xe tham gia giao thông bình thường Các đèn hoạt động theo chế độ đã được định từ trước trong bộ diều khiển

Chế độ ban đêm( chế độ đèn vàng nhấp nháy- chế độ1): Các khối điềukhiển trung tâm, khối giải mã và đồng hồ bị ngắt bằng cách cắt nguồn Chế độnày dùng vào các thời điểm vắng vẻ, cụ thể là vào ban đêm Lưu lượng xe thamgia hoạt động giao thông nhỏ, nên việc sử dụng các đèn điều khiển là không cầnthiết Hoạt động của các cột đèn ở chế độ này là đèn vàng nháy liên tục theoxung đồng hồ Các xe được đi liên tục không cần dừng lại

3 Khối điều khiển trung tâm

Đối với hệ thống điều khiển đèn giao thông, khối điều khiển là khối quantrọng nhất, nó là trung tâm nhận tín hiệu và phát các tín hiệu điều khiển đèn của

hệ thống Hệ thông giao thông mà ta thiết kế có sử dụng bộ đồng hồ đếmngược, để khi hiển thị đèn đỏ thì đồng hồ đếm ngược từ 29 về 0, đèn xanh thìđồng hồ đếm ngược từ 26 về 0, đèn vàng 3s Ta thấy đồng hồ đếm ngược cónhững giá trị ban đầu khác nhau ứng với mỗi tín hiệu hiển thị của đèn Vì vậy,khối vi điều khiển không những dùng để điều khiển các đèn mà còn dùng đểthiết lập giá trị ban đầu của bộ đông hồ đếm ngược

Trang 6

Sơ đồ chân của AT89C52

Khối điều khiển trung tâm là bộ não của toàn bộ hệ thống điều khiển đèngiao thông Cấu tạo của khối chỉ bao gồm một IC vi điều khiển AT89C51 nhưhình bên Xử lý bên trong thông qua phần mềm lập trình sẵn đã được nạp trongROM của VĐK, đưa tín hiệu điều khiển các đèn đường P1, tín hiệu ra đồng hồ

là các chân P0,P2.Chân P3.0 nối với khối chế độ Các port 0,1,2 ở đây đều đượcdùng để xuất dữ liệu, port 3.0 dùng nhận tín hiệu được đưa vào từ khối chế độ ,chân 18,19 nối với bộ tạo dao động thạch anh 12MHz,

Trang 7

MC - 51 là họ Micro Controller được chế tạo ban đầu bởi công ty Intel.

C8051có các đặc điểm sau:

- CPU 8-bít thích hợp với các ứng dụng đo lường, điều khiển

- Có khả năng xử lý từng bít

- Cho phép địa chỉ hoá 64Kbyte bộ nhớ chương trình

- Cho phép truy nhập 64Kbyte bộ nhớ chương trình

- 4Kbyte bộ nhớ chương trình trên Chip (ROM, EPROM, EEPROM)

- 128 byte bộ nhớ dữ liệu trên chíp (với 8952 là 256 byte)

- 32 đường vào ra có địa chỉ riêng biệt

- 2 bộ Timer/Counter (với 8952 thì có 3 bộ Timer/Counter)

- Cổng truyền thông tin nối tiếp hoạt động ở chế độ Full- Duplex

- Cấu trúc ngắt gồm 6 nguồn ngắt và 5 Véc tơ ngắt với 2 mức ưu tiên

- Có thể phát xung clock trên Chip

Sơ đồ chân linh kiện:

Sơ đồ Bố trí chân của C 8051

Đây là loại vi xử lý có 40 chân và bố trí như sau:

Trang 8

- Chân 31 là EA để chọn chế độ làm việc với ROM ngoài hay ROM trong

- Nguồn cấp vào chân 20 và 40

Cấu trúc bên trong của C 8051

Trang 9

Hình 3 Cấu trúc bên trong của C 8051

Tổ chức bộ nhớ trong C 8051

C 8051 có hai khoảng địa chỉ độc lập cho bộ nhớ chương trình và bộnhớ số liệu Sự độc lập của bộ nhớ chương trình và bộ nhớ số liệu cho phép bộnhớ dữ liệu được xử lý bởi địa chỉ 8 bit Tuy nhiên địa chỉ 16 bit cũng có thểđược sử dụng thông qua thanh ghi DPTR

Bộ nhớ chương trình (ROM, EPROM ) là bộ nhớ chỉ có đọc Bộ nhớ này

có thể lên tới 64Kbyte Trong 8051 4Kbyte thấp nhất của bộ nhớ chương trình

là trên chíp Bộ nhớ ngoài có thể đọc được nhờ tín hiệu chốt của chân PSEN

Bộ nhớ số liệu độc lập với bộ nhớ chương trình 128 Byte thấp nhất của

bộ nhớ dữ liệu ở trên chíp và nó có thể truy nhập đến 64Kbyte ngoài CPU sẽphát ra các tín hiệu RDWR cần thiết trong suốt quá trình xử lý bộ nhớ sốliệu

Bộ nhớ chương trình

Sau khi Reset CPU bắt đầu thực hiện từ địa chỉ 0000H Bảng vector ngắtbắt đầu từ địa chỉ 0003H đến 002BH Mỗi một ngắt được xác định tại một vị trí

cố định trong bộ nhớ chương trình Khi một ngắt xảy ra CPU sẽ nhảy tới vị trí

mà nó yêu cầu phục vụ Mỗi một vector ngắt có độ dài 8 Byte Nếu chươngtrình ngắt đủ ngắn thì ta chứa ngay trong 8 Byte này, nếu chương trình ngắt dàithì nó chỉ chứa một lệnh nhảy tới chương trình phục vụ

Trang 10

4Kbyte (hoặc 8Kbyte, 16Kbyte ) phần thấp nhất của bộ nhớ chương trình

có thể ở ROM trong hoặc ở ROM ngoài Điều này được thực hiện bởi nối chân

EA lên mức logic 1 hay 0 (EA = 1 thì ROM trong EA = 0 thì ROM ngoài).Khi truy cập bộ nhớ ngoài MCS - 8051 sử dụng P0 và P2 làm 16 đường vào ra,trong đó P0 làm chức năng Bus địa chỉ và Bus dữ liệu P0 là Byte địa chỉ phầnthấp của bộ nhớ chương trình còn P2 là byte địa chỉ phần cao

Địa chỉ của bộ nhớ chương trình luôn có độ rộng là 16 bít

Bộ nhớ dữ liệu

Bộ nhớ số liệu có thể truy nhập tới 64Kbyte bộ nhớ dữ liệu ngoài Địa chỉcủa bộ nhớ ngoài có thể là 1 Byte hoặc 2 Byte Bộ nhớ số liệu trong được chialàm 3 khối, 128 Byte thấp, 128 Byte cao và khối thanh ghi chức năng đặc biệt

Bộ nhớ trong luôn sử dụng địa chỉ 1 Byte Sơ đồ bộ nhớ dữ liệu trong:

* Phần Lower 128 Bytes được chia thành 3 vùng:

+ Vùng 1: Địa chỉ từ 00H đến 1FH là phần thấp nhất được chia thành 4khối của 8 thanh ghi Các lệnh của chương trình sẽ gọi các thanh ghi này từ R0đến R7 2 bít trong thanh ghi trạng thái (RS0, RS1 ) sẽ lựa chọn 4 khối này

Chỉ xử lý bởi địa chỉ gián tiếp

Xử lý bởi địa chỉ trực tiếp hoặc gián tiếp

Xử lý bởi địa chỉ trực tiếp

FFH

80H

FFH 80H 7FH

Hình 4 Sơ đồ bộ nhớ dữ liệu trong

Trang 11

+ Vùng 2: Địa chỉ từ 20H đến 2FH bao gồm 16Byte là vùng ô nhớ địa chỉtheo Bit Tập lệnh của MC - 51 bao gồm sự lựa chọn độ rộng của câu lệnh theotừng Bit và 128 Bits trong vùng này có thể được xử lý bởi các câu lệnh trực tiếphoặc gián tiếp Địa chỉ các Bits này là từ 00H đến 7FH.

+ Vùng 3: Địa chỉ từ 30H đến 7FH làm chức năng thông thường của bộnhớ RAM

Tất cả các Bytes trong 128 Bytes Lower đều có thể được xử lý bởi địa chỉtrực tiếp hoặc gián tiếp

* Phần Upper 128 Bytes chỉ có thể được xử lý bởi địa chỉ gián tiếp vàphần này không có trong 8051

* Vùng các thanh ghi chức năng đặc biệt (SFR) SFRs bao gồm bộ chốtcác cổng, Timer, điều khiển ngoại vi Các thanh ghi này chỉ có thể được xử líbởi địa chỉ trực tiếp 16 địa chỉ trong vùng thanh ghi chức năng đặc biệt là địachỉ theo Bytes và Bits Địa chỉ theo Bits trong vùng này là từ 80H đến FFH

Thanh ghi trạng thái chương trình (Program Status Word: PSW )

Thanh ghi trạng thái chứa các Bits ảnh hưởng đến trạng thái của CPU.Cấu trúc của thanh ghi trạng thái:

Thanh ghi trạng thái nằm trong vùng các thanh ghi chức năng đặc biệt

Nó chứa bit Carry, bit Carry phụ (dùng cho hoạt động BCD), 2 bit lựa chọnnhóm thanh ghi, cờ tràn, cờ dấu và 2 cờ trạng thái mà người dùng có địnhnghĩa

Các chế độ địa chỉ

Các chế độ địa chỉ trong tập lệnh của MCS -51 như sau:

Trang 12

- Chế độ địa chỉ trực tiếp: Chế độ địa chỉ trực tiếp sử dụng địa chỉ 8 bit.Chỉ có RAM trong và các thanh ghi chức năng đặc biệt có thể sử dụng địa chỉtrực tiếp.

- Chế độ địa chỉ gián tiếp: Trong chế độ địa chỉ gián tiếp các câu lệnhthanh ghi nơi chứa địa chỉ của toán hạng Cả RAM trong và RAM ngoài đều làđịa chỉ gián tiếp

Thanh ghi địa chỉ đối với địa chỉ 8 bit có thể là R0 hoặc R1 của nhómthanh ghi được lựa chọn hoặc của con trỏ ngăn xếp Thanh ghi địa chỉ 16 bitsdùng cho địa chỉ 16 bits chỉ có thể là thanh ghi con trỏ dữ liệu 16 bits, DPTR

- Câu lệnh thanh ghi đặc biệt: Một vài câu lệnh luôn luôn hoạt động trênthanh chứa (Acc), hoặc con trỏ dữ liệu (DPTR ) Vì vậy nó không cần byte địachỉ nào để chỏ tới nó Bản thân mã lệnh của nó sẽ làm điều đó

- Chế độ địa chỉ hằng số trực tiếp: Giá trị của hằng số theo mã lệnh trong

ô nhớ chương trình

- Chế độ địa chỉ chỉ số: Chỉ có bộ nhớ chương trình có thể được xử lý vớiđịa chỉ chỉ số và nó chỉ có thể được đọc Chế độ này có xu hướng dùng để đọcbảng trong bộ nhớ chương trình Một thanh ghi cơ sở 16 bit (DPTR hoặc PC )trỏ tới địa chỉ cơ sở của bảng và thanh chứa Acc được thiết lập với số lượngdanh mục của bảng Địa chỉ của danh mục trong bộ nhớ chương trình hìnhthành bởi thêm dữ liệu thanh chứa vào con trỏ cơ sở

Một loại khác của chế độ địa chỉ chỉ số là sử dụng trong câu lệnh "Jump".Địa chỉ đích được xác định bởi tổng của con trỏ cơ sở và dữ liệu thanh chứa

Cổng I/O song song

C 8051 có 4 cổng vào ra song song P0 P1, P2 và P3 Trong hầu hết cácứng dụng với bộ nhớ ngoài thì cổng P0 được sử dụng như là Bus dữ liệu và địachỉ phần thấp còn P2 tương ứng với byte cao của địa chỉ

Tất cả các chân của P3 và 2 chân của P1 (P1.0, P1.1) là đa chức năng, các chứcnăng của chúng được thể hiện ở bảng sau:

Trang 13

Port in Chức năng khác

P1.0 T2 (Đầu vào bên ngoài của Timer/Counter 2)

P1.1 T2EX (Trigger lạp lại của Timer/Counter 2)

P3.4 T0 (Đầu vào bên ngoài của bộ Timer/Counter 0 )

P3.5 T1 (Đầu vào bên ngoài của bộ Timer/Counter 1 )

P3.6 WR (Xung chốt để viết bộ nhớ dữ liệu ngoài )

P3.7 RD (Xung chốt để đọc bộ nhớ dữ liệu ngoài )

Tất cả bộ chốt các cổng đều được đặt ở mức logic "1" khi Reset

Timer/ Counter

MC 8051 có hai thanh ghi Timer/Counter 16 bit: Timer 0 và Timer 1.Các thanh ghi này đều có thể hoạt động ở chế độ Timer hoặc Couter

Trong chế độ Timer nội dung của thanh ghi sẽ tăng sau mỗi chu kỳ máy

và tần số của đồng hồ bằng 1/12 tần số máy phát thạch anh

Trong chế độ Counter nội dung của thanh ghi sẽ tăng khi có sự chuyển từ1 0 tại chân tín hiệu T0 hoặc T1 Trong chế độ này đầu vào sẽ được lấy mẫutại S5P2 của chu kỳ máy vì vậy tần số đếm lớn nhất bằng 1/24 tần số máy phátthạch anh

Chức năng Timer hoặc Counter được chọn bởi bit điều khiển C T trongthanh ghi

Trang 14

chức năng đặc biệt TMOD Timer 0 và Timer 1 có chế độ hoạt động được lựachọn bởi cặp bit (M0, M1 ).

TCON:Thanh ghi điều khiển Timer/Counter Địa chỉ hoá theo bit

- TF1: Cờ báo Timer 1 tràn

- TR1: Bit điều khiển làm việc của Timer 1

- TF0: Cờ báo Timer 0 tràn

- TR0: Bit điều khiển làm việc của Timer 0

- IE1: Cờ cho phép chân INT1 có thể hoạt động

- IT1: Bit điều khiển ngắt ở chân INT1

- IE0: Cờ cho phép chân INT0 có thể hoạt động

- IT0: Bit điều khiển loại ngắt ở chân INT0

Thanh ghi điều khiển chế độTimer/Counter:TMOD

- GATE: Khi TRx được thiết lập và GATE = 1, thì TIMER/COUNTERx

sẽ chỉ chạy trong khi chân INTx ở mức cao Khi GATE = 0 thìTIMER/COUNTERx sẽ chỉ chạy trong khi TRx = 1

- C T : Bit lựa chọn Timer hoặc Counter

- M1: Bit lựa chọn chế độ

- M2: Bit lựa chọn chế độ

Trang 15

M1 M0 Chế độ hoạt động (Operating Mode)

- Mode 1: Mode 1 giống Mode 0 ngoại trừ là thanh ghi Timer hoạt độngvới địa chỉ 16 bit

- Mode 2: Định dạng thanh ghi Timer như là một bộ đếm 8 bit (TL1 ) vớichức năng tự động lạp lại giá trị Khi TL1 đếm tràn nó sẽ đặt cờ TF1 và lạp lạinội dung TH1 đã được đặt trước bằng phần mềm

- Mode 3: Timer 1 là một bộ đếm, nó sẽ hoạt động khi TR1 được đặtbằng 1 Timer 0 thiết lập TL0 và TH0 như 2 bộ đếm độc lập

Giao diện cổng nối tiếp

Cổng nối tiếp hoạt động ở chế độ Full duplex, có nghĩa là nó có thểtruyền và nhận tại cùng một thời điểm Thanh ghi truyền và nhận của cổngthông tin nối tiếp, cả hai truy nhập tại thanh ghi chức năng đặc biệt SBUF Khi

ta viết tới SBUF thì là thanh ghi truyền và khi đọc SBUF ta sẽ truy nhập tớithanh ghi nhận độc lập Cổng thông tin nối tiếp có thể hoạt động ở 4 chế độ:

Trang 16

- Mode 0: Số liệu nối tiếp vào và ra thông qua chân RXD, TXD Truyền

và nhận 8 bit 8 bit dữ liệu (đầu tiên là trọng số nhỏ nhất LSB ) Tốc độ truyền

cố định bằng 1/12 tần số máy phát

- Mode 1: 10 bit được truyền thông qua chân TXD Nhận thông qua chânRXD: 1 bit Start (0 ), 8 bit dữ liệu (LSB ) đầu tiên), 1 bit Stop (1 ) Khi nhậnbit Stop sẽ được đặt vào RB8 trong thanh ghi SCON Tốc độ truyền có thể thayđổi

- Mode 2: 11 bit được truyền thông qua chân chân TXD hoặc được nhậnthông qua chân RXD 1 bit Start (0 ), 8 bit dữ liệu (bit đầu tiên là LSB ), 1 bit

dữ liệu thứ 9 có thể được đặt, 1 bit Stop (1 ) Khi phát bit thứ 9 sẽ được đặt tạiTB8 thanh SCON Khi nhận bit thứ 9 sẽ được đặt vào RB8 trong thanh ghiSCON Tốc độ độ truyền có thể đặt bằng 1/32 hoặc bằng 1/64 tần số máy phát

- Mode 3: 11 bit được truyền thông qua chân TXD hoặc nhận thông quaRXD 1 bit Start (0 ), 8 bit dữ liệu, bit dữ liệu thứ 9 có thể được đặt, 1 bit Stop(1 ) Mode 3 tương tự Mode 2 nhưng tốc độ truyền có thể thay đổi

Trong tất cả 4 Mode trên, chế độ truyền được khởi đầu bằng câu lệnh,trong đó thanh ghi SBUF được sử dụng giống như thanh ghi đích, chế độ nhậnđược khởi đầu trong Mode 0 bởi điều kiện RI = 0 và REN = 1 Nhận được khởiđầu trong các chế độ khác bởi đặt bit Start nếu REN = 1

SCON: Thanh ghi điều khiển cổng nối tiếp Địa chỉ hoá theo bit.

Trang 17

- REN: Được thiết lập hoặc xoá bằng phần mềm để cho phép chế độ nhậnhoạt động hoặc không hoạt động.

- TB8: Bit dữ liệu thứ 9 sẽ được truyền trong Mode 2, 3 Được thiết lậphoặc xoá bằng phần mềm

- RB8: Trong Mode 2 và 3 là bit dữ liệu thứ 9 Trong Mode 1, nếuSM2 = 0 RB8 là bit Stop, trong Mode 0 thì RB8 không được sử dụng

- TI: Cờ cho phép ngắt truyền, được thiết lập bằng phần cứng tại cuối bit thứ 8 trong Mode 0, hoặc tại thời điểm bắt đầu của bit Stop trong các chế độ khác Phải được xoá bằng phần mềm

- RI: Cờ cho phép ngắt nhận Được thiết lập bằng phần cứng tại thờiđiểm cuối của bit thứ 8 trong Mode 0, hoặc tại thời điểm bắt đầu bit Stop trongcác chế độ khác Phải được xoá bằng phần mềm

1 0 2 9 bit UART Fosc/64 hoặc Fosc/32

Thi t l p c ng n i ti p:ết lập cổng nối tiếp: ập cổng nối tiếp: ổng nối tiếp: ối tiếp: ết lập cổng nối tiếp:

Ngày đăng: 22/12/2014, 22:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w