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

thiết kế hệ thống điều khiển đèn giao thông - luận văn, đồ án, đề tài tốt nghiệp

44 670 3
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 44
Dung lượng 15,38 MB

Nội dung

Luận văn, khóa luận tốt nghiệp, báo cáo là sản phẩm kiến thức, là công trình khoa học đầu tay của sinh viên, đúc kết những kiến thức của cả quá trình nghiên cứu và học tập một chuyên đề, chuyên ngành cụ thể. Tổng hợp các đồ án, khóa luận, tiểu luận, chuyên đề và luận văn tốt nghiệp đại học về các chuyên ngành: Kinh tế, Tài Chính Ngân Hàng, Công nghệ thông tin, Khoa học kỹ thuật, Khoa học xã hội, Y dược, Nông Lâm Ngữ... dành cho sinh viên tham khảo. Kho đề tài hay và mới lạ giúp sinh viên chuyên ngành định hướng và lựa chọn cho mình một đề tài phù hợp, thực hiện viết báo cáo luận văn và bảo vệ thành công đồ án của mình

Trang 1

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ Bộ môn: KỸ THUẬT MÁY TÍNH ĐỎ ÁN MÔN HỌC MÔN HỌC HỆ THÓNG NHÚNG

Trang 2

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng TRUONG DHKTCN CONG HOA XA HOI CHU NGHIA VIET NAM

KHOA ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc

ĐỎ ÁN MƠN HỌC

Mơnhọc: Hệ thống nhúng Bộ Môn: Ky thuật Máy tính

Sinh viên: 1 Trịnh Xuân Chiến 2 Nguyễn Văn Đoàn 3 Nguyễn Khắc Hạnh

Lớp: K43KDT Ngành: Số đề:

Ngày giao đề: 16/03/2011 Ngày hoàn thành:

1.Tên đề tài: Thiết kế và xây dựng hệ thống điều khiến đèn giao thông 2 Nội dung thuyết minh tính toán

-_ Khảo sát và phân tích bài toán: Tìm hiểu và khảo sát thực tế về các linh kiện,

các loại IC, và hoạt động của hệ thống đèn giao thông

-_ Lựa chọn giải pháp: Chọn giải pháp công nghệ, giải pháp thiết kế, các yêu cầu và giới hạn cho hệ thống

-_ Thiết kế nguyên lý: Sơ đồ tông quát, sơ đồ đặc tả, lựa chọn và tổng quan về

linh kiện

-_ Thiết kế kỹ thuật:

- _ Xây dựng hệ thống: Sơ đồ mạch, chương trình demo, module chương trình

3 Các bản vẽ, chương trình và đồ thị

- Cac sơ đồ thiết kế, Mạch hệ thống - _ Chương trình điều khiển

- _ Đĩa CD chứa các sơ đồ thiết kế gốc, báo cáo, mã nguồn, chương trình demo

Nhãn đĩa ghi rõ: Họ tên + lớp + tên đề tài (tóm tắt) + GV hướng dẫn + Ngày tháng

Thông qua phần Thông qua phần Thông qua phần Lo» ok

cạn ad cu 14 ˆ nk Dong y cho bao vé

Xac dinh yéu cau Thiét ké Xây dựng hệ thong

TỎ TRƯỞNG BỘ MÔN GIÁO VIÊN HƯỚNG DẪN

ThS Nguyễn Tuấn Linh ThS Nguyễn Tiến Duy

Trang 3

Nhận xét của giáo viên hướng dẫn

Thái Nguyên, Này Tháng Năm 20

Giáo Viên hướng dẫn

(Ký ghi rõ họ tên)

Nhận xét của giáo viên châm

Thái Nguyên, Ngày Tháng Năm 20 Giáo Viên hướng dẫn

(Ký ghi rõ họ tên)

Trang 4

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng

LỜI CÁM ƠN

Lời đầu tiên chúng em xin chân thành cảm ơn thầy Nguyễn Tiến Duy cùng thây cô bộ môn khoa Điện Tử Trường Đại Học Kỹ Thuật Công Nghiệp Thái Nguyên

_ Trong qua trình thực hiện đồ án nhóm chúng em gặp không it khó khăn và thiêu sót Nhưng được sự hướng dân và chí dạy nhiệt tình của quý thây cô đã giúp chúng em khắc phục được những thiêu sót đó và có thê hoàn thành được đê tài đúng thời hạn, giúp chúng em học tôt hơn

Do kiến thức của nhóm chúng em còn hạn chế nên trong đồ án còn nhiều sai

Trang 5

MỤC LỤC

LỜI NÓI ĐẦU L 2TH TH HH2 re

CHUONG 1: PHAN TICH HỆ THÔNG

1.1 GIỚI THIEU HE THONG MACH DIEU KHIEN DEN GIAO THONG 7 1.1.1.Y tưởng thiệt kê hệ thông điêu khiên đèn giao thông 7

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

1.2 GIGI THIEU HE THONG DIEU KHIEN DEN GIAO THONG

1.3 CÁC GIẢI PHÁP VÀ XÁC ĐỊNH BÀI TOÁN 18 1.3.1.Các gidi phape.c cececccccccccsccseescssessssssssssessessssessesscssessesssssessessvssesseeseees 8

1.3.2 Xác định bài toán và giới hạn của để tài, ác tong eyey 8

CHUONG 2 : THIET KE HE THONG cà

2.1 SƠ ĐỎ KHÓI CỦA HỆ THÓNG 2- 2 2St+EE 2 EEE1E11571 2121 2.2 SƠ ĐỎ KHÓI (CALL GRAPH)

2.3 SƠ ĐỎ ĐẶC TẢ CỦA HỆ THÓNG

2.4 CÁC MODULE TRONG HỆ THÓNG . -2: 2: 5c cctzxcrxcrrx 11

2.4.1 Module diéu khién trung tam .c.cccsccecseessesssesssesseessessteseesssessseesessseess 11

2.4.2.Module khối hién thi

2.4.3 Module khối nguồn

2.4.4 Module đầu vào:

2.5 LỰA CHỌN LINH KIỆN

2.5.1.Các linh kiện trong khối điều khiển trung tâm ¿5255+ 14

2.5.1.1 Vi điều khiến PIC 16F877A "

2.5.1.2.Bộ tạo dao động thạch anh - 5+ + + + +*sv+srsesreeserrrrrrs

2.5.2 Khối giải mã - 2+ St St t2 1 32112112112112112112111111211 11111111 se

2.5.3 Các linh kiện trong bộ hiền thị "

2.6 SƠ ĐỎ NGUYÊN LÝ CỦA MẠCH . 2-2 se +s+£keEEtzEerkerrrrs 27 2.7 NGUYEN LY HOAT DONG CUA MẠCH - ¿©2222 28 2.8 SƠ ĐỎ THUẬT TOÁN ĐIÊU KHIÉN 28

2.8.1 Giản đồ thời gian các chế độ hoạt động của hệ thống 28 2.8.2 So đồ thuật tốn tồn hệ thống - 2+ 20

2.8.3 Sơ đồ thuật toán các chế độ 1.30

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH HỆ THÓNG 32 3.1.MA NGUON DE DIEU KHIEN HE THONG DEN GIAO THONG 32 3.2 KET QUA MO PHONG Lo eecccesssssessessssseesvssssssesssssessessessessessessessesseeseees

3.2.1.Mạch điều khiển giao thông chay ở chế độ giờ thấp diém(BT)

3.2.2.Mạch điều khiển giao thông chay ở chế độ giờ cao điểm (CD) " 3.2.3.Mạch điều khiển giao thông chay ở chế độ giờ ban đêm (FREE) 42 ĐÁNH GIA VA KET LUAN

HƯỚNG PHÁT TRIEN CUA DE TAI TÀI LIỆU THAM KHẢO

Trang 6

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng

LỜI NÓI ĐẦU

Ngày nay, khái niệm kỹ thuật số đã trở thành quen thuộc với nhiều người, bởi vì sự phát triển của ngành kỹ thuật số này đã có ảnh hưởng rất lớn đến ngành kinh tế toàn câu Có người đã nêu lên ý tưởng gọi nền kinh tế của thời đại chúng ta là “ nền kinh tế kỹ thuật số “, “số hóa” đã gần như vượt khỏi ranh giới của một thuật ngữ kỹ thuật 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ều khiển

và khai thác mạng

Số hóa đang là xu hướng phát triển tất yếu của nhiều lĩ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à tin học Ngày nay, kỹ thật số đã và đang thâm nhập mạnh mẽ vào Kỹ thuật điện tử, Điều khiến tự động, phát thanh truyền hình, y tế, nông nghiệp và ngay cả trong các dụng cụ sinh hoạt gia đình

Ngay từ những ngày đầu khai sinh, 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 mẽ cho các ngàng kinh tế khác và còn đảm bảo được yêu cầu của người dùng cả về chất lượng và dịch vụ Đồng thời kiến thức

về kỹ thuật số là không thẻ thiếu đối với mỗi sinh viên, nhất là sinh viên điện tử

Và như mọi người nhận thấy rằng, ngày nay trật tự giao thông nước ta đang rồi ren Vì vậy việc sử dụng đèn giao thông tại những giao lộ là rất cần thiết và dé hiểu rõ hơn về nguyên lý hoạt động và muôn phát triển thêm về mô hình này, chúng em đã chọn đề tài cho đồ án môn học 1 là nghiên cứu về Đèn Giao Thông

Nội dung chính của bài báo cáo được chia thành các phần chính sau:

> Lời nói đầu

» Chương I: Phân tích về yêu cầu của đồ án và các giải pháp đưa ra đê thực hiện

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

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

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

Trong quá trình thực hiện đề tài có thể không tránh được các thiếu sót và mức độ hoàn thành đê tài, mong quý thây cô xem xét và có thê đưa ra nhận xét đề chúng

em có thê khăc phục được những thiêu sót đó và có thê hoàn thiện cũng như mở

rộng đê tài sau này

Trang 7

CHƯƠNG 1: PHÂN TÍCH HỆ THONG

1.1 GIOI THIEU HE THONG MACH DIEU KHIEN DEN GIAO THONG 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 của chúng em thiết kế hoạt động có các chế độ trong ngày: (Giờ cao điêm, bình thường và thâp điêm, hiên thị thời gian của các chê độ lên LED 7 đoạn)

- _ Cao điểm: Đèn xanh 47s, đèn đỏ 50s, đèn vàng 3s

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

-_ Thấp điểm: Đèn vàng sáng

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

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

- Hệ thống nút nhấn, gồm 3 nút: nút chuyển chế độ cao điểm, bình thường, thấp

diém

1.1.2 Yêu cầu cúa mạch điều khiến đèn giao thông

- Mach 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, dé vận hành

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

1.2 GIOI THIEU HE THONG DIEU KHIEN DEN GIAO THONG Một số sản phẩm thực tế

Hình 1: Hình ảnh hệ thống đèn giao thông trong thực tế

Trang 8

Truong DH KTCN Thai Nguyén

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

1.3.1.Các giải pháp

1.3.2 Xác định bài toán và giới hạn của đề tài

£ Đô án môn học: Hệ Thống Nhúng

Có rất nhiều phương pháp đề thiết kế một mạch điều khiển hệ thống đèn giao thông Tuy nhiên, tùy theo yêu cầu của từng bài toán, tùy theo ý tưởng thiết kế của mỗi người mà ta có những giải pháp riêng Ở đây nhóm chúng em đã thiết kế hệ thống điều khiển đèn giao thông sử dụng vi điều khiển với những ưu điểm sau:

Mạch có thể thay đổi các chế độ hoạt động hoạt động linh hoạt Số linh kiện sử dụng trong mạch ít, cách thức bồ trí linh kiện dễ dang Mach don gian, dễ thực thi Lập trình đơn giản a Xác định bài tốn Mơ hình đèn giao thông gồm có: Đâu vào Xử lý Đâu ra

e Đầu nhập dữ liệu vào là bàn phím, gồm các phím chức năng và phím

nhập thời gian,đê điêu chỉnh các chê độ hoạt động của đèn giao

thông

e Khối vi xử lí gồm có: mach vi xử lí với vi điều khién picl6F877A lam nhiệm vụ xử lí chính, bộ nguồn cung cấp điện áp 5VDC

e Đầu dữ liệu ra ( hiển thị) 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

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

Mạch thực hiện chưa chạy tự động các chế độ hoạt động theo giờ đã định, muốn chuyển chế hoạt động của hệ thống đèn giao thông yêu câu người điều khiển phải ấn nút điều chỉnh trên khối bàn phím để điều khiển các ché độ hoạt động theo giờ

Trang 9

CHUONG 2 : THIET KE HE THONG 2.1 SO DO KHOI CUA HE THONG

Bao gồm các khối sau: Khối đầu vào, khối điều khiển, khối giải mã, khối hiển thị, khôi nguôn:

KHÓI KHÓI KHOI KHOI

DAU ,| DIEU GIAI MA HIEN VÀO KHIỂN THỊ ˆ KHOI NGUON

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

e_ 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

e_ Khối đầu vào: Gồm bàn phím đề điều chỉnh các chế độ hoạt động theo giờ của hệ thống đèn tín hiệu giao thông

e_ Khối điều khiển trung tâm: Điều khiển mọi sự hoạt động của hệ thống, thực

hiện chương trình, xử lý các điều khiển vào/ra và truyền thông với các thiết bị bên ngồi

e« Khối giải mã: sử dụng IC74LS247 để 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

e_ Khối nguồn: Cung cấp điện áp cho toàn bộ hệ thống và đảm bảo sự ôn định điện áp

Trang 10

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng 2.2 SƠ ĐỎ KHÓI (CALL GRAPH) Controller Software Led Display Controller 7 Segment Controller Keypad Routines Led Display Keypad Segment

Hình 3 Sơ đồ khối hệ thống đèn giao thong (call graph) 2.3 SO DO DAC TA CUA HE THONG Đèn xanh 1 sang Đèn vảng 1 sáng Đèn do 2 sang Đèn do 2 sang Các đèn vàng 1, đỏ Các đèn xanh 1, đỏ 1, xanh 2, vàng 2 1, xanh 2, vàng 2 đều tất đều tất Đèn đỏ 1 sáng Đèn đỏ 1 sáng Đèn vảng 2 sáng Đèn xanh 2 sáng Các đèn vàng 1, Các đèn vảng 1, xanh 1, xanh 2, đỏ 2 xanh 1, đo 2, vảng 2 đều tắt đều tắt

Hình 4 Sơ đồ đặc tả của hệ thống đèn giao thông

Trang 11

2.4 CAC MODULE TRONG HE THONG 2.4.1.Module diéu khién trung tam

Sir dung vi diéu khién PICI6F877A a So dé PICI6F877A Sơ đồ chân của vi điều khiển PIC 16F§77A: 40 pins 5 cổng vào ra số RA,RB,RC,RD,RE TNRAm/M —+ht® |j sheằđm BA)/AN) â>[|? đ[]ô> R8ủ/P00 RAI/ANI ©+[L|3 &H~— R5 RA/ND/VRF- +—» 14 øH~— Ped RA3/AN3/VREF+ e—+[ ]s #H~— ai RAA/TOCKT +» C5 B+ Ree RAB/NM/SS «—+[]T #H~— fI REO/RO/ANS +> (C]8 #H~—> R/INT ELAR —> Clo s_ he RE2/0S/AU «+[|0 s 4 H~—1s Yu —+lt 8 [1~—> Rr/P#? Y§§ —*[[U 2 BL RO6/PSPE OSC1/CLKIN —+ Cn [~—> RO5/PSPS osce/CLKOUT «—C]n 7H~— Ru/P#4 ROD/TIOSO/TICKT «+ Cs Z[~— W?/R/DT RCI/TIOSI/CoP2 + Cs 2[H~— Ros/TH/CK RO2/COP] «—» C17 aH~— W5/S00 R03/501/S0L ô>[|g [H~ơ R4/S01/50A ROO/PSPO > C]19 ?H~ N/P#3 R0l/PSPI +>[]m iH~— RO2/PSP2 TOP YIEW

Hình 5: Sơ đồ chân vi diéu khién PICI6F877A

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 độ cao.Điện áp hoạt động từ 2V đến 5,5V và tiêu tốn năng nượng thấp phù hợp với nhiệt độ làm việc trong công nghiệp và trong thương mại

-Tốc độ hoạt động :

+ _DC - 20MHz ngõ vào xung clock +_DC - 200ns chu kỳ lệnh

-Dung lượng của bộ nhớ chương trình Flash là 8K x 14words -Dung lượng của bộ nhớ dữ liệu RAM là 368x8Bytes -Dung lượng của bộ nhớ dữ liệu EEPROM là 256x8 Bytes

+ Bộ nhớ dit ligu EEPROM cho phép xóa và ghi 1.000.000 lần

+ Bộ nhớ EEPROM có thể lưu giữ dữ liệu hơn 40 năm và có thể tự

lập trình lại được dưới sự điều khiển của phần mềm

Trang 12

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng 2.4.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ện thời của hệ thống Khối này gồm 2 phần: đèn hiền thị tín hiệu đèn 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 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 74LS247), cấu trúc của nó như sau:

Hình 6: Sơ đồ LED thanh

Để tích kiệm chân cho vi điều khiến ta nối cdc chan a, b, c, d, e, f, ø, trên hai led với nhau Các vi xử lý xử lý các dữ liệu là sô nhị phân 0 và I nên cân có sự giải mã từ sô nhị phân sang sô thập phân, vì vậy ta nôi các chân của led 7 thanh vào

chân của bộ giải mã 74LS247

2.4.3 Module khối nguồn

Khối nguồn là khối cần thiết cho sự ôn định của điện áp,đảm bảo điện áp đúng

Trang 13

Đầu tiên, điện áp AC5V được đưa vào mạch chỉnh lưu cầu diode đề cho điện áp một chiều Tuy nhiên, điện áp này sẽ được lọc bớt độ nhấp nhô (ripple) nhờ tụ 1000uE, qua đó, có thể nâng cao mức volt trung bình cấp cho tầng tiếp theo Hai tụ

104 trong mạch có nhiệm vụ dập hiện tượng dao động tự kích có trong IC7805C,

cũng như lọc ở tần số cao Nhánh mạch có điện trở 330 Ohm nói tiếp với Led-5V là

nhằm báo hiệu tình trạng ngõ ra có điện áp 5V hay chưa 2.4.4 Module đầu vào:

Trang 14

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng

2.5 LỰA CHỌN LINH KIỆN

2.5.1.Các linh kiện trong khối điều khiến trung tâm 2.5.1.1 Vi điều khiến PIC 16F877A

a Sơ đồ chân vi điều khiến PICI6F877A WiWum/Mằrliđ \|j - shôằm#0 RAD/AND <—» C]2 p+ âủ/r RAI/MI e*[|3 B+ ABS RAD/AND/YREF- +» C]4 1= R4 RA3/N/VRE+ â>[] #~ đ/Pỳl PAM/TOCKT ôằ C5 søH~— RB RAS/ANA/SS «—+[|! #4~— fI RED/RO/ANS [3 #~— R8l/IM FeV ©+th 2 He—Wu RED/CS/AN? +» C0 ” a— ¥ss Yo —+ Cn a 0 — RO?/PSP? Ys—e = S++ poner 0801/LKIN —>[]9 3[~> M/P%5 Osce/CLKOUT +— Cx 7H RM/P#4 ROO/TIOSO/TICKT «+ Cs ã[]~—> Rữ?/RDT Wl/TI0SI/WP2 «+>[|ø zH~— R3/T0 W2/0PI + Chin 4 [+ PO5/S00 ACS /SCK/SCL «—» Og H~—> Rồ4/901/SDA R00/PSP) +[Í9 n2~ R/r#a R0l/PPI +[Ím 7+ R/r#? TOP VIEW

Hình 9: Sơ đồ chân vi điều khiển PICI6F877A b Một vài thông số về vi điều khiến PIC16F877A

Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài

14 bit

Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt động tối

đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương trinh 8Kx14

bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng

256x8 byte Sô PORT I/O là 5 với 33 pin L/O

> Các đặc tính ngoại vi bao gồm các khối chức năng sau:

- _ Timer0: bộ đếm 8 bit với bộ chia tan sé 8 bit

- Timerl: b6 dém 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm

dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep

-_ Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler -_ Hai bộ Capture/so sánh/điều chế độ rông xung

-_ Các chuẩn giao tiếp nói tiếp SSP (Synchronous Serial Port), SPI va I2C

- _ Chuẩn giao tiếp nói tiếp USART với 9 bit dia chi

- Céng giao tiếp song song PSP (Parallel Slave Port) với các chân điều

khiên RD, WR,CS ở bên ngoài

> Cac dac tinh Analog:

Trang 15

- 8 kênh chuyên đổi ADC 10 bit

- _ Hai bộ so sánh

> Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần -_ Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần

- _ Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm

- Kha nang tu nap chương trình với sự điều khiển của phần mềm

- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân

- Watchdog Timer véi bộ dao động trong - _ Chức năng bảo mật mã chương trình

- Chế độ Sleep

- C6 thé hoat động với nhiều dạng Oscillator khác nhau

Trang 16

Truong DH KTCN Thdi Nguyén 2 Dé dnmén hoc: Hé Thong Nining e Sơ đồ khối vi điều khiến PIC16F877A 13 DataBus Ê PORTA RAQIAND RAVANT RAQIAN2/Vagr CV REF RA1/AN3VaEr« RAATOCKUCIOUT RA5/AN4/S$/C20UT oo ớẻtYx.- R87/PG0 RCOTIOSOITICKI RC1/T10SICCP2 RC2ICCP1 RC3/SCK/SCL RC4/SDUSDA RCSSOO ROBTXICK RC7IRXOT Be OSCICLKI OSCIICLKO RODPSPO R01/P$P1 R02/P$P2 R03PSP3 RD4P$SP4 RDSIPSPS ROGPSPO R0?/P$P7 tof] RECADIANS tof] RELATRIANG PK] 8E2SAN7 - — —: Timer0 Tener! Tmer2 10-b+ A/0 io ata EEPROM CCP12 = USART Comparator Ritb

Hình 10 Sơ đồ khối vi điều khiển PIC16F877A

Trang 17

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

(Programmemory) và bộ nhớ đữ liệu (Data Memory) e_ Bộ nhớ chương trình

Bộ nhớ chương trình của vi điều khiển CALL, RETURN 13

PICI6F8§77A là bộ nhớ flash, dung lượng bộ RETFIE, RETLW 5 | nhớ 8K word (I word = 14 bit) và được phân Stack Level 1

thành nhiều trang (từ page0 đến page 3) —

Như vậy bộ nhớ chương trình có khả năng :

chứa được 8*1024 = 8192 lệnh (vì một lệnh —_

sau khi mã hóa sẽ có dung lượng I word (14 Tae ng

bit) : ||

Dé ma hoa được địa chỉ của 8K word =e soon

bộ nhớ chương trình, bộ đêm chương trình có 0005n

dung lượng 13 bit (PC<12:0>) | = ers

Khi vi điều khiển được reset, bộ đếm se uất =

chương trình sẽ chỉ đến địa chỉ 0000h (Reset ae Ba vector) Khi có ngắt xảy ra, bộ đêm chương Page2

trình sẽ chỉ đến địa chỉ 0004h (Interrupt =: scr

vector) IFFFh

Hình 11 Bộ nhớ chương trình PIC

e_ 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ớ đữ liệu được chia ra làm 4 bank Mỗi bank có dung lượng 128 byte, baogồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) năm ở các vù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ớ đữ liệu giúp thuận tiện trong quátrình truy xuất và làm giảm bớt lệnh của chương trình Sơ đồ cụ thể

của bộ nhớ dữ liệu

PIC16F877A nhu sau:

Trang 18

Truong DH KTCN Thdi Nguyén 2 Dé dnmén hoc: Hé Thong Nining

File File File File

Address Address Address Address

Indirect addr) oon Indirect ade!) gon | Indirect addr} 100n |!ndirectaddr?Ì tạoh

01h OPTION_REG | 81h TMRO 101h OPTION_REG| 181h 02h 82h PCL 102h PCL 182h 03h 83h STATUS | 103h STATUS | 183h 04h 84h FSR 104h FSR 184h 05h 85h 105h 185h 06h 86h PORTS | 108h TRISB 186h 07h 87h 107h 187h 08h 88h 108h 188h 09h 89h 109h 189h 0Ah 8h PCLATH _ | 10Ah PCLATH | 18Ah 08h 8Bh INTCON | 108h INTCON | 18Bh 0Ch 8Ch EEDATA | 10Ch EECON1 | tậCh 0Dh 8Dh EEADR l0Dh | EECON2 18Dh 0Eh 8En EEDATH | 10En | Reserved@ | tach 0Fh §Fh EEAORH | 10Fh | Reseyedf? | 18Fh 10h 90h 110h 190h 11h 91h 111h 191h 12h 92h 112h 192h 13h 93h 1iần 193h 14h 94h 114h 194h 15h 95h 115 195h 16h 96h 116h 196h 17h 97h General | 117n General | 197n

18h 19h 99h an | Ronee | 19 | Ragse | 96h 16 Bytes | 1190 16 Bytes | 199h

1Ah 9Ah 11Ah 19Ah 18h 98h 11Bh 19Bh {Ch 9ch 11Ch 19Ch 1Dh 9Dh 11Dh 19Dh 1Eh 9Eh 1iEh 19Eh 1Fh 9Fh 11Fh 19Fn 20h ADh 120h 1A0h General General General Purpose Purpose

Register Power Register

20 Bytes 80 Bytes 20 Bytes

EFh 16Fh 1EFh

accesses | F0h accesses | 170 accesses | 1FOh

T0h-TFh 70h-7Fh 70h - 7Fh

TFh FFh 17Fh 1FFh

0 Bank 1 Bank 2 Bank 3

TD Unimpiemented data memory locations, read as ‘o"

* Not a physical register,

Note 1: These registers are not implemented on the PIC16F876A

2: These registers are reserved; maintain these registers clear

Hinh 12.So dé b6 nhé dir ligu PIC16F877A

Trang 19

e Công xuất nhập

Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng dé tương tá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ách 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 ,qŒ/O pin), tùy theo cách bồ trí và chức nă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 tinh giao 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ân xuất nhập còn có thêm các chức năng khác đề thể hiện sự tác động của các đặc tính ngoại vi nê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ơng hồn tồn có thé được xác lập và điều khiến được thông qua các thanh ghi SER liên quan đến chân xuất nhập đó

Vi điều khiển PICI6F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,

PORTC, PORTD và PORTE e PORTA

PORTA (RPA) bao gom 6 I/O pin Day là các chân “hai chiéu” (bidirectional pin), 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ốn xá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 ứng vớ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ân trong PORTA là

output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA

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ển

tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD vàđối với PORTE là TRISE) Bên

cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào

xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port)

Các thanh ghi SFR liên quan đến PORTA bao gồm: PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA

TRISA (dia chỉ 85h) : điều khiển xuất nhập

CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh

CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp ADCONI (dia chỉ 9Fh): thanh ghi điều khiển bộ ADC

se PORTB

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ạp chươ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 đên ngắ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 (dia chi 06h,106h) : chứa giá trị các pin trong PORTB

TRISB (dia chi 86h,186h) : điều khiển xuất nhập

Trang 20

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng OPTION_REG (địa chỉ §1h,I81h) : điều khiến ngắt ngoại vi và bộ

Timer0

se PORTC

PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng là

TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ

Timerl, b6 PWM va 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:

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

e PORTD

PORTD (RPD) gồm 8 chân L/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 (Parallel Slave Port)

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

Thanh ghi PORTD: chứa giá trị các 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 SỐ

PORTE (RPE) gôm 3 chân I/O Thanh ghi điêu khiên xuât nhập tương ứng là TRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điêu khiên của chuân giao tiep PSP ‹

Các thanh ghi liên quan đên PORTE bao gôm:

PORTE _ : chtra gia tri cac chan trong PORTE

TRISE : điều khiển xuất nhập và chuân giao tiếp PSP ADCONI : thanh ghi điêu khiên khôi ADC

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ô (prescaler) 8 bit Câu trúc của Timer0 cho phép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock

Ngat Timer0 sẽ xuất hiện khi Timer0 bị tràn Bit TMR0IE (INTCON<5>) là bịt điều khiển của Timer0 TMROIE=1 cho phép ngất Timer0 tác động, TMROIF= 0

không cho phép ngắt Timer0 tác động Sơ đô khôi của Timer0 như sau:

Trang 21

Set Fieg bit TMROU on Svertow weatencog Timmer WOT Enatie bit Mux — PSA Note: TOCS, TOSE, PSA, PS2:PSO are (OPTION_REG<S:0>)

Hình 13 Sơ đồ khối của Timer0

Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC (OPTION_REG<S>), khi đó giá trị thanh ghi TMRO sẽ tăng theo từng chu kì xung đồng hồ (tần số vào Timer0 bằng 1⁄4 tần số oscillator) Khi giá trị thanh ghi TMR0 từ

FFh trở về 00h, ngắt Timer0 sẽ xuất hiện Thanh ghi TMRO cho phép ghi và xóa được giúp ta ấn định thời điểm ngắt Timer0 xuất hiện một cách linh động

Muốn Timer0 hoạt động ở chế độ counter ta set bit TOSC (OPTION_REG<2>) Khi đó xung tác động lên bộ đếm được lấy từ chân RA4/TOCKI Bit TOSE

(OPTION_REG<4>) cho phép lựa chọn cạnh tác động vào bột đế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ạnh xuống nếu TOSE=I

Khi thanh ghi TMRO0 bị tràn, bit TMR0IF (INTCON<2>) sẽ được set Đây

chính là cờ ngắt của Timer0 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ực hiện lại quá trình đếm Ngắt Timer0 không thê “đánh thức” vi điều khiến từ chế 6 sleep

Bộ chia tần số (prescaler) được chia sẻ giữa Timer0 và WDT (Watchdog Timer) Điều đó có nghĩa là nếu prescaler được sử dụng cho Timer0 thì WDT sẽ

không có được hỗ trợ của prescaler và ngược lại Prescaler được điều khiến bởi

thanh ghi OPTION_REG Bit PSA (OPTION_REG<3>) xác định đối tượng tác động của prescaler Các bit PS2:PS0 (OPTION_REG<2:0>) xác định tỉ số chia tần

số của prescaler Xem lại thanh ghi OPTION_REG đề xác định lại một cách chỉ tiết

về các bit điều khiên trên

Các lệnh tác động lên giá trị thanh ghi TMRO sẽ xóa chế độ hoạt động của

prescaler Khi đối tượng tác động là Timer0, tác động lên giá trị thanh ghi TMRO sẽ xóa prescaler nhưng không làm thay đổi đối tượng tác động của prescaler Khi đối

tượng tác động là WDT, lệnh CLRWDT sẽ xóa prescaler, đồng thời prescaler sẽ

ngưng tác vụ hỗ trợ cho WDT

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

TMRO (dia chi 01h, 101h) : chứa giá trị đếm của Timer0

INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và

Trang 22

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng PEIE)

OPTION_ REG (địa chi 81h, 181h): điều khiển prescaler g TIMERI

Timerl là bộ định thời 16 bit, giá trị của Timerl sẽ được lưu trong hai thanh ghi (TMRIH:TMRIL) Co ngat cua Timer! 1a bit TMRIIF (PIR1<0>) Bit diéu khién

cua Timerl sé la TMRIIE (PIE<0>)

Tương tự như Timer0, Timerl cũng có hai chế độ hoạt động: chế độ định thời

(timer) với xung kích là xung clock của oscillator (tân sô của timer băng 1⁄4 tân sô của oscillator) và chê độ đêm (counter) với xung kích là xung phan ánh các sự kiện cân đêm lây từ bên ngồi thơng qua chân RC0/TIOSO/TICKI (cạnh tác động là

cạnh lên) Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chê độ hoạt

động là timer hay counter) được điêu khiên bởi bít TMRICS (TICON<I>) Sau đây là sơ đô khôi của Timerl: Set Flag be TWRIIF on Ta TMR! TMRION lan OnO*# A.110§C j rm RCOTIOSOITICK {P>—— ; | = Presa oo a 1,24, tent + intemal — 0 Rctrrtoscc?z® [DĐ + et = : T1CKP$1:TICKP$0 TMRICS Note 1: Wren the TIOSCEN bit is cleared, the inverter is tumed off This elemnates power drain

Hình 14 Sơ đồ khối của Timerl

Ngoài ra Timerl còn có chức năng reset input bên trong được điều khiển bởi

một trong hai khối CCP (Capture/Compare/PWM)

Khi bit TIOSCEN (TICON<3>) được set, Timerl sẽ lấy xung clock tit hai chan

RC1/T1OSIL/CCP2 và RC0/TIOSO/TICKI làm xung đếm Timerl sẽ bắt đầu đếm sau cạnh xuống đầu tiên của xung ngõ vào Khi đó PORTC sẽ bỏ qua sự tác động

cua hai bit TRISC<1:0> va PORTC<2:1> được gan gia tri 0 Khi clear bit TIOSCEN, Timerl sẽ lấy xung đếm từ oscillator hoặc từ chân C0/T1OSO/TICKI

Timerl có hai chế độ đếm là đồng bộ (Synchronous) và bất đồng bộ

(Asynchronous).Chế độ đếm được quyết định bởi bit điều khiến TISYNC

(TICON<2>)

Khi TISYNC =l xung đếm lay từ bên ngồi sẽ khơng được đồng bộ hóa với xung clock bên trong, Timer! sé tiếp tục quá trình đếm khi vi điều khiển đang ở chế độ sleep va ngất do Timerl tạo ra khi bị tràn có khả năng “đánh thức” vi điều khiển Ở chế độ đếm bất đồng bộ, Timerl không thể được sử dụng để làm nguồn xung clock cho khéi CCP (Capture/Compare/Pulse width modulation)

Trang 23

Khi TISYNC =0 xung đếm vào Timerl sẽ được đồng bộ hóa với xung clock

bên trong Ở chế độ này Timerl sẽ không hoạt động khi vi điều khiển đang ở chế độ sleep

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

INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động

(GIE và PEIE)

PIRI (dia chỉ 0Ch): chứa cờ ngắt Timerl (TMRIIF) PIEI( địa chỉ 8Ch): cho phép ngat Timerl (TMRIIE)

TMRIL (dia chi 0Eh): chứa giá trị 8 bit thap của bộ đếm Timerl TMRIH (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timcrl TICON (địa chỉ 10h): xác lập các thông số cho Timerl

h TIMER2

Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler và

postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bit cho phép ngắt Timer2 tác động là TMR2ON (T2CON<2>) Cờ ngắt của Timer2 là bit TMR2IF

(PIRI<I>) Xung ngõ vào (tần số bằng 1⁄4 tần số oscillator) được đưa qua bộ chia

tần số prescaler 4 bit (với các tỉ số chia tần số là 1:1, 1:4 hoặc 1:16 và được điều

khiên bởi các bit T2CKPSI:T2CKPS0 (T2CON<1:0>)) Sets Flag bit TMR2IF | Cup) Reset —^—| TMR2 Reg 11,14, 1 1+6[—Fosc/4 Prescaler Postscaler 2 ++ BE T2OUTPS3 T2OUTPSO

Note 1: TMR2 register output can be software selected by the

SSP module as a baud clock

Hình 15 Sơ đồ khối của Timer2

Timer2 còn được hỗ trợ bởi thanh ghi PR2 Giá trị đếm trong thanh ghi TMR2 sẽ tăng từ 00h đên giá trị chứa trong thanh ghi PR2, sau đó được reset vê 00h Khi

reset thanh ghi PR2 được nhận giá trị mặc định FFh

Ngõ ra của Timer2 được đưa qua bộ chia tần số postscaler với các mức chia từ 1:1 đên 1:16 Postscaler được điêu khiên bởi 4 bit T2OUTPS3:T2OUTPSO0 Ngõ ra

của postscaler đóng vai trò quyết định trong việc điều khiển cờ ngắt

Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2 còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP

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

INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép toàn bộ các ngắt (GIE

Trang 24

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng

và PEIE)

PIRI (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF)

PIEI (địa chi 8Ch): chita bit điều khién Timer2 (TMR2IE)

TMR2 (dia chi 11h): chira gia tri đếm của Timer2 T2CON (địa chỉ 12h): xác lập các thông số cho Timer2 PR2 (địa chỉ 92h): thanh ghi hỗ trợ cho Timer2

2.5.1.2.Bộ tạo dao động thạch anh C1 ° OSC1 22pF _]_—_ Cc XI C2 —- cRvysTAL † “ o8c2 _]_ 22pF

Hình 16 Bộ tạo dao động thạch anh

Bộ dao động đóng vai trò nhạc trưởng làm 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 Nó thường được tạo bởi thạch anh hoặc

gốm đề ổn định tần số Các lệnh không được thực thi theo tốc độ của bộ đao động

mà thường chậm hơn, bởi vì mỗi câu lệnh được thực hiện qua nhiều bước 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

Khối giải mã nhận tín hiệu điều khiển từ khối điều khiển, 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 74LS247 Sơ đồ chân ra và sơ đồ khối

chức năng như sau:

Trang 25

SN74LS247 (TOP VIEW) OUTPUTS BC LAMP RB RB oD A GND “— TEST OUT IN INPUTS PUT PUT INPUTS (13) output a INPUT A NPUT 8 2) output t M) oytput ¢ INPU + 0 9 output BÀ NENG NKIN( D) ‘ + INPUT OR ory RIPPLE-BLANKING ðTPUT Đ®) ou†pu f RIPPLE-BLANKING INPUT

Hình 17.Sơ đồ chân ra và sơ đồ khối chức năng của IC 74LS247

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 dau ra dé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: DECIMAL OR INPUTS 8iRaoŸ OUTPUTS NOTE FUN€TION | tr |Rm[D c€ 8 A abc de ft g 0 H H L L L L H CN ON ON ON ON ON OFF 1 H X L L L H H OFF ON ON OFF OFF OFF OFF 2 H xX L L h L H ON ON OFF ON ON OFF ON 3 H X L L H H H ON ON ON ON OFF OFF ON 4 H X L H L L H OFF ON ON OFF OFF ON ON 5 H xX L, H Le H H ON OFF ON ON OFF ON ON 6 H|xX|[L H FOL 4 ON OFF ON ON ON ON ON T H x E H h H H ON ON ON OFF OFF OFF OFF 1 8 H xX H L L L H ON ON ON ON ON ON ON 9 H|xXx|H L LH 4 ON ON ON ON OFF ON ON

10 H xX H L h ki H OFF OFF OFF ON ON OFF ON

1 H|x|nH Lo oF 4 4 |OFF OFF ON ON OFF OFF ON 12 H|X|H H LOL 4 |OFF ON OFF OFF OFF ON ON

13 H X H H L H H ON OFF OFF ON OFF ON ÔN

14 H|X]H H FOL H |OFF OFF OFF ON ON ON ON

16 H xX H H h H H OFF OFF OFF OFF OFF OFF OFF Bí x xX x x xX X L OFF OFF OFF OFF OFF OFF OFF 2

RBI HÌL[L LLL L | OFF OFF OFF OFF OFF OFF OFF| 3

LT Ẻ x x am xX x H ON ON ON ON ON ON ON 4

Hình 18 Bảng chân lý của IC 74LS247

Trang 26

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng 2.5.3 Các linh kiện trong bộ hiển thị

Đồng hồ dùng cdc 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 74LS247), câu trúc của nó như sau: Hình 19 Cấu trúc bên trong của LED 7 thanh Anode chung VCC 4 | 1 i fa 16 a 14 ——yR +3 b #lB tr 2 12c | | agit d ng 19 |d œ be bind fl TẾ ale —— ` CRB g CAT4_—19 Ê_|eNp L_ f CAT3—y————* 13 |g CAI2—$——————‡ 74LS247 CATT + f ° ° SEVSEG-b ==

Hình 20 Ghép nói 74LS247 đến LED 7 thanh

Trang 27

2.6 SO DO NGUYEN LY CUA MACH

Hình 21 Sơ đồ nguyên lý của hệ thống điều khiền đèn giao thông

Trang 28

Trường ĐH KTCN Thai Nguyén £2 Đô án môn học: Hệ Thống Nhúng 2.7 NGUYEN LY HOAT ĐỘNG CUA MACH

Mạch đèn giao thông hoạt động dựa trên nội dung đã lập trình cho picl6F877A, khi có tác động từ các nút điều khiển mạch hoạt động theo đúng thời gian yêu câu PIC16F877A đưa dữ liệu đến các LED xanh, đỏ, vàng đề điều khiển các LED này đóng, mở Ngoài ra, nó còn xuất dữ liệu đến các BJT dé tang dong cho cac LED 7 đoạn, các BỊT sẽ điều khiển việc đóng mở các LED 7 đoạn LED 7 đoạn còn nhận

đữ 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 bắt đầu thực hiện đếm lùi, nếu trục lộ bên này đèn xanh hoặc vàng sáng thì trục lộ bên kia đèn đỏ sáng và ngược lại Bộ phận điều khiển PICI6F877A là các nút nhấn ở khối bàn phím Tùy theo thời gian yêu cầu mà ta điều khiển các trục giao thông sáng PICI6F877A sẽ xuất ra các công I/O những xung ở mức cao hoặc mức thấp đề điều khiển các BIT từ đó điều khiển các đèn hiển

thị Khi PICI6F877A nhận tín hiệu điều khiển từ các phím nhấn, nó sẽ quét và tìm

ra chương trình được mã hóa phù hợp với tín hiệu điều khiển dé hoạt động 2.8 SO DO THUAT TOAN DIEU KHIEN

2.8.1 Gián đồ thời gian các chế độ hoạt động cúa hệ thống Hệ thống điều khiên đèn giao thông hoạt động ở các chế độ:

Cao điểm: Đèn xanh 47s, đèn đỏ 50s, đèn vàng 3s Bình thường: Đèn xanh 20s, đèn đỏ 23s, đèn vàng 3s - Thap điểm: Đèn vàng sáng ¡"mm ———Ỳ đx1 dv1 | ““ "ru đđ1 Đ2 dd2 Jo LO ie ee lle [| dv2 0 20 23 47 50 t

Hinh 22 Giản đồ thời gian các chế độ hoạt động

Trang 29

2.8.2 Sơ đồ thuật tốn tồn hệ thống

Hình 23 Sơ đồ thuật tốn tồn hệ thống

Trang 30

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng 2.8.3 Sơ đồ thuật toán các chế độ

a Sơ đồ giải thuật ớ chế độ thấp điểm tg_di=23s ; tg x2=20s tg_@=23s; tg x1=20s Bật đàn đỏ 1 đèn xanh 2 Bật đèn đó 2 đèn xanh 1

Chạy chương trình quét led Chạy chương trình quét led 7 đoạn + đêm lùi thời gian 7 đoạn + đêm lùi thời gian

tg_v2 =3s tg_v2 =3s

Bật đèn đỏ 1, vàng 2 Bật đèn đỏ 2, vàng 1

Chạy chương trình quét led Chạy chương trình quét led 7 đoạn ~ đềm lùi thời gian 7 đoạn + đềm lùi thời gian

Hình 24 Sơ đồ giải thuật ở chế độ thấp điểm

Trang 31

b Sơ đồ giải thuật ớ chế độ cao điểm tg_di=s0s ; tg_x2=47s tg_@=50s ; tg x1= 47s

Batdé đỏ 1 đèn xanh 2 Bật đàn đỏ 2 đèn xanh 1

Chạy chương trìh quét led Chạy chương trmh quét led 7 đoạn ~ đêm lùi thời gian 7 đoạn + đêm lùi thời gian

tg_v2 = 3s tg_ v2 = 3s Bat đèn đỏ 1, vàng 2 Bật đèn đó 2, vàng 1

Chạy chương trìh quét led Chạy chương trình quét led 7 đoạn + đêm lùi thời gian 7 đoạn + đêm lùi thời gian

Hình 25 Sơ đồ giải thuật ở chế độ cao điểm c Sơ đồ giải thuật ớ chế độ ránh (FREE) CĐ: RẢNH (FREE) | “——¬ Delay 1s Bật đèn vảng 1 và 2 L _]

Hình 26 Sơ đồ giải thuật ở chế độ rảnh

Trang 32

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH HE THONG 3.1.MA NGUON DE DIEU KHIEN HE THONG DEN GIAO THONG

#include <16F877A.h>

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, LVP

fuse delay (clock=12000000)

//cac khai bao ,dinh nghia chan vi dieu khien //

J [BRR I RIOR IOI IO KIO KK IO Kk

Trang 33

#bit C6 = 0x07.6 #bit C5 = 0x07.5 #bit C4 = 0x07.4 #bit CO = 0x07.0 #bit Cl = 0x07.1 #bit C2 = 0x07.2 #bit C3 = 0x07.3 #bit D7 = 0x08.7 #bit D6 = 0x08.6 #bit D5 = 0x08.5P #bit D4 = 0x08.4 #bit D3 = 0x08.3 #bit D2 = 0x08.2 #bit D1 = 0x08.1 #bit DO = 0x08.0 //cac chuong trinh con dung trong chuong trinh// void programl (); void program2 (); void normal (); //chuong trinh chay binh thuong (gio thap diem) //

void caodiem(); //chuong trinh chay gio cao diem // void freetime(); //chuong trinh chay gio ranh (ban dem) // void tach_led(); //chuong trinh tach lay phan chuc, phan don vi tu cac so dem giay //

void quet_led(); //chuong trinh dua led ra cac 7 segments led // void a_xanh(); //chuong trinh sang den do,xanh cua lan duong 1 // void a_vang(); //chuong trinh sang den vang cua lan duong 1 // void b xanh(); //chuong trinh sang den do,xanh cua lan duong 2 // void b_vang(); //chuong trinh sang den vang cua lan duong 2 // //khai bao bien// int8 i,mode; int8 a,b; 1nt8 chuca,dvia,chucb,dvib;

int8 temp1, temp2, temp3, temp4;

//ngat ngoai vi// #int ext

Trang 34

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng void ext_isr() { mode++; if (mode==2) mode=0; //cac ham chuong trinh con// void tach_led() {

chuca=a/10; //tach lay so hang chuc dvia=a310; //tach lay so hang don vi chucb=b/10; dvib=b%10; } void quet_led() { while (true) { for (i=0;i<=68;i=i+1) { porta=chuca; //dua so hang chuc ra led 7 thanh

d0=1; //pat led o vi trị hang chuc delay_ms (3); //delay khoang 3ms

d0=0; //tat led o vi tri hang chuc

porta=dvia; //tuong tu nhu tren đ1=1; delay_ms (3); d1=0; porta=chucb; d2=1; delay _ms (3); d2=0; porta=dvib; d3=1; delay_ms (3); d3=0;

a=a-1; //thuc hien dem lui thoi gian

b=b-1; //thuc hien dem lui thoi gian

break;

}

Trang 35

void a xanh()

{

a=temp1; //gan cho a bien tam templ

b=temp2; //gan cho b bien tam temp2 Cac bien tam nay

dung de luu gia tri thoi gian hien thi while (true)

{

c2=1; //mo den xanh cua lan duong 1 danh cho xe c3=1; //bat den do cua lan duong 2 danh cho xe 1£ (a==0) { c2=0; //khi thoi gian dem lui het thi tat cac den bao d6=0; break; } else

tach_led(); //goi chuong trinh con tach thoi chuyen so

BCD thanh so HEX cho led 7 doan

Trang 37

} void normal () { while(1) { temp1=20; 20s temp2=23; temp3=23; temp 4=20; a_xanh(); duong 1 a_vang(); duong 1 b_xanh(); duong 2 b_vang(); duong 2 } } void caodiem() { while (1) { temp1=47; temp2=50; temp3=50; temp4=47; a_xanh(); a_vang(); b_xanh(); b_vang(); } } void freetime() { while (1) { portc=0x00; cl=1; c4=1; delay_ms (500);

GVHD: ThS Nguyén Tién Duy

//thoi gian sang den xanh luc binh thuong la

//thoi gian sang den do luc binh thuong la 23s //goi chuong trinh con sang den xanh,do cua lan

//goi chuong trinh con sang den vang cua lan //goi chuong trinh con sang den xanh,do cua lan

//goi chuong trinh con sang den vang cua lan

//thoi gian sang den xanh luc cao diem la 47s //thoi gian sang den do luc cao diem la 50s

//bat den vang

//delay 0,5s

Trang 38

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học

Trang 39

delay_ms (100); porta=0x00;portb=0xel; portd=0x0f;portc=0x00; b2=1;c7=1; caodiem(); } if (!B7) delay _ms(100); delay _ms(100); portc=0x00; portb=0xel; b3=1;d4=0;d7=0; freetime(); } //ham setup// void setup () { portb=0xE1; chan ngat cho portb// while (1) { switch (mode) { case 0: c7=1; c6=0; program2 (); break; case 1: c6=1; c7=0; programl (); break; } //khu vuc chuong trinh chinh// void main() {

GVHD: ThS Nguyén Tién Duy

//cau hinh cac

//che do auto

//che do manual

Trang 40

Trường ĐH KTCN Thái Nguyên LQ Đô án môn học: Hệ Thống Nhúng

trisa=0x00;trisc=0x00;trisd=0x00;trisb=0xel;

bao cac thanh ghi//

portd=0x00; portc=0x00; porta=0; portb=0xel;

//cac khai bao ngat//

Ngày đăng: 24/07/2014, 16:51

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

TÀI LIỆU LIÊN QUAN

w