báo cáo gồm: Sơ đồ khối mạch in nguyên lý hoạt động của mạch, và linh kiện đầy đủ và hoàn thiện một bài báo cáo
Trang 1LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy cô củatrường Đại học công nghệ và truyền thông Thái Nguyên, đặc biệt là các thầy cô khoaCông nghệ điện tử và truyền thông của trường đã tạo điều kiện và tổ chức khóa họcnày để em có thể có điều kiện tiếp thu kiến thức mới và có thời gian để hoàn thành bàibáo cáo chuyên ngành này Và em cũng xin chân thành cám ơn cô ThS Cao Thị Trang
đã nhiệt tình hướng dẫn hướng dẫn em hoàn thành tốt khóa thực tập chuyên ngành Emxin chân thành cảm ơn các thầy cô đã truyền đạt cho chúng em những kiến thức quýbáu trong quá trình học và hoàn thành báo cáo
Trong quá trình làm bài báo cáo, khó tránh khỏi sai sót, rất mong các thầy, cô
bỏ qua Đồng thời do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nênbài báo cáo không thể tránh khỏi những thiếu sót, em rất mong nhận được ý kiến đónggóp thầy, cô để em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn bài báocáo tốt nghiệp sắp tới Em xin chân thành cảm ơn!
Thái Nguyên, ngày 16 tháng 4 năm 2019
Sinh viên
Lý Văn Hảo
Trang 2M C L C ỤC LỤC ỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 4
DANH MỤC CÁC TỪ VIẾT TẮT 6
LỜI NÓI ĐẦU 7
CHƯƠNG I GIỚI THIỆU TỔNG QUAN VỀ CÁC LINH KIỆN 8
1.1 Vi điều khiển AT89C51. 8
1.1.1 Giới thiệu tổng quan về họ vi điều kiển 8051 8
1.1.2 Hoạt động định thời, cổng nối tiếp, ngắt và xử lý ngắt của họ 8051 12
1.1.3 Các thanh ghi đặc biệt của 89C51 (SFR – Special Function Registers) 13
1.1.4 Thành phần thu thập dữ liệu ADC0809 17
1.1.5 Tính năng, đặc điểm 18
1.1.6 Thông số kỹ thuật chính 18
1.1.7 Chức năng các chân 18
1.2 LCD hiển thị 19
1.3 Cảm biến nhiệt độ LM35 22
1.4 Module cảm biến khí GAS MQ2 23
1.4.1 Sơ lược về cảm biến: 23
1.4.2 Các chân linh kiện: 23
1.5 Các linh kiện khác có trong mạch 23
1.5.1 Tụ điện 23
1.5.2 Điện trở, trở thanh 24
1.5.3 Nút bấm button 24
1.5.4 Thạch anh 24
1.5.5 Còi buzz 25
1.5.6 Dây cắm breadboard 25
1.5.7 Biến trở 25
1.6 Các phần mềm phụ trợ. 26
1.6.1 Phần mềm Keil C 26
1.6.2 Phần mềm mô phỏng Proterus 26
1.6.3 Phần mềm nạp code cho vi điều khiển 28
Trang 3CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ MACH 29
2.1 Phân tích đề tài. 29
2.1.1 Tính cấp thiết của đề tài 29
2.1.2 Mục tiêu của đề tài 29
2.1.3 Yêu cầu đặt ra 29
2.1.4 Giải pháp 29
2.2 Tổng quan về hệ thống báo cháy 30
2.2.1 Cấu trúc hệ thống 30
2.2.2 Sơ đồ khối hệ thống 30
2.2.3 Chức năng từng khối: 30
2.3 Lập trình và mô phỏng 31
2.3.1 Lưu đồ thuật toán 31
2.3.2 Giải thích lưu đồ: 31
2.3.3 Nguyên lý hoạt dộng 32
CHƯƠNG III KẾT QUẢ MÔ PHỎNG 33
3.1 Mạch mô phỏng 33
3.1.1 Test hoạt động cảm biến nhiệt độ 33
3.1.2 Test hoạt động của cảm biến khói 33
3.1.3 Mô phỏng proteus 34
3.2 Thực thi phần cứng 35
3.2.1 Sơ đồ mạch in 35
3.2.2 Sản phẩm của thực hành 35
KẾT LUẬN 42
TÀI LIỆU THAM KHẢO 43
NHẬN XÉT CỦA GIÁO VIÊN 44
Trang 4DANH MỤC HÌNH ẢNH
Hình 1.1 Sơ đồ khối của AC89C51 8
Hình 1.2 Sơ đồ chân của AC89C51 9
Hình 1.3 Port 0 9
Hình 1.4 Port 1 10
Hình 1.5 Port 2 10
Hình 1.6 Port 3 11
Hình 1.7 ADC0809 17
Hình 1.8 Sơ đồ chân ADC0809 18
Hình 1.9 Hình dáng của LCD 19
Hình 1.10 Sơ đồ chân của LCD 19
Hình 1.11 Cảm biến nhiệt độ LM35 22
Hình 1.12 Module cảm biến khí GAS MQ2 23
Hình 1.13 Tụ 24
Hình 1.14 Điện trở 24
Hình 1.15 Nút bấm 24
Hình 1.16 Thạch anh 12 Mhz 24
Hình 1.17 Còi buzz 25
Hình 1.18 Dây cắm 25
Hình 1.19 Biến trở 25
Hình 1.20 Giao diện phần mềm Keil C uvision 4 26
Hình 1.21 Giao diện phần mềm proteus 8.6 26
Hình 1.22 Giao diện phần mềm PROGISP 28
Hình 2.1 Sơ đồ khối hệ thống 30
Hình 2.2 Lưu đồ thuật toán 31
Hình 3.1 Đèn không báo khi nhiệt độ nhỏ hơn 40OC 33
Hình 3.2 Đèn báo khi nhiệt độ lớn hơn 40OC 33
Hình 3.3 Đèn không báo khi không có khói 34
Hình 3.4 Đèn báo khi có khói 34
Trang 5Hình 3.5 Mạch mô phỏng 34 Hình 3.6 Sơ đồ mạch in 35 Hình 3.7 Mạch thực tế 35
Trang 7LỜI NÓI ĐẦU
Trong những năm gần đây với sự phát triển mạnh mẽ của khoa học – kĩthuật.Đặc biệt của ngành công nghiệp chế tạo các linh kiện bán dẫn,các các vi mạchtích hợp IC một hướng phát triển mới của Vi xử lý đã hình thành đó là Vi ĐiềuKhiển.Với những ưu điểm to lớn về tốc độ,độ chính xác cao,khả năng sử lý các bìatoán,tính linh hoạt nên các Vi Điều khiển đã được ứng dụng trên hầu hết các lĩnh vựctrong cuộc sống Bằng cách áp dụng Vi Điều Khiển trong sản xuất và xử lý, Vi ĐiềuKhiển đã thực sự thể hiện được các ưu điểm của mình so với các thiết bị thông thườngkhác Vì những ứng dụng to lớn của Vi điều khiển, do đó mà ở các trường Đại Học,Cao Đẳng, TCCN
Về khoa học – công nghệ, vi điều khiển 8051 sẽ cung cấp cho sinh viên nhữngkhái niệm cơ bản cách thức hoạt động của Vi xử lý qua đó sinh viên có tư duy ,kiếnthức nền tảng,để có thể giải quyết các bài toán ứng dụng thực tế trong cuộc sống,cũngnhư là cơ sở để học tập nghiên cứu các dòng vi xử lý khác như: PIC,AVR Qua đợtthực tập chuyên ngành này em có cái nhìn thực tế hơn, sâu sắc hơn về vi điều khiển
Em cũng đã hiểu thêm nhiều về cách thức xử lý một bài toán thực tế phức tạp
Sau một thời gian nghiên cứu và tìm hiểu về dòng vi điều khiển 8051 dưới sựgiúp đỡ của cô Cao Thị Trang , em đã thiết kế và xây dựng hệ thống báo cháy tựđộng sử dụng vi điều khiển AT89C51
Chúng em xin chân thành cảm ơn cô!
Trang 8CHƯƠNG I GIỚI THIỆU TỔNG QUAN VỀ CÁC LINH KIỆN 1.1 Vi điều khiển AT89C51
1.1.1 Giới thiệu tổng quan về họ vi điều kiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượngcao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable read onlymemory)
Các đặc điểm của 8951 được tóm tắt như sau:
4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000 chu kỳ
Tần số hoạt động từ 0 Hz đến 24 MHz
3 mức khóa bộ nhớ lập trình
2 bộ Timer/Counter 16 bit
128 Byte RAM nội
4 Port xuất/nhập (I/O) 8 bit
Giao tiếp nối tiếp
64 KB vùng nhớ mã ngoài
64 KB vùng nhớ dữ liệu ngoài
Xử lý Boolean (hoạt động trên bit đơn)
210 vị trí nhớ có thể định vị bit
a) Sơ đồ khối và sơ đồ chân của AT89C51
Hình 1.1 Sơ đồ khối của AC89C51
Trang 9Hình 1.2 Sơ đồ chân của AC89C51
b) Chức năng các chân của AT89C51
Port 0
Hình 1.3 Port 0
Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, port 0 còn
là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sử dụng khiAT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus
Trang 11Bảng 1.1 Các chức năng đặc biệt của port 3
Hình 1.6 Port 3
Chân RST
RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta phải đưamức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs đốivới thạch anh 12MHz
Trang 12Chân ALE
ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghibên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đường port 0 dùng để xuấthoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ
Chân PSEN
PSEN (Program Store Enable): PSEN là chân điều khiển cho phép bộ nhớchương trình mở rộng và thường được nối với đến chân OE (Output Enable) của mộtEPROM để cho phép đọc các bytes mã lệnh PSEN sẽ ở mức thấp trong thời gian đọclệnh Các mã nhị phân của chương trình được đọc từ EPROM qua Bus và được chốtvào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh Khi thi hành chương trìnhtrong ROM nội, PSEN sẽ ở mức thụ động (mức cao)
Với 8051 ta chỉ có 2 timer đó là timer 0 và timer 1 còn đối với 8052 thì có thêm
bộ định thời thứ 3 là timer 2,các timer này có rất nhiều ứng dụng quan trọng trong cáclĩnh vực như đo lường, điều khiển
b) Cổng nối tiếp
AT89S52 có một cổng nối tiếp trên chip có thể hoạt động ở nhiều chế độ khácnhau Chức năng chủ yếu của cổng nối tiếp là chuyển đổi song song sang nối tiếp vàchuyển đổi nối tiếp sang song song với dữ liệu nhập để có thể giao tiếp với máy tínhqua cổng nối tiếp hoặc các thiết bị tương tự
c) Ngắt và xử lý ngắt
Để tận dụng khả năng của cpu chúng ta phải sử dụng đến ngắt, ngắt giúp ta tạmngừng công việc của CPU để phục vụ việc trao đổi giữ liệu Sau khi hoàn thành việctrao đổi dữ liệu thì CPU phải quay về làm nốt công việc đang bị gián đoạn Điều nàygiúp cho CPU làm việc hiệu quả hơn rất nhiều
Với AT89S52 ta có 6 nguồn ngắt:
Ngắt ngoài đến từ chân #INT0
Ngắt ngoài đến từ chân #INT1
Trang 13Ngắt do bộ timer 0
Ngắt do bộ timer 1
Ngắt do bộ timer 2
Ngắt do port nối tiếp
1.1.3 Các thanh ghi đặc biệt của 89C51 (SFR – Special Function Registers).
a) Thanh ghi tích luỹ (Accumulator)
Thanh ghi tích luỹ là thanh ghi sử dụng nhiều nhất trong AT89C51, được kýhiệu trong câu lệnh là A Ngoài ra, trong các lệnh xử lý bit, thanh ghi tích luỹ được kýhiệu là ACC
b) Thanh ghi B
Thanh ghi tích luỹ có thể truy xuất trực tiếp thông qua địa chỉ E0H (byte) haytruy xuất từng bit thông qua địa chỉ bit từ E0H đến E7H
Thanh ghi từ trạng thái chương trình (PSW - Program Status Word)
Thanh ghi từ trạng thái chương trình PSW nằm tại địa chỉ D0H và có các địachỉ bit từ D0H – D7H, bao gồm 7 bit (1 bit không sử dụng) có các chức năng như sau:
P (Parity): kiểm tra parity (chẵn) Cờ P = 1 khi tổng số bit 1 trong thanh ghi A
là số lẻ (nghĩa là tổng số bit 1 của thanh ghi A cộng thêm cờ P là số chẵn)
Trang 14Chọn bank thanh ghi:
c) Thanh ghi con trỏ stack (SP – Stack Pointer)
Con trỏ stack SP nằm tại địa chỉ 81H và không cho phép định địa chỉ bit SPdùng để chỉ đến đỉnh của stack Stack là một dạng bộ nhớ lưu trữ dạng LIFO (Last InFirst Out) thường dùng lưu trữ địa chỉ trả về khi gọi một chương trình con Ngoài ra,stack còn dùng như bộ nhớ tạm để lưu lại và khôi phục các giá trị cần thiết
Đối với AT89C51, stack được chứa trong RAM nội (128 byte đối với8031/8051 hay 256 byte đối với 8032/8052) Mặc định khi khởi động, giá trị của SP là07H, nghĩa là stack bắt đầu từ địa chỉ 08H (do hoạt động lưu giá trị vào stack yêu cầuphải tăng nội dung thanh ghi SP trước khi lưu
d) Con trỏ dữ liệu DPTR (Data Pointer)
Con trỏ dữ liệu DPTR là thanh ghi 16 bit bao gồm 2 thanh ghi 8 bit: DPH(High) nằm tại địa chỉ 83h và DPL (Low) nằm tại địa chỉ 82H Các thanh ghi nàykhông cho phép định địa chỉ bit DPTR được dùng khi truy xuất đến bộ nhớ có địa chỉ
16 bit
e) Các thanh ghi Port
Gồm 4 thanh ghi tương ứng với 4 port:
P0 Port 0 : ở địa chỉ 80H đến dịa chỉ Port 0 : ở địa chỉ 80H đến dịa chỉ 87H
P1 Port 1 : ở địa chỉ 90H đến địa chỉ Port 0 : ở địa chỉ 80H đến dịa chỉ 97H
P2 Port 2 : ở địa chỉ A0H đến địa chỉ Port 0 : ở địa chỉ 80H đến dịa chỉ A7H
P3 Port 3 : ở địa chỉ B0H đến địa chỉ Port 0 : ở địa chỉ 80H đến dịa chỉ B7H
Nếu truy suất Port ta truy suất các thanh ghi Port tương ứng Các thanh ghi nàyđược định địa chỉ từng Bit
f) Các thanh ghi bộ định thời (Timer)
89c51 có hai thanh ghi bộ định thời/đếm 16 bit được dùng cho định thời hoặc
Trang 15đếm sự kiên.
Thanh ghi chế độ định thời (TMOD):
Không được định địa chỉ bit
Dùng để định chế độ hoạt động cho TIMER
Chức năng từng bit
Thanh ghi điều khiển định thời (TCON):
Chứa các bit điều khiển và trạng thái của Timer 0, 1 ở 4 bit cao, 4 bit thấpđược dùng cho chức năng ngắt (interrupt)
g) Các thanh ghi port nối tiếp (Serial port)
h) Thanh ghi SBUF (Serial Buffer)
Ở địa chỉ 99H là bộ đệm nhập/xuất nối tiếp, khi xuất dữ liệu thì ghi lênSBUF, khi nhập dữ liệu thì đọc từ SBUF
Các chế độ hoạt động khác nhau của port nối tiếp được lập trình thông quathanh ghi điều khiển port nối tiếp SCON (Serial Control) ở địa chỉ 98H Đây là thanhghi được địa chỉ từng bit
i) Thanh ghi điều khiển port nối tiếp SCON
Địa chỉ 99H
Định địa chỉ bit
Chức năng các bit
Trang 16SM0, SM1: chọn chế độ hoạt động của port nối tiếp.
SM2: chọn chế độ hoạt động của port nối tiếp.
SM2 = 1: cho phép truyền thông đa xử lý ở các chế độ 2 và 3; bit RI sẽ khôngđược tích cực nếu bit thứ 9 nhận được là 0
REN: bit cho phép thu.
REN = 1: cho phép thu
REN = 0: không cho phép thu
TB8: bit phát thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần mềm.
RB8: bit thu thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần mềm.
j) Các Thanh Ghi Ngắt (Interrupt)
8031/8051 có 5 nguồn ngắt:
2 ngắt ngoài: ngắt ngoài 0: qua chân INT0 (P3.2)
ngắt ngoài 1: qua chân INT1 (P3.3)
3 ngắt trrong: ngắt timer 0, ngắt timer 1, ngắt port nối tiếp
k) Hoạt động reset
Để thực hiện reset, cần phải tác động mức cao tại chân RST (chân 9) củaAT89C51 ít nhất 2 chu kỳ máy
Trang 17Bộ chuyển đổi tín hiệu ADC0809
1.1.4 Thành phần thu thập dữ liệu ADC0809
Hình 1.7 ADC0809
ADC0809 là một thiết bị CMOS nguyên khối với bộ chuyển đổi tương tự sang
số 8 bit, bộ ghép kênh 8 kênh và bộ vi xử lý tương thích kiểm soát logic Bộ chuyểnđổi A / D 8 bit sử dụng xấp xỉ liên tiếp làm kỹ thuật chuyển đổi Bộ chuyển đổi có một
bộ so sánh ổn định chopper trở kháng cao, một
Bộ chia điện áp 256R với cây chuyển đổi tương tự và một thanh ghi gần đúngliên tiếp Bộ ghép kênh 8 kênh có thể truy cập trực tiếp vào bất kỳ tín hiệu tương tự 8đầu đơn nào
Thiết bị loại bỏ sự cần thiết của số 0 bên ngoài và điều chỉnh toàn diện Dễ dànggiao tiếp với bộ vi xử lý được cung cấp bởi địa chỉ ghép kênh được chốt và giải mãđầu vào và chốt đầu ra TTL TRI-STATE®
Thiết kế của ADC0809, ADC0809 đã được tối ưu hóa bằng cách kết hợp cáckhía cạnh mong muốn nhất của một số A / D kỹ thuật chuyển đổi ADC0809,ADC0809 cung cấp tốc độ cao, độ chính xác cao, phụ thuộc nhiệt độ tối thiểu, độchính xác và độ lặp lại dài hạn tuyệt vời và tiêu thụ năng lượng ít Những tính năngnày làm cho thiết bị này lý tưởng phù hợp với các ứng dụng từ quy trình và điều khiểnmáy đến ứng dụng tiêu dùng và ô tô Đối với bộ ghép kênh 16 kênh có đầu ra chung(cổng mẫu / cổng giữ)
Trang 181.1.5 Tính năng, đặc điểm
Giao diện dễ dàng cho tất cả các bộ vi xử lý
Vận hành theo tỷ lệ hoặc với 5 VDC hoặc nhịp tương tự tham chiếu điện ápđiều chỉnh
Không cần điều chỉnh quy mô 0 hoặc toàn thang
Bộ ghép kênh 8 kênh với logic địa chỉ
Phạm vi đầu vào 0V đến 5V với nguồn điện 5V
Đầu ra đáp ứng thông số kỹ thuật cấp điện áp TTL
Gói DIP 28 chân kín hoặc đúc
gói 28 chip chip đúc
ADC0808 tương đương với MM74C949
ADC0809 tương đương với MM74C949-1
1.1.6 Thông số kỹ thuật chính
Độ phân giải 8 bit
Tổng số lỗi không được điều chỉnh ± 1⁄2 LSB và ± 1 LSB
A, B, C : giải mã chọn một trong 8 ngõ vào
Z-1 đến Z-8 : ngõ ra song song 8 bit
ALE : cho phép chốt địa chỉ
Trang 19 START : xung bắt đầu chuyển đổi
CLK : xung đồng hồ
REF (+) : điện thế tham chiếu (+)
REF (-) : điện thế tham chiếu (-)
VCC : nguồn cung cấp
1.2 LCD hiển thị
1.2.1 Hình dáng và kích thước
Hình 1.9 Hình dáng của LCD
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1
là hai loại LCD thông dụng
Hình 1.10 Sơ đồ chân của LCD
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên
trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ tự
và đặt tên như bên dưới :
1.2.2 Chức năng các chân
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của
mạch điều khiển
2 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V
của mạch điều khiển
Trang 203 Vee Chân này dùng để điều chỉnh độ tương phản của LCD.
4
Rs Chân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND)hoặc logic “1” (VCC) để chọn thanh ghi
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trongLCD
7-14
DB0-DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế
độ sử dụng 8 đường bus này :+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bitDB7
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bitMSB là DB7
Trang 21Các ký tự LCD LMB162A hiển thị được
Trang 22Ví dụ: để ghi ký tự R vào CGRAM(0) (từ địa chỉ #000000b đến #000111b) thì
ta phải ghi 8 byte đó các mã #00011110b, #00010001b, #00010001b, #00011110b,