MỤC LỤC MỤC LỤC 1 DANH MỤC CÁC HÌNH VẼ 3 DANH MỤC CÁC BẢNG 4 MỞ ĐẦU 5 CHƯƠNG 1: ĐẶT VẤN ĐỀ 6 1.1.Lí do chọn đề tài 6 1.2.Mục tiêu và yêu cầu của đề tài 6 1.3 Vấn đề cần giải quyết 7 CHƯƠNG 2: SƠ LƯỢC VỀ BĂNG TẢI 8 2.1. Các loại băng tải sử dụng hiện nay 8 2.1.1. Giới thiệu chung về băng tải 8 2.1.2. Cấu tạo chung của băng tải 9 2.1.3 Các loại băng tải trên thị trường 10 2.2. Giới thiệu băng tải sử dụng trong mô hình 11 CHƯƠNG 3 : LÝ THUYẾT THIẾT KẾ 13 3.1. Tổng quan về họ vi điều khiển 8051 13 3.1.1 Giới thiệu chung về cấu trúc phần cứng 15 3.1.2. Giới thiệu chung về cấu trúc bên trong 24 3.2.Tìm hiểu về IC AT89S52 42 3.2.1.Sơ lược về AT89S52 42 3.2.2.Cấu trúc bên trong của AT89S52 44 3.2.3.Tóm tắt phần cứng 45 3.3.Giới thiệu linh kiện sử dụng 48 3.3.1 Cảm biếnLed thu phát hồng ngoại 48 3.3.2 Điện trở 54 3.3.4 Tụ điện 54 3.3.4 Diode 55 3.3.5 Led 55 3.3.6 Led 7 thanh 56 3.3.7 IC LM 358 60 3.3.8 Biến trở 61 3.3.9 Transistor 61 CHƯƠNG 4 : THIẾT KẾ, THI CÔNG MẠCH VÀ MÔ HÌNH SẢN PHẨM 64 4.1 Sơ đồ khối 64 4.2 Nguyên lý hoạt động các khối 64 4.3 Sơ đồ mạch nguyên lý tổng hợp 66 4.4 Sơ đồ mạch in 67 4.5 Giới thiệu về lập trình hợp ngữ 8051 và phần mềm kiel C 68 4.5.1 Giới thiệu về hợp ngữ 68 4.5.2. Hướng dẫn sử dụng phần mềm KEIL C 70 4.6 Chương trình điều khiển 77 4.7. Mô hình sản phẩm 80 CHƯƠNG 5: KẾT LUẬN 82 5.1 Ưu ,nhược điểm 82 5.2 Kết luận 82 TÀI LIỆU THAM KHẢO 83
Trang 1MỤC LỤ
MỤC LỤC 1
DANH MỤC CÁC HÌNH VẼ 3
DANH MỤC CÁC BẢNG 4
MỞ ĐẦU 5
CHƯƠNG 1: ĐẶT VẤN ĐỀ 6
1.1.Lí do chọn đề tài 6
1.2.Mục tiêu và yêu cầu của đề tài 6
1.3 Vấn đề cần giải quyết 7
CHƯƠNG 2: SƠ LƯỢC VỀ BĂNG TẢI 8
2.1 Các loại băng tải sử dụng hiện nay 8
2.1.1 Giới thiệu chung về băng tải 8
2.1.2 Cấu tạo chung của băng tải 9
2.1.3 Các loại băng tải trên thị trường 10
2.2 Giới thiệu băng tải sử dụng trong mô hình 11
CHƯƠNG 3 : LÝ THUYẾT THIẾT KẾ 13
3.1 Tổng quan về họ vi điều khiển 8051 13
3.1.1 Giới thiệu chung về cấu trúc phần cứng 15
3.1.2 Giới thiệu chung về cấu trúc bên trong 24
3.2.Tìm hiểu về IC AT89S52 42
3.2.1.Sơ lược về AT89S52 42
3.2.2.Cấu trúc bên trong của AT89S52 44
3.2.3.Tóm tắt phần cứng 45
3.3.Giới thiệu linh kiện sử dụng 48
3.3.1 Cảm biến-Led thu phát hồng ngoại 48
3.3.2 Điện trở 54
Trang 23.3.4 Tụ điện 54
3.3.4 Diode 55
3.3.5 Led 55
3.3.6 Led 7 thanh 56
3.3.7 IC LM 358 60
3.3.8 Biến trở 61
3.3.9 Transistor 61
CHƯƠNG 4 : THIẾT KẾ, THI CÔNG MẠCH VÀ MÔ HÌNH SẢN PHẨM 64
4.1 Sơ đồ khối 64
4.2 Nguyên lý hoạt động các khối 64
4.3 Sơ đồ mạch nguyên lý tổng hợp 66
4.4 Sơ đồ mạch in 67
4.5 Giới thiệu về lập trình hợp ngữ 8051 và phần mềm kiel C 68
4.5.1 Giới thiệu về hợp ngữ 68
4.5.2 Hướng dẫn sử dụng phần mềm KEIL C 70
4.6 Chương trình điều khiển 77
4.7 Mô hình sản phẩm 80
CHƯƠNG 5: KẾT LUẬN 82
5.1 Ưu ,nhược điểm 82
5.2 Kết luận 82
TÀI LIỆU THAM KHẢO 83
DANH MỤC CÁC HÌNH V
Trang 3Hình 2.1.1: Hình ảnh băng tải nghiêng 9
Hình 2.1.2: Cấu tạo chung của băng tải 9
Hình2.2: Hình ảnh băng tải sử dụng trong mô hình 12
Hình 3.1.1.1 : Sơ đồ chân của vi điều khiển 8051 18
Hình 3.1.1.2.1a : Nối điện trở kéo cho cổng 0 của 8051 19
Hình 3.1.1.2.1b : Cấu trúc của các chân trên port 0 19
Hình 3.1.1.2.2 : Cấu trúc của các chân trên port1 20
Hình 3.1.1.2.3: Cấu trúc của các chân trên port 2 21
Hình 3.1.1.2.8: Sơ đồ mạch reset ngoài của 8051 23
Hình 3.1.1.2.9: Mạch dao động cấp cho 8051 24
Hình 3.1.2.1a: Sơ đồ khối bên trong 8051 25
Hình 3.1.2.1b : Thanh ghi port xuất nhập 30
Hình 3.1.2.1c: Ví dụ về cờ nhớ CY 32
Hình 3.1.2.1d: Ví dụ về cờ phụ AC 32
Hình 3.1.2.1e: Ví dụ cờ tràn 0v 33
Hình 3.2.1a: Sơ đồ chân AT89S52 43
Hình3.2.1b : Sơ đồ khối của AT89S52 44
Hình 3.3.1.1a : Cảm biến quang 49
Hình 3.3.1.1b : Cấu trúc cảm biến 50
Hình 3.3.1.1c :Nút điều chỉnh độ nhạy cảm biến 51
Hình 3.3.1.2 Led thu phát hồng ngoại 52
Hình 3.3.7 Sơ đồ chân và cấu trúc IC LM 358 60
Hình 3.3.10a : Nguyên tắc hoạt động của động cơ điện một chiều 62
Hình 3.3.10b: Động cơ điện một chiều 63
Hình 4.2.1: Sơ đồ khối nguồn 64
Hình 4.2.2: Sơ đồ khối hiển thị 65
Hình 4.2.3: Sơ đồ khối cảm biến 65
Hình 4.3: Sơ đồ mạch nguyên lí 66
Hình 4.4: Sơ đồ mạch in 67
Hình 4.6: Mô hình sản phẩm 81 DANH MỤC CÁC BẢN
Trang 4Bảng 2.1.3 : Danh sách các loại băng tải trên thị trường 10
Bảng 3.1a: Các đặc tính của 8051 đầu tiên 14
Bảng 3.1b: Bảng so sánh đặc tính của 3 thành viên họ 8051 14
Bảng 3.1.1.1 : Sơ đồ khối vi điều khiển 8051 16
Bảng 3.1.1.2.4 : Chức năng các chân port 3 21
Bảng 3.1.2.1a: Tổ chức bộ nhớ 8051 28
Bảng 3.1.2.1b : Cấu trúc bộ nhớ dữ liệu của 8051 29
Bảng 3.1.2.1c : Thanh ghi 8 bit 29
Bảng 3.1.2.1d :Các bit của thanh ghi trạng thái chương trình PSW 31
Bảng 3.1.2.1e : Các bit chọn bank thanh ghi (RS0 và RS1) 33
Bảng 3.1.2.1f : Tóm tắt thanh ghi TMOD 36
Bảng 3.1.2.1g : Thanh ghi điều khiển timer(TCON) 37
Bảng 3.1.2.1h: Tổ chức ngắt 8051 41
Bảng 3.1.2.1i: Cờ ngắt 41
Bảng 3.1.2.1j : Các vector cờ ngắt 42
Trang 5MỞ ĐẦUNgày nay,cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điệntử,mà trong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực … do đóchúng ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào
sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹthuật điện tử nói riêng.Các nhà máy xí nghiệp sản xuất các sản phẩm của mình trêncác băng truyền hiện đại,sản phẩm xuất ra nhanh, liên tục trong khoảng thời giandài Vì vậy việc đếm xem có bao nhiêu sản phẩm đã được xuất ra băng truyền thìcon người khó có thể thực hiện chính xác.Xuất phát từ đợt đi thực tập tốt nghiệp tạinhà máy foxconn và tham quan các doanh nghiệp sản xuất, chúng em đã được thấynhiều khâu được tự động hóa trong quá trình sảnxuất Một trong những khâu đơngiản trong dây chuyền sản xuất tự động hóa đó là số lượng sản phẩm làm ra đượcđếm một cách tự động Tuy nhiên đối với những doanh vừa và nhỏ thì việc tự độnghóa hoàn toàn chưa được áp dụng trong những khâu đếm sản phẩm, đóng bao bì màvẫn còn sử dụng nhân công.Bởi vậy, mạch đếm sản phẩm giúp ta kiểm soát đượcsản lượng cho ra tại mỗi băng chuyền
Mục đích của mạch đếm sản phẩm là giúp cho nhà máy đếm được số sản phẩm domáy tạo ra một cách đơn giản, chính xác mà không tốn nhiều sức lao động của côngnhân
Ngoài chức năng dùng để đếm sản phẩm, mạch còn có thể phát triển để phù hợp vớinhiều yêu cầu như như đếm số người vào phòng, thang máy hay đếm xe ra vàocổng… đó đều là những ứng dụng rất thực tế
Bài báo cáo này được tìm kiếm từ nhiều nguồn khác nhau như :thầy giáo hướngdẫn,qua sách giáo trình đã học,internet,… Do kiến thức còn hạn hẹp,nên trong quátrình thực hiện đồ án em không thể tránh khỏi sai sót kính mong quý thầy cô tronghội đồng bỏ qua và có hướng giúp đỡ để em có thể hoàn chỉnh kiến thức củamình.Qua đây em xin gửi lời cám ơn tới thầy giáo Nguyễn Tiến Kiệm đã tận tìnhgiúp đỡ em trong quá trình em thực hiện đồ án
Em xin chân thành cám ơn!
Trang 6CHƯƠNG 1: ĐẶT VẤN ĐỀ1.1.Lí do chọn đề tài
Ngày nay việc nghiên cứu ứng dụng vi điều khiển vào các lĩnh vực cuộc sốngkhá là phổ biến,điển hình là vi điểu khiển họ 8051.Ở trong công nghiệp cũng nhưtrong các lĩnh vực liên quan đếm sản phẩm đã phát huy được lợi thế khi sử dụng viđiều khiển,việc đếm sản phẩm trở nên đơn giản,giảm bớt sức lao động và thờigian.Phương pháp đếm sản phẩm dùng vi điều khiển không những có được những
ưu điểm của cả 2 phương pháp dùng IC rời và dùng vi xử lí mà còn có những ưuđiểm như : Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những chươngtrình có quy mô nhỏ,có thể giao tiếp nối tiếp với máy tính Được sự gợi ý của giáoviên hướng dẫn và qua sự tìm hiểu trên mạng ,nên em đã chọn đề tài điều khiểnbăng tải đếm sản phẩm với ứng dụng của họ vi điều khiển 8051.Đề tài này khôngnhững thực tế và cần thiết mà chị phí lại không cao.Đây cũng là một cơ hội tốt để
em có thể tìm hiểu và ứng dụng những kiến thức môn VI ĐIỀU KHIỂN vào thực tế.1.2.Mục tiêu và yêu cầu của đề tài
Trong đồ án này em thực hiện mạch đếm sản phẩm bằng phương pháp đếmxung Như vậy mỗi sản phẩm đi qua trên băng chuyền phải có một thiết bị để cảmnhận sản phẩm, thiết bị này gọi là cảm biến Khi một sản phẩm đi qua cảm biến sẽnhận và tạo ra một xung điện đưa về khối xử lí để tăng dần số đếm,hiển thị kết quảđếm được bằng 4 LED 7 thanh và báo hiệu đèn led.Tuy nhiên mỗi khu vực sản xuấthay mỗi ca sản xuất lại yêu cầu với số đếm khác nhau vì thế phải có sự linh hoạttrong việc chuyển đổi số đếm Bộ phận chuyển đổi trực quan nhất là bàn phím Khicần thay đổi số đếm người sử dụng chỉ cần nhập số đếm ban đầu vào và mạch sẽ tựđộng đếm Khi số sản phẩm được đếm bằng với số đếm ban đầu thì mạch sẽ tự độngdừng Suy ra mục đích của đề tài là đếm sản phẩm một cách đơn giản và chính xác
mà không tốn nhiều sức lao động
Yêu cầu mạch đếm sản phẩm phải chạy một cách chính xác,ổn định,gọn nhẹ,dễ lắpđặt dễ sửa chữa và chi phí thấp
Trang 7Giới hạn của đề tài:
-Các sản phẩm rất đa dạng với nhiều chủng loại: đặc; rỗng, kích cỡ khác nhau.Nhưng với khả năng của thiết bị lắp thì mạch chỉ có thể đếm đối với sản phẩm cókhả năng che được ánh sáng và có kích thước từ 10cm3 đến 30cm3.-Đếm số sản phẩm trong một thùng phạm vi thay đổi từ 2 999 Còn số thùng sảnphẩm phạm vi thay đổi từ 19999
-Lưu số sản phẩm, số hộp sau mỗi ca sản xuất và cho phép xem số sản phẩm và sốhộp trong các ca sản xuất
1.3 Vấn đề cần giải quyết
+Tìm hiểu các tài liệu liên quan đến các đề tài nghiên cứu,đưa ra các giải pháp tối
ưu cho việc thiết kế chế tạo sản phẩm thực tế
+Thiết kế và chế tạo một board mạch gồm các khối: khối xử lí trung tâm dùng họ viđiều khiển 8051,khối cảm biến,khối hiển thị
+Tiến hành viết chương trình phần mềm phối hợp hoạt động các khối dưới sự điềukhiển của mạch dùng IC AT89S52
Cuối cùng,mô hình sản phẩm có cấu tạo và nguyên lí làm việc như sau:
* Cấu tạo
- Gồm 1 băng chuyền để chuyển tải sản phẩm
- Sử dụng cảm biến thu phát ánh sáng để phát hiện vật
- Sử dụng bộ vi điều khiển AT89S52
* Nguyên lý làm việc
Khi cấp nguồn cho hệ thống thì động cơ điều khiển băng tải được cấp nguồn vàquay Mỗi khi có vật đi qua cảm biến thì cảm biến sẽ tạo ra một xung và đưa vềkhối vi điều khiển để tăng số đếm…
Trang 8CHƯƠNG 2: SƠ LƯỢC VỀ BĂNG TẢI2.1 Các loại băng tải sử dụng hiện nay
2.1.1 Giới thiệu chung về băng tải
Băng tải thường được dùng để di chuyển các vật liệu đơn giản và vật liệu rờitheo phương ngang và phương nghiêng.Trong các dây truyền sản xuất , các thiết bịnày được sử dụng rộng rãi như những phương tiện để vận chuyển các cơ cấunhẹ,trong các xưởng luyện kim dùng để vận chuyển quặng ,than đá,các loại xi lòtrên các trạm thủy điện thì dùng vận chuyển nhiên liệu
Trong một số ngành công nghiệp nhẹ,công nghiệp thực phẩm,hóa chất thì dùng
đẻ vận chuyển các sản phẩm đã hoàn thành và chưa hoàn thành giữa các côngđoạn,các phân xưởng ,đồng thời cũng dùng để loại bỏ các sản phẩm không dùngđược Hiện nay, như chúng ta đã biết hầu hết trong các nhà máy, xí nghiệp, các công tyvừa và nhỏ cho đến những công ty lớn, thì dây chuyền sản xuất đang được sử dụng phổbiến nhất đó là hệ thống băng tải, hệ thống băng tải ra đời không những làm giảm đượcchi phí vận chuyển mà còn tiết kiệm được thời gian và nhân lực
Ưu điểm của băng tải:
+Cấu tạo đơn giản ,bền ,có khả năng vận chuyển rời và đơn chiếc theo các hướngnằm ngang,nằm nghiêng
+ Được sử dụng rộng rãi trong hầu hết các công ty, nhà máy, xí nghiệp
+ Tiết kiệm được chi phí vận chuyển và nhân công lao động
+ Làm việc ở nhiều môi trường khác nhau
+ Hệ thống làm việc linh hoạt và tính ổn định cao
+ Có thể tự động được,vận hành đơn giản,bảo dưỡng dễ dàng,làm việc tin cậy,năngsuất cao và tiêu hao năng lượng so với máy vận chuyển khác không lớn lắm
- Nhược điểm: Giá thành cao, chi phí lắp đặt khá tốn kém.
Trang 9Hình 2.1.1: Hình ảnh băng tải nghiêng2.1.2 Cấu tạo chung của băng tải
Băng tải là thiết bị vận tải liên tục, chuyên trở hàng dạng hạt, cục theo phươngngang, theo mặt phẳng nghiêng, theo đường gấp khúc kết cấu của một băng tảiđược biểu diễn trên hình vẽ
Hình 2.1.2: Cấu tạo chung của băng tải 1.Bộ phận kéo cùng các yếu tố làm việc trực tiếp mang vật
2 Trạm dẫn động,truyền chuyển động cho bộ phận kéo
3 Bộ phận căng ,tạo và giữ lực căng cần thiết cho bộ phận kéo
4 Hệ thống đỡ (con lăn,giá đỡ ) làm phần trượt cho bộ phận kéo và cácyếu tố làm việc
Vật liệu làm băng tải có thể làm bằng những vật liệu sau:
- Lưới: Chịu được nhiệt, ít bị ăn mòn, ít chịu ảnh hưởng của môi trường, nhẹnhàng, bền
Trang 10- Dạng thảm: Bên trong phía tiếp xúc với trục truyền chuyển chiếm 3/4 bề dầy băngtải là vật liệu làm bằng lớp nỉ được kết với nhau bên ngoài có phủ lớp silicol dầy 1/4
bề dầy băng tải, giá thành cao phải nhập ngoại được sử dụng trong máy móc đòi hỏi
độ chính xác cao và yêu cầu công nghệ cao
- Ngoài ra còn làm bằng vật liệu khác như: Da, sợi kết thành, vải,
- Kích thước băng tải: Bề dày từ (2 15)mm, chiều rộng từ (1200 2100)mm,thông thường khi tháo lắp hoặc thay thế thì các máy móc, thiết bị thường đi kèm cácthiết bị gá lắp riêng
2.1.3 Các loại băng tải trên thị trường
Khi thiết kế hệ thống băng tải vận chuyển sản phẩm đến vị trí phân loại có thể lựachọn một số loại băng tải sau:
Băng tải dây đai < 50 kg Vận chuyển từng chi tiết giữa các nguyên
công hoặc vận chuyển thùng chứa trong gia
công cơ và lắp rápBăng tải lá 25 -125kg Vận chuyển chi tiết trên vệ tinh trong gia công
chuẩn bị phôi và trong lắp rápBăng tải thanh đẩy 50-250kg Vận chuyển các chi tiết lớn giữa các bộ phận
trên khoảng cách > 50mBăng tải con lăn 30-500kg Vận chuyển chi tiết trên các vệ tinh giữa các
nguyên công với khoảng cách < 50m
Bảng 2.1.3 : Danh sách các loại băng tải trên thị trường
Các loại băng tải thường gặp
- Băng tải PVC
- Băng tải xích
- Băng tải chịu nhiệt
- Băng tải chuyền lắp ráp
Trang 11- Băng tải cao su.
- Băng tải con lăn
- Băng tải thực phẩm
- Băng tải di động nâng hạ
- Băng tải nghiêng
Các loại băng tải xích,băng tải con lăn có ưu điểm là ổn định cao khi vậnchuyển.Tuy nhiên chúng đòi hỏi kết cấu cơ khí phức tạp,đòi hỏi độ chính xáccao,giá thành khá đắt
Vai trò của hệ thống băng tải
Ngày nay, băng tải đã được sử dụng rất nhiều trong sản xuất công nghiệp,nông nghiệp Băng tải dùng để vận chuyển các vật liệu dạng hạt, viên, cácvật mỏng nhẹ để đưa tới khâu đóng gói, chế biến hoặc để sấy khô hoặc làphẳng Nó được sử dụng rất hữu ích trong địa hình rất phức tạp như: Tải cát
từ dưới lòng sông lên xe, chuyển than từ thuyền lên xe tải hay các địa hìnhnhỏ trật hẹp Nhờ có băng tải mà khối lượng công việc lớn được giải quyếttrong thời gian ngắn đem lại hiệu quả kinh tế rất lớn
2.2 Giới thiệu băng tải sử dụng trong mô hình
Do băng tải dùng trong hệ thống làm nhiệm vụ vận chuyển sản phẩm nên trong
mô hình đồ án em đã lựa chọn loại băng tải dây đai để mô phỏng cho hệ thống dâychuyền trong nhà máy với những lí do sau đây:
- Tải trọng băng tải không quá lớn
- Kết cấu cơ khí không quá phức tạp
- Dễ dàng thiết kế chế tạo
- Có thể dễ dàng hiệu chỉnh bằng băng tải
Tuy nhiên loại băng tải này cũng có vài nhược điểm như: Độ chính xáckhi vận chuyển không cao,đôi lúc băng tải hoạt động không ổn định do nhiềuyếu tố; nhiệt độ môi trường ảnh hưởng tới con lăn, độ ma sát của dây đaigiảm qua thời gian……
Dưới đây là mô hình băng tải đếm sản phẩm trong đồ án:
Trang 12Hình2.2: Hình ảnh băng tải sử dụng trong mô hình
Trang 13CHƯƠNG 3 : LÝ THUYẾT THIẾT KẾ3.1 Tổng quan về họ vi điều khiển 8051
Vào năm 1981 hãng Intel giới thiệu bộ vi điều khiển được gọi là 8051 Bộ vi điềukhiển này có 128 byte RAM, 4K byte ROM trên chip, hai bộ định thời, một cổngnối tiếp và 4 cổng (độ rộng 8 bit) vào – ra tất cả được đặt trên một chip 8051 là một
bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thờiđiểm
Dữ liệu lớn hơn 8 bit được chia ra thành các dự liệu 8 bit để xử lý 8051 đã trở lênphổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán các dạng biếnthể của 8051 Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độkhác nhau và dung lượng ROM trên chip khác nhau Mặc dù có nhiều biến thể khácnhau của 8051 về tốc độ và dung lượng nhớ ROM trên chip, nhưng tất cả chúng đềutương thích với 8051 ban đầu về các lệnh Điều này có nghĩa là nếu viết chươngtrình của mình cho một phiên bản nào của 8051 thì nó cũng sẽ chạy với mọi phiênbản khác mà không phân biệt nó được sản xuất từ hãng nào
Với khối xử lý người ta có thể dùng IC rời hoặc khối vi xử lý Nếu sử dụng vi
xử lý trong khối xử lý, người ta có thể thiết kế mạch điện giao tiếp được với máytính nên dễ dàng cho việc điều khiển từ xa và bằng việc thay đổi phần mềm có thể
mở rộng chương trình điều khiển mạch điện đếm nhiều dây chuyền trong cùng mộtthời điểm hay lưu lại các số liệu trong các ca sản xuất, đó là lí do em sử dụng vi xử
lý trong khối xử lý Cùng với thời gian, con người đã cho ra đời nhiều loại vi xử lý
từ 8 bit đến 64 bit với cải tiến ngày càng ưu việt nhưng tùy theo mục đích sử dụng
mà vi xử lý 8 bit vẫn còn tồn tại Trong đồ án này em sử dụng vi điều khiển 8051
8051 cũng là vi xử lý 8 bit nhưng có chứa bộ nhớ bên trong và có thêm 2 bộ địnhthời ngoài ra nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lý 8 bit như
8085 cũng giao tiếp được với máy tính nhưng là giao tiếp song song nên cần có ICchuyển đổi dữ liệu từ song song sang nối tiếp để giao tiếp với máy tính Với bộ nhớtrong 8051 thích hợp cho những chương trình có quy mô nhỏ,tuy nhiên 8051 có thểkết hợp được với bộ nhớ ngoài cho chương trình có quy mô lớn
Trang 14Bảng 3.1a: Các đặc tính của 8051 đầu tiên
Ta có thể so sánh 3 loại chip của họ vi điều khiển 51 như sau:
Trang 153.1.1 Giới thiệu chung về cấu trúc phần cứng
Trong chương trình môn học này chúng ta tập trung nghiên cứu về bộ vi điều khiển89S52 Đây là một bộ vi điều khiển thông dụng, giá rẻ có khá nhiều chức năng hayđặc biệt là có tích hợp sẵn bộ nạp trên chip giúp sinh viên có thể dễ dàng tự thựchiện các bài thí nghiệm với chi phí rất thấp Cũng trong chương trình môn học này,ngôn ngữ được sử dụng để trình bày các ví dụ ứng dụng sẽ là ngôn ngữ C trongphần mềm keil c
Trong các thiết bị điện và điện tử dân dụng, thiết bị tự động hoá… các bộ vi điềukhiển, điều khiển hoạt đọng của các thiết bị này Trong hệ thống sản xuất tự động,
bộ vi điều khiển được sử dụng trong điều khiển 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
IC có đặc điểm như sau:
Trang 16- 64k byte không gian bộ nhớ chương trình mở rộng.
- 64k byte không gian bộ nhớ dữ liệu mở rộng
- Một bộ xử lý luận lý (thao tác trên các bít đơn)
- 210 bit được địa chỉ hóa
- Bộ nhân / chia 4us
Bảng 3.1.1.1 : Sơ đồ khối vi điều khiển 8051
*Kiến trúc phần cứng của 8051
Phần chính của vi điều khiển 8051 là bộ vi xử lý trung tâm(CPU: centralprocessing unit) bao gồm:
Thanh ghi tích luỹ A
Thanh ghi tích luỹ phụ B, dùng cho phép nhân và phép chia
Đơn vị logic học (ALU: arithmetic logical unit)
tủ trạng thái chương trình (PSW: program status word)
bốn băng thanh ghi
con trỏ ngăn xếp
Trang 17 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
Đơ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ể cho dừng lại nhờ một khối điều khiển ngắt ở bêntrong Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn của bộ đếm địnhthời hoặc cũng có thể là giao diện nối tiếp
Ba bộ định thời 16 Bit hoạt động như một bộ đếm
Các cổng(Port 0, Port 1 Port 2 Port 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ênngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường 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àm việcđộc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy rộng và được
nó thay đổi nội dung các thanh ghi
Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu và mã lệnhCác thanh ghi sử dụng để lưu trữ thông tin trong quá trình xử lý Khi CPU làm việc
nó thay đổi nội dung các thanh ghi
Ta có sơ đồ chân của chip 8051 , mô tả chức năng các chân như sau:
Trang 18Hình 3.1.1.1 : Sơ đồ chân của vi điều khiển 8051
3.1.1.2.Chức năng của các chân 8051
1) Port 0
Port 0 gồm 8 chân, 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 khi 89S52giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ Vìcổng P0 là một máng mở khác so với các cổng P1, P2 và P3 nên các chân ởcổng 0 phải được nối với điện trở kéo khi sử dụng các chân này như chânvào/ra Điện trở này tùy thuộc vào đặc tính ngõ vào của thành phần ghép nốivới chân của port 0 Thường ta dùng điện trở kéo khoảng 4K7 đến 10K
Trang 19Hình 3.1.1.2.1a : Nối điện trở kéo cho cổng 0 của 8051
Hình 3.1.1.2.1b : Cấu trúc của các chân trên port 02) Port 1
Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất và nhập, cũng như các Port khác, Port 1 có thể xuất nhập theo bit và theo byte Ta đánh tên cho mỗi chân của Port 1 là P1.X (X = 0 đến 7)
Trang 20Hình 3.1.1.2.2 : Cấu trúc của các chân trên port1Riêng dòng 89Sxx, 4 chân P1.4, P1.5, P1.6, P1.7 được dùng để nạp ROM theochuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2 Trên hình 2.3 là một sơ
đồ kết nối 89S52 với cổng song song để nạp chương trình (file mã - *.hex) từ máy tính
Trên sơ đồ này các đường dẫn DO, DI, SCK, RTS lần lượt là các đường dẫn dữ liệulên máy tính, xuống nối tiếp từ máy tính, đường dẫn xung Clock và đường dẫn xungReset từ máy tính xuống sau khi nạp xong chương trìnhHình : Cấu trúc của cácchân trên port 1 và port 3
3) Port 2
Port2 có hai tác dụng, hoặc làm nhiệm vụ là cổng xuất nhập, hoặc là phần bytecao của bus địa chỉ 16-bit cho các thiết kế hệ thống cần nhiều hơn 256 byte
bộ nhớ ngoài
Từ chân 21 đến chân 28 (P2.0 _P2.7) Port 2 là một port có tác dụng kép
dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng
Trang 21Hình 3.1.1.2.3: Cấu trúc của các chân trên port 2
Bảng 3.1.1.2.4 : Chức năng các chân port 3
Trang 221 Chân 29 - PSEN (Program Store Enable )
Chân PSEN là chân điều khiển đọc chương trình ở bộ nhớ ngoài, nó được nối vớichân OE của ROM ngoài để cho phép đọc các byte mã lệnh trên ROM ngoài PSEN
ở mức thấp trong thời gian đọc mã lệnh Khi thực hiện chương trình trong ROM nộithì PSEN được duy trì ở mức cao
PSEN cho phép bộ nhớ chương trình chân số 29 Chân này thường được nối vớichân cho phép xuất /OE (Output Entable) của EPRROM (hoặc của ROM) để chophép đọc các byte lệnh Tín hiệu /PSEN ở lôgic ‘0‘ trong suốt thời gian tìm nạplệnh Các mã nhị phân của chương trình (opcode) được đọc từ EPROM, qua bus dữliệu và được chốt với thanh ghi lệnh IR của 8051 để được giải mã Khi thực thi mộtchương trình trong ROM nội, /PSEN được duy trì ở logic không tích cực (logic 1 )
2 ALE (Address Latch Enable)
ALE cho phép chốt địa chỉ, chân số 30 cho phép tách các đường dữ liệu và cácđường địa chỉ tại Port 0 và Port 2
Là tín hiệu xuất ra để giải đa hợp bus địa chỉ v bus dữ liệu Trong 1/2 chu kỳ đầu
bộ nhớ, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của bus địa chỉ 16 bit) vàthanh ghi ngoài khi ta sử dụng port 0 làm byte thấp địa chỉ Trong 1/2 chu kỳ bộnhớ còn lại port 0 sẽ xuất/nhập dữ liệu Tín hiệu ALE có tần số bằng 1/6 tần số củamạch dao động bên trong chip vi điều khiển v có thể làm xung clock cho các phầncòn lại của hệ thống (trường hợp ngoại lệ khi thực hiện lệnh MOVX, một xungALE (vàs cả /PSEN) sẽ bị bỏ qua) Chân ALE còn được dùng để nhập xung ngõ vàlập trình cho EPROM hoặc Flash ROM trên chip đối với chip có loại ROM này
3 EA (External Access)
Là chân truy xuất ngoài
Tín hiệu chân EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài vi điều khiển Nếu chân EA được nối ở mức cao (nối nguồn Vcc), thì vi điều khiển thi hành chương trình trong ROM nội Nếu chân EA ở mức thấp (được nối GND) thì viđiều khiển thi hành chương trình từ bộ nhớ ngoài
Trang 23Chân này được nối lên 5V khi thực thi chương trình trong ROM nội và được nốiđất khi thực thi chương trình bộ nhớ ngoài Chú ý đối với các chip không có ROMnội /EA phải được nối đất Các chip họ 8051 có EPROM còn nhận chân /ALE làmchân nhận điện áp cấp điện 12V cho việc lập trình (nạp) cho EPROM nội.
8.RST (Reset)
Thiết lập ở chân số 9
Dùng để thiết lập lại trạng thái ban đầu của hệ thống hay gọi tắt là reset hệ thốngkhi được treo ở mức logic là ít nhất 2 chu kỳ máy Các thanh ghi bên trong của 8051được nạp các giá trị thích hợp cho việc khởi động lại hệ thống
Khi tín hiệu này được đưa lên mức cao trong ít nhất là 2 chu kỳ máy, các thanh ghitrong bộ vi điều khiển được tải những giá trị thích hợp để khởi động hệ thống Haynói cách khác là vi điều khiển sẽ bị reset nếu chân này được kích hoạt mức cao
Hình 3.1.1.2.8: Sơ đồ mạch reset ngoài của 80519.Chân XTAL1, XTAL2
Hai chân này được sử dụng để nối với bộ dao động ngoài
Thông thường một bộ dao động thạch anh sẽ được nối tới các chân đầu vào XTAL1(chân 19) và XTAL2 (chân 18) cùng với hai tụ gốm giá trị khoảng 30pF Một phíacủa tụđiện được nối xuống đất như hình dưới
Tinh thể thạch anh chân số 18,19.XTAL1 ngõ vào mạch tạo xung clock trongchip.XTAL2 ngõ ra mạch tạo xung clock trong chip
Mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ở 2 chân
Trang 24XTAL1 v XTAL2 Thường tần số l 12MHz v các tụ ổn định có giá trị trong khoảng30pF 33 pF.
Hình 3.1.1.2.9: Mạch dao động cấp cho 805110.Chân VCC,GND
Chân 40: chân nguồn của vi điều khiển, được nối vào chân Vcc của nguồn
Nguồn cung cấp điện chân số 40-20 Cung cấp nguồn điện cho chip hoạt động.VCC=+5V +/- 10%
89S52 nối với dương nguồn một chiều điện áp đầu vào 4V đến 5.5V qua chân 40còn âm nguồn nối với mát(GND) qua chân 20
3.1.2 Giới thiệu chung về cấu trúc bên trong
3.1.2.1 Sơ đồ khối bên trong 8051
Trang 25Hình 3.1.2.1a: Sơ đồ khối bên trong 8051
*Tổ chức bộ nhớ của 8051
Trên vi điều khiển 8051/8052 đề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
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ều khiể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ều khiể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ên chip, buộc phảithiết kế bộ nhớ chương trình bên ngoài
Trang 26Đị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ềukhiển Ngay khi bật nguồn hoặc reset vi điều khiển, thì CPU sẽ nhảy đến thực hiệnlệnh ở địa chỉ 0000H này Khi sử dụng bộ nhớ trên chip thì chân EA phải được nốilên mức logic cao (+5V) Nếu bạn muốn mở rộng bộ nhớ chương trình thì chúng taphải dùng bộ nhớ ngoài với dung lượng tối đa là 64Kbyte.
Bộ nhớ bên trong 8051 bao gồm ROM và RAM
RAM bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóatừng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt
8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chươngtrình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 8051vẫn có thể kết nối với 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữ liệu
mở rộng
Bộ 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
Ram bên trong 8051 đượ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
Bộ nhớ dữ liệu được phân chia như sau:
Trang 27Ví dụ 2 lệnh sau sẽ thi hành cùng nhiệm vụ như lệnh ở trên:
MOV R0, #5FH
MOV A , @R0
-Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH
8051 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có địachỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt.Ýtưởng truy xuất từng bit bằng phần mềm với các thiết bị xuất / nhập đơn bit là một đặc tính mạnh của vi điều khiển nói chung Các bit có thể được đặt, xóa, and, or,… với 1 lệnh đơn
Ngoài ra các port cũng có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit
Ví dụ để đặt bit 67H ta dùng lệnh sau:
SETB 67H
- Các bank 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ợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khireset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H
Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy:
Trang 28Do 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 đượctruy 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 trong thanh ghi trạng thái PSW.
Bảng 3.1.2.1a: Tổ chức bộ nhớ 8051
* Các thanh ghi chức năng đặc biệt có địa chỉ từ 80H đến FFH
8051 có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Register) ở vùng trên của
RAM nội từ địa chỉ 80H đến FFH
Chú ý:Không phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa, chỉ có
21 thanh ghi chức năng đặc biệt được định nghĩa sẵn các địa chỉ
Trang 29Bảng 3.1.2.1b : Cấu trúc bộ nhớ dữ liệu của 8051Các thanh ghi chức năng đặc biệt (SFR)
Thanh ghi của 8051 được dùng để lưu trữ tạm thời dữ liệu hoặc địa chỉ Các thanhghi này chủ yếu có kích thước 8 bit, 8 bit của các thanh ghi được sắp xếp như hìnhdưới trong đó bit D7 là bit có trọng số cao nhất, còn bit D0 là bit có trọng số thấpnhất
Bảng 3.1.2.1c : Thanh ghi 8 bit Phần dưới đây, chúng ta sẽ nghiên cứu khái quát về các thanh ghi cơ bản của 8051.Chi tiết hoạt động của mỗi thanh ghi, cờ sẽ được tìm hiểu kỹ khi học lệnh lậptrình
Trang 30A cho B rồi trả kết quả nguyên trong A và phần dư trong B thanh ghi cũng có thểxem như thanh ghi đệm đa dụng.
-Các thanh ghi port xuất nhập:
Các port của 8051 bao gồm port 0 ở địa chỉ 80H, port 1ở địa chỉ 90H, port 2 ở địachỉ A0H, và port3 ở địa chỉ B0H Tất cả các port này đều có thể truy xuất từng bitnên rất thuận tiện trong khả năng giao tiếp
Hình 3.1.2.1b : Thanh ghi port xuất nhập
Thanh ghi trạng thái chương trình PSW:
Thanh ghi trạng thái chương trình PSW (Program Status Word ) ở địa chỉ DOHchứa các bít trạng thái như bảng sau:
Trang 31Bit Ký hiệu Địa chỉ Ý nghĩa
Cờ tràn
Dự trữ
Cờ parity chẵn lẽ
Bảng 3.1.2.1d :Các bit của thanh ghi trạng thái chương trình PSW
Giải thích chức năng từng bit của thanh ghi trạng thái chương trình PSW
+ Cờ nhớ CY – địa chỉ D7H:
Cờ nhớ có tác dụng kép (dùng trong các phép toán số học và logic) Thông 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ó tràn hoặc phép toán trừ có mượn và ngược lại C = 0
Ví dụ nếu thanh ghi A có giá trị FF thì lệnh sau:
Trang 32Cờ 0 là một bit cờ đa dụng dành cho các ứng dụng của người dùng.
+ Các bit chọn bank thanh ghi truy xuất-địa chỉ D4h & D3h:
Các bit chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi được truy xuất.Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần.Chúng được xóa về 0 khi chip bị reset và được thiết lập mức 1 hay 0 bằng phần mềm Tùy theo RS1, RS0 có giá trị bằng 00,01, 10 hay 11 sẽ chọn được băng thanh ghi tương ứng Băng 0, Băng 1, Băng 2, Băng 3
Trang 330 1 1
Bảng 3.1.2.1e : Các bit chọn bank thanh ghi (RS0 và RS1)
Ví dụ lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của bank thanh ghi R7 (địa chỉ bye 1FH) vào thanh ghi A:
SETB RS1
SETB RS0
MOV A,R7
+ Cờ tràn OV (Overflow flag) - địa chỉ D2h:
cờ tràn được thiết lập (OV = 1) sau một hoạt động cộng hoặc trừ nếu có sự tràn toán học - Khi các số có dấu được cộng hoặc trừ với nhau, ta có thể dùng cờ này đểkiểm tra xem kết quả có nằm trong giới hạn xác định không (-127, +128) - Khi cộng hoặc trừ các số không dấu thì cờ này được bỏ qua
Hình 3.1.2.1e: Ví dụ cờ tràn 0v
+ Bit PWS.1 - địa chỉ D1h:
bit được dùng cho người dùng định nghĩa
+ Cờ chẵn lẻ P - địa chỉ D0h: phản ánh số bit 1 trong thanh ghi A là chẵn hay lẻ.Nếu thanh ghi A chứa một số chẵn các bít 1 thì P = 0 còn chứa một số lẻ bit 1 thì
P = 1
Con trỏ ngăn xếp:
Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở địa chỉ 18H Nó chứa địa chỉ củabytedữ liệu hiện hành trên đỉnh của ngăn xếp Các lệnh trên ngăn xếp bao gồm cáclệnh cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp Lệnh cất dữ liệu vào
Trang 34ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy dữ liệu ra khỏi ngăn xếp
sẽ làm giảm SP Ngăn xếp của 8051 được giữ trong ram nội và giới hạn các địa chỉ
có thế truy xuất bằng địa chỉ gián tiếp, chúng là 128 byte đầu của 8051.Để khởiđộng SP với ngăn xếp bắt đầu tại địa chỉ 60 H, các lệnh sau đây được dùng:
MOV SP,#5FH
Khi reset 8051, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được cấtvào ô nhớ ngăn xếp có địa chỉ là 08 H Ngăn xếp được truy xuất trực tiếp bằng cáclệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu hoặc truy xuất ngầm bằnglệnh gọi chương trình con ACALL,LCALL và các lệnh trở về (RET RETI) để lưutrữ giá trị của bộ đếm chương trình khi bắt đầu thực hiện chương trình con và lấy lạikhi kết thúc chương trình con
Con trỏ dữ liệu
Con trỏ dữ liệu DPTR được dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit
ở địa chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao) 3 lệnh sau sẽ ghi 55H vàoram ngoài ở địa chỉ 1000H:
MOV A,#55H
MOV DPTR,#1000H
MOVX @DPTR,A
Các thanh ghi TIMER:
8051 chứa 2 bộ định thời đếm 16bit được dùng trong việc định thời hoặc đếm sựkiện.Timer0 ở địa chỉ 8AH(TLO:byte thấp) và 8CH (THO:byte cao)Timer1 ở địachỉ 8BH (TL1 byte thấp)và 8DH(TH1:byte cao).Việc vận hành của Timer được setbởi thanh ghi Timer MODE(TMOD)ở địa chỉ 89H cà thanh ghi điều khiểntimer(TCON)ở địa chỉ 88H.Chỉ có TCON được địa chỉ hoá từng bit
Các thanh ghi Port nối tiếp:
Bộ đệm truyền thông được chia thành hai bộ đệm, bộ đệm truyền dữ liệu và bộ đệmnhận dữ liệu Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuyểnvào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi quá trình truyền dữliệu qua truyền thông nối tiếp kết thúc Khi thực hiện việc chuyển dữ liệu từ SBUF
ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền thông nối tiếp
Trang 358051 chứa một port nối tiếp trên chip dành cho việc trao đổi thông tin với các thiết
bị nối tiếp như máy tính, Modern hoặc cho việc giao tiếp với các IC khác có giaotiếp nối tiếp (có bộ chuyển đổi A/D,các thanh ghi dịch ) Một thanh ghi gọi la bộđệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ dữ cả hai vai trò truyền và nhận dữliệu.Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF CácMODE vận hành khác nhau được lập trình qua thanh ghi diều khiển Port nối tiếp(SCON) được dịa chỉ hoá từng bit ở địa chỉ 98H
Các thanh ghi ngắt :
8051 có cấu trúc 5 nguồn ngắt , 2 mức ưu tiên.Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc thanh ghi cho phép ngắt (IE) ở địa chỉ 8AH
Cả hai thanh ghi được địa chỉ hoá từng bit
Hoạt động của bộ định thời(timer)
8051 có 3 timer 16 bit, mỗi timer có 4 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 8051
a.Thanh ghi chế độ timer(TMOD)
Thanh ghi TMOD chứa 2 nhóm 4bit dùng để đặt chế dộ làm việc cho timer0 và timer1
Trang 36Bit Tên Timer Mô tả
0000
Bit(mở) cổng,khi lên 1 timer chỉ chạy khi
INT1 ở mức caoBit chọn chế độ couter/timer1= bộ đếm sự kiện0= bộ đếm thờiBit1 của chế độ (mode)Bit 0 của chế độ00: chế độ 0: timer 13 bit01: chế độ 1: timer 16 bit10: chế độ 2: tự nạp lại 8255A11: chế độ 3: tích timer Bit (mở) cổngBit chọn couter/ timerBit 1 của chế độBit 0 của chế độ
Bảng 3.1.2.1f : Tóm tắt thanh ghi TMOD
Trang 37b Thanh ghi điều khiển timer(TCON)
TCON chứa các bit trạng thái và các bit điều khiển cho timer 0 và timer1
TCON.7 TF1 8FH Cở báo tràn TIMER 1 Được đặt bởi phần cứng,
khi tràn được xóa bằng phần mềm, hay phầncững khi bộ xử lý chỉ đến chương trình phục vụngắt
TCON.6 TR1 8EH Bit điều khiển timer 1 chạy, đặt và xóa bằng
phần mềm
TCON.5 TF0 8DH Cờ báo tràn Timer 0, tương tự như Timer 1.TCON.4 TR0 8CH Bit điều khiển chạy cho Timer 0 đặt xóa bằng
phần mềm
TCON.3 IE1 8BH Cờ báo ngắt 1 bên ngoài
Bảng 3.1.2.1g : Thanh ghi điều khiển timer(TCON)
c Các chế độ timer
Chế độ 0,chế độ timer 13bit
Để tương thích với 8048(có trước 8051), ba bit cao của TLX(TL0 /hoặc TL1)không dùng
Trang 38 Chế độ 2 –chế độ 8 bit tự nạp lại
TLx hoạt động như một timer 8 bit,trong khi đó THx vẫn giữ nguyên giá trị đượcnạp Khi số đếm tràn từ ffH đến 00H,không những cờ timer được set mà giá trịtrong THx động thời được nạp vào TLx Việc đếm tiếp tục từ giá trị naỳ đến ffHxuống 00Hvà nạp lại CHế độ này rất thông dụng vì sự tràn timer sảy ra trongkhoảng thời gian nhất định và tuần hoàn khi đã khởi động TMOD và THx
1 bị tràn vì nó đẫ được nối tới TH0
Khi timer 0 ở chế độ 3 có thể cho timer 1 chạy và ngừng bằng cách chuyển nó rangoài và vào chế độ 3 Nó vẫn có thể được sử dụng bằng port nối tiếp như bộ tạotốc độ baund hoặc nó có thể được sử dụng bằng bất cứ cách nào không cần ngắt (vì
nó không còn được nối với TF1)
Trang 39 Khởi động và truy xuất thanh ghi timer:
Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để đặt ởchế độ làm việc đúng Sau đó, trong thân chương trình, các thanh ghi timer đượccho chạy,dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cậpnhật… theo đòi hỏi các ứng dụng
TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động Ví dụ, cáclệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao độngtên chip cho việc định khoảng thời gian:
MOV TMOD, #1B
Lệnh này sẽ đặt M1 = 1 và M0 = 0 cho chế độ 1, C/ T= 0 và GATE = 0 cho xungnhịp nội và xóa các bit chế độ Timer 0 Dĩ nhiên, timer không thật sự bắt đầu địnhthờicho đến khi bit điều khiển chạy TR1 được đặt lên 1.Nếu cần số đếm ban đầu,các thanh ghi TL1/TH1 cũng phải được khởi động Một khoảng 100s có thể đượckhởi động bằng cách khởi động giá trị cho TH1/TL1 làFF9CH:
MOV TL1, #9CH
Trang 40Khi timer tràn, cần dừng timer và xóa cờ báotràn trong phần mềm:
sự kiện đó trong khi một chương trình khác đang thực thi
Tổ chức ngắt của 8051:
Có 5 nguồn ngắt ở 8051: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp Tất
cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phéptừng cái một bằng phần mềm
Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác đangđược phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng để xácđịnh
việc thực hiện các ngắt Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắt thì cóthể lập trình được