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

Thiết kế và xây dựng hệ thống điều khiển giao thông

31 519 3

Đ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 31
Dung lượng 0,98 MB

Nội dung

Thiết kế và xây dựng hệ thống điều khiển giao thông

Trang 1

BÀI BÁO CÁOMôn: Thực hành điều khiển và vi xử lý

ĐỀ TÀI: “ Thiết kế và xây dựng hệ thống điều khiển giao thông ”

Lớp : CNVTK9A

Giảng viên hướng dẫn: Nguyễn Thế Dũng

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

KHOA CÔNG NGHỆ ĐIỆN TỬ VÀ TRUYỀN THÔNG



Trang 2

MỤC LỤC

LỜI NÓI ĐẦU

Ngày nay, sự phát triển của ngành kỹ thuật số đã và đang có tầm ảnh hưởng lớnđến ngành kinh tế toàn cầu Nhờ có ưu điểm của xử lý số như độ tin cậy trong truyền dẫn,tính đa thích nghi và kinh tế của nhiều phần mềm khác nhau, tính tiện lợi trong điềukhiển và khai thác mạng cho nên số hóa đang là xu hướng phát triển tất yếu của nhiềulĩnh vực kỹ thuật và kinh tế khác nhau Không chỉ trong lĩnh vực thông tin liên lạc vàtrong tin học, ngày nay kỹ thuật số đã và đang thâm nhập mạnh mẽ vào Kỹ thuật điện tử,phát thanh truyền hình, y tế…và ngay cả trong các đồ dùng sinh hoạt gia đình

Ngay từ những ngày đầu của sự phát triển, kỹ thuật số nói riêng và ngành điện tửnói chung đã tạo ra nhiều bước đột phá mới cho các ngành kinh tế và đảm bảo được yêucầu của người dùng cả về chất lượng và dịch vụ Với sự phát triển mạnh mẽ đó, là nhữngsinh viên điện tử thì kiến thức về kỹ thuật số là không thể thiếu đối với mỗi sinh viên Vìthế việc học hỏi, nghiên cứu kiến thức về chuyên môn là việc làm rất cần thiết với sinhviên đặc biệt là tăng cường nghiên cứu, tạo ra các sản phẩm thực tế ứng dụng trong đờisống thường ngày

Ngày nay, hệ thống giao thông nước ta rất phức tạp và rối ren.Vì vậy việc sử dụngđèn giao thông tại các giao lộ là rất cần thiết Để hiểu rõ hơn về nguyên lý hoạt độngchúng em tiến hành thực hiện đề tài : Thiết kế và xây dựng hệ thống điều khiển giao thông.

Nội dung của bài báo cáo gồm các nội dung chính sau:

 Lời nói đầu

 Chương 1: Phân tích yêu cầu của thiết kế và các giải pháp đưa ra để thực hiện

 Chương 2: Thiết kế hệ thống

Trang 3

 Chương 3: Xây dựng hệ thống

 Kết luận và hướng phát triển hoàn thiện đề tài

Trang 4

CHƯƠNG I: PHÂN TÍCH HỆ THỐNG 1.1.GIỚI THIỆU HỆ THỐNG MẠCH ĐIỀU KHIỂN ĐÈN GIAO THÔNG.

1.1.1 Ý tưởng thiết kế hệ thống điều khiển đèn giao thông.

Hệ thống đèn giao thông hoạt động theo các chế độ trong ngày: giờ cao điểm, bìnhthường và thấp điểm Tuy nhiên, trong hệ thống thiết kế của chúng em chỉ thiết kế ở chế

độ bình thường và hiển thị thời gian trên LED 7 đoạn

-Bình thường: Đèn xanh 30s, đèn đỏ 27s, đèn vàng 3s

-Có 4 LED 7 đoạn đơn: 2 LED hiển thị đếm ngược cho 1 làn đường

-Hệ thống LED đơn hiển thị cho các đèn xanh, đèn đỏ, đèn vàng

-Hệ thống nút nhấn để reset mạch

1.1.2 Yêu cầu của mạch điều khiển giao thông

- Mạch phải đơn giản, dễ thiết kế, dễ lắp đặt, dễ dàng sửa chữa

- Mạch phải chạy ổn định, chính xác và dễ vận hành

-Chi phí để thiết kế phải rẻ

1.2.CÁC GIẢI PHÁP VÀ XÁC ĐỊNH BÀI TOÁN

a Xác định bài toán

Mô hình đèn giao thông gồm có:

 Khối vi xử lý: Mạch xử lý với vi điều khiển pic 16F877A làm nhiệm vụ xử

lí chính, bộ nguồn cung cấp điện áp 5VDC

 Khối hiển thị: Khối này gồm

-LED đơn: hiện thị tín hiệu đèn giao thông

-LED 7 đoạn: Hiển thị thời gian sáng của đèn

 Khối nguồn: Cung cấp điện áp 5V DC

 Khối giải mã:

b Giới hạn của đề tài

Mạch thực hiện chỉ chạy được một chế độ, chưa mở rộng được các chế độ theo yêu cầu của người sử dụng

Trang 5

CHƯƠNG II: THIẾT KẾ HỆ THỐNG 2.1 SƠ ĐỒ KHỐI CỦA HỆ THỐNG

Hình: Sơ đồ khối hệ thống đèn giao thông

• Khối hiển thị: Hiển thị chính xác thời gian trên LED 7 đoạn và tín hiệu đèn giao thông trên led đơn

• Khối điều khiển trung tâm: Điều khiển mọi sự hoạt động theo giờ của hệ thống đèn tín hiệu giao thông

• Khối nguồn:

2.2 SƠ ĐỒ ĐẶC TẢ CỦA HỆ THỐNG

KHỐIHIỂN THỊ

KHỐI MÃHÓA

KHỐI ĐIỀU

KHIỂN

KHỐI NGUỒN

Đèn đỏ 1 sángĐèn xanh 2 sángCác đèn vàng 1, đỏ 1, đỏ

2, vàng 2 đều tắt

Đèn vàng 1 sángĐèn đỏ 2 sángCác đèn vàng 2, đỏ 1,xanh1, vàng 2 đều tắt

Đèn đỏ1 sángĐèn vàng 2 sángCác đèn vàng 1, đỏ 2,xanh2, vàng 2 đều tắt

Đèn xanh 1 sángĐèn đỏ 2 sángCác đèn vàng 1, đỏ 1,xanh2, vàng 2 đều tắt

Trang 6

2.3 CÁC MODULE TRONG HỆ THỐNG 2.3.1 Module điều khiển trung tâm

Sử dụng vi điều khiển PIC 16F877A

Trang 7

2.3.2 Module khối hiển thị

Khối hiển thị có chức năng đưa ra thông tin hiển thị tương ứng với trạng thái hiệnthời của hệ thống Khối này gồm 2 phần: đèn hiển thị tín hiệu giao thông và đồng hồ

Đèn hiển thị tín hiệu đèn giao thông bao gồm: Đèn dành cho các phương tiện thamgia 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-99.Ở đây tadùng loại cathode chung (phù hợp với IC 74LS274)

Trang 8

2.3.3 Module khối dao động.

Trong khối này sử dụng thạch anh để tạo xung nhịp dao động ổn định dao động của PIC 16F877A Khối tạo dao động có nhiệm vụ đồng bộ hóa hoạt động của tất cả các mạch bên trong vi điều khiển Mỗi loại vi điều khiển cần có số chu kì khác nhau để thực hiện lệnh Đầu vào của bộ dao động thạch anh được nối với chân 13 của vi điều khiển, đầu ra được nối với chân 14

Trang 9

2.4 LỰA CHỌN LINH KIỆN

2.4.1 Vi điều khiển PIC 16F877A

a Sơ đồ PIC 16F877A

Sơ đồ chân của vi điều khiển PIC 16F877A: 40 pins, 5 cổng vào ra số RA, RB,

RC, RD, RE

Hình: Sơ đồ chân vi điều khiển PIC 16F877A

PIC16F877A có 40/44 chân với sự phân chia cấu trúc như sau :

+ Có 5 port xuất/nhập

+ Có 8 kênh chuyển đổi A/D 10-bit

+ Có 2 bộ PWM

+ Có 3 bộ định thời: Timer0, timer1 và timer2

+ Có giao tiếp truyền nối tiếp: chuẩn RS 232, I2C…

+ Có giao tiếp LCD

Trang 10

Chức năng các chân:

1 /V PP - : Hoạt động Reset ở mức thấp

- V PP : ngõ vào áp lập trình

2 RA0/AN0 - RA0 : xuất/nhập số - AN0 : ngõ vào tương tự

3 RA1/AN1 - RA1 : xuất/nhập số - AN1 : ngõ vào tương tự

4 RA2/AN2/V REF- /CV REF

- RA2 : xuất/nhập số

- AN2 : ngõ vào tương tự

- V REF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D

5 RA3/AN3/V REF+

- RA3 : xuất/nhập số

- AN3 : ngõ vào tương tự

- V REF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D

6 RA4/TOCKI/C1OUT - RA4 : xuất/nhập số - TOCKI : ngõ vào xung clock bên ngoài cho timer0

- C1 OUT : Ngõ ra bộ so sánh 1

7 RA5/AN4/ /C2OUT - RA5 : xuất/nhập số - AN4 : ngõ vào tương tự 4

- SS : ngõ vào chọn lựa SPI phụ

- C2 OUT : ngõ ra bộ so sánh 2

8 RE0/ /AN5 - RE0 : xuất nhập số - RD : điều khiển việc đọc ở port nhánh song song

- AN5 : ngõ vào tương tự

9 RE1/ /AN6 - RE1 : xuất/nhập số - WR : điều khiển việc ghi ở port nhánh song song

- AN6 : ngõ vào tương tự

10 RE2/ /AN7 - RE2 : xuất/nhập số - CS : Chip lựa chọn sự điều khiển ở port nhánh

song song

- AN7 : ngõ vào tương tự

11 V DD Chân nguồn của PIC.

12 V SS Chân nối đất

13 OSC1/CLKI Ngõ vào dao động thạch anh hoặc xung clock bên ngoài.

- OSC1 : ngõ vào dao động thạch anh hoặc xung clock bên ngoài Ngõ vào Schmit trigger khi được cấu tạo ở chế độ RC ; một cách khác của CMOS.

Trang 11

- CLKI : ngõ vào nguồn xung bên ngoài Luôn được kết hợp với chức năng OSC1.

14 OSC2/CLKO Ngõ vào dao động thạch anh hoặc xung clock - OSC2 : Ngõ ra dao động thạch anh Kết nối đến

thạch anh hoặc bộ cộng hưởng.

- CLKO : ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh.

15 RC0/T1 OCO/T1CKI - RC0 : xuất/nhập số - T1OCO : ngõ vào bộ dao động Timer 1

- T1CKI : ngõ vào xung clock bên ngoài Timer 1

16 RC1/T1OSI/CCP2 - RC1 : xuất/nhập số - T1OSI : ngõ vào bộ dao động Timer 1

- CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ

19 RD0/PSP0 - RD0 : xuất/nhập số - PSP0 : dữ liệu port nhánh song song

20 RD1/PSP1 - RD1 : xuất/nhập số - PSP1 : dữ liệu port nhánh song song

21 RD2/PSP2 - RD2 : xuất/nhập số - PSP2 : dữ liệu port nhánh song song

22 RD3/PSP3 - RD3: xuất/nhập số - PSP3 : dữ liệu port nhánh song song

23 RC4/SDI/SDA - RC4 : xuất/nhập số - SDI : dữ liệu vào SPI

- SDA : xuất/nhập dữ liệu vào I2C

24 RC5/SDO - RC5 : xuất/nhập số - SDO : dữ liệu ra SPI

25 RC6/TX/CK - RC6 : xuất/nhập số - TX : truyền bất đồng bộ USART

- CK : xung đồng bộ USART

26 RC7/RX/DT - RC7 : xuất/nhập số - RX : nhận bất đồng USART

- DT : dữ liệu đồng bộ USART

Trang 12

27 RD4/PSP - RD4: xuất/nhập số - PSP4 : dữ liệu port nhánh song song

28 RD5/PSP5 - RD5: xuất/nhập số - PSP5 : dữ liệu port nhánh song song

29 RD6/PSP6 - RD6: xuất/nhập số - PSP6 : dữ liệu port nhánh song song

30 RD7/PSP7 - RD7: xuất/nhập số - PSP7 : dữ liệu port nhánh song song

31 V SS Chân nối đất

32 V DD Chân nguồn của PIC.

33 RB0/INT - RB0 : xuất/nhập số - INT : ngắt ngoài

b Đặc điểm của PIC 16F877A

Công nghệ CMOS có đặc tính: công suất thấp, công nghệ bộ nhớ flash/EEPROM

có tốc độ sao Điện áp hoạt động ừ 2V – 5V và tiêu tốn năng lượng thấp, phù hợp với chế

độ làm việc trong công nghiệp và trong thương mại

Trang 13

Tần số hoạt động DC – 20MHZ

Bộ nhớ chương trình flash ( 14 – bitword) 8k

Các module capture/ compare/PWM 2

Trang 14

c Sơ đồ khối VĐK PIC 16F877A

Trang 15

d Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình(Program memory) và bộ nhớ dữ liệu (Data Memory)

Bộ nhớ chương trình

Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng

bộ nhớ 8k word (1 word = 14 bit) và được phân thành nhiều trang Như vậy bộ nhớchương trình có khả năng chứa được 8*1024=8192 lệnh

Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình

có dung lượng 13 bit

Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h khi cóngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h

Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếmchương trình Bộ nhớ stack sẽ được đề cập cụ thể trong phần sau

Bộ nhớ dữ liệu

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối vớiPIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗi bank có dung lượng 128 byte,bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở cácvùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm

ở vùng địa chỉ còn lại trong bank Các thanh ghi SFR thường xuyên được sử dụng (ví dụnhư thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp thuận tiệntrong quá trình truy xuất và làm giảm bớt lệnh của chương trình

Stack

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùngnhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiện hay khi mộtngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình PC tự độngđược vi điều khiển cất vào trong stack Khi một trong các lênh RETURN, RETLW hayRETFIE được thực thi, giá trị PC sẽ tự động được lấy ra từ trong stack, vi điều khiển sẽthực hiện liên tiếp chương trình theo đúng qui trình định trước

Trang 16

Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứ được 8 địa chỉ vàhoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ stack lần thứ 9 sẽ ghi đèlên giá trị vất vào stack lần đầu tiên và giá trị cất vào bộ nhớ stack lần thứ 10 sẽ ghi đèlên giá trị cất vào stack lần thứ 2.

e Cổng xuất nhập của PIC16F877A

Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tươngtác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình tương tác

đó chức năng của vi điều khiển được thể hiện một các rõ ràng

Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân, tùy theo cách bố trí và chứcnăng của vi điều khiển mà số lượng cổng xuất nhập và số lượng chân trong mỗi cổng cóthể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tínhgiao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chânxuất nhập còn có thêm chức năng khác để thể hiện sự tác động của các đặc tính ngoại vinêu trên đối với thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi cổnghoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR liên quanđến chân xuất nhập đó

Vi đjều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD, PORTE

PORTA

Port A bao gồm 6 I/O pin Đây là các chân “hai chiều”, nghĩa là có thể xuất vànhập được chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) muốnxác lập chức năng của một chân trong PORTA là input ta set bit điều khiển tương ứngvới chấn đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chântrong PORTA là output, ta clear bit điều khiển tương ứng với chân đó trong thanh ghiTRISA Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiểntương ứng TRIS Bên cạnh đó PORTA còn là ngõ ra bộ ADC, bộ so sánh, ngõ vào analogngõ vào xung clock của timer0 và ngõ vào của bộ giao tiếp MSSP

PORTB

Trang 17

PORTB (RPB) gồm 8 pin I/O thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạpchương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đếnngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên đượcđiều khiển bởi chương trình.

Các thanh ghi SFR liên quan đến PORTB bao gồm:

PORTB (địa chỉ 06h, 106h) : chứa giá trị các pin trong PORTB

TRISB (địa chỉ 86h, 186h): điều khiển xuất nhập

OPTION_REG (địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0

PORTC

PORTC gồm 8 pin I/O thanh ghi điều khiển xuất nhập tương ứng là TRISC Bêncạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM vàcác chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART

Các thanh ghi điều khiển liên quan đến PORTC bao gồm:

PORTC (địa chỉ 07h) : chứa giá trị các pin trong PORTC

TRISC (địa chỉ 87h): điều khiển xuất nhập

PORTD

PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng làTRISD PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP

Các thanh ghi liên quan đến PORTD gồm:

Thanh ghi PORTD: chứa các giá trị pin trong PORTD

Thanh ghi TRISD: điều khiển xuất nhập

Thanh ghi TRISE: điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP

PORTE

PORTE gồm 3 chân I/O thanh ghi điều khiển xuất nhập tương ứng là TRISE Cácchân của PORTE có các ngõ vào analog Bên cạnh đó PORTE còn là các chân điểu khiểncủa chuẩn giao tiếp PSP

Trang 18

f Timer 0

Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F877A.timer0 là bộ đếm 8 bit được kết nối với bộ chia tần số 8 bit Cấu trúc của Timer0 chophép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock Ngắt Timer0 sẽxuất hiện khi Timer0 bị tràn Bit TMR0IE là bit điều khiển của Timer0 TMR0IE = 1cho phép ngắt Timer0 tác động, TMR0IE = 0 không cho phép ngắt Timer0 tác động sơ

đồ khối của Timer0 như sau:

Hình: sơ đồ khối timer0

Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC, khi đó giá trị thanh ghiTMR0 sẽ tăng theo từng chu kì xung đồng hồ khi giá trị thanh ghi TMR0 từ FFh trở về00h, ngắt Timer0 sẽ xuất hiện thanh ghi TMR0 cho phép ghi và xóa được giúp ta ấn địnhthời điểm ngắt Timer0 xuất hiện một cách linh động

Muốn Timer0 hoạt động ở chế độ counter ra set bit TOSC Khi đó xung tác độnglên bộ đếm được được lấy từ chân RA4/TOCK1 Bit TOSE cho phép lựa chọn cạnh tác

Trang 19

động vào bộ đếm cạnh tác động sẽ là cạnh lên nếu TOSE=0 và cạnh tác động sẽ là cạnhxuống nếu TOSE=1.

Khi thanh ghi TMR0 bị tràn, bit TMR0IF sẽ được set Đây chính là cờ ngắt củaTimer0 Cờ ngắt này phải được xóa bằng chương trình trước khi bộ đếm bắt đầu thựchiện lại quá trình đếm ngắt Timer0 không thể “đánh thức” vi điều khiển từ chế độ sleep.Các thanh ghi điều khiển liên quan đến Timer0 gồm:

TMR0: chứa giá trị đếm của timer0

INTCON: cho phép ngắt hoạt động

OPTION_REG: điều khiển prescaler

g Timer 1

Timer1 là bộ định thời 16bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi

Cờ ngắt của Timer1 là bít TMR1IF Bit điều khiển của Timer1 sẽ là TMR1IF

Tương tự như timer0, timer1 cũng có hai chế độ hoạt động: chế độ định thời với xungkích là xung clock của oscillator và chế độ đếm với xung kích là xung phản ánh các sựkiện cần đếm lấy từ bên ngoài thông qua chân RC0/T1OSO.T1CKI việc lựa chọn xungtác động được điều khiển bởi bit TMR1CS Sau đây là sơ đồ khối của timer1

Hình: sơ đồ khối timer1

Ngoài ra timer1 còn có chức năng reset inptu bên trong được điều khiển bởi một trong 2khối CCP

Ngày đăng: 29/07/2015, 15:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w