Hệ thống này có cấu tạo đơn giản, rẻ, không phải lập trình màchỉ dựa vào các mạch logic, nhưng tính linh động không cao, khó chỉnh định khiđiều kiện làm việc thay đổi, ít có khả năng nân
Trang 1LỜI CAM ĐOAN
Kính thưa: Hội đồng bảo vệ đồ án tốt nghiệp khoa Điện Tử- Viễn Thông trường Đại học Bách Khoa Đà Nẵng
Em tên là: Hồ Viết Thành
Sinh viên lớp 11DT3, khoa Điện tử-Viễn thông, trường đại học Bách Khoa ĐàNẵng
Em xin cam đoan nội dung của đồ án này không phải là bản sao chép của bất
cứ đồ án hoặc công trình đã có từ trước
Em xin chân thành cảm ơn.!
Đà Nẵng, tháng 5 năm 2016
Sinh viên thực hiện
Hồ Viết Thành
Trang 2MỤC LỤ
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 5
1.1 Giới thiệu chương 5
1.2 Khảo sát và phân tích bài toán 5
1.3 Lựa chọn giải pháp 7
1.3.1 Giải pháp công nghệ 7
1.3.2 Giải pháp thiết kế 7
1.3.3 Các yêu cầu 7
1.3.4 Giới hạn hạn định 8
1.4 Kết luận chương 8
CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 9
2.1 Giới thiệu chương 9
2.2 Sơ đồ tổng quát 9
2.3 Lựa chọn linh kiện 10
2.3.1 Vi điều khiển AT89S52 10
2.3.2 Led hồng ngoại 22
2.3.3 Quang trở 23
2.3.4 Bộ so sánh LM393 24
2.3.5 LCD 25
2.3.6 Transitor 27
Trang 32.3.7 Tụ điện 28
2.3.8 Rơ le 29
2.3.9 IC ổn áp 29
2.4 Tính toán các module trong hệ thống 30
2.4.1 Module khối nguồn 30
2.4.2 Module cảm biến hồng ngoại: 32
2.4.3 Module điều khiển trung tâm 34
2.4.4 Module tương tác điều khiển (hiển thị) 35
2.4.5 Module rơ le điều khiển công suất 37
2.5 Sơ đồ nguyên lý toàn mạch 39
2.6 Thuật toán điều khiển 40
2.7 Kết luận chương 42
CHƯƠNG 3 THI CÔNG HỆ THỐNG 43
3.1 Giới thiệu chương 43
3.2 Thiết kế phần cứng 43
3.3 Thiết kế phần mềm 46
3.4 Kết quả qua mạch thực tế: 52
3.5 Kết luận chương: 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 53
TÀI LIỆU THAM KHẢO 55
PHẦN PHỤ LỤC 56
Trang 5LỜI MỞ ĐẦU
Hiện nay hầu hết việc giám sát và điều khiển chiếu sáng trong các phòng họpđược điều khiển bằng tay thông qua đóng mở các công tắc, các aptomat, cầu dao…Điều này thuận lợi và rất đơn giản vì ta có thể bật tắt đèn theo nhu cầu sử dụng Tuy nhiên, nếu lấy bối cảnh là trong phòng họpthì việc bật tắt đèn còn phụthuộc vào số người trong phòng, không biết được chính xác khi nào thì có ngườivào và khi nào thì mọi người đã ra hết khỏi phòng Điều này gây lãng phí điện rấtlớn, đặt biệt trong hoàn cảnh nước ta đang thiếu điện một cách trầm trọng như hiệnnay
Để giải quyết vấn đề trên em đã thực hiện đồ án: Thiết kế hệ thống bộ điều khiển thiết bị điện tự động
Hệ thống điều khiển dựa vào cảm biến hồng ngoại xác định số người ra vàocổng và từ đó điều khiển đèn trong phòng họp cho hợp lý Đồng thời sử dụng cảmbiến ánh sáng để xác định khi nào tắt hoặc bật đèn phù hợp vào ban ngày và banđêm
Trong quá trình thực hiện đồ án còn nhiều thiếu sót, kính mong quý thầy côgóp ý và hướng dẫn giúp em hoàn thiện hơn đề tài của mình
Em xin chân thành cảm ơn!
Nội dung đồ án gồm 3 chương:
Chương 1: TỔNG QUAN ĐỀ TÀI
Trang 6Chương 3: THI CÔNG HỆ THỐNG
Trang 7CHƯƠNG 1 CHƯƠNG 2 TỔNG QUAN ĐỀ TÀI
2.1 Giới thiệu chương
Trong chương này sẽ trình bày về các nội dung sau:
- Khảo sát và phân tích các hệ thống có trong các công trình thực tế và đưa ra
ý tưởng về đề tài đồ án
- Lựa chọn giải pháp để đưa ra một hệ thống điều khiển thiết bị điện tự động
- Đưa ra các yêu cầu cần đạt được trong đề tài
2.2 Khảo sát và phân tích bài toán
Trên thị trường hiệnnay đã có một số thiết bị bật tắt đèn thông minh, nhưSmartLight do Hàn Quốc sản xuất Được tích hợp sensor cảm ứng hồng ngoại thânnhiệt, đèn sẽ tự động đượcbật khi có người đi vào vùng cảm ứng và tắt khi không cóngười SmartLight phù hợp với mọi nhu cầu chiếu sáng thông minh của bạn tại sân,cổng, phòng khách, phòng ngủ, phòng vệ sinh, cầu thang, văn phòng… giúp bạn bậttắt đèn hoàn toạn tự động ,mang lại sự an toàn, tiện nghi và tiếp kiệm điện…Tuynhiên thiết bị này tích hợp luôn bộ điều khiển với đèn trong 1 sản phẩm Do đó giáthành cao và không thích hợp các phòng cần chiếu sáng lớn, không thay đổi đượcloại bóng đèn theo yêu cầu
Trang 8Đèn thông minh SmartlightNgoài ra, có hệ thống giám sát điều khiển chiếu sáng sử dụng camera kết hợpvới máy tính để kiểm soát số người trong phòng, qua đó phát lệnh đóng mở cáccông tắc bóng đèn Hệ thống này có cấu tạo đơn giản, rẻ, không phải lập trình màchỉ dựa vào các mạch logic, nhưng tính linh động không cao, khó chỉnh định khiđiều kiện làm việc thay đổi, ít có khả năng nâng cấp hệ thống.
Hình 1.1 Hệ thống camera giám sát
Từ những hệ thống trên, với những phòng họp khi mà lưu lượng người khônglớn và có thể kiểm soát được việc đếm người qua cửa thì ta hoàn toàn có thể ápdụng hệ thống điều khiển thiết bị điện tự động trong phòng họp Sử dụng vi điềukhiển được lập trình để bật đèn khi có người và tắt khi không có người Điều này
Trang 9vừa tiện lợi cho mọi người: ứng dụng công nghệ tự động hóa vào cuộc sống conngười, đảm bảo ánh sáng trong quá trình làm việc đồng thời góp phần giải quyếtvấn đề tiết kiệm điện năng.
2.3 Lựa chọn giải pháp
2.3.1 Giải pháp công nghệ
Qua phân tích ở trên, em đưa ra giải pháp xây dựng hệ thống điều khiển thiết
bị điện tự động: điều khiển bật tắt đèn qua việc kiểm soát lượng người ra, vàophòng Thu nhận tín hiệu rồi xử lý tín hiệu, khi có người vào phòng, hệ thống sẽ tựđộng bật đèn để cung cấp đủ ánh sáng trong phòng Trường hợp số người đã rờikhỏi phòng thì hệ thống sẽ tắt hết đèn Trong quá trình làm việc hệ thống luôn hiểnthị số người còn đang ở trong phòng để tiện cho việc kiểm tra, theo dõi, điều chỉnhlượng ánh sáng cho phù hợp Đồng thời hệ thống xác định ban ngày hoặc ban đêm
Trang 10Hệ thống điều khiển đèn thông minh này áp dụng cho các lớp học:
Số lượng người trong phòng tối đa không quá 99 người
Phòng gồm 1 cửa vào ra chính
Ở một thời điểm có 1 người qua cửa
Cửa cao 2.5m rộng 2m
Người đi vào thì bật đèn và đi ra hết thì tắt đèn
Làm việc với điện áp 220V/50Hz
Sensor và công nghệ tùy chọn
Có khả năng nâng cấp và cải tiến
2.3.4 Giới hạn hạn định
Làm việc cả ban ngày lẫn ban đêm
Thu nhận tín hiệu liên tục khi có người ra vào
Nhiệt độ môi trường: trong nhà 10 – 40 độ C
Hệ thống cấp điện mới từ đầu
2.4 Kết luận chương
Trong chương này em đã trình bày tổng quan về thiết kế hệ thống điều khiểnthiết bị điện tự động Đưa ra được những giải pháp và các yêu cầu cần đạt được đểthiết kế hệ thống
Trang 11KHỐI CẢM
BIẾN
KHỐI XỬ LÝAT89S52
KHỐI CHẤP HÀNH
KHỐI HIỂN THỊKHỐI NGUỒN
CHƯƠNG 3 CHƯƠNG 4 THIẾT KẾ HỆ THỐNG
4.1 Giới thiệu chương
Trong chương này sẽ trình bày các nội dung:
- Xây dụng sơ đồ tổng quát của hệ thống điều khiển thiết bị điện tự động
- Lựa chọn những linh kiện cần sử dụng
- Phân tích và tính toán các module của hệ thống
- Đưa ra sơ đồ nguyên lý của mạch
- Thuật toán điều khiển hệ thống
4.2 Sơ đồ tổng quát
Hình 2.1 Sơ đồ tổng quát hệ thốngđiều khiển
thiết bị điện thông minh
Khối nguồn: Cung cấp nguồn cho hệ thống.
Trang 12 Khối cảm biến: Sử dụng sensor cảm biến hồng ngoại dùng để thu nhận tín
hiệu người vào ra phòng, đưa tín hiệu thu được vào AT89S52 Để nhận biếtngười vào hay đi ra ta dùng 2 bộ thu phát hồng ngoại mắc gần nhau
Khối xử lý AT89S52: Dùng vi điều khiển AT89S52 để lấy tín hiệu từ cảm
biến, tính toán, lưu trữ và đưa ra khối hiển thị và khối chấp hành
Khối hiển thị: Lấy tín hiệu ra từ chân AT89S52 để hiển thị số người hiện
đang có ở trong phòng trên LCD
Khối chấp hành: Nhận tín hiệu từ khối xử lý để thực hiện đóng cắp tiếp điểm
mạch động lực
4.3 Lựa chọn linh kiện
4.3.1 Vi điều khiển AT89S52
2.3.1.1Sơ đồ chân vi điều khiển AT89S52:
1 2
1 3
1 4
1 5 1 2 3 4 5 6 7 8
Trang 13Hình 2.2 Kiến trúc của vi điều khiển AT89S52
IC vi điều khiển 89S52 thuộc họ MCS51 có các đặc điểm sau :
- Bộ nhớ chương trình bên trong 4kbyte ROM
- RAM dữ liệu trên chip 128 byte
- I/O hai chiều 4 port (mỗi port 8 bit) 32 đường và có thể định địa chỉ riêng rẽ
- Hai bộ định thời 16 bits
- UART full duplex
- 64KB không gian bộ nhớ chương trình ngoài
- 64 KB không gian bộ nhớ dữ liệu ngoài
- 210 bit được địa chỉ hóa
- Bộ nhân chia 4us
2.3.1.2Cấu trúc bên trong của AT89S52
Trang 14Hình 2.3 Sơ đồ khối bộ vi điều khiểnAT89S52
Phần chính của vi điều khiển 8051 là bộ xử lý trung tâm (CPU: CentralProcessing Unit) bao gồm:
- Thanh ghi tích lũy A
- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
- Đơn vị logic số học (ALU: Arithmetic Logical Unit )
- Từ trạng thái chương trình (PSW : Prorgam Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
Trang 15- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thờigian và logic.
2.3.1.3 Hoạt động của bộ xử lý trung tâm
Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn cókhả năng đưa một tín hiệu giữ nhịp từ bên ngoài.Chương trình đang chạy có thể chodừng lại nhờ một khối điều khiển ngắt ở bên trong Các nguồn ngắt có thể là giaodiện nối tiếp
Hai bộ định thời 16 bit hoạt động Các cổng (port0,1,2,3), sử dụng vào mục đích điều khiển Ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với
bộ nhớ bên ngoài, hoặc để giao tiếp nối tiếp, hoặc ngắt dẫn bên ngoài
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làmviệc độc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong dãi rộng vàđược ấn định bằng một bộ định thời
Vi điều khiển AT89S52 có 2 thành phần quan trọng khác đó là bộ nhớ và cácthanh ghi
- Bộ nhớ gồm bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu và mãlệnh
- Các thanh ghi sử dụng để lưu trử thông tin trong quá trình xử lý Khi làmviệc nó làm thay đổi nội dung của các thanh ghi
2.3.1.4 Chức năng các chân của vi điều khiển AT89S52
Vi điều khiển AT89S52 có 32 trong 40 chân có chức năng như là các cổngI/O, trong đó 24 chân được sử dụng với hai mục đích Nghĩa là ngoài chức năng
Trang 16cổng I/O, mỗi chân có công dụng kép này, có thể là một đường điều khiển của busđịa chỉ hay bus dữ liệu hoặc là mỗi chân hoạt động một cách độc lập để giao tiếpvới các thiết bị đơn bit như công tắc, LED, transistor…
Port 0
Là port có 2 chức năng, ở trên chân từ 32 đến 39 của AT89S52 Trong cácthiết kế cỡ nhỏ không dung bộ nhớ ngoài, port 0 được sử dụng như là những cổng I/
O Còn trong các thiết kế lớn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì port
0 trở thành các đường truyền dữ liệu và 8 bits thấp của bus địa chỉ
P3.0P3.1
RxDTxD
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Trang 17INT 0 INT 1
T0T1
Ngõ vào của TIMER 1
Điều khiển ghi dữ liệu lên bộ nhớ
Điều chỉnh đọc bộ nhớ dữ liệu ngoài
Bảng 2.1 Chức năng của các chân trên port3
PSEN (Program Store Enable)
AT89S52 có 4 tín hiệu điều khiển, PSEN là tín hiệu ra trên chân 29 Nó là tínhiệu điều khiển để cho phép truy xuất bộ nhớ chương trình mở rộng và thường đượcnối đến chân OE (Output Enable) của một EPROM để cho phép đọc các byte mãlệnh của chương trình Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình củamột lệnh Các mã nhị phân của chương trình được đọc từ EPROM qua bus và đượcchốt vào thanh ghi lệnh của AT89S52 để giải mã lệnh Khi thi hành chương trìnhtrong ROM nội PSEN sẽ ở mức cao
ALE (Address Latch Enable )
Tín hiệu ra ALE trên chân 30 tương ứng hợp với các thiệt bị xử lý 8585, 8085,
8951 dùng ALE để giải đa hợp bus địa chỉ dữ liệu, khi port 0 được dùng làm bus địachỉ/dữ liệu đa hợp: vừa là bus dữ liệu vừa là byte thấp của địa chỉ 16 bit ALE là tínhiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầu của chu kỳ bộ nhớ.Sau đó, các đường port 0 dùng để xuất nhập dữ liệu trong nữa sau chu kỳ của chu
kỳ bộ nhớ
Trang 18Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và cóthể được dùng là nguồn xung nhịp cho các hệ thống Nếu xung trên AT89S52 là12MHz thì ALE có tần số là 2MHz Chân này cũng được làm ngõ vào cho xung lậptrình cho EPROM trong AT89S52
EA (External Access)
Tín hiệu vào EA trên chân 31 thường được nối lên mức cao (+5V) hoặc mứcthấp (GND) Nếu ở mức cao, AT89S52 thi hành chương trình từ ROM nội trongkhoảng địa chỉ thấp (4K) Nếu ở mức thấp, chương trình chỉ được thi hành từ bộnhớ mở rộng Người ta còn dung chân EA làm chân cấp điện áp 21V khi lập trìnhcho EPROM trong AT89S52
RST (Reset)
Ngõ vào RST trên chân 9 là ngõ reset của AT89S52 Khi tín hiệu này đượcđưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong AT89S52 đượcđưa vào những giá trị thích hợp để khởi động hệ thống
Trang 19Hình 2.4 Sơ đồ mạch reset ngoài của AT89S52
Trang 202.3.1.5 Tổ chức bộ nhớ
Trên vi điều khiển AT89S52 đều có cả bộ nhớ chương trình (ROM) và bộ nhớ
dữ liệu (RAM) Tuy nhiên dung lượng của các bộ nhớ trên chip là hạn chế Khi thiết
kế các ứng dụng đòi hỏi bộ nhớ lớn người ta có thể dùng bộ nhớ ngoài
2.3.1.6 Bộ nhớ chương trình
Bộ nhớ chương trình là bộ nhớ chỉ đọc, là nơi lưu trữ chương trình của vi điềukhiển Bộ nhớ chương trình của họ 8051 có thể thuộc một trong các loại sau ROM,EPROM, FLASH hoặc không có bộ nhớ chương trình trên chip Với họ vi điềukhiển 89xx, bộ nhớ chương trình được tích hợp sẵn trong chip có kích thước nhỏnhất là 4kByte Với các vi điều khiển không tích hợp sẵn bộ nhớ chương trình trênchip, buộc phải thiết kế bộ nhớ chương trình bên ngoài
Địa chỉ đầu tiên của bộ nhớ chương trình là 0000H, chính là địa chỉ reset của
vi điều khiển Ngay khi bật nguồn hoặc reset vi điều khiển, thì CPU sẽ nhảy đếnthực hiện lệnh ở địa chỉ 0000H này
Khi sử dụng bộ nhớ trên chip thì chân EA phải được nối lên mức logic cao(+5V) Nếu bạn muốn mở rộng bộ nhớ chương trình thì chúng ta phải dùng bộ nhớngoài với dung lượng tối đa là 64Kbyte
2.3.1.7Bộ nhớ dữ liệu
Bộ nhớ dữ liệu tồn tại độc lập so với bộ nhớ chương trình Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với
bộ nhớ dữ liệu ngoài lên tới 64kByte
Bộ nhớ dữ liệu được phân chia như sau:
Trang 21* Các băng thanh ghi có địa chỉ từ 00H đến 1FH 32 byte thấp của bộ nhớ nộiđược dùng cho các băng thanh ghi (dãy thanh ghi) Bộ lệnh 8051 hỗ trợ 8thanh ghi R0 đến R7 và theo mặc định sau khi reset hệ thống, các thanh ghinày có các địa chỉ từ 00H đến 07H Do có 4 băng thanh ghi nên tại một thờiđiểm chỉ có duy nhất 1 băng thanh ghi được truy suất bới các thanh ghi R0 -R7, để thay đổi các băng thanh ghi thì ta thay đổi các bit chọn băng trongthanh ghi trạng thái PSW
* Vùng RAM địa chỉ hóa từng bit có địa chỉ từ 20h đến 2Fh 8051 chứa 210 vịtrí bit được định địa chỉ trong đó 128 bit chứa trong các byte ở địa chỉ từ 20Hđến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại chứa trong các thanh ghiđặc biệt Ngoài ra 8051 còn có các cổng xuất/nhập có thể định địa chỉ từng bit,điều này làm đơn giản việc giao tiếp bằng phần mềm với các thiết bị xuất/nhậpđơn bit
* Vùng RAM đa dụng có địa chỉ từ 30h đến 7Fh Bất kỳ vị trí nhớ nào trongvùng RAM đa mục đích đều có thể được truy xuất tự do bằng cách sử dụngcác kiểu định địa chỉ trực tiếp hoặc gián tiếp
* Các thanh ghi chức năng đặc biệt có địa chỉ từ 80h đến FFh Cũng như cácthanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt SFR chiếmphần trên của Ram nội từ địa chỉ 80H đến FFH Cần lưu ý là không phải tất cả
128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ có 21 địa chỉ đượcđịnh nghĩa
Trang 22Hình 2.5 Cấu trúc bộ nhớ dữ liệu của AT89S52 2.3.1.8 Giới thiệu về lập trình hợp ngữ 8051
Trong phần này chúng ta bàn về dạng thức của hợp ngữ và định nghĩa một sốthuật ngữ sử dụng rộng rãi gắn liền với lập trình hợp ngữ CPU chỉ có thể làm việcvới các số nhị phân và có thể chạy với tốc độ rất cao Tuy nhiên, thật là ngán ngậm
và chậm chạp đối với con người phải làm việc với các số 0 và 1 để lập trình chomáy tính Một chương trình chứa các số 0 và 1 được gọi là ngôn ngữ máy Trongnhững ngày đầu của máy tính, các lập trình viên phải viết mã chương trình dướidạng ngôn ngữ máy Mặc dù hệ thống thập lục phân (số Hex) đã được sử dụng nhưmột cách hiệu quả hơn để biểu diễn các số nhị phân thì quá trình làm việc với mãmáy vẫn còn là công việc cồng kềnh đối với con người Cuối cùng, hợp ngữ cũngđược xây dựng, trong đó có sử dụng các từ gợi nhớ cho các lệnh mã máy cộng vớinhững đặc tính khác giúp cho việc lập trình nhanh hơn và ít mắc lỗi hơn Thuật ngữ
Trang 23từ gợi nhớ (mnemonic) thường được sử dụng trong tài liệu khoa học và kỹ thuậtmáy tính để tham chiếu cho các mã lệnh và từ viết tắt tương đối dễ nhớ Các chươngtrình hợp ngữ phải được dịch ra thanh mã máy bằng một chương trình được gọi làtrình hợp ngữ (hợp dịch) Hợp ngữ được coi như là một ngôn ngữ bậc thấp vì nógiao tiếp trực tiếp với cấu trúc bên trong của CPU Để lập trình trong hợp ngữ, lậptrình viên phải biết tất cả các thanh ghi của CPU và kích thước của chúng cũng nhưcác chi tiết khác Ngày nay, ta có thể sử dụng nhiều ngôn ngữ lập trình khác nhau,chẳng hạn như Basic, Pascal, C, C ++, Java và vô số ngôn ngữ khác Các ngôn ngữnày được coi là những ngôn ngữ bậc cao vì lập trình viên không cần phải tương tácvới các chi tiết bên trong của CPU Một trình hợp dịch được dùng để dịch chươngtrình hợp ngữ ra mã máy còn (còn đôi khi cũng còn được gọi mà đối tượng (ObjectCode) hay mã lệnh (Opcode), còn các ngôn ngữ bậc cao được dịch thành các ngônngữ mã máy bằng một chương trình gọi là trình biên dịch
Một chương trình hợp ngữ bao gồm một chuỗi các dòng lệnh hợp ngữ Mộtlệnh hợp ngữ có chứa một từ gợi nhớ và tùy theo từng lệnh và sau nó có một hoặchai toán hạng Các toán hạng là các dữ liệu cần được thao tác và các từ gợi nhớ làcác lệnh đối với CPU nói nó làm gì với các dữ liệu Dưới đây là ví dụ về mộtchương trình hợp ngữ
ORG 0H ; Bắt đầu (origin) tại ngăn nhớ 0
MOV R5, #25H ; Nạp 25H vào R5
MOV R7, #34H ; Nạp 34H vào R7
MOV A, #0 ; Nạp 0 vào thanh ghi A
Trang 24ADD A, R5 ; Cộng nội dụng R5 vào A (A = A + R5)
ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7)
ADD A, #121H ; Cộng giá trị 12H vào A (A = A + 12H)
HERE: SJMP HERE ; ở lại trong vòng lặp này
END ; Kết thúc tệp nguồn hợp ngữ
Như vậy cấu trúc của một chương trình hợp ngữ ta đã được biết, câu hỏi đặt ra
là chương trình sẽ được tạo ra và hợp dịch như thế nào và làm thế nào để có thểchạy được? Các bước để tạo ra một chương trình hợp ngữ có thể chạy được là:
1 Trước hết ta sử dụng một trình soạn thảo để viết được chương trình giốngnhư chương trình ở ví dụ trên Có nhiều trình soạn thảo tuyệt vời để soạn thảochương trình như trình soạn thảo EDIT của MS-DOS hoặc Notepad Lưu ý rằng,trình soạn thảo phải có khả năng tạo ra tệp mã ASCII Đối với nhiều trình hợp ngữthì các tên tệp tuân theo các quy ước thường lệ của DOS, nhưng phần mở rộng củacác tệp nguồn phải là asm hay src (source - tệp nguồn) tuỳ theo trình hợp ngữ mà
Trang 254 Kế sau đó tệp abs được nạp vào một chương trình chuyển đổi tệp đối tượng
về dạng số HEX được gọi là “OH” Tệp này đuôi mở rộng Hex và có thể nạp tốtvào trong ROM
Hiện nay các phần mềm thường kết hợp các bước 2 đến 4 vào thành một bước
để tạo được tệp Hex Điển hình như phần mềm KEIL C, đây là chương trình hỗ trợkhá đầy đủ trong việc lập trình cho vi điều khiển họ 8051 ngoài việc biên dịch bằngngôn ngữ C bạn cũng có thể biên dịch dưới dạng ASM
Trong phần mềm này, ta có thể soạn thảo chương trình bằng ngôn ngữ C hoặc hợp ngữ Assembly, sau đó sẽ dùng phần mềm này để biên dịch chương trình thành tệp Hex để nạp vào Chip
4.3.2 Led hồng ngoại
Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy đượcbằng mắt thường, có bước sóng khoảng từ 0.86µm đến 0.98µm Tia hồng ngoại cóvận tốc truyền bằng vận tốc ánh sáng
Trang 26có dòng điện nhỏ bé chạy qua ứng với dòng điện ngược (còn gọi là dòng điện tối).Khi có quang thông dòng điện qua mối nối p-n tăng lên gọi là dòng điện sáng Nguyên lý làm việc của diode trong chế độ nguồn phát quang điện (pin mặttrời): Khi quang thông, các điện tích trên mối nối p-n được giải phóng tạo ra sứcđiện động trên 2 cực của diode, do đó làm xuất hiện dòng điện chảy trong mạch Trị
số sức điện động xuất hiện trong nguồn quang điện phụ thuộc vào loại nguồn phát
và trị số của quang thông
2.3.2.2Led thu
Tia hồng ngoại từ phần phát được tiếp nhận bởi LED thu hồng ngoại
Nguyên lý hoạt động: Khi led thu nhận được tín hiệu từ led phát , điện trở củaled thu giảm xuống mạnh Khi ngăn ánh sáng chiều vào thì ngược lại không hoạtđộng dẫn dòng của led thu
4.3.3 Quang trở
Hình 2.6 Hình ảnh quang trở
Quang trở là điện trở mà hoạt động của nó dựa trên hiệu ứng quang dẫn
Trang 27Cấu tạo: Quang trở được làm từ chất bán dẫn nhạy quang (có thể là CadmiumSulfide-CdS, Cadmium Selenide – CdSe).
Nguyên lý làm việc: Khi có bức xạ chiếu vào, chất bán dẫn hấp thụ nănglượng làm phát sinh các điện tử tự do và lỗ trống, tức sự dẫn điện tăng lên và làmgiảm điện trở của chất bán dẫn Các đặc tính điện và độ nhạy của quang trở tùythuộc vào chất liệu dùng trong chế tạo
4.3.4 Bộ so sánh LM393N
Hình 2.7 IC LM393N
Bộ so sánh là 1 opamp (bộ khuếch đại thuật toán) chuyên dùng So sánh điện
áp ở 2 ngõ vào và cho kết quả ở ngõ ra Bộ so sánh có 2 ngõ vào, ngõ vào đảo vàngõ vào không đảo Nếu điện áp ở ngõ vào đảo lớn hơn ngõ vào không đảo thì ngõ
ra ở mức thấp Ngược lại, nếu điện áp ngõ vào đảo nhỏ hơn điện áp ngõ vào khôngđảo thì ngõ ra ở mức cao
LM393N gồm có 2 bộ khuếch đại thuật toán
Bộ khuếch đại thứ 1: Chân 2, 3 vào, chân 1 ra
Trang 28 Bộ khuếch đại thứ 2: Chân 5, 6 vào, chân 7 ra.
Hình 2.8 Sơ đồ chân LM393N
- IC tích hợp 2 bộ khuếch đại thuật toán
- Điện áp cung cấp từ 3volts đến 36volts
Trang 29Hình 2.9 Sơ đồ nguyên lý của LCD 16x2
Chức năng của các chân:
Các chân Vss, Vcc và Vee: Chân Vcc cấp dương nguồn 5V, chân Vss nốiđất, chân Vee được dùng để điều khiển độ tương phản của màn hình LCD
RS (Resgister select): Khi ở mức thấp, chỉ thị được truyền đến LCD như xóamàn hình, vị trí con trỏ…Khi ở mức cao, kí tự được truyền đến LCD
R/W (Read/Write): Dùng để xác định của dữ liệu được truyền giữa LCD và
vi điều khiển Khi nó ở mức thấp dữ liệu được ghi đến LCD và khi ở mứccao, dữ liệu được đọc từ LCD Nếu chúng ta chỉ cần ghi dữ liệu lên LCD thìchúng ta có thể nối chân này xuống GND để tiếp kiệm chân
E (Enable): Cho phép ta truy cập/xuất đến LCD thông qua chân RS và R/W.Khi chân E ở mức cao (1), LCD sẽ kiểm tra trạng thái của 2 chân RS và R/W
và đáp ứng cho phù hợp Khi dữ liệu được cấp đến chân dữ liệu thì một xungmức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các
Trang 30chân dữ liệu Xung này phải rộng tối thiểu là 450ns Còn khi chân E ở mứcthấp (0), LCD sẽ vô hiệu hóa hoặc bỏ qua tín hiệu của 2 chân RS và R/W.
Các chân D0-D7: Đây là 8 chân dữ liệu 8 bit được dùng để gửi thông tin lênLCD hoặc đọc nội dung của các thanh ghi trong LCD Các kí tự được truyềntheo mã tương ứng trong bảng mã ASCII Cũng có các mã lệnh mà có thểđược gửi đến LCD để xóa màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấpnháy con trỏ
LCD có 2 chế độ giao tiếp, chế độ 4 bit (chỉ dùng 4 chân D4 đến D7 đểtruyền dữ liệu) và chế độ 8 bit (dùng cả 8 chân dữ liệu từ D0 đến D7); ở chế
độ 4 bit, khi truyền 1 byte, chúng ta sẽ truyền nữa cao của byte trước, sau đómới truyền nữa thấp của byte
Trước khi truyền các kí tự ra màn hình LCD ta cần thuyết lập cho LCD nhưchọn chế độ 4 bit hoặc 8 bit, 1 dòng hay 2 dòng, bật/tắt con trỏ…
âm và dương Ba lớp bán dẫn được nối ra thành ba cực, lớp giữa gọi là cực gốc kýhiệu là B (base), lớp bán dẫn B rất mỏng và có nồng độ tạp chất thấp Hai lớp bán
Trang 31dẫn ngoài được nối ra thành cực phát (Emitter) viết tắt là E, và cực thu (Collector)viết tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn ( loại N hay P) nhưng cókích thước và nồng độ tạp chất khác nhau nên không hoán vị cho nhau được.
2.3.6.2 Nguyên tắc hoạt động của transistor
Trong chế độ tuyến tính hay còn gọi là chế độ khuếch đại, transistor là phầntửkhuếch đại dòng điện với dòng Ic bằng β lần dòng bazo (dòng điều khiển) Trong đó
β là hệ số khuếch đại dòng điện: Ic = β.Ib
Hình 2.10 Hình ảnh transistor 4.3.7 Tụ điện
Tụ điện là linh kiện tự thụ động được sử dụng rộng rãi trong các mạch điện tử,chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch truyền tín hiệuxoay chiều, mạch tạo dao động
Trang 32Hình 2.11 Một số loại tụ điện 4.3.8 Rơ le
Rơ le là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ đểđiều khiển một dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng đượcxem là một thiết bị bảo vệ Một rơ le điển hình điều khiển mạch và cả điều khiểnnguồn Kết cấu rơle gồm một lõi sắt, một cuộn từ và một tiếp điểm
Hình 2.12 Cấu tạo một rơ le đơn giản và hình ảnh
rơ le 5V 4.3.9 IC ổn áp