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

Nghiên cứu các chuẩn truyền thông và xây dựng một ứng dụng cho hệ thống giám sát điều khiển điều hành tòa nhà cao tầng

104 14 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 104
Dung lượng 2,94 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐẮC HẢI NGHIÊN CỨU CÁC CHUẨN TRUYỀN THÔNG VÀ XÂY DỰNG MỘT ỨNG DỤNG CHO HỆ THỐNG GIÁM SÁT, ĐIỀU KHIỂN, ĐIỀU HÀNH TÒA NHÀ CAO TẦNG Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật Điện tử Mã số: 60.52.70 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC: TS Phạm Mạnh Thắng Hà Nội - 2010 Trang - - MỤC LỤC Trang phụ bìa Lời cam đoan Lời cảm ơn Mục lục Danh mục ký hiệu, chữ viết tắt Danh sách bảng Danh mục hình vẽ, đồ thị Mở đầu CHƢƠNG TỔNG QUAN VỀ HỆ THỐNG BMS 1.1 Giới thiệu chung 1.2 Các phân hệ hệ thống BMS 1.2.1 Quản lý vào/ tòa nhà 1.2.1.1 Thành phần hệ thống RFID 1.2.1.2 Hoạt động hệ thống RFID 1.2.2 Hệ thống báo cháy 1.2.2.1 Cách nhận biết báo cháy 1.2.2.2 Các phận hệ thống 1.2.3 Hệ thống thang máy 1.2.4 Hệ thống điều hoà trung tâm 1.2.5 Máy phát điện 1.2.6 Hệ thống điện CHƢƠNG MỘT SỐ CHUẨN VÀ GIAO THỨC TRUYỀN THÔNG ỨNG DỤNG TRONG HỆ THỐNG BMS 2.1 Mạng truyền thông hệ thống BMS 2.2 Một số chuẩn truyền thông 2.2.1 Giới thiệu truyền thông qua chuẩn RS232 2.2.2 Giới thiệu truyền thông qua chuẩn RS-485 2.3 Giao thức truyền thông 2.3.1 Giới thiệu giao thức truyền thông BACnet 2.3.2 Giao thức mạng Ethernet CHƢƠNG THIẾT KẾ MỘT HỆ THỐNG THÀNH PHẦN TRONG HỆ THỐNG BMS 3.1 Mục tiêu đề tài 10 13 14 15 15 16 16 16 17 19 20 21 21 23 23 23 28 35 35 35 36 Trang - - 3.2 Cấu hình hệ thống 3.3 Thiết kế phần cứng hệ thống 3.3.1 Giới thiệu tổng quan họ vi điều khiển AVR 3.3.2 Giới thiệu vi điều khiển AVR Atmega 128 3.3.2.1 Sơ đồ chân 3.3.2.2 Cấu trúc nhớ 3.3.2.3 Cổng vào 3.3.2.4 Bộ định thời 3.3.2.5 Cấu trúc ngắt 3.3.3 Giới thiệu vi điều khiển AVR Atmega8 3.3.3.1 Giới thiệu chung 3.3.3.2 Sơ đồ chân 3.3.4 Cảm biến 3.3.5 Mạch Slaver 3.3.6 Mạch Master 3.3.7 Keyboard LCD 3.4 Xây dựng phần mềm nhúng điều khiển cho hệ thống 3.4.1 Xây dựng phần mềm nhúng điều khiển cho mạch Slaver dùng Atmega8 3.4.2 Xây dựng phần mềm nhúng điều khiển cho mạch Master dùng Atmega128 3.5 Kết khả ứng dụng hệ thống 3.5.1 Tính khoa học 3.5.2 Khả triển khai ứng dụng vào thực tiễn 3.5.3 Hiệu kinh tế xã hội Kết luận TÀI LIỆU THAM KHẢO Phụ lục 36 37 37 38 38 39 46 50 75 82 82 82 84 86 88 90 91 91 92 93 93 93 94 95 96 97 Trang - - DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ALN BACnet BMS CSMA/CD DCE DTE HVAC ISR OSI PLC RFID RI RISC RTS TCP/IP UL WGM Application Level network – Lớp ứng dụng mạng Building Automation and Control network Protocol - Giao thức truyền thơng hệ thống điều khiển tự động hố nhà Building Management System - hệ thống quản lý tòa nhà Carrier-Sense Multiple Access/ Collision Detect Data Communication Equipment – Thiết bị truyền liệu Data Terminal Equipment - Thiết bị đầu cuối Hệ thống thơng gió điều hịa khơng khí Interrupt service routine - Trình dịch vụ ngắt Open System Interconnection – Hệ thống liên kết mở Power Line Communication - đƣờng điện lƣới Radio Frequency Identification - Xác nhận đối tƣợng sóng vơ tuyến Ring indicator – Chỉ thị chuông Reduced Instruction Set Computer Request to send – Yêu cầu gửi Transmission Control Protocol / Internet Protocol - Giao thức điều khiển truyền thông /Giao thức Internet Unit Load Waveform Generation Mode Trang - - DANH SÁCH CÁC BẢNG Bảng 1: Một số thông số điện học RS-232 25 Bảng 2:Các thông số quan trọng RS-485 28 Bảng 3: Thông số phƣơng pháp 34 Bảng 4: Các chân Atmega128 39 Bảng 5: Cấu hình cho chân cổng 48 Bảng 6: Địa Port 50 Bảng 7: Lựa chọn tốc độ xung clock 54 Bảng 8: Lựa chọn chế độ thực thi định thời 67 Bảng 9: Bảng Vector Ngắt Của ATmega128 78 Bảng 10: Điều khiển kiểu bắt mẫu ngắt A 79 Bảng 11: Điều khiển kiểu bắt mẫu ngắt B 80 Bảng 12: Các chân Atmega8 84 Bảng 13: Các thông số kỹ thuật sensor JS-20 85 Trang - - DANH SÁCH CÁC HÌNH VẼ, ĐỒ THỊ Hình 1: Hình minh họa hệ thống BMS 14 Hình 2: Reader Card 15 Hình 3: Thiết bị báo cháy 18 Hình 4: Hệ thống giám sát, đo lƣờng sử dụng điện tịa nhà 21 Hình 5: Quy định trạng thái logic tín hiệu RS-232 24 Hình 6: Giắc cắm RS-232 loại chân 26 Hình 7: Giắc cắm RS-232 loại 25 chân 27 Hình 8: Ghép nối trực tiếp 28 Hình 9: Sơ đồ kích thích ( driver ) thu ( receiver ) RS-485 29 Hình 10: Quy định trạng thái logic tín hiệu RS-485 30 Hình 11: Định nghĩa tải đơn vị 30 Hình 12: Quan hệ tốc độ truyền chiều dài dây dẫn 31 Hình 13: Cấu hình mạng RS – 485 hai dây 32 Hình 14: Dây xoắn đôi 32 Hình 15: Cấu hình mạng RS-485 sử dụng dây 33 Hình 16: Các phƣơng pháp chặn đầu cuối RS-485 34 Hình 17: Sơ đồ khối hệ thống 37 Hình 18: Sơ đồ chân 38 Hình 19: Bộ nhớ chƣơng trình có khơng có sử dụng boot loader 40 Hình 20: Vùng nhớ 64 ghi vào có cách chọn địa 42 Hình 21: Chức trỏ ghi R26 –R31 42 Hình 22: Tóm tắt đồ nhớ ATmega128 46 Hình 23 Sơ đồ cổng vào 49 Hình 24: Sơ đồ khối định thời (3) 51 Hình 25: Thanh ghi TEMP 56 Hình 26: Ngõ khối Compare Match Output Unit 65 Hình 27: Sơ đồ khối định thời 66 Hình 28: Sơ đồ khối định thời 72 Hình 29: Sơ đồ chân Atmega8 83 Hình 30: Hình ảnh cảm biến JS- 20 Largo Pir 84 Hình 31: Khoảng cách góc quét JS-20 85 Hình 32: Sơ đồ nguyên lý mạch Slave 86 Hình 33: Sơ đồ mạch PCB mạch slave 87 Trang - - Hình 34: Sơ đồ nguyên lý mạch Master 88 Hình 35: Sơ đồ mạch PCB mạch Master 89 Hình 36: Mạch điện điều khiển mạch Master 89 Hình 37: Sơ đồ mạch PCB LCD Keyboad 90 Hình 38: Mạch điện điều khiển Keyboad LCD 91 Hình 39: Sơ đồ khối hoạt động mạch Slave 91 Hình 40: Sơ đồ khối hoạt động mạch Master 92 Hình 41: Hình ảnh hệ thống 98 Trang - 10 - MỞ ĐẦU Trong năm gần đây, với khơng khí hội nhập kinh tế quốc tế Việt nam, q trình cơng nghiệp hóa, đại hóa đất nƣớc có bƣớc phát triển nhanh Một bƣớc thành công qui mơ thị hóa với hàng loạt cơng trình kiến trúc đồ sộ đƣợc xây dựng miền tổ quốc, góp phần cho phát triển kinh tế Trong công trình kiến trúc đồ sộ khơng thể khơng kể đến tòa nhà cao tầng đƣợc xây dựng Việt Nam Các tiêu chí đánh giá chất lƣợng tịa nhà cao tầng liên quan đến mặt kiến trúc, kết cấu xây dựng, tiện nghi, độ an tồn, độ tin cậy, tính kinh tế tính đại tòa nhà Hầu hết tòa nhà đƣợc trang bị hệ thống điều khiển quản lý tòa nhà BMS (Building Management System) nhƣ nƣớc cơng nghiệp Chỉ có sở hệ thống BMS mà chuyên gia đánh giá chất lƣợng tòa nhà đạt tiêu chuẩn hay không đạt tiêu chuẩn quản lý đại.[14] Các tiêu chí liên quan đến hệ thống BMS bao gồm thành phần giám sát báo động, hệ thống thành phần quản lý lƣợng hệ thống thông tin Khi đƣợc trang bị nhƣ vậy, tất hệ thống thành phần ngồi việc có khả hoạt động độc lập cần phải đƣợc điều khiển tập trung nhằm cho phép tăng độ an tồn, tính bền vững ổn định tồn hệ thống Hệ thống tổng thể cần đƣợc thiết kế sử dụng khả tích hợp hệ thống thành phần sở hệ thông tin liên tục, khơng bị gián đoạn, có đƣợc tốc độ xử lý liệu đủ cao nhằm tăng tính tin cậy hiệu sử dụng Thực tế phát triển nhƣ vũ bão Công nghệ thông tin năm gần cho thấy: hệ thống kể hoàn toàn thực đƣợc tốt sở nghiên cứu tích hợp hệ thống thành phần qua kênh thơng tin đƣợc tích hợp với nhƣ dùng kết nối đƣờng dây chuyên dụng truyền thống, kênh thông tin vô tuyến (wireless), dùng mạng điều khiển qua đƣờng điện lƣới PLC (Power Line Communication) dùng mạng máy tính (computer network), mạng điện thoại di động (mobile network) chí mạng Internet.[15] Các hệ thống quản lý tòa nhà BMS đƣợc phát triển ứng dụng khoảng 2030 năm trở lại dựa cở sở cơng nghệ tự động hóa phát triển tích hợp tổng thể Hệ thống BMS đời trợ giúp cho việc quản lý tòa nhà hiệu kinh tế Tuy vốn ban đầu đầu tƣ cho thiết bị phần mềm quản lý khơng nhỏ, nhƣng so với chi phí khai thác lâu dài hiệu kinh tế Chúng ta Trang - 11 - tham khảo tòa nhà lớn sân bay Stuttgart Đức, tòa nhà sinh thái Bỉ, nhà băng Credit Suisse First Boston Anh, Capital tower hãng sản xuất đĩa cứng Seagate Singapore Các tòa nhà đƣợc trang bị hệ thống BMS Siemens đã, đƣợc khai thác hiệu kinh tế Các nhà cao tầng Việt nam sử dụng hệ thống BMS Siemens Các tòa nhà: Saigon Center HCM đƣợc đƣa vào sử dụng 1996, Red river building Hanoi-1999, Opera Hilton Hotel Hanoi-2000, Hanoi Nation Stadium-2003 Sau trang bị hệ BMS này, tòa nhà khai thác hiệu qủa khả quản lý giám sát báo hiệu cố hệ thống HVAC (Hệ thống thơng gió điều hịa khơng khí) tiết kiệm đƣợc 50% lƣợng điện tiêu thụ cho hệ thống so với trƣớc lắp đặt hệ thống BMS.[14] Bên cạnh việc sử dụng điện cho hoạt động tòa nhà(Hệ thống điều hòa, vận hành thang máy,…) việc sử dụng điện cho điều khiển chiếu sáng chiếm tỷ trọng lớn Việc quản lý tốt vấn đề chiếu sáng không đem lại môi trƣờng làm việc đủ ánh sáng mà nâng cao hiệu đầu tƣ cho việc tiết kiệm điện chi phí vận hành Tự động hóa điều khiển chiếu sáng, ngƣời vận hành lập sẵn lịch hoạt động chiếu sáng cho khu vực định, cho thời điểm định Nhƣ khu hành lang nơi thƣờng xuyên có ngƣời qua lại, hệ thống tự động bật sáng khu vực thời gian làm việc Những khu vực nhạy cảm vấn đề an ninh, hệ thống tự động bật sáng khu vực đêm chiếu sáng tăng cƣờng thời điểm nhạy cảm Xuất phát từ ý tƣởng tình hình thực tế nhƣ trên, chọn đề tài: “Nghiên cứu chuẩn truyền thông xây dựng ứng dụng cho hệ thống giám sát, điều khiển, điều hành tòa nhà cao tầng” cho luận văn tốt nghiệp Luận văn đƣợc tổ chức thành chƣơng với nội dung nhƣ sau: Chƣơng – Tổng quan hệ thống BMS: Giới thiệu tổng quan hệ thống BMS, phân hệ hệ thống BMS Chƣơng – Một số chuẩn giao thức truyền thông ứng dụng hệ thống BMS: Trình bày mạng truyền thơng hệ thống BMS, số chuẩn truyền thông, giao thức truyền thông sử dụng hệ thống BMS Chƣơng – Thiết kế hệ thống thành phần hệ thống BMS: Trình bày mục tiêu đề tài, xây dựng cấu hình hệ thống, thiết kế phần cứng, thiết kế modul mạch điện hệ thống xây dựng phần mềm nhúng cho hệ thống Trang - 12 - nhằm thực công việc bật/ tắt đèn chiếu sáng tự động hệ thống BMS Thử nghiệm kết khả ứng dụng hệ thống Trang - 92 - 3.4.1.2 Giải thích hoạt động Khi có xuất ngƣời vùng quét cảm biến, tín hiệu từ cảm biến đƣợc gửi đến Slave ngắt INT0, lúc sensor_flag True PORTC.0 đƣợc đặt lên 1, đặt RS485 chế độ truyền tín Dữ liệu tín hiệu đƣợc gửi tới Master, liệu gửi hết đến Master sensor_flag lại đƣợc đặt False PORTC.0 đƣợc đặt xuống lúc slave chế độ quét chờ nhận tín hiệu 3.4.2 Xây dựng phần mềm nhúng điều khiển cho Master dùng Atmega128 3.4.2.1 Sơ đồ hoạt động Query slave Timer0 Timer1 LCD uC Atmega128 Keyboard Master Tải Usart0 Tx Usart1 Rx Slave Hình 40: Sơ đồ khối hoạt động mạch Master Trang - 93 - 3.4.2.2 Giải thích hoạt động Trong chƣơng trình Account Password đƣợc đặt “123” Sau ngƣời sử dụng nhập password vào từ keyboard login vào đƣợc hệ thống, hệ thống hoạt động Atmega128 gửi tín hiệu qt hỏi slave thơng qua Usart0_Tx Khi sensor nhận đƣợc tín hiệu khu vực qt có ngƣời gửi tín hiệu đến ngắt ngồi slave, tiếp slave gửi tín hiệu tới master thơng qua Usart0_Rx Atmega128 Khi nhận liệu xong lúc DATA_flag có giá trị True, Usart1 nhận tín hiệu vào Master Khi Master nhận đƣợc liệu điều chỉnh điện áp để đóng Rơle điện cho đèn sáng, đèn sáng vòng 30 giây, đồng thời liệu Master đƣợc xóa cơng việc qt hỏi lại tiếp tục 3.5 Kết khả ứng dụng hệ thống 3.5.1 Tính khoa học Thế kỷ 20 - 21 kỷ Thông Tin Điện tử - Viễn Thông, tảng quan trọng việc điều khiển tự động hóa phù hợp với xu hƣớng phát triển khoa học kỹ thuật Đề tài thể tính ứng dụng đa kỹ thuật vi điều khiển Ngồi đề tài cịn sử dụng phần mềm đại CodeVisionAVR để xây dựng phần mềm nhúng cho bo mạch 3.5.2 Khả triển khai ứng dụng vào thực tiễn Mục tiêu đề tài nghiên cứu, thiết kế chế tạo bo mạch điện tử ứng dụng tự động hóa xây dựng phần mềm điều khiển cho bo mạch nêu để điều khiển bật/tắt đèn chiếu sáng điều khiển đóng ngắt thiết bị điện dân dụng khác cách tự động nhằm tạo tiện dụng cho ngƣời tiết kiệm lƣợng Hệ thống có khả điều khiển đƣợc nhiều bóng đèn Tuy nhiên, đề tài làm mơ hình tơi đƣa điều khiển bóng đèn mà thơi Hệ thống xây dựng để điều khiển bật/ tắt đèn chiếu sáng tự động, sở phát triển mở rộng để điều khiển bật/ tắt thiết bị điện khác Ngồi cơng tác giảng dạy, hệ thống trở thành mơ hình thực tế dùng để giảng dạy thể ứng dụng tự động hóa đặc biệt khả ứng dụng đa dạng Vi Điều Khiển Trang - 94 - Với đặc điểm tính trên, đề tài có khả triển khai ứng dụng rộng rãi thực tế mang tính đại thực tiễn cao 3.5.3 Hiệu kinh tế xã hội Nhờ có điều khiển tự động ngƣời giảm bớt đƣợc cơng việc đóng ngắt số thiết bị điện, với điều kiện thi công đề tài khả thi, giá thành thấp, phù hợp với điều kiện nƣớc nhà Đề tài mang tính tiện ích cao đƣợc ứng dụng từ dân dụng đến công nghiệp nhƣ nơi công cộng Sử dụng hệ thống điều khiển bật/ tắt đèn chiếu sáng ngƣời vào khu vực khơng cần chiếu sáng liên tục nhƣ cầu thang, hành lang, nhà vệ sinh khu vực khác mà không cần bật/ tắt đèn chiếu sáng Điều đem lại tiện dụng, thoải mái đời sống sinh hoạt ngƣời, đồng thời lợi ích to lớn khác tiết kiệm đƣợc lƣợng điện chiếu sáng góp phần vào công tiết kiệm tiêu thụ lƣợng điện tồn cầu Hơn tính khả thi tƣơng lai, đề tài mang tính kích thích thúc đẩy phát triển ngành Công nghệ Điện tử Việt Nam Từ góp phần xây dựng đất nƣớc ngày phồn vinh KẾT LUẬN Trang - 95 - Hiện cơng nghệ tự động hóa đƣợc nhiều nhà khoa học quan tâm nghiên cứu nhƣ nhu cầu sử dụng sản phẩm đƣợc tích hợp cơng nghệ tự động hóa ngƣời dân Luận văn trình bày đƣợc nhu cầu sử dụng hệ thống điều khiển thơng minh tịa nhà, giới thiệu số phân hệ đƣợc sử dụng tòa nhà thông minh, khái niệm giao thức chuẩn truyền thông sử dụng hệ thống điều khiển phân hệ tịa nhà thơng minh Đặc biệt luận văn trình bày việc thiết kế hệ thống điều khiển bật/ tắt đèn chiếu sáng tòa nhà cao tầng, cụ thể nhƣ:  Thiết kế mạch điện tử sử dụng vi điều khiển Atmega8 Atmega128 hệ thống  Thiết lập giao chuẩn RS485 mạch điện tử  Sử dụng phần mềm CodeVisionAVR để xây dựng phần mềm nhúng cho mạch  Sử dụng cảm biến JS-20 Largo Pir Qua đề tài này, học viên mong muốn nắm bắt đƣợc tảng kiến thức lập trình cho vi điều khiển Atmega128, Atmega8 nhƣ họ vi điều khiển AVR, đồng thời nắm bắt đƣợc kỹ thuật thiết kế mạch điện tử để ứng dụng vào điều khiển tự động hóa Công nghệ luôn phát triển không ngừng có tính kế thừa, việc nghiên cứu, cập nhật kiến thức để làm chủ thiết bị đại cần thiết TÀI LIỆU THAM KHẢO Trang - 96 - Tiếng Việt [1]Nguyễn Thị Lan Hƣơng (2003), Kỹ thuật cảm biến [2] Lê Trung Thắng (2007), Vi điều khiển AVR – ATmega 128, Đại học Khoa Học Tự Nhiên TP Hồ Chí Minh [3] PGS TS Thái Duy Thức, KS Trịnh Quang Vinh (2009), Tổng quan vi điều khiển Atmega8, KHCN [4] Dƣơng Minh Trí (1997), Sơ đồ chân linh kiện bán dẫn, KHKT [5] Trƣờng Đại học kỹ thuật TP HCM (2006), Giáo trình vi điều khiển [6]Trƣờng Đại học Giao thông Vận tải (2001), Các loại cáp mạng [7]Trƣờng ĐH Giao thông Vận tải (2001), Thiết kế mơn học Mạng máy tính số liệu [8] Nguyễn Thúy Vân (1997), Kỹ thuật số, KHKT Hà Nội Tiếng Anh [9] Gilbert Held (2003), Ethernet Networks: Design, Implementation, Operation, Management, John Wiley & Sons, Ltd [10] Robert C, Elsenpeter Toby J Velte (2003), Build Your Own Smart Home [11] F H Mitchell (1988), Introduction to Electronics Design, Printice Hall [12] Kenvin Gilligan (2003), Honeywell Engineering Manual of Automatic Control for Commercial Buildings [13] John, Wiley (2005), RFID HandBook Website: [14] http://en.wikipedia.org/wiki/Building_Management_System [15] http://www.ameco.com.vn/dch-v/38-dch-v/122-bms-giai-phap-tietkiem-nang-luong-trong-toa-nha.html [16] http://www.pcworld.com.vn/articles/quan-ly/giai-phap-congcu/2009/06/1194171/phat-trien-rfid-tai-viet-nam/ [17] www.atmel.com Trang - 97 - PHỤ LỤC  Hình ảnh hệ thống đƣợc thiết kế Trang - 98 - Hình 41: Hình ảnh hệ thống  Phần mã nguồn phần mềm nhúng điều khiển cho mạch 1- Phần mã nguồn điều khiển cho mạch Master Chip type : ATmega128 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External SRAM size : Data Stack size : 1024 *****************************************************/ #include #include #include "lcdcustom.c" #include "sw.h" #include "LcdCommand.h" #include "acc.h" #define TX_MODE #define RX_MODE #define RS485_N1_DIR PORTD.6 Trang - 99 - #define RS485_N0_DIR PORTD.7 #define MAX_SID // Max slave IDs #define QUERY_TIMER // N #define TIMER QUERY_TIMER*10 // N x 16ms // Defines #define FID_NO #define A_LENGHT 13 unsigned char Dulieu_Floor[A_LENGHT]={'{','O','K',FID_NO,0,0,0,0,0,0,0,0,'}'}; unsigned int count=0; unsigned char SID_NO; // IDs of Slave -> 31 unsigned char FRAME_Length; // Length of receive frame #define MAX_LENGTH 20 // Define max length of receive buffer unsigned char R_Buffer[MAX_LENGTH]; // Receive buffer for Slave IDs data union Long_Bytes { unsigned long DL_LONG; unsigned char DL_BYTE[4]; } DULIEU; bit DATA_Flag=FALSE; // Transmit to master when DATA ready #define UDRE0 UCSR0A.5 #define RXC0 UCSR0A.7 // Declare your global variables here extern unsigned char STATE_MACHINE; extern flash byte coltech_0[8]; extern flash byte coltech_1[8]; extern flash byte coltech_2[8]; extern flash byte coltech_3[8]; extern flash byte coltech_4[8]; extern flash byte coltech_5[8]; void main(void) { // Declare your local variables here unsigned char temp,temp2; STATE_MACHINE= 'A'; Trang - 100 - Init_uC(); init_SW(); def_Coltech(); display_Coltech(0,0); init_default_SuperAdmin(); // Enable RS485 RX mode // RS485_N1_DIR = RX_MODE; PORTE.2= ; while (1) { // Place your code here switch(STATE_MACHINE) { case ACC_LOGIN_STATE: ACC_LOGIN_ACTION(); break; case PASS_LOGIN_STATE: PASS_LOGIN_ACTION(); break; case CHECK: CHECK_ACTION(); break; case MONITER: MONITER_ACTION(); break; } }; } //======================================================= // Alphanumeric LCD Module functions #asm equ lcd_port=0x18 ;PORTB #endasm #include void Init_uC() { #asm("cli") Trang - 101 - PORTA=0xFF; DDRA=0xFF; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization PORTC=0xFF; DDRC=0xFF; // Port D initialization PORTD=0xFF; DDRD=0xFF; // Port E initialization PORTE=0xFF; DDRE=0xCF; // Port G initialization PORTG=0x1F; DDRG=0x1F; // Timer/Counter initialization // Clock source: System Clock // Clock value: 15.625 kHz // Mode: Normal top=FFh // OC0 output: Disconnected ASSR=0x00; TCCR0=0x07; TCNT0=0x82; // OCR0=0x00; // Timer/Counter initialization // Clock source: System Clock // Clock value: 62.500 kHz // Mode: Normal top=FFFFh // OC1A output: Discon // OC1B output: Discon // OC1C output: Discon // Noise Canceler: Off Trang - 102 - // Input Capture on Falling Edge TCCR1A=0x00; TCCR1B=0x04; TCNT1H=0xFF; TCNT1L=0x9B; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00; // Timer/Counter initialization // Clock source: System Clock // Clock value: Timer Stopped // Mode: Normal top=FFh // OC2 output: Disconnected TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // Timer/Counter initialization // Clock source: System Clock // Clock value: 15.625 kHz // Mode: Normal top=FFFFh // Noise Canceler: Off // Input Capture on Falling Edge // OC3A output: Discon // OC3B output: Discon // OC3C output: Discon // Timer Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off Trang - 103 - TCCR3A=0x00; TCCR3B=0x05; TCNT3H=0x00; TCNT3L=0x00; ICR3H=0x00; ICR3L=0x00; OCR3AH=0x00; OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00; OCR3CH=0x00; OCR3CL=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off // INT3: Off // INT4: On // INT4 Mode: Faling Edge // INT5: Off // INT6: Off // INT7: Off EICRA=0x00; EICRB=0x03; EIMSK=0x10; EIFR=0x10; // USART0 initialization // Communication Parameters: Data, Stop, No Parity // USART0 Receiver: On // USART0 Transmitter: On // USART0 Mode: Asynchronous // USART0 Baud rate: 38400 UCSR0A=0x00; UCSR0B=0xD8; UCSR0C=0x06; Trang - 104 - UBRR0H=0x00; UBRR0L=0x19; // USART1 initialization // Communication Parameters: Data, Stop, No Parity // USART1 Receiver: On // USART1 Transmitter: On // USART1 Mode: Asynchronous // USART1 Baud rate: 38400 UCSR1A=0x00; UCSR1B=0xD8; UCSR1C=0x06; UBRR1H=0x00; UBRR1L=0x19; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x05; ETIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(20); // Global enable interrupts #asm("sei") } //========================================================== // USART0 Transmitter interrupt service routine interrupt [USART0_TXC] void usart0_tx_isr(void) { To_SLAVE(); } //========================================================== // Interrupt to get slave data Trang - 105 - // USART0 Receiver interrupt service routine interrupt [USART0_RXC] void usart0_rx_isr(void) { static bit FRAME_flag = FALSE; static unsigned char byte_no = 0; unsigned char c; c=UDR0; if(c=='{') { byte_no=0; FRAME_flag=TRUE; } if(FRAME_flag) { R_Buffer[byte_no]=c; if(c=='}') { FRAME_flag=FALSE; if((R_Buffer[1]=='O') & (R_Buffer[2]=='K')) { FRAME_Length=byte_no+1; //RS485_DATA_ToSend(R_Buffer[3]); DATA_Flag=TRUE; } } else { byte_no++; } } } //========================================================== #define CHECK_LENGTH unsigned char Command; const unsigned char CHECK_OK[CHECK_LENGTH]={'O','K',FID_NO}; Trang - 106 - // Interrupt to receive request // USART1 Receiver interrupt service routine interrupt [USART1_RXC] void usart1_rx_isr(void) { static unsigned char byte_no = 0; unsigned char c; c = UDR1; if(byte_no

Ngày đăng: 16/03/2021, 11:16

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

TÀI LIỆU LIÊN QUAN