Tải bản đầy đủ (.docx) (45 trang)

Thiết kế và chế tạo hệ thống băng tải phân loại và đếm sản phẩm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (632.53 KB, 45 trang )

Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
ĐỒ ÁN MÔN HỌC CƠ ĐIỆN – TỬ
Đề tài: Thiết kế và chế tạo hệ thống băng tải phân loại và đếm sản
phẩm dùng vi xử lí để điều khiển
Họ và tên:…
Lớp :…….
……….
MỤC LỤC
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 1
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
LỜI MỞ ĐẦU
Ngày nay, sự phát triển mạnh mẽ của khoa học công nghệ, cuộc sống của con
người đã có những thay đổi ngày càng tốt hơn, với những trang thiết bị hiện đại phục
vụ công cuộc công nghiệp hoá, hiện đại hoá đất nước. Đặc biệt góp phần vào sự phát
triển đó thì ngành kĩ thuật điện tử đã góp phần không nhỏ trong sự nghiệp xây dựng và
phát triển đất nước. Trong đó môn kỹ thuật vi điều khiển được phát triển mạnh dựa
trên những tiến bộ của công nghệ tích hợp các linh kiện bán dẫn và hệ lập trình có bộ
nhớ kết hợp với máy tính điện tử. Từ những thời gian đầu phát triển đã cho thấy sự ưu
việt của nó và cho tới ngày nay tính ưu việt đó ngày càng được khẳng định thêm.
Những thành tựu của nó đã có thể biến được những cái tưởng chừng như không thể
thành những cái có thể, góp phần nâng cao đời sống vật chất và tinh thần cho con
người.
Để góp phần làm sáng tỏ hiệu quả của những ứng dụng trong thực tế của môn
vi điều khiển chúng em sau một thời gian học tập được các thầy, cô giáo trong khoa
giảng dạy về các kiến thức chuyên nghành, đồng thời được sự giúp đỡ nhiệt tình của
thầy “Đỗ Công Thắng ” chúng em đã thiết kế và chế tạo hệ thống băng tải phân loại
và đếm sản phẩm ”.
Cùng với sự nỗ lực của cả nhóm nhưng do thời gian, kiến thức và kinh nghiệm


của chúng em còn có hạn nên sẽ không thể tránh khỏi những thiếu sót. Chúng em rất
mong được sự giúp đỡ và tham khảo ý kiến của thầy cô và các bạn nhằm đóng góp
phát triển thêm đề tài.
Em xin chân thành cảm ơn!
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 2
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
CHƯƠNG I : DẪN NHẬP
1.1. Đặt vấn đề
Ngày nay cùng với sự phát triển của các ngày khoa học kỹ thuật, kỹ thuật điện tử
mà trong đó là kĩ thuật số đóng vai trò quan trọng trong lĩnh vực khoa học kĩ thuật,
quản lí, công nghiệp tự động hóa, cung cấp thông tin 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.
Xuất phát từ những đợt đi thực tập tại các nhà máy và tham quan các doanh nghiệp
sản xuất, chung em đã được thấy nhiều khâu được tự động hóa trong quá trình sản
xuất. Một trong những khâu đơn giả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 phân loại và đếm một cách tự động.
Tuy nhiên đối với những doanh nghiệp vừa và nhỏ thì việc tự động hó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.
Từ những điều đã được thấy đó và khả năng của chúng em, chúng em muốn làm
một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay ma
cho phép tăng hiệu suất lao động lên gấp nhiều lần đồng thời bảo đảm được độ chính
xác cao. Nên chúng em quyết định thiết kế một mạch phân loại và đếm sản phẩm vì nó
gần gũi với thực tế và nó thật sự có ý nghĩa đối với chúng em ví đã làm được một phần
nhỏ đóng góp cho xã hội.
Để làm được mạch này cần thiết kế được ba phần chính là: bộ phận cảm biến, bộ
phận phân loại và bộ phận đếm.

 Bộ phận cảm biến gồm phần phát và phần thu: Thông thường người ta sử
dụng phần thu, phát là led hồng ngoại.
 Bộ phận phân loại: dùng động cơ để gạt sản phẩm.
 Bộ phận đếm có nhiều phương pháp thực thi đó là:
• Lắp mạch dùng kĩ thuật số với các IC đếm, chốt, so sánh ghép lại
• Lắp mạch dùng kĩ thuật vi xử lí
• Lắp mạch dùng kĩ thuật vi điều khiển.
1.2. Chọn phương án thiết kế
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 3
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
1.2.1. Với mạch đếm sản phẩn dùng IC rời có:
Các ưu điểm sau:
• Cho phép tăng hiệu suất lao động
• Đảm bảo độ chính xác cao
• Tần số đáp ưng của mạch nhanh,cho phép đếm vói tần số cao
• Khoảng cách đặt phần phát và phần thu xa nhau cho phép đếm những sản
phẩn lớn.
• Tổn hao công suất bé, mạch có thể sử dụng pin
• Khả năng đếm rộng, giá thành hạ, mạch đơn giản dễ thực hiện
Với việc sử dụng kĩ thuật số khó có thể đáp ứng được việc thay đổi số đếm. Muốn
thay đổi một yêu cầu nào đó của mạch thì buộc phải thay đổi phần cứng. Do đó mỗi
lần phải lắp lại mạch dẫn đến tốn kém vế kinh tế mà nhiều khi yêu câu đó không thực
hiện được bằng phương pháp này.
Với sự phát triển mạnh của ngành kĩ thuật số đặc biệt là cho ra đời các họ vi xử lí và
vi điều khiển rất đa chức năng do đó việc dùng kĩ thuật vi xử lí, kỹ thuật vi điều khiển
đã giải quyết những bế tắc và kinh tế hơn mà phương pháp dung IC rời kết nối lại
không thực hiện được.
1.2.2. Với mạch đếm sản phẩm dùng kĩ thuật vi xử lí:

Ngoài nhưng ưu điểm như đã liệt kê trong phương pháp dùng IC rời thì mạch đếm
sản phẩm dùng kĩ thuật còn có nhưng ưu điểm sau:
• Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay đổi phần
mềm, trong khi đó phần cưng không cần thay đổi mà mạch IC rời không thực hiện
được ma nếu có thể thực hiện được thì cũng cứng nhắc mà ngươi công nhân cũng
khó tiếp cận, dễ nhầm.
• Số linh kiện sử dụng trong mach ít hơn, mạch đơn giản hơn so với mạch
dùng IC rời.
• Mạch cũng có thể kết nối giao tiếp được với máy tính thích hợp cho người
quản lí tại phòng kỹ thuật nắm bắt được tình hình sản xuất qua màn hình máy tính.
1.2.3. Phương pháp đếm sản phẩm dùng vi điều khiển:
Ngoài những ưu điểm của hai phương pháp trên, phương pháp này còn co những ưu
điểm sau:
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 4
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
- Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những chương trình có
quy mô nhỏ, rất tiện lợi mà vi xử lí không thực hiện được.
- Nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí 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ó linh kiện chuyển đổi dữ
liệu từ song song sang nối tiếp để giao tiếp với máy tính.
1.3. Mục đích yêu cầu của đề tài:
Trong đồ án này chúng em thực hiện mạch đếm sản phẩm bằng phương pháp
đếm xung. 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ảm nhậ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 một xung điện đưa về khối xử lí để tăng dần số đếm. Tại một
thời điểm tức thời, để xác định được số đếm phải có bộ phận hiển thị. Sản phẩm
lỗi sẽ bị động cơ gạt xuống máng.
Mục đích yêu cầu của đề tài:

• Số đếm phải chính xác
• Bộ phận hiển thị phải rõ ràng
• Mạch điện không quá phức tạp, bảo đảm sự an toàn, dễ sử dụng.
• Giá thành không quá đắt.
1.4. Giớ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, kich 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.
Nhiêm vụ:
• Thiết kế mô hình
• Thiết kế phần cứng, lập lưu đồ thuật toán và viết chương trình điều khiển hệ
thống đếm sản phẩm theo yêu cầu:
• Có 2 loại sản phẩm
• Hệ phân sản phẩm vào hai thùng chứa: Thùng Sp1 có 20 sản phẩm; Thùng
Sp2 có 15 sản phẩm, quy trình được lặp đi lặp lại
• Bảo vệ quá tải, ngắn mạch, thấp và cao áp.
• Hiển thị số lượng sản phẩm đếm được trên led 7 thanh
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 5
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
• Thuyết minh đầy đủ, trình bày khoa học.
1.5. Xây dựng sơ đồ khối tổng quát:
CHƯƠNG II: LÝ THUYẾT THIẾT KẾ
2.1. Các khối trong mạch điện
2.1.1. Cảm biến
2.1.1.1. Giới thiệu sơ lược về mạch cảm biến
Để cảm nhận mỗi lần sản phẩm đi qua thì cảm biến phải có phần phát và phần thu.
Phần phát phát ra ánh sáng hồng ngoại và phần thu hấp thụ ánh sáng hồng ngoại vì ánh
sáng hồng ngoại có đặc điểm là ít bị nhiễu so với các loại ánh sáng khác. Hai bộ phận

GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 6
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
phát và thu hoạt động với cùng tần số. Khi có sản phẩm đi qua giữa phần và phần thu
ánh sáng hồng ngoại bị che bộ phận thu sẽ hoạt động với tần số khác với tần số phát
như thế sẽ tạo một xung tác động tới bộ phận xử lí. Vậy bộ phận phát và bộ phận thu
phải có nguồn tạo dao động. Bộ phận dao động tác động tới công tắc đóng ngắt của
nguồn phát và nguồn thu ánh sáng. Có nhiều linh kiện phát và thu ánh sáng hồng ngoại
nhưng chúng em chọn led thu, phát hồng ngoại.
2.1.1.2. Cấu tạo, nguyên lí hoạt động của led hồng ngoại:
- Led được cấu tạo từ GaAs với vùng cấm có độ rộng là 1,43V tương ứng bức xạ
900nm. Ngoài ra khi pha tạp Si với nguyên vật liệu GaAlAs độ rộng vùng cấm có thể
thay đổi. Với cách này, người ta có thể tạo ra dải sóng giữa 800- 900nm và do đó tạo
ra được sự điều hưởng sao cho led hồng ngoại phát ra bước sóng thích hợp nhất cho
điểm cực đại của độ nhạy các bộ thu.
- Hoạt động: Khi mối nối p – n được phân cực thuận thì dòng điện qua mối nối lớn
hơn vì sự dẫn điện là do hạt tải đa số, còn khi mối nối được phân cự nghịch thì chỉ có
dòng rỉ do sự di chuyển của hạt tải thiểu số. Nhưng khi chiếu sáng vào mối nối, dòng
điện nghịch tăng lên gần như tỷ lệ với quang thông trong lúc dòng thuận không tăng.
Đặc tuyến volt – ampe của led hồng ngoại như sau:
2.1.2. Khối xử lí:
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 7
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Gồm có IC89C51 và mạch dao động của nó.
2.1.2.1. Giới thiệu bộ vi điều khiển AT89C51
IC vi điều khiển AT89C51 có các đặc điểm sau:
• 4k byte ROM

• 128 byte RAM cư trú bên trong và có thể mở rộng bộ nhơ ra ngoài.
• 2 bộ định thời 16 bit (Timer 0 và Timer1)
• Mạch giao tiếp nối tiếp
• Bộ xử lý bit
• Hệ thống điều khiển và xử lý ngắt
• Các kênh điều khiển/ dữ liệu/ địa chỉ
• Các thanh ghi chức năng đặc biệt.
2.1.2.2. Sơ đồ khối họ vi điều khiển AT89C51
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 8
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Phần chính của vi điều khiển AT89C51 là bộ xử lý trung tâm CPU (central processing
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 học ALU (Arithermetic 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
• Ngoài ra còn có bộ nhớ chương trình bộ giải mã lệnh, bộ điều khiển thời gian
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ể dừ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à: các biến cố ở bên ngoài, sự tràn bộ đếm định thời hoặc cugx
có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động như một bộ đếm
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 9

Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Các cổng ( Porto, Port1, Port2, Port3 ) sử dụng vào mục đích điều khiển
Trong vi điều khiển AT89C51 có hai thành phần quan trọng khác là bộ nhớ và 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ệnh.
Các thanh ghi sử dụng để lưu trữ thông tin trong qua trình xử lý. Khi CPU làm việc nó
làm thay đổi nội dung của các thanh ghi.
2.1.2.3. Sơ đồ chân tín hiệu của AT89C51
2.1.2.4. Chức năng của các chân AT89C51
Port0: Là Port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ nhỏ
( không dùng bộ nhớ mở rộng ) có 2 chức năng như các đường IO. Đối với các thiết kế
cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giưa các bus.
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 10
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Port1: là Port I/O trên các chân 1 đến 8. Các chân được kí hiệu P1.0, P1.1, P1.2. có
thể dùng cho các thiết bị ngoài nếu cần. Port1 không có chức năng khác , vì vậy chung
ta chỉ được dùng trong giao tiếp với các thiết bị ngoài.
Port2: là một Port công dụng kép tren các chân 21 đến 28 được 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 kế dùng bộ nhớ mở rộng.
Port3: là một Port công dụng kép tên các chân 10 đến 17. Các chân của Port
này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc
biệt như bảng sau:
Bit Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
P3.2 INTO Ngắt 0 bên ngoài
P3.3 INT1 Ngắt 1 bên ngoài

P3.4 TO Ngõ vào của timer/counter0
P3.5 T1 Ngõ vào của timer/counter1
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung ghi bộ nhớ dữ liệu ngoài
Chức năng của các chân trên Port3
PSEN ( progaram store enable ): PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều
khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE
(Ouput Enable ) của một EPROM để cho phép đọc các byte mã lệnh.
PSEN sẽ ở mức tháp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được
đọc từ EPROM qua bus và được chốt vào thanh ghi lênh của AT89C51 sẽ giải mã
lệnh. Khi thi hành chương trình trong ROM nội ( AT89C51) sẽ ở mức thụ động (mức
cao).
ALE ( Address Latch Enable ): tín hiệu ra ALE tên chân 30 tương hợp với các thiết
bị làm việc với các xử lý 8585, 8088, 8086 dùng ALE một cách tương tự cho làm việc
giải các kênh, các bus địa chỉ và dữ liệu khi port0 được dùng trong chế đọ chuyển đổi
của nó: vừa là bus dữ liệu và là bus thấp của địa chỉ. ALE là tín hiieeuj để chốt địa chỉ
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 11
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó, các đường
port0 dùng để xuất hoặc nhập dữ liệu trong nửa sau chu kỳ của bộ nhớ.
Các xung tín hiệu ALE có tốc độ băng 1/16 lần tần số dao động trên chíp và có thể
được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung trên AT89C51 là 12MHz
thì ALE có tần số 2MHz. Chỉ trừ khi thi hành lệnh MOVX, một xung ALE bị mất.
Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong AT89C51.
EA ( External Acces): tín hiệu vào EA trên chân 31 thường được mắc lên mức cao
(+5V) hoặc mức thấp (GND). Nếu ở mức cao, AT89C51 thi hành chương trình từ
ROM nội trong khoả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 .

SRT ( Reset): ngõ vào RST trên chân 9 là ngõ reset của AT89C51. Khi tín hiệu này
được nối lên mức cao ( trong it nhất 2 chu ki máy ), các thanh ghi trong AT89C51 tải
các giá trị thich hợp để khởi đọng hệ thống.
Các ngõ vào bộ dao động trên chip: Như đã thấy trong các hinh trên, AT89C51 có
một bộ dao động trên chip. Nó thường được nối với thạnh anh giữa hai chan 18 và 19.
Các tụ giữ cũng cần thiết. Tần số thông thường là 12MHz.
Các chân nguồn: AT89C51 vận hành với nguồn đơn +5V, Vcc được nối vào chân
40 và Vss (GND ) được nối vào chân 20.
2.1.2.5. Tổ chức bộ nhớ
a. Bộ nhớ chương trình và bộ nhớ dữ liệu nội trú
Tất cả các bộ Flash Microcontrollers của Atmel dều tổ chức các vùng địa chỉ tách
biệt đố với bộ nhớ chương trình và bộ nhớ dữ liệu, được mô tả ở hình dưới đây. Các
vùng nhớ chương trình và dữ liệu tách biệt cho phép bộ nhớ dữ liệu được truy cập bởi
địa chỉ 8 bit, có thể được lưu trữ với tốc độ cao và được vận hành bởi một bộ CPU 8
bit. Tuy nhiên, địa chỉ bộ nhớ dữ liệu 16 bit cũng có thể được tạo ra thông qua thanh
ghi con trỏ dữ liệu (DPTR).
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 12
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Bộ nhớ chương trình có thể chỉ được đọc. Chúng có thể là bộ nhớ chương trình 64
Kbyte có khả năng định địa chỉ trực tiếp. Để đọc được nội dung từ bộ nhớ chương
trình ngoài cần xác định trạng thái phù hợp cho chân /PSEN.
Bộ nhớ dữ liệu chiếm một vùng địa chỉ riêng biệt so với bộ nhớ chương trình.
64Kbyte bộ nhớ ngoài có thể được định địa chỉ trực tiếp trong vùng bộ nhớ dữ liệu
ngoài, CPU tạo ra tin hiệu đọc và ghi (/RD, /WR) để truy cập bộ nhớ dữ liệu ngoài.
Bộ nhớ chương trinh ngoài và bộ nhớ dữ liệu ngoài có thể được kết hợp bởi các tin
hiệu /RD và /PSEN để đưa vào một cổng AND và sử dụng đầu ra của cổng này để đọc
nội dung từ bộ nhớ dữ liệu/ chương trình ngoài.
AT89C51 có bộ nhớ dữ liệu chiếm một khoảng không gian bộ nhớ độc lập với bộ nhớ

chương trình. Dung lương của RAM nội trú ở họ V ĐK này là 128 byte, được định địa
chỉ từ 00h đến 7Fh.phạm vi địa chỉ từ 80h đến Ffhdanhf cho SFR. Tuy nhiên bộ V ĐK
cũng có thể làm việc với RAM ngoại trú có dung lượng cực đại là 64 Kbyte được định
địa chỉ từ 0000h đến FFFFh.
- Vùng nhớ 128 Byte thấp
Vùng nhớ 128 Byte thấp được định địa chỉ từ 00h đến 7Fh, được chia thành 3 vùng
con như thể hiện ở hình 2.10
- Vùng nhớ thứ nhất có độ lớn 32 byte được định địa chỉ từ 00h đến 1Fh bao gồm 4
băng thanh ghi (băng 0 đến băng 3), mỗi băng có 8 thanh ghi 8 bit. Các thanh ghi trong
mỗi băng có tên gọi từ R0 đến R7. Vùng RAM này được truy cập bằng địa chỉ trự tiếp
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 13
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
mức byte, và quá trình chọn để sử dụng băng thanh ghi nào là tùy thuộc vào việc lựa
chọn giá trị cho RS1 và RS0 trong PSW.
- Vùng thứ hai có độ lớn16 byte được định địa chỉ từ 20h đén 2Fh, cho phép truy cạp
trực tiếp bằng địa chỉ mức bit. Bộ V ĐK cung cấp các lệnh có khả năng truy cập tới
vùng nhớ 128 bit này (nếu truy cập ở dạng mức bit thì vùng này có địa chỉ được định
từ 00h đến 7Fh) ở mức bit, ở vùng nhớ này địa chỉ được truy xuất dưới dạng byte hay
bit tùy vào lệnh cụ thể. Chẳng hạn, để đặt bit tại địa chỉ 5Fh có mức logic 1, ta thực
hiện lệnh: SETB 5Fh. Sau khi thực hiện lệnh này, mặc dầu 5Fh là địa chỉ mức cao nhát
trong byte có địa chỉ 2Bh, nhưng nó không làm ảnh hưởng tới các bit khác trong byte
này.
Đây là ưu điểm rõ nét của bộ V ĐK khi thực hiện việc truy xuất các bit riêng rẽ
thông qua phần mềm. Các bit có thể được đặt, xóa hay thực hiện chức năng AND,
OR… chỉ thông qua 1 lệnh. Ngoài ra các cổng xuất/ nhập cũng có thể được định địa
chỉ dạ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 nhớ còn lại gồm 80 byte có địa chỉ từ 30h đến 7Fh được dành riêng cho người

sử dụng để lưu trữ dư liệu. Đây có thể là vùng RAM đa mục đích. Có thể truy cập
vùng nhớ này bằng địa chỉ trực tiếp hoặc gián tiếp thông qua các thanh ghi (R0 hoặc
R1) ở dạng mức byte.
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 14
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 15
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
b. Bộ nhớ chương trình ngoài và bộ nhớ dữ liệu ngoại trú
 Bộ nhớ chương trình ngoại trú:
Bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc, được cho phép bởi tín hiệu /PSEN.
Khi có một EPROM ngoài việc sử dụng, cả P0 và P2 đều không còn là các cổng I/O
nữa. Khi bộ V ĐK truy cập bộ nhớ chương trình ngoại trú, nó luôn sử dụng kênh địa
chỉ 16 bit thông qua P0 và P2.
Một chu kì máy của bộ V ĐK có 12 chu kì dao động. Nếu bộ dao động trên chíp có
tần số 12MHz, thì một chu kì máy dài
s
µ
1
. Trong một chu kì máy điển hình, ALE có
hai xung và hai bytecuar lệnh được đọc từ bộ nhớ chương trình (nếu lệnh chỉ có một
byte thì byte thứ hai được loại bỏ). Khi truy cập bộ nhớ chương trình ngoại trú bộ V
ĐK phát ra hai xung chốt địa chỉ trong mỗi chu kì máy. Mỗi xung chốt tồn tại trong
hai chu kì dao động từ P2- S1 đến P1- S2, và từ P2- S4 đến P1- S5.
Để địa chỉ hóa bộ nhớ chương trình ngoại trú, byte thấp của địa chỉ (A0…A7) từ bộ
đếm chương trình của bộ V ĐK được xuất qua cổng P0 tại các trạng thái S2 và S5 của
chu kì máy, byte cao của địa chỉ (A8 A15) từ bộ đếm chương trình được xuất qua

cổng P2 trong khoảng thời gian của cả chu kì máy. Tiếp theo xung chốt, bộ V ĐK phát
ra xung chọn /PSEN. Mỗi chu kì máy của chu kì lệnh gồm hai xung chọn, mỗi xung
chọn tồn tại trong 3 chu kì dao động từ P1- S3 đến hết P1- S4 và từ P1- S6 đến hết P1-
S1 của chu kì máy tiếp theo. Trong khoảng thời gian phát xung chọn thì byte mã lệnh
được đọc từ bộ nhớ chương trình để nhập và on chip.
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 16
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
 Bộ nhớ dữ liệu ngoại trú
Bộ nhớ dữ liệu ngoại trú được cho phép bởi các tín hiệu /WR và /RD ở các chân
P3.6 và P3.7. V ĐK truy cập bộ nhớ dữ liệu ngoài bằng địa chỉ hai byte ( thông qua
cổng P0 và P2) hoặc 1 byte ( thông qua cổng P0).
Từ sơ đồ trên ta thấy:
• /EA được nối với +Vcc để cho phép vi điều khiển với bộ nhớ chương trình
nội trú
• /RD nối với đường cho phép xuất dữ liệu (/OE_ Output data Enable) của
Ram.
• /WR nối với đường cho phép ghi dữ liệu (/WE_Write datab Enable) của
Ram.
Nguyên lý truy cập bộ nhớ dữ liệu ngoại trú được thể hiện bằng các đồ thị thời gian.
Tuy nhiên, tùy thuộc vào nhiệm vụ đọc dữ liệu từ bộ nhớ hay ghi dư liệu vào bộ nhớ
mà nguyên lý truy cập bộ nhớ dữ liệu là khác nhau.
• Quá trình đọc dữ liệu ngoại trú, bộ vi điều khiển phát ra một xung chốt địa
chỉ (ALE) cho chốt bên ngoài (LATCH) trong mỗi chu kỳ máy, tồn tại trong 2 chu
kỳ dao động từ P2_S4 đến P1- S5. Để địa chỉ hóa bộ nhớduwx liệu ngoài, byte thấp
của địa chỉ từ thanh ghi con trỏ (DPL) hoặc Ri của VĐK được xuất qua cổng P0
trong khoảng các trạng thái S5 của chu kì máy trong chu kì lẹnh. Tiếp theo byte
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 17

Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
thấp của địa chỉ từ bộ nhớ chương trình (PCL) cũng được xuất qua cổng P0 đua tới
bộ đếm chương trình để thực hiện lệnh tiếp theo. Byte cao của địa chỉ từ DPTR
(DPH) của VĐK được xuất qua cổng P@ trong khoảng thời gian từ S5 đến S4 của
chu kì máy tiếp theo. Sau đó byte cao của địa chỉ từ PC (PCH) cũng được xuất qua
cổng P2 để đưa đến bộ đếm chương trình. Nếu địa chỉ có độ dài 1 byte thì nó được
xuất qua cổng P0 từ DPL hoặc Ri. Tiếp theo xung chốt, VĐK xuất ra tín hiệu điều
khiển /RD để cho phép đọc dữ liệu từ bộ nhớ ngoài. Xung /RD tồn tại trong 3 trạng
thái của mỗi chu kì máy từ P1- S1 đến P2- S3, và trong khoảng thời gian này dữ
liệu từ bộ nhớ ngoài được đọc vào VĐK.
• Quá trình ghi dữ liệu vào bộ nhớ ngoài trú:
Tương tự như qua trình đọc dữ liệu, nhưng ở đây chúng ta dùng tin hiệu điều khiển ghi
/WR.
c. Các thanh ghi chức năng đặc biệt
Các thanh ghi nội trú của AT89C51 được truy xuất ngầm định bởi bộ lệnh. Ví dụ
lệnh “ INC A ” sẽ tăng nội dung thanh ghi tích lũy A lên 1 đơn vị. Tác động này được
ngầm định trong mã lệnh.
Các thanh ghi trong AT89C51 đượ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 địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ không có lợi khi
đặt chung vào trong RAM trên chip). Đó là lý do để AT89C51 có nhiều thanh ghi.
Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt ở vùng trên của RAM nội từ
địa chỉ 80h đến FFh. Chú ý rằng hầu hết địa chỉ từ 80h đến FFh không được định
nghĩa. Chỉ có 21 địa chỉ SFR là được định nghĩa.
Ngoài trừ thanh ghi tích lũy A có thể truy xuất ngầm như đã nói, đa số các SFR
được truy xuất dùng địa chỉ trực tiếp. Chú ý rằng một vài SFR có thể được địa chỉhoas
bit hoặc byte. Người thiết kế phải thạn trọng khi truy xuất bit va byte.
2.1.2.6. Hoạt động của bộ định thời (Timer)
Giới thiệu:
Một định nghĩa đơn giản của timer là một chuỗi các flip – flop chia đôi tần số nối

tiếp nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp. Ngõ ra của tần số cuối làm
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 18
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
nguồn xung nhịp cho flip – flop báo tràn của timer (flip – flop cờ). Giá trị nhịp phân
trong các flip – flop của timer có thể xem như số đếm số xung nhịp từ khi khởi động
timer. Vi dụ timer 16 bit sẽ đếm lên từ 0000h đến FFFFh. Cờ báo tràn sẽ lên 1 khi số
đếm tràn từ FFFFh đến 0000h.
AT89C51 có 2 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 hoặc tạo tốc độ baud cho port nối tiếp
trong AT89C51.
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở một khoang
đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa chương trình để thực hiện
một tác động như kiểm tra trạng thái của các cửa ngõ vào hoặc gửi các 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 gian trôi qua giữa hai sự kiện.
Đếm sự kiện dùng để xác định số lần xảy ra của một sự kiện. Một sự kiện là bất cứ
tác động ngoài nào có thể cung cấp một chuyển trạng thái trên một chân của AT89C51.
Các timer cũng có thể cung cấp xung nhịp tốc độ baud cho port nối tiếp trong
AT89C51.
Truy xuất timer của AT89C51 dùng 6 thanh ghi chức năng đặc biệt cho trong bảng
sau:
STR Mục đích Địa chỉ
TCON Điều khiển timer 88h
TMOD Chế độ timer 89h
TL0 Byte thấp của timer 0 8Ah
TL1 Byte thấp của timer 1 8Bh
TH0 Byte cao của timer 0 8Ch
TH1 Byte cao của timer 1 8Dh

 Thanh ghi chế độ timer (TMOD)
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 19
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer 0 và
timer 1.
Bit Tên Timer Mô tả
7 GATE 1 Bit (mở) cổng, khi lên 1 timer chỉ chạy khi INT1 ở
mức cao
6 C/T 1 Bit chọn chế độ counter/timer
1= bộ đếm sự kiện
0= bộ định khoảng thời gian
5 M1 1 Bit 1 của chế độ (mode)
4 M0 1 Bit 0 của chế độ
3 GATE 0 Bit (mở) cổng
2 C/T 0 Bit chọn chế độ counter/timer
1 M1 0 Bit 1 của chế độ
0 M0 0 Bit 0 của chế độ
2.1.2.7. Hoạt động của ngắt
Ngắt là hoạt động ngừng tạm thời một chương trình này để thi hành một chương
trịnh khác. Các ngắt có một vai trò quan trọng trong thiết kế và khả năng thực thi của
vi điều khiển. Chúng cho phép hẹ thống đáp ứng không cùng lúc tới một công việc và
giải quyết một công việc đó trong khi một chương trình khác đang thực thi.
Một hệ thống được điều khiển bằng ngắt cho ảo giác là làm nhiều việc đồng thời . dĩ
nhiên CPU mỗi lần không thể thực thi một chương trình để thực thi một chương trình
khác, rồi quay vê chương trình ban đầu. Chương trình giải quyết ngắt được gọi là
chương trình phục vụ ngắt.
 Tổ chức ngắt
Ở AT89C51 có 5 nguồn ngắt:

• 2 ngắt ngoài
• 2 ngắt timer
• 1 ngắt port nối tiếp
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 20
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Tất cả các ngắt sẽ không được đặt sau khi reset hệ thống và cho phép ngắt riêng rẽ bởi
phần mềm.
a. Cho phép và không cho phép ngắt.
Mỗi nguông ngắt được cho phép hoặc không cho phép từng ngắt một qua thanh ghi
chức năng đặc biệt cố định địa chỉ IE (Intereup Enable): cho phép ngắt ở địa chỉ A8h.
Cũng như các bit cho phép mỗi nguồn ngắt, có một bit cho phép hoặc cấm toàn bộ
được xóa để cấm tất cả ngắt hoặc được đặt lên 1 để cho phép tất cả các ngắt
Bit Ký
hiệu
Địa
chỉ
Mô tả (1= cho phep, 0 = cấm)
IE.7 EA AFh Cho phép hoặc cấm toàn bộ
IE.6 EA AEh Không được định nghĩa
IE.5 ET5 ADh Cho phép ngắt từ timer 2 (8052)
IE.4 E5 ACh Cho phép ngắt 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
Tóm tắt thanh ghi IE
b. Ưu tiên ngắt
Mỗi nguồn ngắt được lập trình riêng vào một trong hai mức ưu tiên qua thanh ghi chức

năng đặc biệt được địa chỉ bit IP (Interrup Pritority: ưu tiên ngắt) ở địa chỉ B8h
Bit Ký
hiệu
Địa
chỉ
Mô tả (1 = cho phép, 0= cấm)
IP.7 Không được định nghĩa
IP.6 Không được định nghĩa
IP.5 PT2 BDh Ưu tiên ngắt từ timer 2 (8052)
IP.4 PS BCh Ưu tiên ngắt nối tiếp
IP.3 PT1 BBh Ưu tiên ngắt từ timer 1
IP.2 PX1 BAh Ưu tiên ngắt ngoài 1
IP.1 PT0 B9h Ưu tiên ngắt từ tỉmer 0
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 21
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
IP.0 PX0 B8h Ưu tiên ngắt ngoài 0
Tóm tắt thanh ghi IP
Các ngắt ưu tiên được xóa sau khi reset hệ thống để đặt tất cả các ngắt ở mức ưu tiên
thấp hơn.
 Xử lý ngắt
Khi có một ngắt xảy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng.
Những hoạt động sau xảy ra:
• Thi hành lệnh hoàn chỉnh lệnh đang thi hành
• Các DC vào ngăn xếp
• Trạng thái ngắt hiện hành được cất bên trong
• Các ngắt được chặn tại mức của ngắt
• Nạp DC vào địa chỉ vector ISR
• ISR thực thi:

ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RETI. Điều này làm lấy lại
giá trị cũ của PC từ ngăn xếp và lấy lại trạng thái ngắt cũ. Chương trình lại tiếp tục thi
hành tại nơi mà nó dừng.
2.3. Khối hiển thị
2.3.1. Các khái niệm cơ bản
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với
thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn". Led 7
đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện thị số là
đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các đồng hồ treo
tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào
đó
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm
một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với
nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại
trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với
mạch điện.
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 22
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
Led 7 đoạn có 2 loại:
 Anode (cực +) chung: đầu (+) chung này được nối với
+Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ
sáng khi tín hiệu đặt vào các chân này ở mức 0.
 Cathode (cực -) chung: đầu( -) chung được nối xuống
Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led
đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
Hiển thị LED 7 thanh là phần tử hiển thị thông dụng, để hiển thị các phần tử số
từ 0 đến 9 trong một số hệ thập phân. Nó gồm 7 thanh xếp thành hình số 8, mỗi thanh

là một diode ( LED ) phát quang hoặc hiển thị tinh thể lỏng. Điode thưòng được cấu
tạo từ các chất Ga, As, P …nó cũng có tính chất chỉnh lưu như diode thường. Nhưng
khi điện áp thuận đạt nên diode vượt quá mức ngưỡng U
ng
nào đó thì diode sáng. Điện
áp ngưỡng thay đổi từ 1,5 đến 5 v tuỳ theo từng loại có màu sắc khác nhau.
• LED màu đỏ có điện áp ngưỡng U
ng
= 1,6 đến 2 v
• LED màu cam có điện áp ngưỡng U
ng
= 2,2 đến 3 v
• LED màu xanh lá cây có điện áp ngưỡng U
ng
= 2,8 đến 3,2 v
• LED màu vàng có điện áp ngưỡng U
ng
= 2,4 đến3, 2 v
• LED màu xanh ra trời có điện áp ngưỡng U
ng
= 3 đến 5 v
Thiết kế bộ giải mã hiển thị cho LED 7 thanh với tín hiệu đầu vào là mã BCD
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 23
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
 Dạng chỉ thị led 7 đoạn:

Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng
qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn 5V

có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều hiển.
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua
led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b. Tương
tự với các chân và các led còn lại.
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 24
Trêng §HSPKT Hng Yªn Đồ án môn học
Khoa §iÖn - §iÖn Tö
2.3.2. Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port
nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một dữ
liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn trong
nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7
đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode(cực +)
chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng hạn, để hiện thị số
1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì
phải đặt vào hai chân b và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là
5V(mức 1), nếu sử dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic)
hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).
Bảng mã hiển thị led 7 đoạn( led 7 đoạn anot chung: led đơn sáng ở mức 0)
Số hiển thị trên
led 7 đoạn
Mã hiển thị led 7
đoạn dạng nhị phân
Mã hiển thị led 7
đoạn dạng thập lục
phân
hgfedcba
0 11000000 C0

1 11111001 F9
2 10100100 A4
3 10110000 B0
4 10011001 99
5 10010010 92
6 11000010 82
7 11111000 F8
8 10000000 80
9 10010000 90
A 10001000 88
B 10000011 83
C 11000110 C6
D 10100001 A1
GV hướng dẫn: Đỗ Công Thắng
Nhóm thực hiện: Kiều Quang Hùng – Nguyễn Văn Hùng Page 25

×