LỜI NÓI ĐẦU Trong những năm gần đây, nền kinh tế của nước ta phát triển rất mạnh mẽ và nhanh chóng, để đạt được kết quả này thì có sự đóng góp rất của ngành kĩ thuật điện tử, kĩ thuật vi xử lý. Với sự phát triển như vũ bão hiện nay thì kĩ thuật điệnđiện tử, kĩ thuật vi xử lý đang xâm nhập vào tất cả các ngành khoa học – kĩ thuật khác và đã đáp ứng được mọi nhu cầu của người dân. Sự ra đời của các vi mạch điều khiển với giá thành giảm nhanh ,khả năng lập trình ngày càng cao đã mang lại những thay đổi sâu sắc trong ngành kỹ thuật – điện tử. Để bước đầu làm quen dần với vi điều khiển, chúng em đã được các thầy cô giáo trong khoa giao cho đồ án môn học với đề tài: “Thiết kế, chế tạo đồng hồ led công cộng sử dụng pin năng lượng mặt trời”. Trong thời gian nghiên cứu và làm đồ án dựa vào kiến thức đã được học ở trường, qua một số sách, tài liệu có liên quan cùng với sự giúp đỡ tận tình của thầy Phạm Tuấn Tài và thầy Lê Quang Dũng nên đồ án của chúng em đã hoàn thành. Trong quá trình thực hiện đề tài, mặc dù chúng em đã rất cố gắng nhưng không thể tránh khỏi sai xót. Vì vậy chúng em rất mong được sự đóng góp của thầy cô và các bạn để giúp đề tài phát triển thêm.
Trang 1LỜI NÓI ĐẦU
Trong những năm gần đây, nền kinh tế của nước ta phát triển rất mạnh mẽ và
nhanh chóng, để đạt được kết quả này thì có sự đóng góp rất của ngành kĩ thuật điện tử, kĩthuật vi xử lý
Với sự phát triển như vũ bão hiện nay thì kĩ thuật điện-điện tử, kĩ thuật vi xử lý đang xâmnhập vào tất cả các ngành khoa học – kĩ thuật khác và đã đáp ứng được mọi nhu cầu củangười dân Sự ra đời của các vi mạch điều khiển với giá thành giảm nhanh ,khả năng lậptrình ngày càng cao đã mang lại những thay đổi sâu sắc trong ngành kỹ thuật – điện tử
Để bước đầu làm quen dần với vi điều khiển, chúng em đã được các thầy cô giáo
trong khoa giao cho đồ án môn học với đề tài: “Thiết kế, chế tạo đồng hồ led công cộng
sử dụng pin năng lượng mặt trời”.
Trong thời gian nghiên cứu và làm đồ án dựa vào kiến thức đã được học ở trường, qua
một số sách, tài liệu có liên quan cùng với sự giúp đỡ tận tình của thầy Phạm Tuấn Tài
và thầy Lê Quang Dũng nên đồ án của chúng em đã hoàn thành Trong quá trình thực
hiện đề tài, mặc dù chúng em đã rất cố gắng nhưng không thể tránh khỏi sai xót Vì vậychúng em rất mong được sự đóng góp của thầy cô và các bạn để giúp đề tài phát triểnthêm
Chúng em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Văn Tuấn Trần Văn Toàn
Trang 2MỤC LỤ
MỤC LỤC HÌNH ẢNH……… 4
DANH MỤC BẢNG BIỂU 5
DANH MỤC CÔNG THỨC……… 6
CHƯƠNG I TỔNG QUAN ĐỀ TÀI 7
1.1 Tổng quan đề tài 7
1.2 Mục tiêu đề tài 9
CHƯƠNG II THIẾT KẾ, CHẾ TẠO 10
2.1 Phương án thiết kế 11
2.2 Thiết kế phần cơ khí 11
2.3 Thiết kế phần điều khiển 14
2.3.1 Phần Cứng 14
2.3.1.1 Sơ đồ khối 14
2.3.1.2 Khối nguồn 14
2.3.1.3 Khối thời gian thực 15
2.3.1.4 Khối phím nhấn 16
2.3.1.5 Khối điều khiển 17
2.3.1.6 Khối đệm 18
2.3.1.7 Khối hiển thị 19
2.3.2 Mạch nguyên lý 20
2.3.3 Mạch board hoàn chỉnh 21
2.3.4 Các linh kiện sử dụng 22
2.3.4.1 Vi điều khiển AT89C51 22
2.3.4.2 Chuẩn giao tiếp I2C 33
2.3.4.3 Chíp thời gian thực DS1307 37
2.3.4.4 IC ổn áp nguồn 7805 41
2.3.4.5 Điện trở 41
2.3.4.6 Tụ điện 47
Trang 32.3.4.7 Đèn LED 50
2.3.4.8 IC ULN2803 51
2.3.5 Lưu đồ thuật toán và chương trình điều khiển 52
2.3.6 Lắp ráp, chạy thử 54
2.4 KẾT LUẬN 56
2.4.1 Kết quả đạt được 56
CHƯƠNG III KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN ĐỀ TÀI 58
3.1 Kết luận 58
3.2 Phương hướng phát triển của đề tài 58
3.3 Kết luận chung 59
LỜI CẢM ƠN 60
TÀI LIỆU THAM KHẢO 60
PHỤ LỤC 61
Trang 4MỤC LỤC HÌNH ẢNH
Hình 1: Một số hình ảnh thực
tế…… 10
Hình 2: Một mặt bảng led hiển thị đồng hồ 12
Hình 3: Mô hình cơ khí được vẽ mô phỏng bằng inventer 13
Hình 4: Sơ đồ tổng quát hệ thống đồng hồ thời gian thực 14
Hình 5: Sơ đồ nguyên lý khối nguồn 14
Hình 6: Sơ đồ nguyên lý khối thời gian thực 15
Hình 7: Sơ đồ nguyên lý khối phím nhấn 16
Hình 8: Sơ đồ nguyên lý khối điều khiển 17
Hình 9: Sơ đồ nguyên lý khối đệm 18
Hình 10: Sơ đồ nguyên lý khối hiển thị 19
Hình 11: Sơ đồ mạch nguyên lý 20
Hình 12: Mạch bo hoàn chỉnh 21
Hình 13: Sơ đồ khối của AT89C51 22
Hình 14: Sơ đồ chân của AT89C51………… 23
Hình 15: Cấu trúc Port 0……… 23
Hình 16: Cấu trúc Port 1………24
Hình 17: Cấu trúc Port 2……… 25
Hình 18: Cấu trúc Port 3……… ……… … 25
Hình 19: Sơ đồ mạch reset của AT89C51……… 27
Hình 20: Sơ đồ kết nối thạch anh……….……… ….…27
Hình 21: Bản đồ bộ nhớ Data bên trong chip 89C5….………28
Hình22: Tổ chức I2C ……….………34
Hình 23: Bus I2C 34
Trang 5Hình 24: Thiết bị chủ tớ I2C 35
Hình 25: Chíp thời gian thực DS1307 37
Hình 26: Cấu tạo bên trong DS1307 38
Hình 27: Tổ chức theo từng bit của các thanh ghi 39
Hình 28: Địa chỉ của thanh ghi trong bộ nhớ……… …40
Hình 29: IC ổn áp 7805 41
Hình 30: Tụ điện phân cực, tụ hóa 49
Hình 31: Tụ không phân cực 49
Hình 32: Hình ảnh led……….…….50
Hình 33: Sơ đồ chân IC ULN2803……….………51
Hình 34: Mô hình thực tế 55
DANH MỤC BẢNG BIỂU Bảng 1: Các tính năng đặc biệt của 89C51……… 26
Bảng 2: Thanh ghi trạng thái chương trình……… 29
Bảng 3: Ưu tiên ngắt……….31
Bảng 4: Cho phép và cấm ngắt(IE)………32
Bảng 5: Các cờ ngắt……….…32
Bảng 6: các vecto ngắt……….…33
Bảng 7: Điện trở suất của vật liệu……….43
Bảng 8: Bảng thông số hoạt động của IC……….52
Trang 6DANH MỤC CÔNG THỨC
(1)Công thức định luật Ôm 41
(2) Công thức tính công suất thất thoát 44
(3) Công thức tính điện trở dây dẫn……… 45
(4) công thức tính trở kháng vi phân 45
(5)công thức sự phụ thuộc nhiệt độ……… 46
(6)Công thức tính điện trở chất bán dẫn 47
(7)công thức tính cảm kháng cuộn dây 47
(8) công thức tính điện dung… 48
Trang 7CHƯƠNG I TỔNG QUAN ĐỀ TÀI 1.1 Tổng quan đề tài
Trong tiến trình phát triển của loài người, việc sử dụng năng lượng là đánh dấumột cột mốc rất quan trọng Từ đó đến nay, loài người sử dụng năng lượng ngày càngnhiều , nhất là trong vài thế kỷ gần đây Trong cơ cấu năng lượng hiện nay,chiếm phầnchủ yếu là năng lượng tàn dư sinh học than đá,dầu mỏ,khí tự nhiên Kế là năng lượngnước thủy điện,năng lượng hạt nhân, năng lượng sinh khối (bio.gas, …) năng lượng mặttrời, năng lượng gió chỉ chiếm một phần khiêm tốn Xã hội loài người không phát triểnnếu không có năng lượng
Ngày nay, năng lượng không tái sinh, ngày càng kiệt, giá dầu mỏ tăng từng ngày,ảnh hưởng xấu đến sự phát triển kinh tế xã hội và môi trường sống Tìm kiếm nguồn nănglượng thay thế là nhiệm vụ cấp bách của các nhà khoa học ,kinh tế, các chính trị gia,… vàmỗi người chúng ta Nguồn năng lượng thay thế đó phải sạch, thân thiện với môi trường,chi phí thấp, không cạn kiệt (tái sinh), và dễ sử dụng
Pin năng lượng mặt trời là những tấm pin sử dụng tính chất sóng hạt của ánh sángmặt trời gây hiện tượng quang điện để tạo ra dòng điện Pin mặt trời được thiết kế và cấutạo bởi các kim loại có tính chất quang điện Các tấm pin mặt trời là sự phát minh quantrọng của thế kỉ 20 mang đến cho con người nguồn năng lượng lớn và có thể nói là vôhạn Pin năng lượng mặt trời có nhiều kích thước khác nhau cho phép sử dụng trong nhiềutrường hợp cũng như với công suất khác nhau Với các tấm pin năng lượng mặt trời conngười có thể sử dụng và dự trữ năng lượng từ mặt trời, một loại năng lượng sạch khônggây ô nhiễm môi trường
Pin năng lượng mặt trời có nhiều loại khác nhau nhưng có chung một nguyên lýhoạt động đó là dựa vào hiện tượng quang điện trên bề mặt kim loại theo nghiên cứu của
Trang 8các nhà khoa học thì trong tương lai pin năng lượng mặt trời có thể đáp ứng được 83%năng lượng sử dụng của chúng ta Chính vì thế nghiên cứu về năng lượng mặt trời là một
đề tài rất hay Trong cuộc sống hang ngày , chúng ta sử dụng khối lượng năng lượngkhổng lồ Cuộc sống của chúng ta xoay quanh sự tiêu thụ các nguồn tài nguyên thiênnhiên và tiêu thụ năng lượng
Phần lớn trong tỷ lệ tiêu thụ năng lượng dược dùng cho sưởi ấm-58% một phầntrong số này có thể cung cấp từ năng lượng mặt trời Kế tiếp là nấu nước, chiếm 24%tổng năng lượng tiêu thụ, hoàn toàn có thể nấu nước bằng năng lượng mặt trời Điều dó
có nghĩa là có thể đáp ứng 83% nhu cầu năng lượng bằng công nghệ năng lượng mặt trời Phần năng lượng, 13% được dùng để tạo ra điện năng để cung cấp cho chiếu sáng và cácthiết bị gia dụng Năng lượng được dùng cho nấu ăn,5% cũng có thể tạo ra từ năng lượng
Năng lượng mặt trời là dạng năng lượng sạch, xanh, miễn phí, và có giá trị sửdụng tốt nhất mặt trời đã xuất hiện cách đây 5 tỷ năm và tiếp tục thêm 5 tỷ năm nữa, quá
đủ cho loài người Chúng ta đang tìm các công nghệ sử dụng dạng năng lượng này mộtcách hiệu quả nhất, do đây là năng lượng sạch, rất than thiện vơi môi trường Đây thực sự
là nguồn tài nguyên khổng lồ Cơ quan năng lượng quốc tế dự báo khai thác năng lượngcủa 33 trong số 48 nhà sản xuất dẩu mõ hàng đầu thế giới đang giảm Điều đó đang thànhhiện thực
Không chỉ có đỉnh sản lượng dầu mõ, hiện nay còn có đỉnh than đá, đỉnh khí tựnhiên, và đỉnh uranium Tất cả các nguồn tài nguyên này đều có giới hạn, không thể khaithác mãi mãi Điều đó có nghĩa là những người tin tưởng vào năng lượng hạt nhân có thể
bị sốc, năng lượng hạt nhân từng được coi là nguồn thay thế hửu hiệu cho nhiên liệu tàn
dư sinh học, nhưng mọi người phải đối mặt với cùng một vấn đề Nếu tất cả đều chuyểnsang năng lượng hạt nhân, tốc độ tiêu thụ uranium sẽ tăng nhanh, chưa kể các nguy cơ về
an toàn hạt nhân do đó chúng em muốn ứng dụng vào những vật dụng thực tế và cần thiếtcho con người, qua quá trình tìm hiểu em nhận thấy đồng hồ là một vật dụng không thểthiếu trong cuộc sống của chúng ta Giúp chúng ta biết được thời gian để chúng ta có thểsắp xếp công việc ,vui chơi,nghỉ ngơi 1 cách hiệu quả nhất Với vốn kiến thức đã được
học kết hợp với thực tiễn chúng em nhận thấy đề tài:“ Thiết kế,chế tạo đồng hồ led công
Trang 9cộng sử dụng pin năng lượng mặt trời” Rất phù hợp với khả năng của chúng em và có
tính áp dụng vào thực tiễn cao nên chúng em đã chọn đề tài trên để hoàn thiện đồ án tốtnghiệp của mình
1.2 Mục tiêu đề tài
Thiết kế chế tạo đồng hồ led sử dụng pin năng lượng mặt trời có khả năng chịuđựng các yếu tố về môi trường
Đảm bảo yêu cầu kỹ thuật của đề tài có khả năng ứng dụng vào thực tiễn
Giúp sinh viên hiểu biết hơn về công dụng và cách sử dụng của một số linh kiệnđặc biệt là hiểu rõ về vi điều khiển
Giúp sinh viên có khả năng nghiên cứu và làm việc độc lập cũng như theo nhóm.Tìm hiểu và biết được cấu tạo,nguyên lý hoạt động của đồng hồ led hiển thị số sử dụngpin năng lượng mặt trời Biết được cấu tạo và nguyên lý hoạt động cũng như ứng dụngcủa các linh kiện điện tử Chế tạo và chạy thành công đồng hồ led hiển thị số
Thiết kế được đồng hồ led sử dụng pin năng lượng mặt trời hoạt động ổn địnhgiữa kết cấu cơ khí và cơ cấu điều khiển
Tính toán và đảm bảo yêu cầu kỹ thuật của đề tài có khả năng ứng dụng vào thựctiễn
Đưa ra được yêu cầu điều khiển cũng như các tính năng của đồng hồ led đồngthời nắm rõ được các yêu cầu đó
Đưa ra được sản phẩm như tính toán đồng thời sản phẩm phải hoạt động ổn định.Một số hình ảnh thực tế về đồng hồ led:
Trang 11-Dùng vi điều khiển ( AT89C51 )
Dùng IC số thì kết quả không thể chính xác được vì sai số do nhiều IC tạo nên Vìthế em đã lựa chọn phương án dùng AT89C51 với lựa chọn này ta có 2 phương án nhỏ ởbên trong :
-Phương án 1: dùng ngắt và timer có sẵn trong AT89C51
-Phương án 2: dùng bộ định thời gian thực DS1307
Trang 12Sau khi cân nhắc em lựa chọn phương án 2 là vì nếu dùng ngắt và timer trongAT89C51 thì kết quả có độ chính xác thấp.Khi mất điện thì ta phải cài lại thời gian chonó,điều này không khả thi Ngược lại,khi dùng DS1307 thì dù mất điện chúng ta cũngkhông phải cài lại thời gian cho đồng hồ và độ chính xác là khá cao.
2.2 Thiết kế phần cơ khí
Tính toán kích thước cho mô hình cơ khí
Trong sản phẩm này chúng em lựa chọn mô hình cơ khí có cơ cấu hình hộp chữnhật với hai mặt chính hiển thị đồng hồ led
Dựa vào cách bố trí, sắp xếp led trong bảng hiển thị của hai mặt với các khoảng cách nhưtrên hình vẽ:
Hình 2: Một mặt bảng led hiển thị đồng hồ
Trang 14Hình 3: Mô hình cơ khí được vẽ mô phỏng bằng inventer
Kích thước mặt hiển thị led là 700x350(mm) các led đơn được ghép với nhau
thành led 7 thanh, khoảng cánh giữa 2 led đơn liền nhau là 15mm, khoảng cách giữa 2 led
7 thanh giờ, phút liền nhau là 35mm, khoảng cách giữa giờ và phút là 60mm,
Từ những yêu cầu tính toán trên chúng em quyết đinh đưa ra mô hình là một khối hìnhhộp chữ nhật hai mặt hiển thị đồng hồ led có kích thước 700x350x150(mm)
Mô hình có chiều cao là 1,5m có khả năng chịu đựng và đảm bảo độ đứng vữngcủa đồng hồ
Trang 152.3 Thiết kế phần điều khiển
KHỐI NGUỒN
KHỐI ĐỆM THỜI GIAN
THỰC
KHỐI HIỂN THỊ KHỐI PHÍM
NHẤN
Trang 16Điện áp 12VDC từ nguồn qua IC7805 để ghim điện áp xuống còn 5VDC dùng đểnuôi cho khối thời gian thực và khối điều khiển.
Khối nguồn gồm: các tụ điện và IC ổn áp 7805 Tụ điện có tác dụng làm phẳngđiện áp giúp mạch nguồn làm việc ổn định
2.3.1.3 Khối thời gian thực
Hình 6: Sơ đồ nguyên lý khối thời gian thực
Điện áp 5VDC từ khối nguồn đưa vào chân 8 của IC DS1307 Lúc đó, thạch anhdao động xuất tín hiệu qua 2 tụ lọc tới chân 1 và 2 của IC DS1307 Khi có nguồn daođộng, chip bắt đầu cài đặt thời gian, giờ, phút rồi xuất giữ liệu ra chân 5 và 6 được kết nốivới chân P1.6 và P1.7 của IC 89C51
Chân 3 kết nối với 1 nguồn pin 3V để nuôi chip
Chức năng của mạch là tạo dao động thời gian thực với tần số thạch anh là32,768kHz
2.3.1.4 Khối phím nhấn
Trang 17Hình 7: Sơ đồ nguyên lý khối phím nhấn
khối phím nhấn có chức năng tạo tín hiệu điều khiển để điều chỉnh giờ, phútgồm 3 nút nhấn:
S2:nút thiết lập giờ,phút
S3:nút tăng, giảm
S4: nút di chuyển
Trang 182.3.1.5 Khối điều khiển
Hình 8: Sơ đồ nguyên lý khối điều khiển
Trang 19-Mặt khác, tín hiệu từ các phím nhấn đưa vào VĐK để hiệu chỉnh giờ, phút.
2.3.1.6 Khối đệm
Hình 9: Sơ đồ nguyên lý khối đệm
-Khối đệm có tác dụng nhận dữ liệu từ vi điều khiển, kích dòng cho bảng hiển thị,gồm 4 IC ULN2803
-Các chân đầu của IC ULN2803 sẽ được kết nối vào 8 chân dữ liệu của các ledtương ứng
Trang 202.3.1.7 Khối hiển thị
Hình 10: Sơ đồ nguyên lý khối hiển thị
-Khối hiển thị nhận dữ liệu từ vi điều khiển qua khối đệm hiển thị giá trị giờ,phút.
-Khối hiển thị gồm: led và bảng hiển thị
Trang 212.3.2 Mạch nguyên lý
Hình 11: Sơ đồ mạch nguyên lý
Trang 222.3.3 Mạch board hoàn chỉnh
Hình 12: Mạch bo hoàn chỉnh
Trang 232.3.4 Các linh kiện sử dụng
2.3.4.1 Vi điều khiển AT89C51
Hình 13: Sơ đồ khối của AT89C51
AT89C51 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ CMOS cócác đặc tính như sau:
4 KB PEROM (Flash Programmable and Erasable Read Only Memory), có khả năngtới 1000 chu kỳ ghi xoátần số hoạt động từ: 0Hz đến 24 MHz
3 mức khóa bộ nhớ lập trình
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit
4 chu kỳ máy (4 μs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia.s đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia
Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Power-down)
Trang 24Sơ đồ chân và sơ đồ nguyên lí của AT89C51
Port 0 là port có 2 chức năng ở các chân 32 – 39 của AT89C51:
Khi dùng ở chế độ IO: FET kéo lên tắt (do không có các tín hiệu ADDR vàCONTROL) nên ngõ ra Port 0 hở mạch Như vậy, khi thiết kế Port 0 làm việc ở chế độ
Trang 25IO, cần phải có các điện trở kéo lên Trong chế độ này, mỗi chân của Port 0 khi dùng làmngõ ra có thể kéo tối đa 8 ngõ TTL
Khi ghi mức logic 1 ra Port 0, ngõ ra Q của bộ chốt (latch) ở mức 0 nên FETtắt, ngõ ra Port 0 nối lên Vcc thông qua FET và có thể kéo xuống mức 0 khi kết nối vớitín hiệu ngoài Khi ghi mức logic 0 ra Port 0, ngõ ra Q của bộ chốt ở mức 1 nên
FET dẫn, ngõ ra Port 0 được nối với GND nên luôn ở mức 0 bất kể ngõ vào Do đó, đểđọc dữ liệu tại Port 0 thì cần phải set bit tương ứng
Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó
Chức năng địa chỉ / dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏi phải sửdụng bộ nhớ ngoài thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ (8 bit thấp).Ngoài ra khi lập trình cho AT89C51, Port 0 còn dùng để nhận mã khi lập trình và xuất màkhi kiểm tra
Port1 (chân 1 – 8) chỉ có một chức năng là IO, không dùng cho mục đích khác(chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ 3) Tại Port 1
đã có điện trở kéo lên nên không cần thêm điện trở ngoài
Trang 26Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉ thấp trongquá trình lập trình hay kiểm tra.
Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1 trước đó
Port 2:
Hình 17 : Cấu trúc Port 2
Port 2 (chân 21 – 28) là port có 2 chức năng:
- Chức năng IO (xuất / nhập): có khả năng kéo được 4 ngõ TTL
- Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ
16 bit Khi đó, Port 2 không được dùng cho mục đích IO
Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó
Khi lập trình, Port 2 dùng làm 8 bit địa chỉ cao hay một số tín hiệu điều khiển
Port 3:
Hình 18 : Cấu trúc Port 3
Trang 27Từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có tác dụng kép Các châncủa port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặcbiệt của AT89C51 như ở bảng sau:
PSEN (Program store enable)
PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng
và thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh
PSEN ở mức thấp trong thời gian 89C51 lấy lệnh Các mã lệnh của chương trìnhđược đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89C51 đểgiải mã lệnh Khi 89C51 thi hành chương trình trong ROM nội, PSEN ở mức cao
ALE (Address Latch Enable)
Khi 89C51 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữliệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùnglàm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với
IC chốt
Bit Tên Chức năng chuyển đổiP3.0
P3.1P3.2P3.3P3.4P3.5P3.6P3.7
RXDTXDINT0INT1T0T1WRRD
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Ngõ vào ngắt cứng thứ 0
Ngõ vào ngắt cứng thứ 1
Ngõ vào TIMER/ COUNTER thứ 0
Ngõ vào của TIMER/ COUNTER thứ 1
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
Tín hiệu đọc bộ nhớ dữ liệu ngoŕi
Trang 28Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò làđịa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức 1hoặc mức 0 Nếu ở mức 1, 89C51 thi hành chương trình từ ROM nội Nếu ở mức 0,89C51 thi hành chương trình từ bộ nhớ mở rộng Chân EA được lấy làm chân cấp nguồn21V khi lập trình cho Eprom trong 89C51
RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiệu đưa lên mức 1 trong
ít nhất là 2 chu kỳ máy Sơ đồ mạch reset có thể mô tả như sau:
Hình 19: Sơ đồ mạch reset của AT89C51
Sau khi reset, nội dung của RAM nội không thay đổi và các thanh ghi thay đổi vềgiá trị mặc định
Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bêntrong được nạp những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch phải tựđộng reset
Các giá trị tụ và điện trở được cho là: R1=10, R2=220, C=10 F
X1,X2:
Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêm thạchanh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho AT89C51 là12Mhz
Hình 20: Sơ đồ kết nối thạch anh
Các ngõ vào bộ dao động X1, X2:
Trang 29Bộ tạo dao động được tích hợp bên trong 89C51 Khi sử dụng 89C51, người ta chỉ cần nối thêm thạch anh và các tụ Tần số thạch anh tùy thuộc vào mục đích của người
sử dụng, giá trị tụ thường được chọn là 33p
P.1.3 Tổ chức bộ nhớ bên trong 89C51
RAM bên trong AT89C51 được phân chia như sau:
Các bank thanh ghi có địa chỉ từ 00H đến 1FH
RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH
RAM đa dụng từ 30H đến 7FH
Các thanh ghi chức năng đặc biệt từ 80H đến FFH
Địa chỉ Bit địa chỉ Địa chỉ Bit địa chỉ
Hình 21: Bản đồ bộ nhớ Data bên trong chip 89C5
Trang 30RAM có thể định địa chỉ bit
Vùng địa chỉ từ 20h -2Fh gồm 16 byte có thể thực hiện như vùng RAM đa dụng(truy xuât mỗi lần 8 bit) hay thực hiện truy xuất mỗi lần 1 bit bằng các lệnh xử lý bit.Các bank thanh ghi
Vùng địa chỉ 00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 từ 00h – 07h,bank 1 từ 08h – 0Fh, bank 2 từ 10h – 17h và bank 3 từ 18h – 1Fh Các bank thanh ghi nàyđược đại diện bằng các thanh ghi từ R0 đến R7 Sau khi khởi động thì hệ thống bank 0được chọn sử dụng
Các thanh ghi trong 89C51 được định dạng như một phần của RAM trên chip vìvậy mỗi thanh ghi sẽ có một Cũng như R0 đến R7, 89C51 có 21 thanh ghi có chức năngđặc biệt (SFR: Special Function Register) ở vùng trên của RAM nội từ địa chỉ 80H đến0FFH
Sau đây là một vài thanh ghi đặc biệt thường được sử dụng:
00=Bank 0; address 00H07H01=Bank 1; address 08H0FH10=Bank 2; address 10H17H11=Bank 3; address 18H1FH
Bảng 2: Thanh ghi trạng thái chương trình
P.1.4 Chức năng từng bit trạng thái chương trình
Trang 31Cờ Carry CF (Carry Flag):Cờ nhớ thường nó được dùng cho các lệnh toán học:
C =1 nếu phép toán cộng có sự tràn hoặc phép trừ có mượn và ngược lại C = 0nếu phép toán cộng không tràn và phép trừ không có mượn Cờ Carry phụ AC (AuxiliaryCarry Flag):Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC đượcset nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH - 0FH Ngược lại AC = 0
Cờ 0 (Flag 0): Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của người dùng.Những bit chọn bank thanh ghi truy xuất:RS1 và RS0 quyết định dãy thanh ghi tích cực.Chúng được xóa sau khi reset hệ thống và được thay đổi bởi phần mềm khi cần thiết Tùytheo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng là Bank 0, Bank1,Bank2 và Bank3 Cờ tràn OF (Over Flag):Cờ tràn được set sau một hoạt động cộng hoặctrừ nếu có sự tràn toán học Bit Parity (P):Bit tự động được set hay Clear ở mỗi chu kỳmáy để lập Parity chẵn với thanh ghi A Sự đếm các bit 1 trong thanh ghi A cộng với bitParity luôn luôn chẵn
P.1.5 Thanh ghi TIMER
Vi Điều Khiển 89C51 có 3 timer 16 bit, mỗi timer có bốn cách làm việc Người ta
sử dụng các timer để:
Định khoảng thời gian
Đếm sự kiện
Tạo tốc độ baud cho port nối tiếp trong 89C51
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình để thựchiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõ ra.Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời giantrôi qua giữa hai sự kiện (ví dụ đo độ rộng xung)
P.1.6 Thanh ghi ngắt (INTERRUPT )
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thờichương trình chính trong khi điều kiện đó được phục vụ bởi một chương trình khác.Cácngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng vi điều khiển
Trang 32Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn sẽ đượcphục vụ trước.Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên đượcthực hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1 – timer 1 – cổngnối tiếp – timer 2.Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà cómột ngắt xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy mộtchương trình khác có mức ưu tiên cao hơn.
Bit Ký hiệu Địa chỉ bit Mô tả
IP.5 ET2 BDH Chọn mức ưu tiên cao (=1) hay thấp (=0) tại timer
2IP.4 ES BCH Chọn mức ưu tiên cao (=1) hay thấp (=0) tại cổng
nối tiếp
IP.3 ET1 BBH Chọn mức ưu tiên cao (=1) hay thấp (=0) tại timer
1IP.2 EX1 BAH Chọn mức ưu tiên cao (=1) hay thấp (=0) tại ngắt
ngoài 1IP.1 ET0 B9H Chọn mức ưu tiên cao (=1) hay thấp (=0) tại timer
0IP.0 EX0 B8H Chọn mức ưu tiên cao (=1) hay thấp (=0) tại ngắt
Trang 33Bit Ký hiệu Địa chỉ bit Mô tả
IE.7 EA AFH Cho phép / Cấm toàn bộ
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052)
IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ Timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ Timer 0
IE.0 EX0 A8H Cho phép ngắt ngoài 0
Ngắt Cờ Thanh ghi SFR và vị trí bit
Trang 34
-
Bảng 5: Các cờ ngắt Khi chấp nhận ngắt, giá trị được nạp vào PC gọi là vector ngắt Nó là địa chỉ bắt
đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau :
Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo nghĩa này,
nó giống ngắt: nó ngắt chương trình chính và nạp cho PC giá trị mới
2.3.4.2 Chuẩn giao tiếp I2C
Giới thiệu chung về I2C
Ngày nay trong các hệ thống điện tử hiện đại, rất nhiều ICs hay thiết bị ngoại vi cần phảigiao tiếp với các ICs hay thiết bị khác – giao tiếp với thế giới bên ngoài Vói mục tiêu đạt được hiệu quả cho phần cứng tốt nhất với mạch điện đơn giản, Phillips đã phát triển