Đồ án gồm 3 chương: Chương I: Tổng quan về hệ thống điều khiển đèn giao thông Chương II: Phương án lựa chọn thiết bị và phương pháp điều khiển Chương III: Thiết kế hệ thống điều khiển đè
Trang 1LỜI NÓI ĐẦU
Trong những năm gần đây trên thế giới cùng với sự phát triển mạnh mẽ của ngành công nghiệp chế tạo linh kiện bán dẫn và vi mạch tổng hợp, một hướng phát triển mới của các vi xử lý đã hình thành đó là các vi điều khiển Với nhiều ưu điểm,
vi điều khiển đã được sử dụng rộng rãi trên nhiều lĩnh vực khác nhau Bằng cách áp dụng vi điều khiển vào trong quá trình sản xuất và xử lý, vi điều khiển đã thực sự thể hiện được ưu thế của mình so với các thiết bị điều khiển thông thường
Với thời đại phát triển như ngày nay thì vấn đề giao thông ngày càng được trú trọng Các phương tiện tham gia giao thông cũng gia tăng không ngừng và hệ thống giao thông ngày càng phức tạp Vì vậy để đảm bảo được sự an toàn khi tham gia giao thông thì việc sử dụng các hệ thống tín hiệu để điều khiển và phân luồng tại các nút giao thông là rất cần thiết Qua thực tế chúng em nhận thấy vấn đề này là rất sát thực Hơn nữa là chúng em đã được trang bị những kiến thức trong quá trình
nghiên cứu và học tập tại trường chúng em đã chọn đề tài “Nghiên cứu, thiết kế bộ điều khiển hệ thống đèn giao thông tại ngã tư”
Qua đề tài này, đã giúp chúng em có được hình dung thực tế vi xử lý được áp dụng như thế nào trong cuộc sống hiện đại, cụ thể chính là hệ thống đèn giao thông dùng vi điều khiển AT89S52 Đồ án gồm 3 chương:
Chương I: Tổng quan về hệ thống điều khiển đèn giao thông
Chương II: Phương án lựa chọn thiết bị và phương pháp điều khiển
Chương III: Thiết kế hệ thống điều khiển đèn giao thông sử dụng bộ vi điều khiển
Em xin chân thành cảm ơn sự giúp đỡ, chỉ bảo tận tình của cô Đinh Hải Lĩnh và thầy Nguyễn Thành Trung trong suốt thời gian em thực hiện đề tài này
Hà Nội, ngày 13 tháng 5 năm 2017
Sinh viên thực hiện đề tài
Nguyễn Văn Quang
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 1
MỤC LỤC 1
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG 1
1.1 Khái niệm đèn giao thông 1
1.2 Yêu cầu và mục đích của hệ thống điều khiển đèn giao thông 2
1.3 Tổng quan hệ thống đèn giao thông 3
1.3.1 Một số hệ thống điều khiển đèn giao thông và nguyên lý hoạt động 3
1.3.2LED 7 thanh và LED đơn 6
1.3.3 Tổng quan về vi điều khiển 8
1.4 Giới thiệu chung về một số phần mềm điều khiển 10
CHƯƠNG 2 PHÂN TÍCH VÀ LỰA CHỌN THIẾT BỊ, PHƯƠNG PHÁP ĐIỀU KHIỂN 13
2.1 Các phương án điều khiển 13
2.1.1 Mạch dùng IC số 13
2.1.2 Điều khiển bằng vi điều khiển 14
2.1.3 Điều khiển bằng PLC 15
2.2 Lựa chọn thiết bị 17
2.2.1 Chức năng của các chân tín hiệu 17
2.2.2 Các thanh ghi chức năng đặc biệt 19
CHƯƠNG 3.THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NGÃ TƯ SỬ DỤNG VI ĐIỀU KHIỂN 29
3.1 Cách thức hoạt động của đèn giao thông 29
3.2 Thiết kế phần cứng 30
3.2.1Phương án thiết kế 30
3.2.2Các linh kiện chính sử dụng chủ yếu trong mạch 30
3.2.3Sơ đồ khối hệ thống 32
3.3 Sơ đồ nguyên lý của mạch đèn giao thông 38
3.4 Thiết kế chương trình điều khiển 40
3.4.1Lưu đồ thuật toán của hệ thống 40
3.4.2Chương trình điều khiển hệ thống đèn giao thông 42
3.4.3Kết quả nhận được khi thiết kế và chạy chương trình 46
KẾT LUẬN 47 TÀI LIỆU THAM KHẢO
Trang 3DANH MỤC BẢNG
Bảng 2.1 Chức năng của các chân của Port 3 18
Bảng 2.2 Chức năng các thanh ghi đặc biệt 19
Bảng 2.3 Bảng chọn băng thanh ghi 22
Bảng 2.4 Chi tiết các bit của thanh ghi IE 23
Bảng 2.5 Chức năng các bit địa chỉ của thanh ghi TCON 24
Bảng 2.6 Các chế độ của bit M1 và M0 26
Bảng 2.7 Chức năng các bit địa chỉ của thanh ghi SCON 27
Bảng 2.8 Các kiểu Mode của bit SM0, SM1 27
Bảng 3.1 Mã hiển thị LED 7 thanh loại Anode chung 36
Bảng 3.2 Mức điện áp của các loại LED đơn 37
Trang 4DANH MỤC HÌNH
Hình 1.1 Đèn giao thông dành cho phương tiện 1
Hình 1.2 Đèn giao thông cho người đi bộ 2
Hình 1.3 Giản đồ thời gian hoạt động cho người đi bộ 3
Hình 1.4 Giản đồ thời gian hoạt động của phương tiện 3
Hình 1.5 Mô hình đèn giao thông tại ngã tư 4
Hình 1.6 Giản đồ thời gian hoạt động của đèn giao thông tại ngã tư 5
Hình 1.7 Mô hình đèn giao thông cho ngã ba 5
Hình 1.8 Giản đồ thời gian hoạt động của đèn giao thông tại ngã ba 6
Hình 1.9 Phân loại LED 7 thanh 7
Hình 1.10 Cấu trúc bên trong LED 7 thanh 8
Hình 2.1 Module trễ thời gian dùng IC 555 13
Hình 2.2 Mạch đếm sản phẩm dùng IC 7490 và IC 7447 14
Hình 2.3 LED trái tim dung 8051 15
Hình 2.4 Mạch đồng hồ, hiển thị ngày tháng năm 15
Hình 2.5 Giải pháp đo lưu lượng khí BIOGAS 16
Hình 2.6 Sơ đồ chân tín hiệu của CHIP AT89S52 17
Hình 2.7 Chức năng các bit địa chỉ của thanh ghi IP 24
Hình 3.1 Mô hình đèn giao thông tại ngã tư 29
Hình 3.2 CHIP AT89S52 thực tế 30
Hình 3.3 LED 7 thanh thực tế 31
Hình 3.4 LED đơn 31
Hình 3.5 Transisor A1015 31
Hình 3.6 Nút nhấn điểu khiển loại 4 chân 31
Hình 3.7 Hình dạng điện trở thanh 32
Hình 3.8 Sơ đồ nguyên lý của khối vi xử lý 33
Hình 3.9 Sơ đồ nguyên lý khối RESET 33
Hình 3.10 Sơ đồ nguyên lý của khối thạch anh 34
Hình 3.11 Sơ đồ nguyên lý khối nguồn trên mạch 34
Hình 3.12 Hình ảnh thực tế và các chân tín hiệu của LM7805 34
Hình 3.13 Sơ đồ nguyên lý khối KEYBOARD trên mạch 35
Trang 5Hình 3.15 Sơ đồ nguyên lý các LED đơn 37
Hình 3.16 Sơ đồ nguyên lý mạch đèn giao thông trên Altium 38
Hình 3.17 Sơ đồ mạch in hệ thống điều khiển đèn giao thông 39
Hình 3.18 Sơ đồ 3D của hệ thống trên phần mềm 39
Hình 3.19 Sơ đồ nguyên lý hệ thống trên phần mềm Proteus 40
Hình 3.20 Sơ đồ giải thuật chương trình chính 40
Hình 3.21 Sơ đồ giải thuật chế độ ban ngày 41
Hình 3.22 Sơ đồ giải thuật chế độ ban đêm 41
Hình 3.23 Các hình ảnh về sản phẩm của hệ thống đèn giao thông 46
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG
1.1 Khái niệm đèn giao thông
Đèn giao thông (còn được gọi tên khác là đèn tín hiệu giao thông, đèn điều khiển giao thông, hay đèn xanh đèn đỏ) là một thiết bị được dùng để điều khiển giao thông ở những giao lộ có lượng phương tiện lưu thông lớn (thường là ngã ba, ngã tư đông xe qua lại) Đây là một thiết bị quan trọng không những an toàn cho các phương tiện mà còn giúp giảm ùn tắc giao thông vào giờ cao điểm Nó được lắp đặt
ở tâm giao lộ hoặc trên vỉa hè Đèn tín hiệu giao thông có thể hoạt động tự động hay cảnh sát giao thông điều khiển
Thực tế hiện nay hệ thồng đèn giao thông sử dụng chủ yếu các loại đèn như:
- Đèn loại 3 màu (dành cho xe cộ): Loại đèn này có 3 kiểu màu là: màu xanh, màu vàng và màu đỏ Trong đó
+ Đèn xanh: tất cả phương tiện được đi
+ Đèn vàng: dấu hiệu của sự thay đổi tín hiệu từ đèn xanh sang đèn đỏ
+ Đèn đỏ: tất cả phương tiện đang lưu thông phải dừng trước vạch dừng Loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, vàng ở giữa, xanh ở dưới Nếu lắp chiều ngang thì theo thứ tự đỏ ở bên trái, vàng ở giữa, xanh ở bên phải hay ngược lại
Hình 1.1 Đèn giao thông dành cho phương tiện
- Đèn loại 2 màu (cho người đi bộ)
Trang 7+ Đèn đỏ: Không được sang đường
Loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, đèn xanh ở dưới Nếu lắp chiều ngang thì đèn đỏ ở bên trái, đèn xanh ở bên phải hoặc ngược lại Loại này đôi khi được lắp kèm với đèn đếm lùi để người đi bộ có khả năng ước lượng thời gian sang đường là bao lâu
Hình 1.2 Đèn giao thông cho người đi bộ
- Đèn đếm lùi: Đèn đếm lùi là loại đèn lắp đặt bổ sung bên cạnh đèn tín hiệu chính Đèn đếm lùi được hiển thị bằng một con số đếm ngược với những màu sắc
khác nhau Khi đèn đếm đến "0" là lập tức chuyển màu đèn chính
Như vậy các loại đèn được chọn để làm mô phỏng cho đề tài là các loại đèn LED đơn (dành cho phương tiện và người đi bộ) và LED 7 thanh (hiển thị thời gian sáng của các LED đơn)
1.2 Yêu cầu và mục đích của hệ thống điều khiển đèn giao thông
Trước tình hình phương tiện tham gia giao thông hiện nay ngày càng gia tăng không ngừng và hệ thống giao thông ngày càng phức tạp Chính lý do này đã dẫn đến tình trạng ùn tắc và tai nạn giao thông ngày càng tăng Vì vậy để đảm bảo giao thông được an toàn và thông suốt thì việc sử dụng các tín hiệu để điều khiển và phân luồng tại các nút giao thông là rất cần thiết Với tầm quan trọng như vậy hệ thống điều khiển đèn giao thông cần đảm bảo những yêu cầu sau :
- Đảm bảo quá trình hoạt động một cách chính xác và liên tục
- Độ tin cậy cao
- Đảm bảo làm việc ổn định và lâu dài
Trang 81.3 Tổng quan hệ thống đèn giao thông
- Hệ thống điều khiển đèn giao thông bao gồm:
- Hệ thống đèn: gồm các LED đơn và LED 7 thanh
- Hệ thống điều khiển đèn: Thực tế hiện nay để điều khiển đèn giao thông người
ta dùng phương pháp PLC (Programmable Logic Controller) bời vì những khả năng
ưu việt của nó như: Tốc độ xử lý cao, công suất tiêu thụ thấp, có khả năng tự chuẩn đoán lỗi, độ tin cậy cao
Do giới hạn là đề tài sử dụng các loại đèn LED để làm mô phỏng nên tác giả
đã lựa chọn phương pháp điều khiển bằng vi điều khiển sử dụng CHIP AT89S52
Dưới đây là một số hệ thống điều khiển đèn giao thông phổ biến hiện nay
1.3.1 Một số hệ thống điều khiển đèn giao thông và nguyên lý hoạt động
a Hệ thống điều khiển đèn giao thông ưu tiên cho người đi bộ
Nguyên lý hoạt động:
- Ở trạng thái bình thường đèn báo trên tuyến đường ô tô luôn ở trạng thái xanh
- Khi người đi bộ muốn qua đường, người đi bộ phải nhấn vào nút nhấn nằm trên cột đèn dành cho người đi bộ
- Sau khi nhấn nút xin đường, hệ thống đèn báo trên tuyến đường được mô tả bằng giản đồ thời gian như sau :
Hình 1.3 Giản đồ thời gian hoạt động cho người đi bộ
Trang 9b Hệ thống điều khiển đèn giao thông cho ngã tư
Sau một khoảng thời gian đèn xanh tại vị trí A,C và đèn đỏ tại B và D tắt đồng thời đèn vàng tại các vị trí sáng và đèn đỏ tại vị trí dành cho người đi bộ nhấp nháy sau một khoảng thời gian đèn vàng tắt đèn vàng tại vị trí A và C sáng đèn xanh tại
vị trí B và D sáng lúc này xanh cho người đi bộ tại A và C sang, đỏ cho người đi bộ tại B và D sáng Sau khi đỏ tại B và D sáng Sau khi đỏ tại A và D và xanh tại B và
Trang 10t
t t
®i bé A , C
0 Xanh
Hình 1.6 Giản đồ thời gian hoạt động của đèn giao thông tại ngã tư
c Hệ thống điều khiển đèn giao thông cho ngã ba
A
B C
Hình 1.7 Mô hình đèn giao thông cho ngã ba
Trang 11Nguyên lý hoạt động:
Giả sử xét chế độ ban ngày tại thời điểm ban đầu đèn xanh tại vị trí A và B đang sáng cho phép các phương tiện đi thẳng từ A và B theo C Đồng thời lúc này đèn đỏ tại các vị trí C sáng không cho phép xe lưu thông theo chiều từ C sang đường A và B Sau khoảng thời đèn đỏ tại A và B sáng, không cho phép phương tiện đi thẳng từ A và B, đồng thời đèn xanh tại vị trí C sáng cho phép phương tiện đi vào C và đi từ C sang đường A và B Trong quá trình chuyển từ đèn xanh sang đỏ
và ngược lại thì đèn vàng sáng một khoảng thời gian Ở chế độ ban đêm chỉ có đèn vàng nhấp nháy
Ta có thời gian mô tả hoạt động của hệ thống như sau
Hình 1.8 Giản đồ thời gian hoạt động của đèn giao thông tại ngã ba
1.3.2 LED 7 thanh và LED đơn
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử
dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "LED 7
thanh" LED 7 thanh được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ
cần hiện thị số là đủ, chẳng hạn LED 7 thanh được dùng để hiển thị nhiệt độ phòng, trong các đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào đó
LED 7 thanh có cấu tạo bao gồm 7 LED đơn có dạng thanh xếp theo hình và
có thêm một LED đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của LED 7 thanh 8 LED đơn trên LED 7 thanh có Anode(cực +) hoặc Cathode(cực
Trang 12-) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện 8 cực còn lại trên mỗi LED đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện
LED 7 thanh thường có 2 loại:
Anode (cực +) chung: đầu (+) chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các LED đơn, LED chỉ sáng khi tín hiệu
đặt vào các chân này ở mức 0
Cathode (cực -) chung: đầu( -) chung được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các LED đơn, LED chỉ sáng
khi tín hiệu đặt vào các chân này ở mức 1
Hình 1.9 Phân loại LED 7 thanh
Hiển thị LED 7 thanh hay LED 7 thanh là phần tử hiển thị thông dụng, để hiển thị các phần tử số từ 0 đến 9 trong một số hệ thập phân Nó gồm 7 thanh xếp thành hình số 8, mỗi thanh là một diode ( LED ) phát quang hoặc hiển thị tinh thể lỏng Điode thưòng được cấu tạo từ các chất Ga, As, P …nó cũng có tính chất chỉnh lưu như diode thường Nhưng khi điện áp thuận đạt nên diode vượt quá mức ngưỡng Ung nào đó thì diode sáng Điện áp ngưỡng thay đổi từ 1,5 đến 5V tuỳ theo từng loại có màu sắc khác nhau như:
LED màu đỏ có điện áp ngưỡng Ung = 1,6 đến 2V
LED màu cam có điện áp ngưỡng Ung = 2,2 đến 3V
LED màu xanh lá cây có điện áp ngưỡng Ung = 2,8 đến 3,2V
LED màu vàng có điện áp ngưỡng Ung = 2,4 đến 3,2V
LED màu xanh ra trời có điện áp ngưỡng Ung = 3 đến 5V
Trang 13 Dạng chỉ thị LED 7 thanh:
Hình 1.10 Cấu trúc bên trong LED 7 thanh
Vì LED 7 thanh chứa bên trong nó các LED đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi LED đơn trong khoảng 10mA-20mA để bảo vệ LED Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 220Ω trước các chân nhận tín hiệu điều khiển
Các điện trở 220Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua LED nếu LED 7 thanh được nối với nguồn 5V
Chân nhận tín hiệu “a” điều khiển LED “a” sáng tắt, ngõ vào “b” để điều khiển LED “b” Tương tự với các chân và các LED còn lại
1.3.3 Tổng quan về vi điều khiển
Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một CHIP
có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó
Trong các thiết bị điện, điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba … Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động Các hệ thống càng “thông minh” thì vai trò của vi điều khiển càng quan trọng
Trang 14 Lịch sử phát triển của các loại vi điều khiển
Bộ vi điều khiển thực ra là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung Bộ vi điều khiển được phát triển từ bộ vi xử lí từ những năm 70 do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide-Semiconductor), mức độ tích hợp của các linh kiện bán dẫn trong một CHIP ngày càng cao
Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty Texas Instruments vừa là nơi phát minh vừa là nhà sản xuất Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một con CHIP, những chức năng cần thiết để xử lí chương trình theo một trình
tự, còn tất cả bộ phận phụ trợ khác cần thiết như: bộ nhớ dữ liệu, bộ nhớ chương trình , bộ chuển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, khối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí
Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics) Mới cho ra đời bộ
vi điều khiển đơn CHIP đầu tiên trên thế giới với tên gọi 8048 Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên một CHIP
Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8 bit tương tự như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-system-48) Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn CHIP với tên gọi 8051 Và sau đó hàng loạt các vi điều khiển cùng loại với
8051 ra đời và hình thành họ vi điều khiển MCS-51
Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty hàng dẫn hàng đầu thế giới chế tạo Đứng đầu là công ty INTEL và rất
nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS …
Ngoài ra còn có các công ty khác cũng có những họ vi điều khiển riêng như:
Họ 68HCOS của công ty Motorola
Họ ST62 của công ty SGS-THOMSON
Họ H8 của công ty Hitachi
Họ PIC của công ty MicroCHIP
Trang 151.4 Giới thiệu chung về một số phần mềm điều khiển
Hệ thống điều khiển đèn giao thông sử dụng các phần mềm chính như :
- Phần mềm vẽ mạch: Altium Designer v15.0
- Phần mềm mô phỏng mạch: Proteus v8.5 Professional
- Phần mềm viết code lập trình: Keil C
a Phần mềm vẽ mạch
Phần mềm Altium Designer
Altium ngày nay đang là một trong những phần mềm vẽ mạch điện tử mạnh và được ưa chuộng ở Việt Nam.Ngoài việc hỗ trợ tốt cho hoạt động vẽ mạch,Altium còn hỗ trợ tốt trong việc quản lý mạch, xuất file thống kê linh kiện
Altium Designer cung cấp một ứng dụng kết hợp tất cả công nghệ và chức năng cần thiết cho việc phát triển sản phẩm điện tử hoàn chỉnh, như thiết kế hệ thống ở mức bo mạch và FPGA, phát triển phần mềm nhúng cho FPGA và các bộ
xử lý rời rạc, bố trí mạch in (PCB)… Altium Designer thống nhất toàn bộ các quá trình lại và cho phép quản lý được mọi mặt quá trình phát triển hệ thống trong môi trường tích hợp duy nhất Khả năng đó kết hợp với khả năng quản lý dữ liệu thiết kế hiện đại cho phép người sử dụng Altium Designer tạo ra nhiều hơn những sản phẩm điện tử thông minh, với chi phí sản phẩm thấp hơn và thời gian phát triển ngắn hơn Các điểm đặc trưng của Altium Designer :
Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế
Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối
ưu, phân tích lắp ráp linh kiện
Trang 16 Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist
có sẵn từ trước theo các tham số mới
Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất
cả các linh kiện nhúng, số, tương tự…
Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB
Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D
Hỗ trợ thiết kế PCB sang FPGA và ngược lại
Có thể thấy rằng Altium Designer có nhiều điểm mạnh so với các phần mềm khác như đặt luật thiết kế, quản lý dự án dễ dàng ,giao diện thân thiện …
b Phần mềm Keil C
Keil C - Trình biên dịch là phần mềm mà trên đó sẽ được viết các chương trình điều khiển để nạp xuống cho VĐK Ta không thể viết chương trình cho VĐK trên word, excel mà mỗi một loại VĐK khác nhau lại phải dùng một phần mềm chuyên dụng riêng để viết chương trình cho nó
Đối với dòng VĐK 8051 thì cũng có một vài trình biên dịch khác nhau, nhưng
cơ bản nhất, phổ biến nhất là trình biên dịch KeilC Từ phần mềm này ta có thể viết chương trình bằng cả 2 loại ngôn ngữ là C hoặc ASM
Ở đây sẽ có một vài câu hỏi rằng tại sao lại phải viết trên các phần mềm chuyên dụng này(?) Xin trả lời rằng vì VĐK không thể hiểu được các ngôn ngữ mà chúng ta viết chương trình, nó chỉ hiểu được các mã máy (mà do nhà sản xuất tạo ra), phần mềm này có chức năng "phiên dịch" các dòng lệnh mà ta viết bằng C hoặc ASM sang "ngôn ngữ mã máy"( tạo ra một file hex) từ đó ta sẽ dùng mạch nạp để nạp file hex này cho VĐK
Trang 17c Phần mềm mô phỏng (Proteus v8.4 Professional)
Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như
8051, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola
Proteus là công cụ mô phỏng cho các loại vi điều khiển khá tốt, nó hỗ trợ các dòng PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 … các giao tiếp I2C, SPI, CAN, USB, Ethenet,… ngòai ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả
Trong lĩnh vực giáo dục, Proteus có ưu điểm là hình ảnh mạch điện đẹp, cho phép
ta tùy chọn đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu
Những khả năng khác của ISIS là:
Chạy trên nền Windows 98/Me/2k/XP/Win7/Win8/Win10
Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch
Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng
Xuất file thống kê linh kiện cho mạch
Xuất ra file Netlist tương thích với các chương trình làm mạch in thông dụng
Đối với người thiết kế mạch chuyên nghiệp, ISIS tích hợp nhiều công cụ giúp cho việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện
Thiết kế theo cấu trúc (hierachical design)
Khả năng tự động đánh số linh kiện
Thêm nữa, chương trình cung cấp cho chúng ta rất nhiều mô hình linh kiện có chức năng mô phỏng, từ các vi điều khiển thông dụng đến các linh kiện ngoại vi như LED, LCD, keypad, cổng RS232
Trang 18CHƯƠNG 2 PHÂN TÍCH VÀ LỰA CHỌN THIẾT BỊ, PHƯƠNG PHÁP ĐIỀU KHIỂN
2.1 Các phương án điều khiển
Để điều khiển được hệ thống đèn giao thông chúng ta có nhiều cách khác nhau như là: Dùng IC số, các bộ vi xử lý, vi điều khiển và các bộ điều khiển bằng PLC
- Nhiều mạch số có thể được tích hợp trên một CHIP IC
- Tổn hao công suất bé, mạch có thể dùng pin hoặc acquy
b Nhược điểm
- Khó khăn trong việc thay đổi chương trình Muốn thay đổi chương trình nào
đó ta buộc phải thay đổi phần cứng
Trang 19Hình 2.2 Mạch đếm sản phẩm dùng IC 7490 và IC 7447 2.1.2 Điều khiển bằng vi điều khiển
a Ưu điểm:
- Do trong vi điều khiển có sử dụng các bộ timer, các hệ thống ngắt, câu lệnh đơn giản nên việc lập trình đơn giản hơn
- Giá thành rẻ
- Mạch đơn giản, dễ thực hiện
- Thay đổi linh hoạt bằng cách thay đổi phần mềm mà phần cứng không thay đổi
- Thiết kế gọn nhẹ, độ tin cậy cao
Trang 20Hình 2.3 LED trái tim dung 8051
Hình 2.4 Mạch đồng hồ, hiển thị ngày tháng năm 2.1.3 Điều khiển bằng PLC
a Ưu điểm
- Lập trình đơn giản, độ tin cậy cao
- Chức năng điều khiển thay đổi dễ dàng bằng thiết bị lập trình (máy tính, màn hình) mà không cần thay đổi phần cứng
- Thời gian hoàn thành một chu trình điều khiển nhanh
b Nhược điểm
- Giá thành mua vật liệu, linh kiện sử dụng cao nên việc áp dụng trong hệ thống
Trang 21c Ứng dụng
- Dây chuyền đóng gói
- Công nghệ sản xuất giấy
- Quản lý tự động bãi đậu xe
- Hệ thống đo lường – kiểm soát khí BIOGAS
Hình 2.5 Giải pháp đo lưu lượng khí BIOGAS
Tóm lại qua các phương án điều khiển như trên để điều khiển một hệ thống đèn giao thông mà dễ dàng thực hiện thì ta sử dụng phương pháp điều khiển bằng vi điều khiển
Trang 222.2 Lựa chọn thiết bị
Xuất phát từ các tiêu chí trên và việc cần thiết phải có một hệ thống đèn giao
thông với các yêu cầu như: Dễ thực hiện, mạch đơn giản, giá thành rẻ…
Vậy lựa chọn vi điều khiển AT89S52 là tối ưu hiện nay
Hình 2.6 Sơ đồ chân tín hiệu của CHIP AT89S52
AT89S52 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó
có 24 chân có tác dụng kép (có nghĩa là một chân có hai chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ
2.2.1 Chức năng của các chân tín hiệu
a Các Port
- Port 0 (Chân 32-39): là cổng hai chiều dùng 8 bit để mở, như là cổng ra, Port 0
có những cấu hình công đường dẫn địa chỉ, dữ liệu để truy xuất tới chương trình ngoài và bộ nhớ dữ liệu Yêu cầu bên ngoài dừng lại trong lúc kiểm tra chương
trình
- Port 1 (Chân 1-8): là cổng hai chiều 8bit, trong phép cộng P1.0 và P1.1 có thể thực hiện để đi tới bộ định thời/bộ đếm bên trong, đếm ngõ vào(P1.0/T2) và hai bộ
định thời/bộ đếm truy xuất ngõ vào(P1.1/T2EX)
- Port 2 (Chân 21-28): có cổng hai chiều 8bit, phát ra những địa chỉ byte cao khác trong lúc tìm về từ bộ nhớ chương trình bên ngoài và truy xuất từ bộ nhớ dữ
Trang 23liệu bên ngoài việc đó sử dụng 8bit địa chỉ Port 2 phát ra những nội dung của thanh
ghi có chức năng đặc biệt P2
- Port 3 (Chân 10-17): có hai 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 AT89S52)
Các chức năng của các chân Port 3 được thể hiện như trong bảng 2.1
Bảng 2.1 Chức năng của các chân của Port 3
P3.0 (RxD) Chân nhận tín hiệu kiểu nối tiếp P3.1 (TxD) Chân truyền tín hiệu kiểu nối tiếp P3.2 (INT0) Ngõ vào ngắt ngoài 0 P3.3 (INT1) Ngõ vào ngắt ngoài 1 P3.4 (T0) Chân vào 0 của bộ Timer/Counter 0 P3.5 (T1) Chân vào 1 của bộ Timer/Counter 1 P3.6 (WR) Ghi dữ liệu từ bộ nhớ ngoài P3.7 (RD) Đọc dữ liệu từ bộ nhớ ngoài
b Chân PSEN (Chân 29)
Chân cho phép bộ nhớ chương trình PSEN (Program Store Enable) điều khiển truy xuất bộ nhớ chương trình ngoài Khi AT89S52 đang thực thi chương trình trong bộ nhớ chương trình ngoài, PSEN tích cực hai lần cho mỗi chu kỳ máy, ngoại trừ trường hợp 2 tác động của PSEN bị bỏ qua cho mỗi lần truy xuất bộ nhớ dữ liệu ngoài
c Chân ALE/PROG (Chân 30)
Xung của ngõ ra cho phép chốt địa chỉ ALE (address latch enable) cho phép chốt byte thấp của địa chỉ trong thời gian truy suất bộ nhớ ngoài Chân này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash Khi hoạt động bình thường, xung của ngõ ra ALE luôn luôn có tần số bằng 1/6 tần số của mạch dao động trên CHIP, có thể được sử dụng cho các mục đích định thời từ bên ngoài và tạo xung clock Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài
Trang 24d Chân EA/VPP (Chân 31)
Chân cho phép truy xuất bộ nhớ ngoài EA (External Access Enable) phải được nối với GND để cho phép CHIP vi điều khiển tìm nạp lệnh từ các vị trí nhớ của bộ nhớ chương trình ngoài, bắt đầu từ địa chỉ 0000H cho đến FFFFH Tuy nhiên cần lưu ý là nếu bit khóa 1 (lock bit 1) được lập trình, EA sẽ được chốt bên trong khi reset
EA nên nối với Vcc để thực thi chương trình bên trong CHIP
Chân EA/Vpp còn nhận điện áp cho phép lập trình Vpp trong thời gian lập trình cho Flash, điện áp này cấp cho các bộ phận có yêu cầu điện áp 12V
e Chân VCC (Chân 40)
Chân cung cấp điện áp 5V
f Chân GND (Chân 20)
Chân mát hay nối đất (0V)
g Chân Reset (Chân 9)
Ngõ vào RST (chân 9) Mức cao trên chân này trong 2 chu kỳ máy trong khi
bộ dao động đang hoạt động sẽ reset AT89S52
h Chân XTAL1 và XTAL2
XTAL1 ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến
mạch tạo xung clock bên trong CHIP
XTAL2 ngõ ra từ mạch khuếch đại đảo của mạch dao động
2.2.2 Các thanh ghi chức năng đặc biệt
Các thanh ghi chức năng đặc biệt có ký tự, tên, địa chỉ và giá trị được thể hiện như trong bảng 2.2
Bảng 2.2 Chức năng các thanh ghi đặc biệt
Trang 25DP0H Byte thấp của con trỏ dữ liệu 0 83h 00000000b
* IP TG điều khiển ngắt ưu tiên 0B8h xxx00000b
* IE TG điều khiển cho phép ngắt 0A8h 0xx00000b TMOD Điều khiển kiểu Timer/Couter 89h 00000000b
* TCON TG điều khiển Timer/Counter 88h 00000000b TH0 Byte cao của Timer/Counter 0 8Ch 00000000b TL0 Byte thấp của Timer/Counter 0 8Ah 00000000b TH1 Byte cao của Timer/Counter 1 8Dh 00000000b TL1 Byte thấp của Timer/Counter 1 8Bh 00000000b
a Thanh ghi ACC
Là thanh nghi tích lũy, dùng để lưu trữ các toán hạng và kết quả của phép tính Thanh ghi ACC dài 8 bit Trong các tập lệnh của ON-CHIP, nó thường được quy ước đơn giản là A
b Thanh ghi SP
Là thanh ghi con trỏ ngăn xếp dài 8 bit Thanh ghi SP chứa địa chỉ của dữ liệu hiện đang ở đỉnh của ngăn xếp Giá trị của nó được tự động tăng lên khi thực hiện lệnh PUSH trước khi dữ liệu được lưu trữ trong ngăn xếp và sẽ tự động giảm xuống khi thực hiện lệnh POP Ngăn xếp có thể đặt ở bất kỳ vị trí nào trong RAM ON-CHIP, nhưng sau khi khởi động lại hệ thống thì con trỏ ngăn xếp mặc định sẽ
Trang 26trỏ tới vị trí khởi đầu là 07H, vì vậy ngăn xếp sẽ bắt đầu từ địa chỉ 08H Ta cũng có thể định con trỏ ngăn xếp tại địa chỉ mong muốn bằng các lệnh di chuyển dữ liệu thông qua định địa chỉ tức thời
c Port 0 to Port 3
P0, P1, P2, P3 là các chốt của các cổng 0, 1, 2, 3 tương ứng, mỗi cổng gồm 8 bit Khi ghi mức logic 1 vào một bit của chốt, thì chân ra tương ứng của cổng ở mức logic cao Còn khi ghi ở mức logic 0 và mỗi bit của chốt thì chân ra tương ứng của cổng ở mức logic thấp Khi các cổng đảm nhiệm chức năng như các đầu vào thì trạng thái bên ngoài của các chân cổng sẽ được giữ ở bit chốt tương ứng Tất cả các cổng của ON-CHIP đều là cổng I/O hai chiều, mỗi cổng có 8 chân ra, bên trong mỗi chốt bit có bộ “Pullup – tăng cường” do đó nó sẽ tăng cường khả năng ghép nối của các cổng với tải (có thể giao tiếp với 4 đến 8 tải loại TTL)
Port 0 tại địa chỉ 80H, Port 1 tại địa chỉ 90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H
d Các thanh ghi Timer 0 và Timer 1
Các đôi thanh ghi (TH0,TL0) và (TH1,TL1) là các thanh ghi đếm 16 bit tương ứng với các bộ Timer/Counter 0 và 1
Thanh ghi 16 bit của bộ Timer 0 được truy cập như byte thấp và byte cao:
- Thanh ghi byte thấp được gọi là TL0 (Timer0 Low byte)
- Thanh ghi byte cao được gọi là TH0 (Timer0 High byte)
Giống như Timer 0, bộ định thời gian Timer 1 cũng dài 16 bit và thanh ghi 16 bit của nó cũng được chia ra thành hai byte là TL1 và TH1 Các thanh ghi này được truy cập và đọc giống như các thanh ghi của bộ Timer 0 ở trên
e Thanh ghi PSW
Từ trạng thái chương trình dùng để chứa thông tin về trạng thái của chương trình PSW có độ dài 8 bit, mỗi bit đảm nhiệm một chức năng cụ thể Thanh ghi này cho phép truy cập ở dạng mức bit
CY: Cờ nhớ Trong các phép toán số học, nếu có nhớ từ phép cộng bit 7 hoặc