thiet ke mach dem san pham dung vi dieu khien 8051 20120727122609 31

100
Luận văn tốt nghiệp Trang 1 PHẦN I LÝ THUYẾT CHƯƠNG I DẪN NHẬP I. ĐẶT VẤN ĐỀ: Ngà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ện tử màtrong đó là kỹ thuật số đóng vai trò quan trọng trong mọi 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ốt nghiệp tại nhà máy và tham quan các doanh nghiệp sản xuất, chúng 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 đế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 mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính xác cao. Nên chúng em quyết định thiết kế một mạch đếm sản phẩm vì nó rất gần gũi với thực tế và nó thật sự rất 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 hai phần chính là: bộ phận cảm biến 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 phát là led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích để chống nhiễu so với các loại ánh sáng khác, còn phần thu là transistor quang để thu ánh sáng hồng ngoại. * Bộ phận đếm có nhiều phương pháp thực thi đó la: -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 II. CHỌN PHƯƠNG ÁN THIẾT KẾ: 1. Với mạch đếm sản phẩm 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 GVHD Nguyễn Việt Hùng

Upload: bui-manh-trinh

Post on 06-Aug-2015

280 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 1

PHẦN I LÝ THUYẾT CHƯƠNG I DẪN NHẬP

I. ĐẶT VẤN ĐỀ:Ngà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ện tử

màtrong đó là kỹ thuật số đóng vai trò quan trọng trong mọi 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ốt nghiệp tại nhà máy và tham quan các doanh nghiệp sản xuất, chúng 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 đế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 mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính xác cao. Nên chúng em quyết định thiết kế một mạch đếm sản phẩm vì nó rất gần gũi với thực tế và nó thật sự rất 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 hai phần chính là: bộ phận cảm biến 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 phát là led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích để chống nhiễu so với các loại ánh sáng khác, còn phần thu là transistor quang để thu ánh sáng hồng ngoại.

* Bộ phận đếm có nhiều phương pháp thực thi đó la:-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ểnII. CHỌN PHƯƠNG ÁN THIẾT KẾ:1. Với mạch đếm sản phẩm 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ẩm lớn.-Tổn hao công suất bé, mạch có thể sử dụng pin hoặc accu-Khả năng đếm rộng-Giá thành hạ-Mạch đơn giản dễ thực hiệnVớ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 lòng 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 nghà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 dùng IC rời kết nối lại không thực hiện được.

2. Với mạch đếm sản phẩm dùng kỹ thuật vi xử lí:

GVHD Nguyễn Việt Hùng

Page 2: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 2

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 vi xử lí 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 dùng IC rời không thể thực hiện được mà 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 mạch ít hơn.-Mạch đơn giản hơn so với mạch đếm sản phẩm dùng IC rời và có phần cài đặt số

đếm ban đầu-Mạch có thể lưu lại số liệu của các ca sản xuất -Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất cùng lúc bằng phần

mềm -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 những 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 của máy vi tính.Nhưng trong thiết kế người ta thường chọn phương pháp tối ưu nhưng kinh tế do đó

chúng em chọn phương pháp đếm sản phẩm dùng kỹ thuật vi điều khiển3. Phương pháp đếm sản phẩm dùng vi điều khiển:Ngoài những ưu điểm có được của hai phương pháp trên, phương pháp này còn có

những ưu điểm :-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.

III. 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 ra 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 cần phải có bộ phận hiển thị. Tuy nhiên mỗi khu vực sản xuất hay 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ạt trong việc chuyển đổi số đếm. Bộ phận chuyển đổi trực quan nhất là bàn phím. Khi cầ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ự động dừng. Từ đây suy ra mục đích yêu cầu của đề tài:

-Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh hoạt. -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 được sự an toàn,dễ sử dụng.-Giá thành không quá mắcIV. 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, 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ản phẩ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.

Từ mục đích yêu cầu của đề tài chúng em đưa ra sơ đồ khối tổng quát của mạch điện như sau:

GVHD Nguyễn Việt Hùng

Page 3: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 3

V. XÂY DỰNG SƠ ĐỒ KHỐI TỔNG QUÁT:

CHƯƠNG II LÝ THUYẾT THIẾT KẾ

I. CÁC KHỐI TRONG MẠCH ĐIỆN:1. Cảm biến: a. 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 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 phát 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 tần số phát như thế tạo ra 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 hồng ngoại và transitor quang là linh kiện phát và thu vì transistor quang là linh kiện rất nhạy với ánh sáng hồng ngoại. Bộ phận tạo dao động có thể dùng mạch LC, cổng logic, hoặc IC dao động. Với việc sử dụng IC chuyên dùng tạo dao động, bộ tạo dao động sẽ trở nên đơn giản hơn với tần số phát và thuVì tín hiệu ở ngõ ra trasitor quang rất nhỏ nên cần có mạch khuyếch đại trước khi đưa đến bộ tạo dao động. Chúng em chọn IC khuếch đại để khuếch đại tín hiệu lên đủ lớn. Vậy sơ đồ khối của phần phát và phần thu là:

GVHD Nguyễn Việt Hùng

KHỐI XỬ LÝ

CẢM BIẾN BÀN PHÍM

KHỐI HIỂN THỊ

KHỐI DAO ĐỘNG

KHỐI DAO

ĐỘNG

KHUYẾCH ĐẠI

TRANSITOR THU

Page 4: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 4

b. Các linh kiện trong mạch cảm biến : b1. 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.43eV 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 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 nối lớ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ực nghịch thì chỉ có dòng rỉ do sự di chuyển của các 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 – ampere của led hồng ngoại như sau:

b2. Photon transistor.Photon Transistor cũng tương tự như transistor thông thường nhưng chỉ khác ở chỗ

nó không có cực bazơ, thay cho tác dụng khống chế của dòng vào cực bazơ là sự khống chế của chùm sáng đối với dòng colector của transitor hoặc có cực bazơ, nhưng khống chế tín hiệu là ánh sáng.

Cấu tạo của transistor quang_ Ký hiệu và cấu tạo:

_Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trên vỏ của có cửa sổ trong suốt cho ánh sáng chiếu vào. Ánh sáng qua cửa sổ này chiếu lên miền bazơ của transistor. Chuyển tiếp PN emitor được chế tạo như các transistor thông thường, nhưng chuyển tiếp PN colector, thì do miền bazơ cần được chiếu sáng, cho nên nó có nhiều hình

GVHD Nguyễn Việt Hùng

= 4

= 3

= 2

= 1 = 0

U(V)

I(A)

C Cực thu (colecter)

Cực nền (base) E Cực phát (emiter)

Ký hiệu Cấu tạo

N P N B

EB

C

Page 5: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 5

dạng khác nhau, cũng có dạng hình tròn nằm giữa tâm miền bazơ. Khi sử dụng transistor quang mắc mạch tương tự như transistor mắc chung emitor (CE). Chuyển tiếp emitor được phân cực thuận còn chuyển tiếp colector được phân cực nghịch. Có nghĩa là transistor quang được phân cực ở chế độ khuyếch đại.

Dòng điện trong transistor: Vì nối thu được phân cực nghịch nên có dòng rỉ Ico chạy giữa thu – nền và vì nối nền - phát được phân cực thuận nên dòng thu là ( + 1)Ico đây là dòng tối của quang transistor. Khi chiếu ánh sáng vào miền bazơ, trong miền bazơ có sự phát xạ cặp điện tử lỗ trống làm xuất hiện dòng IL. Do ánh sáng khiến dòng thu trở thành: Ic = ( + 1) .(Ico + IL)

Đặc tuyến của transistor quang

Trong đó H là mật độ chiếu sáng (mW/cm2 )

Đặc tuyến của transistor quang cũng giống như đặc tuyến Volt- ampere của transistor thông thường mắc EC. Điều khác nhau ở đây là các tham số không phải là dòng Ib mà là lượng chiếu sáng

Đặc tuyến Volt ampere của transistor quang ứng với khoảng Uce nhỏ cũng có thể gọi là miền bão hòa vì khi ấy do sự tích tụ điện tích có thể coi như chuyển tiếp colector được phân cực thuận. Cũng tương tự như trong trường hợp transistor thông thuờng, độ dốc đặc tuyến trong miền khuyếch đại.

GVHD Nguyễn Việt Hùng

U(V)5 10 15 20

1

I(A)H = 9

H = 7

H = 5

H = 4

H = 1

8

6

4

2

0

Page 6: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 6

b3. IC dao động 555Sơ đồ chân:

Sơ đồ khối bên trong IC 555

Chức năng của các chânĐây là vi mạch định thời chuyên dùng, có thể mắc thành dạng mạch đơn ổn hay bất ổn.Điện áp cung cấp từ 3V đến 18V.Dòng điện ra đến 200mA (loại vi mạch BJT) hay 100mA (loại CMOS).Chân 1: Nối với masse.Chân 2: Nhận tín hiệu kích thích (trigger).Chân 3: Tín hiệu ra (output).Chân 4: Phục nguyên về trạng thái ban đầu (preset).Chân 5: Nhận điện áp điều khiển (control voltag).Chân 6: Mức ngưỡng ( threshold ).Chân 7: Tạo đường phóng điện cho tụ.Chân 8: Cấp nguồn Vcc.* IC khuyếch đại LM 324 ( QUAD OPERATIONAL AMPLIFIER).

LM 324 IC có 4 tầng khuếch đại thuật toán, IC làm việc với loại nguồn đơn.Độ lợi trên 100dB, tuy nhiên băng thông hẹp hơn LM 3900.Chú ý: không để ngã ra chạm vào nguồn V+ hay chạm thẳng vào masse, điều này sẽ làm hư IC. IC 567 (TONE DECODER):

GVHD Nguyễn Việt Hùng

4

1

3

2

1 2 3 4 5 6 7

14 13 12 11 10 9 8

GND

+3 - 30V

+

++

+

GND VCC

TRI DISOUT THRRES CN

FLIPFLOP

OUTPUT

8 6 4 7

13

2

5

Page 7: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 7

IC 567 Bộ giải mã âm sắc. IC chứa một vòng khóa pha. Khi tần số phù hợp với tần số trung tâm thì chân 8 có mức áp thấp. Do đó tín hiệu từ transistor qua tầng khuyếch đại đưa đến ngõ vào của IC 567. Tần số hiện nay được xác lập theo mạch định thời R và C hay 1,1(RC). R lấy khoảng 2K đến 20K. 567 có thể tách dò tần số ngã vào từ 0,01Hz đến 500KHz.

Ghi chú: các ngã vào trong mạch lọc thấp qua tính theo F sẽ được xác định bởi n/F0. Trong đó n trong khoảng 1300 đến 62000. Tụ ngã ra lấy trị số gấp đôi tụ trong mạch lọc thấp qua ở ngã vào.

2. Khối xử lí: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áy tí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ột thời điểm hay lưu lại các số liệu trong các ca sản xuất, đó là lí do chúng 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 chúng 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ộ định thờ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ó IC chuyể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. Sau đây là giới thiệu của chúng em về vi điều khiển 8051:

a. Giới thiệu cấu trúc phần cứng 8051a1. Sơ đồ chân 8051

8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặc điểm như sau:- 4k byte ROM,128 byte RAM- 4 Port I/O 8 bit.- 2 bộ đếm/ định thời 16 bit.- Giao tiếp nối tiếp.- 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 4.

Sơ lược về các chân của 8051:

GVHD Nguyễn Việt Hùng

Ngõ ra GND Tụ định thời Điện trở định thời

5678765

1 2 3 4

Tụ ngõ raTụ lọc

thôngthấpNgõvào

+4,75-9,0V

Page 8: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 8

a2. Chức năng của các chân 8051:

Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu. Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với thiết bị ngoài nếu cần.

Port 2: 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.

Port 3: từ 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ân củ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 đặc biệt của 8051 như ở bảng sau :

Bit Tên Chức năng chuyển đổi

P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7

RXDTXDINT0\INT1\T0T1WR\RD\

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.

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 8051 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 8051 để giải mã lệnh. Khi 8051 thi hành chương trình trong ROM nội PSEN ở mức cao.

ALE (Address Latch Enable): Khi 8051 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ùng là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.

Tí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 1 hoặc mức 0. Nếu ở mức 1, 8051 thi hành chương trình từ ROM nội. Nếu ở mức 0, 8051 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ồn 21V khi lập trình cho Eprom trong 8051.

RST (Reset): 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ên trong đượ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 ngõ vào bộ dao động X1, X2: Bộ tạo dao động được tích hợp bên trong 8051. Khi sử dụng 8051, người ta chỉ cần nối

thêm tụ thạch anh và các tụ. Tần số tụ thạch anh thường là 12 Mhb. Cấu trúc bên trong của 8051b1. Sơ đồ khối bên trong 8051:

GVHD Nguyễn Việt Hùng

Page 9: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 9

b2. Khảo sát các khối nhớ bên trong 8051:

GVHD Nguyễn Việt Hùng

T1

T0

Điều khiển ngắt

Các thanhghi khác

128 byte RAM MRO nội

Timer 2Timer

1Timer 0

CPU

Oscillator Điều khiển bus

Các port I/O Port nối tiếp

Port nối tiếp

Timer 0

Timer 1

Timer 2

INT0

INT1

EA

RST

PSEN

ALE

P0 P2 P1 P3 TxD RxD

T2 EXTERNAL

Page 10: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 10

*Tổ chức bộ nhớ:

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óa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt.

GVHD Nguyễn Việt Hùng

7F RAM ĐA DỤNG

302F 7F 7E 7D 7C 7B 7A 79 78

2E 77 76 75 74 73 72 71 702D 6F 6E 6D 6C 6B 6A 69 682C 67 66 65 64 63 62 61 602B 5F 5E 5D 5C 5B 5A 59 582A 57 56 55 54 53 52 51 5029 4F 4E 4D 4C 4B 4A 49 4828 47 46 45 44 43 42 41 4027 3F 3E 3D 3C 3B 3A 39 3826 37 36 35 34 33 32 31 3025 2F 2E 2D 2C 2B 2A 29 2824 27 26 25 24 23 22 21 2023 1F 1E 1D 1C 1B 1A 19 1822 17 16 15 14 13 12 11 1021 0F 0E 0D 0C 0B 0A 09 0820 07 06 05 04 03 02 01 001F

BANK 318 17

BANK 210

0F

BANK 108

07

Bank thanh ghi 0 ( mặc định cho R0-R7)

00

CẤU TRÚC RAM NỘI

F0 F7 F6 F5 F4 F3 F2 F1 F0

E0 E7 E6 E5 E4 E3 E2 E1 E0

D0 D7 D6 6D 6C 6B 6A 69 68

B8 - - - BC BB BA B9 B8

B0 B7 B6 B5 B4 B3 B2 B1 B0

A8 AF AE AD AC AB AA A9 A8

A0 A7 A6 A5 A4 A3 A2 A1 A0

99 Không có địa chỉ hóa từng bit98 9F 9E 9D 9C 9B 9A 99 98

90 97 96 95 94 93 92 91 90

8D Không được địa chỉ hóa từng bit8C Không được địa chỉ hóa từng bit8B Không được địa chỉ hóa từng bit8A Không được địa chỉ hóa từng bit89 Không được địa chỉ hóa từng bit88 8F 8

E8D 8C 8B 8A 89 88

87 Không được địa chỉ hóa từng bit

83 Không được địa chỉ hóa từng bit82 Không được địa chỉ hóa từng bit81 Không được địa chỉ hóa từng bit80 87 86 8

584 83 82 81 80

THANH GHI CHỨC NĂNG ĐẶC BIỆT

Page 11: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 11

8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 8051 vẫ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.

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. -Ram đa dụng:

Mọi địa chỉ trong vùng ram đa dụng đều có thể được truy xuất tự do dùng kiểu địa chỉ trực tiếp hay gián tiếp. Ví dụ để đọc nội dung ô nhớ ở địa chỉ 5FH của ram nội vào thanh ghi tích lũy A : MOV A,5FH.Hoặc truy xuất dùng cách địa chỉ gián tiếp qua R0 hay R1. Ví dụ 2 lệnh sau sẽ thi hành cùng nhiệm vụ như lệnh ở trên:

MOV R0, #5FHMOV A , @R0

-Ram có thể truy xuất từng bit:8051 chứa 210 bit được địa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có địa

chỉ 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 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:

Bộ lệnh 8051 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc định (sau khi reset 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: MOV A, R5.

Đây là lệnh 1 byte dùng địa chỉ thanh ghi. Tuy nhiên có thể thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ 2: MOV A, 05H.

Lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn nhiều so với lệnh tương ứng dùng địa chỉ trực tiếp.

Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chương trình (PSW). Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nội dung của thanh ghi A vào ô nhớ ram có địa chỉ 18H: MOV R0, A.

* Các thanh ghi có chức năng đặc biệt: 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ú ý: tất cả 128 địa chỉ từ 80H đến FFH không đượ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ỉ.

-Thanh ghi trạng thái chương trình:Thanh ghi trạng thái chương trình PSW (Program Status Word ) ở địa chỉ DOH chứa các bít trạng thái như bảng sau:

Bit Ký hiệu Địa chỉ Ý nghĩa

GVHD Nguyễn Việt Hùng

Page 12: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 12

PSW.7PSW.6PSW.5PSW.4PSW.3

PSW.2PSW.1PSW.0

CYACF0RS1RS0

0V_P

D7HD6HD5HD4HD3H

D2HD1HD0H

Cờ nhớCờ nhớ phụCờ 0Bit 1 chọn bank thanh ghiBit 0 chọn bank thanh ghi 00=bank 0: địa chỉ 00H – 07H 01=bank 1: địa chỉ 08H – 0FH 10=bank 2: địa chỉ 10H – 1FH 11=bank 3: địa chỉ 18H –1FHCờ trànDự trữCờ parity chẵn lẽ.

+ Cờ nhớ : 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:ADD A, #1

Phép cộng này có tràn nên bit C = 1 và kết quả trong thanh ghi A = 00HCờ nhớ có thể xem là thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. ANL C, 25H

+ Cớ nhớ phụ:Khi cộng các số BCD, cờ nhớ phụ AC = 1 nếu kết quả 4 bit thấp trong khoảng 0AH đến 0FH. Ngược lại AC = 0.

+ Cờ 0:Cờ 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 bankthanh ghi truy xuất: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. 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 RS1SETB RS0MOV A,R7

-Thanh ghi B:Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép

toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và B rồi trả kết quả về 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ chia A 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.

-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ủa byte

dữ 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ác lệ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 ngă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

GVHD Nguyễn Việt Hùng

Page 13: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 13

Khi reset 8051, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được cất và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ác lệ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ằng lệnh gọi chương trình con ACALL,LCALL và các lệnh trở về (RET. RETI) để lưu trữ 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ại khi 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ào ram ngoài ở địa chỉ 1000H:

MOV A,#55H MOV DPTR, #1000H

MOVX @DPTR,A-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 ở địa chỉ A0H, và port3 ở địa chỉ B0H. tất cả các port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp.

-Các thanh ghi timer: 8051 có chứa 2 bộ định thời/ đếm 16 bit được dùng cho việc định thời hoặc đếm sự

kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động timer được Set bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ 88H, chỉ có TCON được địa chỉ hóa từng bit. -Các thanh ghi port nối tiếp:

8051 chứa một port nối tiếp 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, modem hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu nhận. Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON ở đị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 ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H, cả 2 thanh ghi được địa chỉ hóa từng bit. -Thanh ghi điều khiển công suất: Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa các bit điều khiển. -Tín hiệu Reset:

8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ, sau đó xuống mức thấp để 8051 bắt đầu làm việc. RST có thể kích bằng tay bằng một phím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a) sau khi reset hệ thống được tóm tắt như sau:

Thanh ghi Nội dung

GVHD Nguyễn Việt Hùng

Page 14: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 14

Đếm chương trình PCThanhghi tích lũy AThanh ghi BThanh ghi trạng tháiSPDPTRPort 0 đến Port 3IPIECác thanh ghi định thời

0000H00H00H00H07H0000HFFHXXX0000 B0XX00000 B00H

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được Reset tại địa chỉ 0000H. Khi ngõ vào RST xuống mức thấp, chương trình luôn bắt đầu tại địa chỉ 0000H của bộ nhớ chương trình. Nội dung của Ram trong chip không bị hay đổi bởi tác động của ngõ vào Reset

c.Hoạt động thanh ghi TIMER8051 có hai 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 8051.

Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những khoảng đề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 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 gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung ).Truy xuất các timer của 8051 dùng sáu thanh ghi chức năng đặc biệt cho trong bảng sau:

SFR Mục Đích Địa chỉ Địa chỉ hóa từng bit

TCON Điều khiển Timer 88H Có

TMOD Chế độ Timer 89H Không

TL0 Byte thấp của Timer 0 90H Không

TL1 Byte thấp của Timer 1 91H Không

TH0 Byte cao của Timer 0 92H Không

GVHD Nguyễn Việt Hùng

Page 15: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 15

TH1 Byte cao của Timer 1 93H Không

Các thanh ghi chức năng của timer trong 8031.

Thanh ghi chế độ timer (TMOD):

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ế độ Count/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ế độ mode

3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức cao

2 C/T 0 Bit chọn chế độ Count/Timer

1 M1 0 Bit 1 của chế độ mode

0 M0 0 Bit 0 của chế độ mode

Tóm tắt thanh ghi chức năng TMOD.

Thanh ghi điều khiển timer(TCON)

Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1, Timer 0.

Bit Ký hiệu Địa chỉ Mô tả

TCON.7 TF1 8FH Cờ báo tràn timer 1. Đặt bởi phần cứng khi tràn, được xóa bởi phần mềm, hoặc phần cứ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 xóa bằng phần mềm để cho timer chạy ngưng.

TCON.5 TF0 8DH Cờ báo tràn Timer 0.

TCON.4 TR0 8CH Bit điều khiển Timer 0 chạy

TCON.3 IE1 8BH Cờ cạnh ngắt 1 bên ngoài. Đặt bởi phần cứng khi phát hiện một cạnh xuống ở INT1 xóa bằng phần

GVHD Nguyễn Việt Hùng

Page 16: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 16

mềm họăc phần cứng khi CPU chỉ đến chương trình phục vụ ngắt.

TCON.2 IT1 8AH Cờ kiểu ngắt 1 bên ngoài. Đặt xóa bằng phần mềm để ngắt ngoài tích cực cạnh xuống /mức thấp.

TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngòai

TCON.0 IT0 88h Cờ kiểu ngắt 0 bên ngoài

Tóm tắt thanh ghi chức năng TCON

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 được cho chạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhậ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ác lệnh sau khởi động Timer 1 như timer 16 bit (chế độ 1) có xung nhịp từ bộ dao động tê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 xung nhịp nội và xóa các bit chế độ Timer 0. Dĩ nhiên, timer không thật sự bắt đầu định thời cho đế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ể được khởi động bằng cách khởi động giá trị cho TH1/TL1 là FF9CH:MOV TL1, #9CH MOV TH1, #0FFH

Rồi timer được cho chạy bằng cách đặt bit điều khiển chạy như sau: SETB TR1

Cờ báo tràn được tự động đặt lên 1 sau 100s. Phần mềm có thể đợi trong 100 s bằng cách dùng lệnh rẽ nhánh có điều kiện nhảy đến chính nó trong khi cờ báo tràn chưa được đặt lên 1:

WAIT: JNB TF1, WAITKhi timer tràn, cần dừng timer và xóa cờ báo tràn trong phần mềm:

CLR TR1 CLR TF1

d. 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ời

chươ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ác ngắ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. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giải quyết 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 ở 8031: 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ép từng cái một bằng phần mềm.

GVHD Nguyễn Việt Hùng

Page 17: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 17

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.

- Cho phép và cấm ngắt :

Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt biệt có định địa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H.

Bit Ký hiệu Địa chỉ bit Mô tả

IE.7 EA AFH Cho phép / Cấm toàn bộ

IE.6 _ AEH Không được mô tả

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

Tóm tắt thanh ghi IE

- Các cờ ngắt :

Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lên một để xác nhận ngắt.

Ngắt Cờ Thanh ghi SFR và vị trí bit

Bên ngoài 0 IE0 TCON.1

Bên ngoài 1 IE1 TCON.3

Timer 1 TF1 TCON.7

Timer 0 TF0 TCON.5

GVHD Nguyễn Việt Hùng

Page 18: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 18

Port nối tiếp TI SCON.1

Port nối tiếp RI SCON.0

Các lọai cờ ngắt

- Các vectơ ngắt :

Khi chấp nhận ngắt, giá trị được nạp vào PC được 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 :

Ngắt Cờ Địa chỉ vector

Reset hệ thống RST 0000H

Bên ngoài 0 IE0 0003H

Timer 0 TF0 000BH

Bên ngoài 1 IE1 0013H

Timer 1 TF1 001BH

Port nối tiếp TI và RI 0023H

Timer 2 002BH

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.

e. Kết hợp 8051 với bộ nhớ ngoài Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển theo một

chương trình, muốn Microprocessor thực hiện một công việc gì người sử dụng phải lập trình hay viết chương trình. Chương trình phải lưư trữ ở đâu để Microprocessor nhận lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưư trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý. Nơi lưu trữ chương trình cho Microprocessor thực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ. Các bộ nhớ của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc chỉ đọc dữ liệu ra. Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 8051 có khả năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu bên ngoài. Bộ nhớ chương trình là bộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram.

_ Bộ nhớ Ram chia ra làm 2 loại Sram và Dram. Dram được chế tạo dùng kỹ thuật MOS, có dung lượng bộ nhớ lớn, công xuất tiêu tán thấp và tốc độ hoạt động trung bình. Ơ Sram dữ liệu lưu trữ vào các Flip- Flop còn Dram dữ liệu lưu trữ mức 0 và 1 tương đương với quá trình nạp và xả của một tụ điện khoảng vài pF. Bởi vì điện áp của tụ sẽ suy giảm dần do đó Dram đòi hỏi chu kỳ nạp lại nếu không muốn mất dữ liệu và được gọi là quá

GVHD Nguyễn Việt Hùng

Page 19: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 19

trình làm tươi Ram, đây chính là khuyết điểm của Dram so với Sram. Bộ nhớ Rom có nhiều loại: PROM, EPROM, EEPROM nhưng EPROM có thể lập trình bởi người dùng, có thể xóa và lập trình lại nhiều lần nên trong đồ án này chúng em dùng EPROM 2764 và dùng SRAM 6264. Đặc điểm, sơ đồ chân và bảng sự thật của 2764 và 6264 ở hình dưới đây

SRAM 6264: là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng 65536 bit được tổ chức thành 8192x8 bit (8KByte), điện áp cung cấp là +5V, thời gian truy cập khoảng 150ns. Ngõ vào/ra dữ liệu được dùng chung, các ngõ vào/ra này tương thích TTL. Công suất tiêu tán ở trạng thái chờ rất thấp chỉ khoảng 0,1mW so với khi hoạt động bình thường là 200mW.

Sơ đồ chân và sơ đồ logic của 6264 như sau:

Từ sơ đồ chân cho ta thấy cá chân được chia thành 4 nhóm: + Vcc, GND : chân nguồn

+ Do đến D7 : chân dữ liệu+ Ao đến A12 : chân địa chỉ+

EPROM 2764: là bộ nhớ chỉ đọc được chế tạo theo công nghệ NMOS, dùng một nguồn đơn +5V, dung lượng bộ nhớ là 65536 bit, được tổ chức thành 8192x8 bit (8KByte). 2764 là loại EPROM có thể xóa bằng tia cực tím và có thể ghi lại được nhiều lần. Có hai kiểu họat động: bình thường và chờ. Ở trạng thái chờ, công suất tiêu thụ là 132mW so với 525mW khi ở trạng thái đọc dữ liệu, thời gian truy xuất là 200ns. Sơ đồ chân và sơ đồ logic của 2764 như sau:

GVHD Nguyễn Việt Hùng

DQ0-DQ7

6264A0-A12

CE1\CE2

OE\WE\

N.CA12

A7

A6

A5

A4

A3

A2

A1

A0

DQ0

DQ1

DQ2

Vss

6264

Vcc

WE\CE2

A8

A9

A11

OE\A10

CE1\DQ7

DQ6

DQ5

DQ4

DQ3

Mode \ Pin WE\ CE1\ CE2 OE\ Output

Not Select x H x x Hi-Zx x L x

Output Disable

H L H H Hi-Z

Read H L H L Dout

Write L L H H Din

Vpp

A12

A7

A6

A5

A4

A3

A2

A1

A0

O0

O1

O2

GND

2764

VccPGM\N.CA8

A9

A11

OE\A10

CE\O7

O6

O5

O4

O3

2764CE\OE\VPP

D0-D7

A0-A12

WE, OE, CS1, CS2 : chân điều khiển

Page 20: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 20

- EPROM có thể được lập bởi người lập trình sử dụng và nó cũng có thể xóa để lập trình lại khi nào muốn. -EPROM dùng trong mạch được chứa sẵn chương trình điều khiển, tức là chỉ xuất Data mỗi khi CPU tham khảo đến, do đó ta chỉ quan tâm đến chế độ đọc và chờ. Dựa vào các Mode hoạt động trên thì EPROM được điều khiển các chân sau:

- PGM = 5 Volt (Vcc )- OE\ nối chân PSEN của CPU- CE\ nối xuống CSO

+ Chế độ đọc (Read Mode ): Chế độ này được thiết lập khi CE\ và OE\ ở mức thấp, PGM ở mức cao. Có hai ngõ vào điều khiển dùng để truy xuất Data từ ROM là CE\ và OE\ dùng để kiểm soát ngõ ra Data, đưa Data lên Data bus.+ Chế độ chờ (Stanby Mode ): Chế độ này làm giảm công suất tiêu thụ được thiết lập khi CE\ ở mức cao, ở chế độ này Data ở trạng thái trở kháng cao độc lập.

*Giải mã địa chỉ: Do 8051 thiết kế cần quản lý nhiều thiết bị ngoại vi, nhiều ô nhớ, muốn làm được

việc này người ta phải cung cấp cho mỗi ô nhớ và thiết bị ngoại vi tầm địa chỉ cho thiết bị đó. Vì vậy cần có mạch giải mã địa chỉ trong mạch điện. Người ta thường dùng IC giải mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS\) trên các IC nhớ. Sau đây là sơ đồ chân, bảng sự thật và đặc điểm của 74138:

GVHD Nguyễn Việt Hùng

Mode (chế độ)

CE\ OE\ PGM\ VPP Ra (Output)

Đọc L L H Vcc DoutChờ H x x Vcc Hi-Z

Lập trình L x L Vpp DinKiểm tra L L H Vpp Do ut

Cấm lập trình

H x x Vpp Hi-Z

Bảng trạng thái

ABC

G2A

G2B

G1

Y7

GND

Vcc

Y0

Y1

Y2

Y3

Y4

Y5

Y6

74138

74138

ABC

Y0 ...Y7

G2A\

G2B

G1

Sơ đồ chân

Page 21: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 21

sơ lược về các chân:- Ngõ vào A,B,C là các chân ngõ vào số nhị phân 3 bit. C là bit có trọng số lớn nhất, A là bit có trọng số nhỏ nhất- Các chân ngõ ra: Yo Y7, tích cực mức thấp.- Các chân điều khiển: G1,G2A, G2B. IC chỉ hoạt động giải mã khi các chân điều khiển đồng thời tích cực. G1 tích cực ở mức cao; G2A\ và G2B\ tích cực ở mức thấp Khi một trong 3 chân này không tích cực các ngõ ra từ Yo Y7 ở mức cao.

*Giải đa hợp các đường dữ liệu và đường địa chỉ:

Khi dùng bộ nhớ ngoài, port 0 không còn là port IO thuần túy. Nó được kết hợp giữa bus địa chỉ và bus dữ liệu nên dùng tín hiệu ALE và IC chốt để chốt byte thấp của bus địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ. Port2 cho byte cao của bus địa chỉ. Ơ đây chúng em dùng IC chốt 74373. Sơ đồ chân, đặc điểm và bảng trạng thái của 74373

Sơ đồ chân

Bảng trạng thái

GVHD Nguyễn Việt Hùng

INPUTS OUTPUTSENABLE SELECTG1 G2 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

x H x x x H H H H H H H HL x x x x H H H H H H H HH L L L L L H H H H H H HH L L L H H L H H H H H HH L L H L H H L H H H H HH L L H H H H H L H H H HH L H L L H H H H L H H HH L H L H H H H H H L H HH L H H L H H H H H H L HH L H H H H H H H H H H L

G2 = G2A + G2 Bảng trạng thái

74373

D0-D7

Q0-Q7

OC \

G

OutputControl (OC)

EnableG

D OUTPUT

L H H HL H L LL L x Q0

H x x HI-Z

Vcc

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

G

OE\D0

D1

D2

D3

D4

D5

D6

D7

GND

74373

Page 22: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 22

Đặc điểm

_ 74LS373 gồm 8 D-FF có ngõ ra 3 trạng thái được điều khiển chốt và xuất dữ liệu bằng chân G và OC. Trong ứng dụng này chân G được nối với chân ALE của 8051, chân OC nối mass.

_ là IC chốt 8 bit

_ Các bộ đệm ngõ ra 3 trạng thái

_ Tín hiệu điều khiển ngõ ra 3 trạng thái chung.*Xếp chồng các vùng nhớ chương trình và dữ liệu bên ngoài:Vì bộ nhớ chương trình là Rom nên xảy ra vấn đề bất tiện khi phát triển phần mềm

cho 8051 là tổ chức bộ nhớ như thế nào để có thể sửa đổi chương trình và có thể ghi trở lại khi nó được chứa trong bộ nhớ Rom. Cách giải quyết là xếp chồng các vùng dữ liệu và chương trình. Một bộ nhớ Ram có thể chứa cả chương trình và dữ liệu bằng cách nối đường OE\ của Ram đến ngõ ra cổng AND có 2 ngõ vào là PSEN\ và RD\. Sơ đồ mạch như hình sau cho phép bộ nhớ Ram có 2 chức năng vừa là bộ nhớ chương trình vừa là bộ nhớ dữ liệu.

Vậy 1 chương trình có thể được tải vào Ram (bằng cách ghi nó như bộ nhớ dữ liệu) và thi hành chương trình (bằng cách truy xuất nó như bộ nhớ chương trình)

3. Khối hiển thị: a.Sơ đồ khối của mạch hiển thị:Bo phận hiển thị gồm 8 led 7 đoạn anod chung. Vì các vi xử lí xử lí các dữ liệu là số

nhị phân (1,0 ) nên cần có sự giãi mã từ số nhị phân sang số thập phân. Sự giải mã có thể dùng giải mã bằng phần cứng (IC giải mã). Tuy nhiên với phần mềm quét led người ta có thể giảm bớt được các IC giải mã giảm giá thành của mạch điện. Nhưng để kết nối với mạch hiển thị phải cần có IC giao tiếp vào ra vì các port của 8051 đã dùng cho mục đích khác. 8255 là IC giao tiếp vào ra song song thông dụng và có thể điều khiển được bằng phần mềm nên chúng em sử dụng 8255 để giao tiếp với các thiết bị ngoại vi (phần hiển thị…). Vì dòng ra các port của 8255 rất nhỏ (lớn nhất là port A khoảng 5mA) nên cần có IC đệm dòng để nâng dòng lên đủ kéo cho led sáng. Chúng em chọn IC đệm 74245. Khi đưa dữ liệu ra để hiển thị tất cả các led đều nhận nhưng tại một thời điểm chỉ cho phép một led được nhận dữ liệu nên phải có mạch giải mã để chọn led.Chúng em sử dụng IC giải mã 74LS138.Vì vậy sơ đồ khối của mạch hiển thị như sau:

GVHD Nguyễn Việt Hùng

WR

RAM

OE\

WR

RDPSEN

Page 23: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 23

b. Giới thiệu về các linh kiện trong mạch

b1.Cổng xuất nhập 8255:

Trong hệ thống Vi xử lý hay máy vi tính nếu chỉ giao tiếp với bộ nhớ trong ROM, RAM thì chưa đủ, máy tính còn phải giao tiếp với các thiết bị ngoại vi như bàn phím, màn hình, máy in, ... để con người có thể đối thoại được máy tính cũng như dùng máy tính để điều khiển các thiết bị khác. Để giao tiếp với nhiều thiết bị như vậy, máy tính có thể giao tiếp qua nhiều đường và giao tiếp với nhiều hình thức khác nhau như giao tiếp nối tiếp, giao tiếp song song.

Vì vậy vai trò của cổng xuất nhập 8255 để giao tiếp giữa máy tính với thiết bị ngoài là một điều cần thiết giúp máy có thể mở rộng khả năng làm việc.

*Sơ đồ chân của 8255

Sơ đồ chân và sơ đồ logic

Tính linh hoạt của vi mạch thể hiện ở khả năng lập trình. Qua một thanh ghi điều khiển, người sử dụng xác định chế độ hoạt động và cổng nào cần được sử dụng như là lối vào hoặc lối ra. Các chân ra D0 D7 tạo nên bus dữ liệu hai chiều có độ rộng là 8 bit. 8255 được chọn bởi tín hiệu mức thấp ở ngõ vào chọn chíp CS\. Khi 8255 không được chọn, bộ đệm bus dữ liệu nối 8255 với hệ thống được thả nổi. Khi được chọn, các ngõ vào A0 và A1

GVHD Nguyễn Việt Hùng

8051

Port CH

8255

PortAĐệm

74245

Giải mã74138

LED

Port0

Port2

A1 A0 RD\ WR\ CS\ Hoạt độngL L L H L Port A Bus dữ liệuL H L H L Port B Bus dữ liệuH L L H L Port C Bus dữ liệuL L H L L Bus dữ liệu Port A L H H L L Bus dữ liệu Port BH L H L L Bus dữ liệu Port CH H H L L Bus dữ liệu Từ điều khiểnx x x x H Bus dữ liệu ở trạng thái Hi-ZH H L H L Cấmx x H H L Bus dữ liệu ở trạng thái Hi-Z

8255A

D0-D7

RD\WR\

RESET

CS\ A0

A1

CS\

PA0-PA7

PB0-PB7

PC0-PC3

PC4-PC7

PA3

PA2

PA1

PA0

RD\CS\

GNDA1

A0

PC7

PC6

PC5

PC4

PC0

PC1

PC2

PC3

PB0

PB1

PB2

PA4

PA5

PA6

PA7

WR\RESETD0

D1

D2

D3

D4

D5

D6

D7

Vcc

PB7

PB6

PB5

PB4

PB3

8255A

Page 24: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 24

được dùng để chọn thanh ghi điều khiển hoặc một trong các cổng vào/ra để trao đổi dữ liệu. Các hoạt động cơ bản của 8255 được tóm tắt trong bảng sau

* Các trạng thái làm việc của 8255:

Qua bảng trạng thái của 8255, ta thấy thanh ghi điều khiển đặt dưới địa chỉ bên trong là A1 = [1], A0 = [1]. Trong một chu kỳ ghi lên thanh ghi điều khiển, xác định cổng vào/ra cũng như chế độ hoạt động. Khi chân RESET ở mức [H], thanh ghi điều khiển sẽ được đặt lại và định nghĩa toàn bộ 24 đường dẫn như là các ngõ vào.Trạng thái này kéo dài tới khi chương trình ứng dụng viết từ điều khiển vào thanh ghi điều khiển để xác định chế độ làm việc của 8255.

Các cổng A, B, C được phân thành hai nhóm. Nhóm A gồm cổng A và nửa cao của cổng C, nhóm B gồm cổng B và nửa thấp còn lại của cổng C. Có 3 chế độ hoạt động khác nhau:

- Chế độ 0: vào/ra thông thường.

- Chế độ 1: chốt vào/ra.

- Chế độ 2: bus hai chiều.

Chế độ 0:

Từ điều khiển:

Chế độ 0 xác lập hai cổng 8 bit (A và B) và hai cổng 4 bit (nửa cao và nửa thấp của C). Bất kỳ cổng nào cũng có thể nhập hoặc xuất dữ liệu một cách độc lập tùy theo các bit D4, D3, D1 và D0. Có 24 = 16 khả năng vào/ra trong chế độ này

Cấu trúc từ điều khiển:

GVHD Nguyễn Việt Hùng

A1 A0 RD\ WR\ CS\ Hoạt độngL L L H L Port A Bus dữ liệuL H L H L Port B Bus dữ liệuH L L H L Port C Bus dữ liệuL L H L L Bus dữ liệu Port A L H H L L Bus dữ liệu Port BH L H L L Bus dữ liệu Port CH H H L L Bus dữ liệu Từ điều khiểnx x x x H Bus dữ liệu ở trạng thái Hi-ZH H L H L Cấmx x H H L Bus dữ liệu ở trạng thái Hi-Z

Cờ lập chế độ1 = tích cực

1 0 0 D4 D3 0 D1 D0

Page 25: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 25

Vì dòng ra các port của 8255 rất nhỏ (lớn nhất là port A khoảng 5mA) nên cần có IC đệm dòng để nâng dòng lên đủ kéo cho led sáng. Chúng em chọn IC đệm 74245, sau đây là sơ đồ chân, bảng trạng thái của 74245:

Sơ đồ chân và sơ đồ logic của 74245 như sau:

GVHD Nguyễn Việt Hùng

Nhóm BPort C (thấp)1 = nhập0 =

xuấtPort B1 = nhập0 =

xuấtChọn chế độ0 = chế độ 01 = chế độ 1

Cờ lập chế độ

1 = tích cực

Nhóm APort C (cao)1 = nhập0 =

xuấtPort A1 = nhập0 =

xuấtChọn chế độ

00 = chế độ 001 = chế độ 11x = chế độ 2

D7 D6 D5 D4 D3 D2 D1 D0

Page 26: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 26

Tuy nhiên dòng ra lớn nên phải dùng thêm điện trở hạn dòng từ mỗi ngõ ra (B1 _ B8) của 74245

4. Bàn phím:Vì đây là mạch đếm sản phẩm, đếm số sản phẩm trong một thùng, và số sản phẩm

trong một lô, mỗi loại như vậy có thể nhập vào số đếm trong phạm vi từ 0 đến tối đa 9999, do đó chúng em sử dụng 10 phím số từ 0 đến 9. Và mỗi lần nhập số vào để nhận biết là nhập mấy số hoặc đã nhập xong và muốn biết cho phép đếm chưa hoặc hủy bỏ số vừa nhập phải cần sử dụng thêm các phím chức năng, nên chúng em dùng thêm 6 phím chức năng từ A đến F. Do đó bàn phím gồm 16 phím được kết nối vào port 1 của 8051:

Sơ đồ khối kết nối như sau:

GVHD Nguyễn Việt Hùng

EnableG\DirectionControlDIROperation

L

L

HL

H

XDữ liệu từ B đưa ra bus ADữ liệu từ A đưa ra busANgăn

Bảng sự thật

1 2

2 3 4 5 6 7 8 9 10

74245

2019

18

17 161514131211

DIR

A1

A2A3A4A5A6A7

A

8GND

VccG\B1B2B3B4B5B6B7B8

Sơ đồ chân

8051BÀN PHÍMPORT 1

Page 27: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luận văn tốt nghiệp Trang 1

GVHD Nguyễn Việt Hùng

8051

74373

ROM

CS\

RAM

CS\

8255-2

CS\

74138 Y0

Y1

Y2

Y3

Hiển

thị

Rơle

ĐH

8255-1

CS\ Rơle

BC

Thu Phát

Port0 Data

A0 A7 A0 A1

PortA

PortB PortA

PortB.0

A8 A12

Port2A13 A15

BÀN PHÍMPort1

Address

SƠ ĐỒ KHỐI CHI TIẾT CỦA MẠCH ĐIN

Page 28: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 1

PHẦN II THIẾT KẾ,THI CÔNGVÀ CHƯƠNG TRÌNH

CHƯƠNG I THIẾT KẾ, THI CÔNG PHẦN CỨNGSau khi đã phân tích một mô hình hệ thống vi xử lý bây giờ chúng em bắt đầu đi vào

tính toán các giá trị thực tế để cho hệ thống hoạt động được. Việc tính toán lựa chọn phải dựa trên lý thuyết và các linh kiện thông dụng trên thị trường.

Mặc dù phần cứng hệ thống không thể thay đổi được nhưng phần mềm có thể thay đổi làm cho hệ thống có khả năng hoạt động một cách linh hoạt vì vậy thiết kế phần cứng phải cân đối sao cho phần mềm không quá phức tạp.

I. KẾT NỐI 8051 VỚI BỘ NHỚ VÀ CÁC IC NGOẠI VI :1. Kết nối bộ nhớ chương trình bên ngoài:Bộ xử lý chính là IC 8051 với tần số làm việc là 12 MHz. Chân 18, 19 của 8051

được nối với thạch anh (cũng có thể thay thế thạch anh bằng tín hiệu xung clock). Bộ nhớ ROM được cho phép bởi tín hiệu PSEN\. Hình sau mô tả cách nối bộ nhớ

Eprom với 8051:

2. Kết nối bộ nhớ dữ liệu ngoài:Bộ nhớ Ram được cho phép ghi/ đọc bằng các tín hiệu điều khiển WR\ và RD\.

8051 có 1 lệnh duy nhất truy xuất dữ liệu của bộ nhớ dữ liệu ngoài là MOVX dùng con trỏ 16 bit (DPTR) hoặc R0 và R1 xem như thanh ghi địa chỉ.

Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051 cũng giống như EPROM . Ngoài ra, RD của 8051 được nối tới chân cho phép xuất (OE\ ) của Ram và chân WR được nối tới chân ghi (WR\) của Ram.

GVHD Nguyeãn Vieät Huøng

D7 - D0

EPROMA7- A0

A15 -A80E\

Port 0

EA 8051

Port2

PSEN

.]

uhhdsaufy

D74373 Q G

ALE

Page 29: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 2

3.Kết nối mạch giải mã: *Hình thành mạch giải mã địa chỉ dựa trên bảng đồ bộ nhớ sau:

IC A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

hex

Rom8K

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 H1FFFH0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

Ram8K

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 H3FFFH0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

82551

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000 H4003 H0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1

82552

0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000 H6003 H0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1

Tuy nhiên tại một thời điểm chỉ có 1 IC nhớ được truy xuất nên dùng các đường địa chỉ A13, A14, A15 để phân biệt. Lấy A15, A13, A14 nối tới 3 đầu vào IC giải mã 74138 (A,B,C). Các ngõ ra Y0, Y1,Y2, Y3 lần lượt được nối tới CE của Rom,Ram, CS của 8255. Khi Yi = 0 thì IC đó được chọn: A13, A14, A15 = 0 chọn Rom A13 = 1, A14, A15 = 0 chọn Ram A13 = 0, A14 = 1, A15 = 0 chọn 82551

A13 =1, A14 = 1, A15 = 0 chọn 82552

4. Kết nối mạch chốt: -Chân ALE (chân 30) của 8051 kết nối với chân G của 74373. Các đường của Port0 nối với các đường từ Do đến D7 của 74373. Các đường tín hiệu (Q0Q7 ) của 74373 và các đường port 2 (P2.0 P2.7) được nối tới các đường địa chỉ của ROM và RAM (A0 A12 ) còn các đường dữ liệu từ port 0 được nối tới các đường dữ liệu của ROM và RAM, 8255 (D0 D 7 ).

-Trong mỗi chu kỳ máy sẽ có 2 xung ALE. Khi ALE ở mức logic cao (G = 1) và OC\ = (0) thì ngõ ra Qo Q7 tương ứng với ngõ vào D, mọi sự thay đổi ở ngõ vào đều ảnh hưởng đến ngõ ra, lúc này Port 0 tương ứng là đường địa chỉ Ao A7. Khi ALE xuống

GVHD Nguyeãn Vieät Huøng

D7 - D0

RAMA7- A0

A15 -A80EWR

Port 0 EA

8051

ALE

Port2

RD

WR

.]

uhhdsaufy

D Q 74373G

Page 30: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 3

mức thấp (G = 0), ngõ ra Q sẽ giữ nguyên trạng thái trước đó bất chấp ngõ vào D, lúc này các đường Port 0 tương ứng là các đường dữ liệu Do D7.

*Tín hiệu PSEN\ của 8051 (chân 29) nối tới 0E của Rom. Các đường (RD,WR) nối đến RD, WR của Rom và 8255. Do muốn xếp chồng bộ nhớ nên cho tín hiệu RD\, PSEN của 8051 qua cổng AND (dùng 2 cổng NAND 74132) đưa tới OE\ của Ram

*Hình thành công tắc lưạ chọn Rom A, Rom B:- Sơ đồ nguyên lý của công tắc lựa chọn: (Sơ đồ nguyên lý mạch điều khiển) - Nguyên lý hoạt động của công tắc lựa chọn như sau:Bất cứ khi nào cho phép truy xuất Rom (ngõ vào 1 chân cổng OR xuống mức logic

[0]) và ngõ ra công tắc lựa chọn A hoặc B xuống mức logic [0] thì Rom A hay B được truy xuất. -Khi SW1 nối tới B, ngõ ra của cổng NAND (U9A) = 1 ngõ ra cổng OR (U8A) = 1, Rom A không được chọn. Đồng thời khi đó, ngõ ra cổng NAND (U9B) = 0, nếu A13, A14, A15 = 0 thì ngõ ra cổng OR (U8B) = 0 Rom B được chọn. Ngược lại, công tắc chuyển sang A thì Rom A được truy xuất.

II. THIẾT KẾ MẠCH RESET:Khi công tắc chuyển từ A sang B và ngược lại đều reset toàn bộ lại hệ thống để cho PC

= 0000H. Bởi vì khi đang làm việc tại Rom A, PC khác 0000H, khi chuyển sang Rom B PC bắt đầu tại địa chỉ khác 0000H làm sai chương trình. Vì vậy mạch reset trong đồ án này bao gồm reset từ chuyển công tắc chọn Rom, reset từ ngoài đưa tới (nếu như kết hợp với mạch khác), reset khi bắt đầu mỗi chương trình đếm sản phẩm và reset nếu như nguồn cung cấp yếu. Sơ đồ nguyên lý mạch reset trong sơ đồ nguyên lý mạch điều khiển.

1. Mạch reset từ việc chọn Rom: Mạch được tạo bởi cổng nand, IC 74221, cổng OR7432 và 1 cổng OR khi kết hợp với reset khácsơ đồ chân và bảng thái của 74221 như sau:

Sơ đồ chân SN 74221:

Bảng trạng thái

INPUT OUTPUTclear A B Q Q

L X X L HX H X L HX X L L HH L H H L H

Qua bảng trạng thái:- Khi chân clear ở mức logic cao, A ở mức logic thấp và chân B chuyển trạng thái từ

mức logic 0 lên 1 ở ngõ ra Q (ngược lại với Q\)- Khi chân clear ở mức logic cao, B ở mức logic cao và chân A chuyển trạng thái từ

mức logic 1 xuống 0 thì thì 74211 tạo ra một xung dương ở ngõ ra Q Quá trình reset được thực hiện như sau:Khi SW chuyển sang B, ngõ ra của cổng NAND (U9A) từ 0 lên 1 chân B

của74211 (U10B) từ 0 lên 1, A = 0 có một xung ở ngõ ra Q ngõ ra cổng OR lên 1 dẫn đến RST = 1 hệ thống bị reset: đèn reset (D4 sáng). Khi chuyển công tắc sang A, ngõ ra

GVHD Nguyeãn Vieät Huøng

1A

1B

Clr1Q2Q

Cset

ResetGND

VccResetCset1Q\2Q\clr2B2A

74221

Page 31: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 4

cổng nand (U9A) từ 1 xuống 0chân A của 74221 từ 1 xuống 0, B = 1 có xung ra ở ngõ ra Q 74211 (U10A) mạch bị reset.

2. Reset bằng nút nhấn:Khi nhấn nút, 1 chân của cổng nand U2A được nối mass ngõ ra = 1, reset (RST) =

1, hệ thống bị reset (đồng thời khi đó chân còn lại của cổng nand luôn được giữ ở mức cao). Khi kết nối với mạch điện khác, mạch điện khác có thể reset mạch điện này qua header 3 (JP8). Sự tác động thông qua sự ngắt dẫn của Q3 C828. Khi Q3 dẫn (có tác động bên ngoài), ngõ ra cổng nand (U2A) = 1, ngõ ra cổng OR = 1, RST = 1, hệ thống bị reset.

3. Reset khi nguồn cung cấp yếu:Các IC số chỉ hoạt động tốt khi nguồn cung cấp ổn định. Khi điện áp nguồn yếu, các

IC hoạt động hỗn loạn, nếu không có sự hiển thị về nguồn cung cấp sẽ gây ra trường hợp mạch hoạt động sai mà không biết được nguyên nhân. Trên mạch điện này, điện yếu thì led xanh (D 7) sẽ sáng và lúc đó thì mạch sẽ bị reset cho đến khi nguồn cung cấp ổn định, còn khi nguồn ổn định thì led đỏ (D8) sẽ sáng. Quá trình reset thực hiện dựa trên sự ngắt dẫn của transistor kết hợp với cổng Nand 74132. Nguyên lý hoạt động mạch reset như sau:

- Khi điện yếu (VH < 3,7 Volt), Zener (D5, D6) không dẫn Q5 không dẫn, ngõ ra cổng Not (cổng nand 74132) = 0, Q6; không dẫn, Q7 dẫn (led xanh sáng), Q8 dẫn một chân của cổng nand (U2A) bị nối mass, mạch bị reset.

- Khi nguồn cung cấp đầy đủ, D5;D6 dẫn, Q5 dẫn, Q6; Q7 không dẫn, Q9 dẫn led đỏ sáng mạch hoạt động bình thường.Tính toán các giá trị điện trở phân cực cho transistor khi nguồn cung cấp yếu:

Vì mạch sử dụng các transistor làm việc ở trạng thái bão hòa nên điều kiện để cho transistor hoạt động ở trạng thái này là: IB > ICSAT ;

VBESAT =0.8V ; VCESAT =0.2V ;

Trong mạch Reset này có dùng 74HC132 (cổng NAND ) có các thông số như sau:VIH(MIN) : Điện áp ngõ vào thấp nhất ở mức [ 1].VIL(MAX) : Điện áp ngõ vào cao nhất ở mức [0 ].

VOH(MIN) : Điện áp ngõ ra thấp nhất ở mức [ 1 ].VOH(MIN) : Điện áp ngõ ra cao nhất ở mức [ 0 ].VIH(MIN) = 3.5 (V)VIL(MAX) = 1 (V )VOH(MIN) = 4.9 (V )VOH(MAX) = 0.1 ( V )Tính toán các giá trị:1. Transistor Q1 (C828 ):

GVHD Nguyeãn Vieät Huøng

+ Chọn = 40 10.13

40).8,09.4(3-

-<

-<Þ

BB

BESATOHCSAT R

RVV

xI b

+ Chọn RC = 220

+ Chọn dòng qua LED là 10mA

Page 32: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 5

RB < 12,6k. Chọn RB = R5 = 10k

2. Transistor Q2 (A564 ):

Chọn RB = R7 = 10K

3.Transistor Q4: (C828 )

Mà điều kiện bão hòa là: IB > IcSAT

Chọn RB = R19 = 10k

4. Transistor Q5 (C828):+ Chon = 40+ Chọn dòng IC =10mA

Rc =1K+ IB > IcSAT

GVHD Nguyeãn Vieät Huøng

+ Chọn dòng qua led là 10mA

28010.10

2.0253CR

Chọn RC = 220 mAmAAII LEDttCSATtt 1513013.0220

2.025

+ Chon = 40+ Chọn dòng qua led là 10mA

C

CESATLEDCCCSAT R

VVVI

+ Chọn = 40 , điều kiện bảo hòa: IB > ICSAT

28010.10

2.0253CR Chon RC = 220

Chọn RB < 4.17K, lấy RB (R21) la biến trở 20K để điều chỉnh cho chính xác

Page 33: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 6

5. Transistor Q6 (C828 ): +Chọn = 40 +Mà điều kiện bão hòa là: IB > IcSAT , chọn Rc = 1K

Chọn RB = R24 = 10 k

6.Transistor Q7 ( A 564 ): +Chọn = 40

+ Chọn dòng qua led là 10mA

+ Mà điều kiện bão hòa là: IB > IcSAT

Chọn RB = R25 = 7,5 K

7.Transistor Q8 (C828 ): Chọn = 40+ Mà điều kiện bão hòa là: IB > IcSAT

+ Chọn RC = 1k.

Chon RB = R27 = 15 K

8.Transistor Q9 ( A 564 ):

GVHD Nguyeãn Vieät Huøng

LED

ECSATLEDCCC I

VVVR

280

10.10

2.0253

Chon RC =330

C

ECSATLEDCCLEDtt R

VVVI

Page 34: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 7

+Chọn = 40 + Chọn dòng qua led là 10mA

+ Mà điều kiện bão hòa là: IB > IcSAT

Chọn R28 = RB =10 k

4. Cách tính tần số quét LED- Gọi n: số LED cần hiển thị- Gọi : thời gian phát sáng của mỗi LED (s )- Gọi T là chu kỳ hiển thị của n LED: T = n. ( s )- Gọi f : tần số quét

= N : chu kì ngắt của mỗi LED (s )

Mối liên hệ giữa chiều dài sản phẩm (cm ) với vận tốc băng chuyền (m/s):

Đầu dò: Bắt đầu Kết thúc

-Gọi T: chu kì quét đầu dò (ms )

GVHD Nguyeãn Vieät Huøng

Chon RC =220

Vậy dòng qua led thực tế là:

mARR

VVVI

CC

ECSATLEDCCLEDtt 13

2.025

T

TL

: Thời gian dò mức thấp (ms )

- Gọi

Page 35: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 8

Điều kiện để cho đầu dò phát hiện sản phẩm

Chiều dài nhỏ nhất của sản phẩm:

Vận tốc tối đa của băng chuyền:

III. KẾT NỐI KÍT VI ĐIỀU KHIỂN VỚI THIẾT BỊ NGOẠI VI:1. Kết nối với bàn phím:

Bàn phím gồm 16 phím kết nối với kít vi điều khiển thông qua Port 1 của 8051. Sơ đồ kết nối như sau:

GVHD Nguyeãn Vieät Huøng

P0.0

P0.1P0.2P0.3

8051

P0.4P0.5P0.6P0.7

0 1 2 3

4 5 6 7 8 9 A BC D E F

Page 36: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 9

BẢNG MÃ PHÍM

Phím Mã quét Mã Hex Phím Mã quét Mã Hex

0 00 0CH 8 08 80H

1 01 F9H 9 09 90H

2 02 A4H A 10 88H

3 03 B0H B 11 83H

4 04 99H C 12 C6H

5 05 92H D 13 A1H

6 06 82H E 14 86H

7 07 F8H F 15 8EH

2. Kết nối hiển thị:Phần hiển thị bao gồm 8 Led 7 đoạn chung anod. Bus dữ liệu xuất ra hiển thị được

nối tới PortA của 82552. Vì dòng ra tại mỗi chân các Port của 8255 chỉ có khoảng 4mA, mà mỗi Led sáng thì phải cung cấp dòng khoảng 8 – 10mA nên phải dùng IC đệm nên PortA của 8255 nối tới các ngõ vào A1 _ A8 của 74245, bus dữ liệu ngõ ra nối qua điện trở hạn dòng đến các thanh của Led 7 đoạn. Với mạch giải mã chọn Led: ba ngõ vào A, B, C của 74138 sẽ được nối tới PC5 – PC7 của 8255, chân cho phép G2 nối tới PC4 của 8255. Khi PC4 xuống mức thấp, G2 = [0], cho phép Led sáng. Bảng trạng thái chọn Led như sau:

GVHD Nguyeãn Vieät Huøng

Ngõ vào Chọn LedCho phép Các chân lựa chọnG1 G2 C B AHHHHHHHH

LLLLLLLL

LLLLHHHH

LLHHLLHH

LHLHLHLH

Led 1Led 2Led 3Led 4Led 5Led 6Led 7Led 8

Page 37: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 10

Tính toán điện trở trong mạch hiển thị:

Để cho một thanh led đủ sáng thì dòng điện qua nó là 10 mA, do đó để cả led 7 đoạn sáng thì dòng cung cấp cho led là: I = 7 x 10 = 70 mA. Đây cũng chính là dòng Ic của transistor. Vậy chọn transistor loại A1266 với hệ số khuyếch đại là 60 Vậy dòng IB là:

Điện trở phân cực R1 là:

Chọn R1 = 3,3 k, nhỏ hơn giá trị tính toán để dòng lớn transistor nhanh bão hòa. Vậy dòng IB thực tế là:

Tính R2 (điện trở hạn dòng cho led):Khi transistor bão hòa, điện áp VCESAT = 0,2 V và điện áp rơi trên led là 2V do đó:

VR2 = Vcc – VCESAT – VLED = 5 – 0,2 – 2 = 2,8V

Chọn R2 = 270 (). Chọn R2 lớn hơn tính toán để transistor nhanh bão hoà

c. Kết nối mạch rơle:Tín hiệu điều khiển rơle được lấy ra từ PortA của 82551. Rơle sẽ tác động khi đếm

xong số lượng sản phẩm cài đặt trước. Ở đây chúng em giả định sự tác động của rơle bằng đèn Led hiển thị. Khi led sáng tương ứng với tác động của rơle. Giống như mạch hiển thị, tín hiệu lấy ra điều khiển rơle đuợc đưa qua bộ đệm 74245 và hạn dòng bằng điện trở.

GVHD Nguyeãn Vieät Huøng

Vcc

Led

R2 :điện trở hạn dòng

R1Điện trở phân cực

251

7

10.60.3,1

8,2

7

32

2CMAX

R

IV

RVậy

Page 38: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 11

Tính điện trở hạn dòng R: Để cho mỗi led sáng thì dòng cung cấp cho nó là 10mA. Vậy điện trở cần gắn thêm vào để hạn dòng cho led là:

Chọn R1 trên thực tế là 330 (). Với việc chọn R1 lớn hơn tính toán nhưng dòng qua led giảm không đáng kể nên vẫn chấp nhận

III. THIẾT KẾ VÀ TÍNH TOÁN MẠCH CẢM BIẾN 1. Khối phát

GVHD Nguyeãn Vieät Huøng

RA

RB

C

2 1 5

8 43

C1

7

6Ngõ ra

VCC

Tính toán điện trở và tụ trên mạch dao động 555

Vậy dòng thực tế qua led là:

Page 39: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 12

- Dạng sóng:

tc =0,69(RA + RB).CRA ,RB ohm CF tstd =0,69RBC T= tc + td =0,69(RA +2RB).C* Nếu chọn đơn vị RK , CF tms ,f0KHz

để xung tạo ra gần như đều nhau để kích thích cho Ạ564 dẫn mạnh, làm dòng IB lớn suy ra dòng qua LED lớn, tín hiệu phát ra từ LED mạnh thì bên khối đầu dò mới nhận được tín hiệu.

2. Khối đầu dò:Tần số dao động riêng của mạch:

- Chọn R15 = 10K C10 =0,1F 2K R 20Kvì f cho phép: 0,01Hz f 500Khz f0 thỏa điều kiện cho phép.

-Chọn C8 =1F ,C9 =2,2 F.

GVHD Nguyeãn Vieät Huøng

Chọn

2/3Vcc

1/3 Vcc

Vcc

0V

T

tc

td

Điện áp ra

Điện áp trên tụ

t

t

Page 40: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 13

*Ở khối phát tia hồng ngoại:Chọn tụ C6 = 0,001F

Tần số của mạch thiết kế = tần số f0 của đầu dòNên f = f0 =1,1kHz

Chọn RA, RB sao cho thỏa điều kiện trên Lấy theo giá trị thương mại suy ra:Chọn RB=620K, RA =78KVì dùng RA là một biến trở điều chỉnh nên chọn RA=100K-Transistor Q1 : A564 chọn hệ số khuếch đại =200-Khi Led hồng ngoại dẫn thì VLED =2V-Chọn dòng qua Led hồng ngoại khoảng 50mA (để tín hiệu phát ra mạnh vì vậy mà

khối đầu dò mới nhận được).

Chọn R11= 120 Dòng thực tế qua LED khi R11=120

ICsat ==56,67mA-Để cho Q1 dẫn bảo hòa:

IB ICsat Mà VEbsat 0,8VVout tại chân 3 (ngõ ra 555 )0,2V

Chọn R10 =10K

* Ở khối đầu dò IC LM 324 : IC làm việc với loại nguồn đơn, chọn độ lợi 100dB.Chọn R14=100KR13 =1K

R12 thường từ 0K 56K, chọn R12 =56K

GVHD Nguyeãn Vieät Huøng

Page 41: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 14

C7 =0,1F (tụ liên lạc)c. Hoạt động của khối phát và khối đầu dò:

- Do khối phát và khối đầu dò được thiết kế: f= f0 =1,1KhzTrong đó f: tần số phát ra của khối phát tia hồng ngoại.

f0: tần số trung tâm của khối đầu dò.Khi chưa có sản phẩm nào đi qua led hồng ngoại phát tín hiệu qua photo Q2 ,photo

Q2 nhận tín hiệu. Qua bộ khuếch đại, khuếch đại tín hiệu lớn lên để IC 567 nhận biết được vì ở led hồng ngoại dòng ra khoảng 56,67mA nó phát ra tín hiệu mạnh và có khả năng truyền đi xa, khi qua photo Q2 tín hiệu bị suy yếu nên phải khuếch đại lên.

Vì do thiết kế f=f0 =1,1Khz tức là tần số vào phù hợp với tần số trung tâm thì ngõ ra chân 8 ở mức thấp 0. Còn khi cho sản phẩm đi qua che led hồng ngoại thì tín hiệu từ led hồng ngoại phát ra không truyền qua được photo Q2. Kết quả là tần số vào (ff0

=1,1Khz) khác với tần số trung tâm nên ngõ ra 8 ở mức cao 1, có xung kích tới ngõ vào (7) điện áp chân 8 lên mức cao

GVHD Nguyeãn Vieät Huøng

Page 42: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 15

CHƯƠNG II. CHƯƠNG TRÌNH ĐIỀU KHIỂN

A. THUẬT GIẢII. Chương trình chính:Để các thiết bị hoạt động được đầu tiên phải khởi động các thiết bị ngoại vi, khởi

động Timer cho phép ngắt. Sau đó gọi chương trình nhập số hộp, nhập số sản phẩm. Nếu đồng ý số đếm đã nhập vào thì cho phép băng chuyền hoạt động (đóng role BC). Đọc dữ liệu từ cảm biến (đầu dò). Nếu có sản phẩm đi qua thì gọi chương trình đếm. Nếu đủ sản phẩm một hộp thì gọi role đóng hộp đồng thời gọi chương trình đếm hộp.. Nếu đủ số hộp thì băng chuyền ngưng hoạt động và chờ cho ca tiếp theo. Khi đã hoàn thành 9 ca sản phẩm thì quay lại làm từ ca 1.

GVHD Nguyeãn Vieät Huøng

Page 43: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 16

GVHD Nguyeãn Vieät Huøng

- Gọi chương trình con đầu dò- Đếm sản phẩm- Ro-le đóng hộp, đếm hộp

- Cho phép băng truyền ngưng hoạt động- Gọi chương trình lưu số hộp, số sản phẩm- Gọi chương trình xem số liệu lưu trong

-Nạp giá trị đầu #00H vào các ô nhớ

-Khởi động thiết bị ngoại vi-Khởi động thanh ghi Timer, cho phép ngắt

Ca: =Ca + 1

Ca: = 0

- Gọi chương trình con nhập hộp- Gọi chương trình con nhập sản phẩm- Cho phép băng truyền hoạt động

Đủ SP

Ro-le đóng hộp, đếm hộp (RL – ĐH)

Gọi chương trình con đầu dò (DAUDO)

Đếm sản phẩm

Đ

S

- Gọi chương trình con dò phím (IN – HEX)

Đủ hộp

Phím E Ca = 9S

- Cho phép băng chuyền ngưng hoạt động- Gọi chương trình lưu số hộp, số sản phẩm

- Gọi chương trình xem số liệu lưu bất kì ca nào

Đ Đ

S

Đ

S

Page 44: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 17

II. CÁC CHƯƠNG TRÌNH CON:1. Chương trình con khởi động ngoại vi:8255 chỉ hoạt động khi nạp cho nó từ điều khiển vì vậy để giao tiếp với các thiết bị

ngoại vi cần khởi động cho các ô nhớ của 8255

GVHD Nguyeãn Vieät Huøng

Ret

Nạp giá trị ban đầu để mở role đóng hộp

Nạp giá trị ban đầu xóa 8 led 7 đoạn

Khởi động 8255 - 2

Nạp giá trị ban đầu cho ngõ dự phòng

Nạp giá trị ban đầu cho role băng truyền

Khởi động 8255 - 1

Nạp giá trị ban đầu để chọn led sáng

Bắt đầu

Lưu đồ thuật giải chương trình chính

Page 45: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 18

2. Chương trình ngắt hiển thị:Trong chương trình ngắt, thời gian ngắt được xác định bằng cờ tràn timer. Như vậy

cứ sau 250 s các led lại được quét. Với thời gian ngắt nhỏ, dữ liệu ra khó có thể quan sát được vì vậy delay sau mỗi lần hiển thị bằng việc giảm thanh ghi R2. Khi R2 = 0 cho phép xuất dữ liệu ra hiển thị. Các Led sẽ được quét liên tục từ Led 77đến Led 70, với dữ liệu xuất ra hiển thị từ ô nhớ 77H đến ô nhớ 70H.

Lưu đồ thuật giải như sau:

3. Chương trình con nhấn sốChương trình này cho phép nhập số thập phân. Nếu phím nhấn từ 0 đến 9 thì nhận số

còn phím từ A đến F thì xóa số. Số nhận thì bit 7D = [0], 7E = [0]. Sau khi nhập số liệu xong nếu thấy qua led hiển thị đúng số liệu đã nhập vào thì nhấn phím A tức là đặt bit YES

GVHD Nguyeãn Vieät Huøng

Cho phép ngắt

Đ

R1 = # 69H

R2 = 0

R2 - 1

TỐC ĐỘ 1 R2Chọn led hiển thị

Xuất dữ liệu ra ledR1 - 1

R1 # 77H

Thoát 1Ret

S

Bắt đầu

S

Đ

Page 46: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 19

= 1 (7E = 1) để kết thúc quá trình nhập số liệu. Còn đang nhập nếu muốn bỏ số liệu vừa nhập vào thì nhấn phím phím B tức là đặt bit NO = 1 (7D = 1). Khi nhập xong số sản phẩm và số hộp thông qua chương trình con nhấn số này thì nhấn phím C tức là cho phép sản phẩm từ lúc này đi qua đầu dò và bắt đầu đếm.

4. Chương trình tăng 1:

Cứ có một sản phẩm đi qua đầu dò (chú ý ngõ ra chân 8 của IC567 từ nức logic 0 lên mức 1 sau đó được đưa qua cổng đảo nên ngõ ra là mức logic 0) được đưa vào bit 0 của port B1 sẽ làm thay đổi mức logic từ 1 xuống 0 thì ô nhớ dùng cho việc đếm sản phẩm sẽ được tăng lên một đơn vị thông qua việc gọi chương trình con tăng 1, và khi đủ số sản phẩm thì ô nhớ dùng cho việc đếm số hộp cũng được tăng lên một đơn vị thông qua chương trình con tăng 1, và cứ mỗi lần như vậy sự thay đổi số liệu trong các ô nhớ được đẩy liên tục ra led để hiển thị. Vì đếm sản phẩm đến tối đa là 999 và đếm số hộp tối đa là 9999 nên phải sử dụng 2 byte để đếm sản phẩm từ hàng đơn vị đến hàng chục sử dụng byte thấp, còn hàng trăm và hàng ngàn sử dụng byte cao. Nên khi so sánh số liệu đang đếm với số liệu đã

GVHD Nguyeãn Vieät Huøng

Bắt đầu

C = 1

A = # 0AH

S

Xóa bit YESXoá bit NO

Gọi chương trình dò phím

ĐĐặt bit YES Xóa A

A = # 0BH Đặt bit NO

Xóa cờ CA - # 0AH

RET

Đ

S Đ

S

Page 47: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 20

lưu ban đầu xem đã bằng chưa thì phải so sánh lần lượt byte cao trước tức là hàng ngàn, hàng trăm sau đó tới byte thấp tức là hàng chục hàng đơn vị.

5. Chương trình con kiểm tra phím ấn: IN – HEXNếu như có phím được ấn thì bit C = 0. Vì có khoảng thời gian nhấn phím nên gọi chương trình dò tìm mã phím ấn 50 lần bằng việc nạp 50 vào R3 và giảm R3. Khi R3 = 0 thì cất mã phím vào ngăn xếp. Trong lúc đợi phím được nhả ra gọi chương trình dò tìm mã phím ấn 50 lần để xem phím có còn được nhấn nữa hay không. Khi R3 = 0 thì lấy mã phím trao cho thanh ghi A.

GVHD Nguyeãn Vieät Huøng

RET

Xóa cờ tràn phụ AC

Xóa cờ tràn C

A A +1

Hiệu chỉnh thập phân thanh ghi A

Bắt đầu

Page 48: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 21

GVHD Nguyeãn Vieät Huøng

Bắt đầu

RET

Không có phím ấn

#50 (R3)#50 (R3)

#50 (R3)

Gọi CT dò mã phím

C= 0

S

Đ

R3 - 1Có phím ấn

Cất ACC

R3= 0

Đ

Gọi CT dò mã phím

C = 1

S

S

R3 - 1

R3= 0

ĐLấy ACC

Lưu đồ thuật giải kiểm tra phím ấn

S

Đ

Page 49: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 22

6. Chương trình dò mã phím ấn: 8051 luôn đọc dữ liệu từ Port 1 để dò tìm mã phím. Khi có một phím được ấn thì cờ

C = 1 và mã của phím ấn được lưu tạm thời vào thanh ghi R6. Sau đó tăng dần R6 lên 4 đơn vị để dò mã phím tiếp theo, (mã phím ) (A)

GVHD Nguyeãn Vieät Huøng

Đ

Đ

R6 =0

#FE A# 4 R6

A R7#4 AXÓA CA –R6A R6R7 A

R7 AXoay A

R6 - 1

Bắt đầu

A R7A P1

Đọc port 1A AND #0F0H

XOAY A

Xoay phải A qua C

XÓA C

A = # 0F0H

R6 + 4R5 - 1

Đặt cờ cR6 A

Đ

S

C = 0 Đ (3)

S

S

(3)

Đ(3)

R5 = 0 S

RET

Page 50: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 23

7. Chương trình đầu dò : 8051 luôn luôn đọc dữ liệu từ đầu dò (Port B4) nên nội dung thanh ghi A bằng nội

dung ô nhớ 4001H. Cứ mỗi sản phẩm đi tới cảm biến, cảm biến sẽ tạo ra mức logic điện áp cao 5 volt, lúc đó Port B.0 = 1 = ACC.0 . Vì có khoảng thời gian sản phẩm đi qua nên mức logic điện áp phải tồn tại ít nhất khoảng 100s do đó phải liên tục kiểm tra dữ liệu từ đầu dò. Khi mức logic điện áp chuyển từ 1 xuống 0 (tương ứng với 1 sản phẩm đã đi qua cảm biến). thì phải có khoảng thời gian ít nhất để chờ sản phẩm tiếp theo đi tới nên mức logic thấp cũng phải tồn tại ít nhất 100s. Dò mức điện áp trong khoảng thời gian 100 s bằng cách nạp 100 vào R3, giảm R3, khi R3 0 vẫn tiếp tục dò mức. Lưu đồ thuật giải dò mức điện áp như sau:

GVHD Nguyeãn Vieät Huøng

Bắt đầu

DPTR # CẢM BIẾN

R3 #100

A @DPTR

ACC. 0 =1 1

R3 = 0

R3 - 1

Đ

SR3 #100

A @DPTR (đọc port B1)

ACC.0 = 0 ĐS

S

R3 - 1

RET

R3 = 0

Đ

Page 51: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 24

8. Chương trình Blank: xóa số 0 không có nghĩaChương trình này có ý nghĩa như sau: khi số sản phẩm hay số hộp chỉ tới hàng đơn

vị, chục, trăm thì những số 0 đứng trước nó không có nghĩa bị loại bỏ (không sáng ) và các ô nhớ có nghĩa được lưu (lần lượt từ hàng đơn vị hàng ngàn) vào các ô nhớ từ 70H 77H. Loại bỏ bằng cách so sánh giá trị lớn nhất hàng ngàn với số 0 nếu đúng là 0 thì xóa led hiển thị hàng ngàn, tiếp tục so sánh xem ô nhớ hàng trăm với số 0 nếu đúng là 0 thì xóa led hiển thị hàng trăm, tương tự cho hàng chục, còn ô nhớ hàng đơn vị giá trị bằng bao nhiêu thì led hàng đơn vị cũng hiển thị.

GVHD Nguyeãn Vieät Huøng

Bat đầu

A DEMHOP HLED 70 NGANLED 71 TRAM

A DEMHOP LLED 72 CHUCLED 73 DONVI

A DEM_ SPLLED 76 CHUCLED 77 DONVI

A DEM_SP HLED 75 TRAM

A LED 70

( 1 )

Page 52: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 25

9. Chương trình nhập hộp: Chương trình cho phép nhập các số từ 1 đến 9999. Nếu số được nhấn từ A đến F thì

yêu cầu nhập lại. Khi số được nhấn lưu vào thanh ghi A từ 1 đến 9: nếu chấp nhận số thì các bit 7D, 7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại hộp, bit 7E = 1, thì thoát khỏi chương trình. Các giá trị được nhập này được lưu vào các ô nhớ từ (74H) đến (77H) và 7C

GVHD Nguyeãn Vieät Huøng

( 1)

A =0S

Xóa LED 72

A LED 75

Đ

S

Xóa LED 70A LED 71

A =0

Đ

S

Xóa LED 71A LED 72

A = 0

Đ

Xóa LED 75A LED 76

A = 0 Đ

S

Xóa LED 76

RET

A =0 Đ

S

Chương trình blank

Page 53: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 26

(LƯUHOPL:lưu hộp byte thấp), 7D (LƯUHOPH: lưu hộp byte cao). Nếu đồng ý với số đã nhập thì nhấn A ngược lại là B (xóa số đã nhập)

GVHD Nguyeãn Vieät Huøng

S (2)

Bắt đầu

A = 0Đ

S

BIT 7D = 1 Đ

S

HIỂN THỊ “nhập 0”LƯU HOP L # 00HLƯU HOP H # 00HGọi nhấn số thứ nhất

A ĐƠN VỊĐƠN VỊ LƯU HOP L

Gọi nhấn số thứ 2

BIT 7E = 1Đ

S

BIT 7D = 1 Đ

RET

(1)

Page 54: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 27

GVHD Nguyeãn Vieät Huøng

ĐƠN VỊ CHỤCA ĐƠN VỊ

CHỤC + ĐƠN VỊ LƯU HOP LGọi nhấn số thứ 3

(2)

BIT 7E = 1Đ

S

Đ

BIT 7E = 1

S

TRĂM NGÀNCHỤC TRĂM

ĐƠN VỊ CHỤCA ĐƠN VỊ

CHỤC, ĐƠN VỊ LƯU HOP LNGÀN,TRĂM LƯU HOPH

RET

A = # 0AH

S

S

A = # 0BH

Đ

Gọi chương trình dò phím

BIT 7D = 1

S

CHỤC TRĂMĐƠN VỊ CHỤC

A ĐƠN VỊCHỤC + ĐƠN VỊ LƯU HOP L

LƯU HOPH TRĂMGọi nhấn số thứ 4

Đ (1)

BIT 7D = 1 Đ (1)S

Lưu đồ chương trình nhập hộp

Page 55: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 28

10. Chương trình nhập sản phẩm:Chương trình cho phép nhập các số từ 1 đến 999. Số chỉ được nhập khi các bit 7D,

7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại. Các giá trị được nhập này được lưu vào các ô nhớ từ (74H) đến (77H) và 7C (LƯUSPL: lưu sản phẩm byte thấp), 7D (LƯUSPH: lưu sản hpẩm byte cao). Nếu đồng ý với số đã nhập thì nhấn A ngược lại là B (xóa số đã nhập)

GVHD Nguyeãn Vieät Huøng

Bắt đầu

A = 0Đ

S

S

Hiển thị “Nhập O 0”LƯU – SPL # 00HLƯU – SPH # 00HGọi nhấn số thứ nhất

BIT 7D = 1

Đ

ĐƠN VỊ ALƯU – SPL ĐƠNVỊGọi nhấn số thứ 2

Đ

BIT 7E = 1Đ

S

BIT 7D = 1

CHỤC ĐƠN VỊĐƠN VỊ A

LƯU – SPL CHỤC,ĐƠNVỊGọi nhấn số thứ 3

(2)

(3)

S

Page 56: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 29

11. Chương trình delay:Để khống chế thời gian delay nạp giá trị ban đầu cho timer. Set cho timer chạy. Khi

timer đếm bằng thời gian nạp thì cờ báo tràn được set lên [1]. Muốn thời gian delay lớn nạp giá trị cho R4, giảm R4 sau mỗi lần tràn timer. Như thế thời gian delay sẽ là:

t = (R4) x count0. Khi R4 = 0 là hết thời gian delay.

12. Chương trình con lưu số sản phẩm số hộp trong mỗi ca sản xuất:Chương trình này lưu kết quả của mỗi ca sản xuất. Số hộp, số sản phẩm được lưu vào các ô nhớ từ 30H 53H. Xét nội dung ô nhớ 2EH, nếu nội dung ô nhớ 2EH = 1 và sau khi đếm xong và băng chuyền báo hiệu ngưng đếm thì nội dung ô nhớ 2EH trao cho thanh ghi A và lưu kết quả vào ca 1. Nếu ca sau cho phép hoạt động thì nội dung ô nhớ 2EH tăng lên 1 và tương tự đươc lưu vào ca tương ứng ( ca = ca trước + 1).

13. Chương trình con cho phép xem số liệu của ca sản xuất:Chương trình này xem kết quả của mỗi ca sản xuất, cụ thể là xem nội dung số hộp số sản phẩm trong mỗi ca sản xuất. Ở đề tài này chúng em chỉ viết chương trình xem tối đa là 9 ca. Tức là khi muốn kiểm tra ca nào thì nhập cụ thể ca đó là ca thứ mấy thông qua bàn phím bằng cách nhấn một số. Trước đó số hộp, số sản phẩm được lưu vào các ô nhớ từ

GVHD Nguyeãn Vieät Huøng

(2)

Đ S

BIT 7E = 1

BIT 7D = 1

TRĂM CHỤCCHỤC ĐƠN VỊ

ĐƠN VỊ ALƯU – SPL CHỤC,ĐƠNVỊ

LƯU – SPH TRĂM

Gọi chương trình dò phím

A = # 0CH

A = # 0BH

Đ

S

RET

Đ

S

(1)

(3)

Chương trình con nhập sản phẩm

Bắt đầu

TH0 # HIGHT COUNT0TL0 # LOW COUNT0

TR0 = 1

COUNT 0

Xóa cờ trànR4 - 1

Chạy timer S

Đ

R4 = 0

Đ S

Ret

(FFFF 0000)

Page 57: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 30

30H 53H. Khi ro-le băng chuyền đã ngưng hoạt động sau một ca nào đó nếu tiếp tục muốn nhập số liệu vào để đếm cho ca tiếp theo thì nhấn một phím bất kỳ khác phím E . Còn nếu nhấn phím E tức là cho phép xem số liệu của các ca, chỉ cần nhấn phím có loại trừ phím chức năng thì mã phím nhấn đó được lưu vào thanh ghi A. Nếu A bằng mấy thì sẽ đưa nội dung ô nhớ lưu số liệu ca đó ra bộ phận hiển thị. Và nếu muốn xem tiếp ca nào nữa thì cứ nhấn phím cho phép xem E rồi nhập số liệu vào.Còn khi muốn lưu số ca nhiều hơn nữa như tối đa là từ 0 99 hay từ 0 999 hay từ 0 999 thì tương tự như trên chỉ khác là khi nhập số liệu vào thì gọi nhấn tối đa 2 số , 3số, hay 4 số thì chương trình nhập số lại giống như trong chương trình con nhập số sản phẩm và số hộp, và nhiều ca được lưu thì số ô nhớ cũng phải được tăng theo.

GVHD Nguyeãn Vieät Huøng

A 2EH

A =#01H

A =#02H

A =#03H

A =#04H

A =#05H

30H LUUHOPL31H LUUHOPH32H LUU_SPL33H LUU_SPH

34H LUUHOPL35H LUUHOPH36H LUU_SPL37H LUU_SPH

38H LUUHOPL39H LUUHOPH3AH LUU_SPL3BH LUU_SPH

3CH LUUHOPL3DH LUUHOPH3EH LUU_SPL3FH LUU_SPH

40H LUUHOPL41H LUUHOPH42H LUU_SPL43H LUU_SPH

( 1 )

Đ

( 2 )S

Đ

S

Đ

S

S

Đ

S

Đ LƯU:

Số sản phẩm, hộp của các ca được lưu vào ô nhớ tương ứng

Đưa số liệu của các ca trong ô nhớ ra hiển thị

Page 58: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 31

GVHD Nguyeãn Vieät Huøng

RET

A =#06H

A =#07H

A =#08H

A =#09H

44H LUUHOPL45H LUUHOPH46H LUU_SPL47H LUU_SPH

48H LUUHOPL49H LUUHOPH4AH LUU_SPL4BH LUU_SPH

4CH LUUHOPL4DH LUUHOPH4EH LUU_SPL4FH LUU_SPH

50H LUUHOPL51H LUUHOPH52H LUU_SPL53H LUU_SPH

Đ

S

Đ

S

S

Đ

S

Đ

( 2 )

Lưu đồ chương trình lưu số liệu

Page 59: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 32

GVHD Nguyeãn Vieät Huøng

Gọi chương trình con dò phím

A =#00H

A =#01H

A =#02H

A =#03H

A =#04H

LUUHOPL #FFH LUUHOPH

#FFH LUU_SPL #FFH LUU_SPH #FFH

LUUHOPL 30HLUUHOPH 31H LUU_SPL 32H LUU_SPH 33H

LUUHOPL 34H LUUHOPH 35H LUU_SPL 36H LUU_SPH 37H

LUUHOPL 38H LUUHOPH 39H LUU_SPL 3AH LUU_SPH 3BH

LUUHOPL 3CH LUUHOPH 3DH LUU_SPL 3EH LUU_SPH 3FH

( 1 )

Đ

( 2 )S

Đ

S

Đ

S

S

Đ

S

ĐXEM:

Lưu đồ chương trình cho phép xem số liệu

Page 60: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 33

GVHD Nguyeãn Vieät Huøng A =#01HA =#02HA =#03HA =#04HA =#05H

30H LUUHOPL31H LUUHOPH32H LUU_SPL33H LUU_SPH

34H LUUHOPL35H LUUHOPH36H LUU_SPL37H LUU_SPH

38H LUUHOPL39H LUUHOPH3AH LUU_SPL3BH LUU_SPH

3CH LUUHOPL3DH LUUHOPH3EH LUU_SPL3FH LUU_SPH

40H LUUHOPL41H LUUHOPH42H LUU_SPL43H LUU_SPH ( 1 )Đ( 2 )S ĐS ĐSS ĐS Đ

A =#05H

A =#06H

A =#07H

A =#08H

A =#09H

LUUHOPL 40H LUUHOPH 41H LUU_SPL 42H LUU_SPH 43H

LUUHOPL 44HLUUHOPH 45H LUU_SPL 46H LUU_SPH 47H

LUUHOPL 48H LUUHOPH 49H LUU_SPL 4AH LUU_SPH 4BH

LUUHOPL 4CH LUUHOPH 4DH LUU_SPL 4EH LUU_SPH 4FH

LUUHOPL 50H LUUHOPH 51H LUU_SPL 52H LUU_SPH 53H

Đ

S

Đ

S

Đ

S

S

Đ

S

Đ

( 2 )

RET Gọi chương trình blank(1)

Page 61: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 34

B. CHƯƠNG TRÌNH HỆ THỐNG

;CHUONG TRINH DEM SAN PHAM VA DONG HOP;-----------------KHAI BAO CAC BIEN HANG---------------------

CWR4 EQU 4003H ;CWR4ROLE_BC EQU 4000H ;PORTA4CAMBIEN EQU 4001H ;PORTB4NGO_DP1 EQU 4002H ;PORTC4CWR6 EQU 6003H ;CWR6HIENTHI EQU 6000H ;PORTA6ROLE_DH EQU 6001H ;PORTB6CHONLED EQU 6002H ;PORTC6LED70EQU 70HLED71EQU 71HLED72EQU 72HLED73EQU 73HLED74EQU 74HLED75EQU 75HLED76EQU 76HLED77EQU 77HLUU_SPL EQU 78H ;Luu san pham (byte thap)LUU_SPH EQU 79H ;Luu san pham (byte cao)DEM_SPL EQU 7AH ;Dem san pham (byte thap)DEM_SPH EQU 7BH ;Dem san pham (byte cao)LUUHOPL EQU 7CHLUUHOPH EQU 7DHDEMHOPL EQU 7EHDEMHOPH EQU 7FHCOUNT0 EQU -10000DELAY1 EQU 50DELAY2 EQU 20TOCDO1 EQU 9COUNT1 EQU -250BLK EQU 0FHSTART EQU 0CHNO BIT 7DHYES BIT 7EHLUU_CY BIT 7FH

;-------------------------CHUONG TRINH CHINH----------------- ORG 00H

LJMP BAT_DAU0

GVHD Nguyeãn Vieät Huøng

Page 62: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 35

ORG 1BHLJMP NGAT_T1ORG 30H

BAT_DAU0: MOV R1,#LED77MOV R2,#TOCDO1MOV TMOD,#21HMOV TH1,#COUNT1LCALL KD_NVSETB TR1SETB ET1SETB EA

BAT_DAU1: MOV 2EH,#00HMOV 30H,#00HMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HMOV 36H,#00HMOV 37H,#00HMOV 38H,#00HMOV 39H,#00HMOV 3AH,#00HMOV 3BH,#00HMOV 3CH,#00HMOV 3DH,#00HMOV 3EH,#00HMOV 3FH,#00HMOV 40H,#00HMOV 41H,#00HMOV 42H,#00HMOV 43H,#00HMOV 44H,#00HMOV 45H,#00HMOV 46H,#00HMOV 47H,#00HMOV 48H,#00HMOV 49H,#00HMOV 4AH,#00HMOV 4BH,#00HMOV 4CH,#00HMOV 4DH,#00HMOV 4EH,#00HMOV 4FH,#00HMOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV 54H,#00H

GVHD Nguyeãn Vieät Huøng

Page 63: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 36

MOV 55H,#00HMOV 56H,#00HMOV 57H,#00H

BAT_DAU: MOV DEMHOPL,#00HMOV DEMHOPH,#00HMOV DEM_SPL,#00HMOV DEM_SPH,#00H INC 2EHMOV 77H,2EHMOV 76H,#BLKMOV 75H,#BLKMOV 74H,#BLKMOV 73H,#BLKMOV 72H,#BLKMOV 71H,#0AHMOV 70H,#10HMOV R4,#250LCALL DELAYMOV LED70,#0DH ;'N'MOV LED71,#0BH ;'H'MOV LED72,#0AH ;'A'MOV LED73,#0EH ;'P'LCALL NHAPHOPLCALL NHAP_SPMOV DPTR,#ROLE_BCMOV A,#0FFH ;Cho phep bang chuyen hoat dongMOVX @DPTR,A

DEM: LCALL BLANKLCALL DAUDOMOV A,DEM_SPLLCALL TANG_1MOV DEM_SPL,AJNC DU_SP?MOV A,DEM_SPHLCALL TANG_1MOV DEM_SPH,A

DU_SP?: MOV A,DEM_SPHCJNE A,LUU_SPH,DEMMOV A,DEM_SPLCJNE A,LUU_SPL,DEMLCALL BLANKMOV R4,#DELAY1LCALL DELAYMOV A,#00HMOV DPTR,#ROLE_DHMOVX @DPTR,AMOV R4,#DELAY2LCALL DELAYMOV A,#0FFH

GVHD Nguyeãn Vieät Huøng

Page 64: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 37

MOVX @DPTR,AMOV DEM_SPL,#00HMOV DEM_SPH,#00HMOV A,DEMHOPLLCALL TANG_1MOV DEMHOPL,AJNC DUHOP?MOV A,DEMHOPHLCALL TANG_1MOV DEMHOPH,A

DUHOP?: MOV A,DEMHOPHCJNE A,LUUHOPH,DEMMOV A,DEMHOPLCJNE A,LUUHOPL,DEMLCALL BLANK

KETTHUC: MOV DPTR,#ROLE_BCMOV A,#00HMOVX @DPTR,AMOV A,2EHLCALL LUU

L14: LCALL IN_HEXCJNE A,#0EH,L12MOV 77H,#BLKMOV 76H,#BLKMOV 75H,#BLKMOV 74H,#BLKMOV 73H,#BLKMOV 72H,#BLKMOV 71H,#0AHMOV 70H,#10H

L13: LCALL IN_HEXPUSH ACCCLR CSUBB A,#0AHPOP ACCJNC L13MOV 77H,ALCALL DELAYLCALL XEMMOV 74H,#0CHMOV DEMHOPL,LUUHOPLMOV DEMHOPH,LUUHOPHMOV DEM_SPL,LUU_SPLMOV DEM_SPH,LUU_SPHLCALL BLANKLCALL DELAYLJMP L14

L12: MOV A,2EHCJNE A,#09H,L15

GVHD Nguyeãn Vieät Huøng

Page 65: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 38

LJMP BAT_DAU1L15: LJMP BAT_DAU;------------------KHAI BAO CHUONG TRINH CON-----------------

;CHUONG TRINH CON LUU SO HOP, SO SAN PHAMLUU: NOP

L0: CJNE A,#01H,L1MOV 30H,LUUHOPLMOV 31H,LUUHOPHMOV 32H,LUU_SPLMOV 33H,LUU_SPHLJMP L10

L1: CJNE A,#02H,L2MOV 34H,LUUHOPLMOV 35H,LUUHOPHMOV 36H,LUU_SPLMOV 37H,LUU_SPHLJMP L10

L2: CJNE A,#03H,L3MOV 38H,LUUHOPLMOV 39H,LUUHOPHMOV 3AH,LUU_SPLMOV 3BH,LUU_SPHLJMP L10

L3: CJNE A,#04H,L4MOV 3CH,LUUHOPLMOV 3DH,LUUHOPHMOV 3EH,LUU_SPLMOV 3FH,LUU_SPHLJMP L10

L4: CJNE A,#05H,L5MOV 40H,LUUHOPLMOV 41H,LUUHOPHMOV 42H,LUU_SPLMOV 43H,LUU_SPHLJMP L10

L5: CJNE A,#06H,L6MOV 44H,LUUHOPLMOV 45H,LUUHOPHMOV 46H,LUU_SPLMOV 47H,LUU_SPHLJMP L10

L6: CJNE A,#07H,L7MOV 48H,LUUHOPLMOV 49H,LUUHOPHMOV 4AH,LUU_SPLMOV 4BH,LUU_SPHLJMP L10

L7: CJNE A,#08H,L8MOV 4CH,LUUHOPL

GVHD Nguyeãn Vieät Huøng

Page 66: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 39

MOV 4DH,LUUHOPHMOV 4EH,LUU_SPLMOV 4FH,LUU_SPHLJMP L10

L8: CJNE A,#09H,L10MOV 50H,LUUHOPLMOV 51H,LUUHOPHMOV 52H,LUU_SPLMOV 53H,LUU_SPH

L10: RET;------------------------------------------------------------

;CHUONG TRINH CON XEMXEM: NOP

CJNE A,#00H,H0MOV LUUHOPL,#0FFHMOV LUUHOPH,#0FFHMOV LUU_SPL,#0FFHMOV LUU_SPH,#0FFHLJMP H9

H0: CJNE A,#01H,H1MOV LUUHOPL,30HMOV LUUHOPH,31HMOV LUU_SPL,32HMOV LUU_SPH,33HLJMP H9

H1: CJNE A,#02H,H2MOV LUUHOPL,34HMOV LUUHOPH,35HMOV LUU_SPL,36HMOV LUU_SPH,37HLJMP H9

H2: CJNE A,#03H,H3MOV LUUHOPL,38HMOV LUUHOPH,39HMOV LUU_SPL,3AHMOV LUU_SPH,3BHLJMP H9

H3: CJNE A,#04H,H4MOV LUUHOPL,3CHMOV LUUHOPH,3DHMOV LUU_SPL,3EHMOV LUU_SPH,3FHLJMP H9

H4: CJNE A,#05H,H5MOV LUUHOPL,40HMOV LUUHOPH,41HMOV LUU_SPL,42HMOV LUU_SPH,43HLJMP H9

GVHD Nguyeãn Vieät Huøng

Page 67: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 40

H5: CJNE A,#06H,H6MOV LUUHOPL,44HMOV LUUHOPH,45HMOV LUU_SPL,46HMOV LUU_SPH,47HLJMP H9

H6: CJNE A,#07H,H7MOV LUUHOPL,48HMOV LUUHOPH,49HMOV LUU_SPL,4AHMOV LUU_SPH,4BHLJMP H9

H7: CJNE A,#08H,H8MOV LUUHOPL,4CHMOV LUUHOPH,4DHMOV LUU_SPL,4EHMOV LUU_SPH,4FHLJMP H9

H8: CJNE A,#09H,H9MOV LUUHOPL,50HMOV LUUHOPH,51HMOV LUU_SPL,52HMOV LUU_SPH,53HLJMP H9

H9: RET;------------------------------------------------------------

;CHUONG TRINH CON CHO HIEN THINGAT_T1: MOV LUU_CY,C

DJNZ R2,THOATT1MOV R2,#TOCDO1PUSH ACCPUSH DPHPUSH DPLMOV DPTR,#CHONLEDMOV A,R1SWAP AMOVX @DPTR,AMOV DPTR,#HIENTHIMOV A,@R1LCALL TRABANGMOVX @DPTR,ADEC R1POP DPLPOP DPHPOP ACCCJNE R1,#LED70-1,THOATT1MOV R1,#LED77

THOATT1: MOV C,LUU_CYRETI

GVHD Nguyeãn Vieät Huøng

Page 68: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 41

;------------------------------------------------------------;CHUONG TRINH CON KHOI DONG THIET BI NGOAI VI

KD_NV: MOV DPTR,#CWR4MOV A,#82H ;PORTB4:INPUTMOVX @DPTR,AMOV DPTR,#ROLE_BCMOV A,#00H ;Dung bang chuyenMOVX @DPTR,AMOV DPTR,#NGO_DP1MOV A,#0FFHMOVX @DPTR,AMOV DPTR,#CWR6MOV A,#80HMOVX @DPTR,AMOV A,#0FFHMOV DPTR,#HIENTHIMOVX @DPTR,AMOV DPTR,#ROLE_DHMOVX @DPTR,AMOV DPTR,#CHONLEDMOVX @DPTR,ARET

;------------------------------------------------------------

;------------------------------------------------------------ ;CHUONG TRINH CON DELAYDELAY: MOV TH0,#HIGH COUNT0

MOV TL0,#LOW COUNT0SETB TR0

CHO: JNB TF0,CHOCLR TF0CLR TR0DJNZ R4,DELAYRET

;------------------------------------------------------------;CHUONG TRINH CON NHAN SO

NHANSO: CLR YESCLR NOLCALL IN_HEXCJNE A,#0AH,XOASO?SETB YESCLR ALJMP THOAT0

XOASO?: CJNE A,#0BH,LOAITRUSETB NOLJMP THOAT0

LOAITRU: PUSH ACCCLR CSUBB A,#0AH

GVHD Nguyeãn Vieät Huøng

Page 69: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 42

POP ACCJNC NHANSO

THOAT0: RET;------------------------------------------------------------

;CHUONG TRINH CON TANG 1TANG_1: CLR AC

CLR CADD A,#1DA ARET

;------------------------------------------------------------;CHUONG TRINH CON DAU DO

DAUDO: MOV DPTR,#CAMBIENDO1: MOV R3,#110DO2: MOV R4,#200DOMUC_L: MOVX A,@DPTR

JB ACC.0,DO1DJNZ R4,DOMUC_LDJNZ R3,DO2

DOTIEP1: MOV R3,#34DOTIEP2: MOV R4,#200DOMUC_H: MOVX A,@DPTR

JNB ACC.0,DOTIEP1DJNZ R4,DOMUC_HDJNZ R3,DOTIEP2RET

;------------------------------------------------------------CHUONG TRINH CON XOA SO 0 KHONG CO NGHIA

BLANK: MOV A,DEMHOPHSWAP AANL A,#0FHMOV LED70,AMOV A,DEMHOPHANL A,#0FHMOV LED71,AMOV A,DEMHOPLSWAP AANL A,#0FHMOV LED72,AMOV A,DEMHOPLANL A,#0FHMOV LED73,AMOV A,DEM_SPHANL A,#0FHMOV LED75,AMOV A,DEM_SPLSWAP AANL A,#0FHMOV LED76,A

GVHD Nguyeãn Vieät Huøng

Page 70: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 43

MOV A,DEM_SPLANL A,#0FHMOV LED77,AMOV A,LED70JNZ THOAT3MOV LED70,#BLKMOV A,LED71JNZ THOAT3MOV LED71,#BLKMOV A,LED72JNZ THOAT3MOV LED72,#BLK

THOAT3: MOV A,LED75JNZ THOAT4MOV LED75,#BLKMOV A,LED76JNZ THOAT4MOV LED76,#BLK

THOAT4: RET;------------------------------------------------------------

;CHUONG TRINH CON NHAP HOPNHAPHOP: MOV LED74,#BLK

MOV LED75,#BLKMOV LED76,#BLKMOV LED77,#00HMOV LUUHOPL,#00HMOV LUUHOPH,#00H

SOHOP1: LCALL NHANSOJZ SOHOP1JBC NO,NHAPHOPMOV LED77,AMOV LUUHOPL,A

SOHOP2: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUUHOPL,A

SOHOP3: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP A

GVHD Nguyeãn Vieät Huøng

Page 71: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 44

ORL A,LED77MOV LUUHOPL,AMOV LUUHOPH,LED75

SOHOP4: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED74,LED75MOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUUHOPL,AMOV A,LED74SWAP AORL A,LED75MOV LUUHOPH,A

KT_NHAPHOP: LCALL IN_HEXCJNE A,#0AH,XOANHAPHOP?LJMP THOAT1

XOANHAPHOP?: CJNE A,#0BH,KT_NHAPHOPLJMP NHAPHOP

THOAT1: RET;------------------------------------------------------------

;CHUONG TRINH CON NHAP SAN PHAMNHAP_SP: MOV LED74,#0CH

MOV LED75,#BLKMOV LED76,#BLKMOV LED77,#00HMOV LUU_SPL,#00HMOV LUU_SPH,#00H

SO_SP1: LCALL NHANSOJZ SO_SP1JBC NO,NHAP_SPMOV LED77,AMOV LUU_SPL,A

SO_SP2: LCALL NHANSOJBC YES,KT_NHAP_SPJBC NO,NHAP_SPMOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUU_SPL,A

SO_SP3: LCALL NHANSOJBC YES,KT_NHAP_SPJBC NO,NHAP_SP

GVHD Nguyeãn Vieät Huøng

Page 72: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 45

MOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUU_SPL,AMOV LUU_SPH,LED75

KT_NHAP_SP: LCALL IN_HEXCJNE A,#START,XOA_NHAP_SP?LJMP THOAT2

XOA_NHAP_SP?: CJNE A,#0BH,KT_NHAP_SPLJMP NHAP_SP

THOAT2: RET;------------------------------------------------------------

;CHUONG TRINH CON KIEM TRA CO PHIM NHAN ?IN_HEX: MOV R3,#50 BACK1: LCALL GET_KEY

JNC IN_HEX DJNZ R3,BACK1 PUSH ACC

BACK2: MOV R3,#50 BACK3: LCALL GET_KEY

JC BACK2 DJNZ R3,BACK3 POP ACC RET

;------------------------------------------------------------; CHUONG TRINH CON DO AN PHIM

GET_KEY: MOV A,#0FEH MOV R6,#4

TEST_NEXT: MOV P1,A MOV R7,A MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY_BIT MOV A,R7 RL A DJNZ R6,TEST_NEXT CLR C SJMP EXIT

KEY_BIT: MOV R7,A MOV A,#4 CLR C SUBB A,R6 MOV R6,A MOV A,R7 SWAP A MOV R5,#4

GVHD Nguyeãn Vieät Huøng

Page 73: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 46

AGAIN: RRC A JNC DONE INC R6 INC R6 INC R6 INC R6 DJNZ R5,AGAIN

DONE: SETB C MOV A,R6

EXIT: RET ;------------------------------------------------------------ CHUONG TRINH CON TRA BANGTRABANG: ADD A,#11

MOVC A,@A+PC RETDB 'DEFINEBYTE' DB 0C0H ; '0'DB 0F9H ; '1'DB 0A4H ; '2'DB 0B0H ; '3'DB 099H ; '4'DB 092H ; '5'DB 082H ; '6'DB 0F8H ; '7'DB 080H ; '8'DB 090H ; '9'DB 088H ; 'A'DB 089H ; 'H'DB 09CH ; 'o'DB 0C8H ; 'N'DB 08CH ; 'P'DB 0FFH ; 'BLANK'DB 0C6H ; 'C'

;-----------------KET THUC CHUONG TRINH----------------------END

GVHD Nguyeãn Vieät Huøng

Page 74: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 47

LỜI GIỚI THIỆU

Trong quá trình hiện nay máy tính điện tử đã góp phần không nhỏ đối với sự phát triển xã hội. Do yêu cầu của con người ngày càng cao, các thế hệ máy tính đã liên tục phát triển không ngừng. Ngay trong giai đoạn đầu các thế hệ vi xử lý 8 bit được dùng là Z80,8085, sau đó là các hệ vi xử lý 16 bit như 8086, 8088…Các hệ vi xử lý này đã góp phần quan trọng trong việc chương trình hóa các hoạt động của máy móc trong công nghiệp nhờ vào các phần mềm ứng dụng. Một khi trong công nghiệp đã ứng dụng nhiều vào vi xử lý thì các nhà chế tạo không bỏ lỡ cơ hội cho ra đời các họ vi điều khiển ngày càng tiến bộ hơn.Vi điều khiển được sử dụng nhiều trong các thiết bị công nghiệp, trong máy giặt, trong điều khiển đèn giao thông, trong các đồ chơi giải trí…Tại Việt nam việc chương trình hóa các hệ thống đang được áp dụng ngày càng nhiều trong các nhà máy công nghiệp.Để tìm hiểu về vi điều khiển và tìm hiểu một ứng dụng cụ thể của nó nhóm chúng em xin thực hiện đề tài gồm hai phần chính:

PHẦN1: Khảo sát vi điều khiển 8051, vi mạch giao tiếp ngoại vi 8255, cùng với bộ nhớ bán dẫn, cảm biến.

PHẦN 2: Thiết kế và thi công mạch đếm sản phẩm dùng vi điều khiển 8051. Chương trình hệ thống và ứng dụng.Nhờ có sự giúp đỡ của quý thầy cô và bạn bè, nhóm chúng em đã cố gắng thực hiện đề tài được giao nhưng do kiến thức và thời gian có hạn nên đề tài không thể tránh khỏi thiếu sót nên rất mong sự đóng góp của quý thầy cô và bạn bè.

Sinh viên thực hiện Đinh Thị Kha Lê Hoàng Minh

GVHD Nguyeãn Vieät Huøng

Page 75: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 48

LỜI CẢM ƠN

Trong quá trình bốn năm rưỡi học tại trường Đại học Sư phạm kỹ thuật TP.HCM. Chúng em đã được sự hướng dẫn tận tình của quí thầy cô về những kiến thức chuyên môn cũng như kiến thức trong cuộc sống. Từ những kiến thức nền tảng đó đã giúp chúng em hoàn thành tập luận văn tốt nghiệp trong thời gian cho phép.Chúng em xin chân thành cảm ơn thầy cô trong khoa điện đã giảng dạy cho chúng em những kiến thức về chuyên môn và định hướng đi theo sự hiểu biết, khả năng của chúng em để chúng em thực hiện tốt luận văn tốt nghiệp và tạo điều kiện thuận lợi cho chúng em hoàn tất khóa học.Chúng em xin chân thành cảm ơn thầy NGUYỄN VIỆT HÙNG và cô TRẦN THANH MAI đã tận tình giúp đỡ chúng em hoàn thành tập luận án này.Chúng em xin chân thành cảm ơn anh BÙI ĐỨC MINH, NGUYỄN KIM HUY, cùng các bạn sinh viên đã tận tình giúp đỡ chúng em hoàn thành tốt mạch.

Sinh viên thực hiện ĐINH THỊ KHA LÊ HOÀNG MINH

GVHD Nguyeãn Vieät Huøng

Page 76: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 49

DẪN NHẬP

Hệ thống vi xử lý hay còn gọi là máy tính điện tử là thiết bị xử lý thông tin, điều khiển các thiết bị ngoài hay các thiết bị trong công nghiệp tự động.

Phần chính của máy tính là bộ xử lý trung tâm CPU (Central Processing Unit) là nơi xảy ra các quá trình xử lý số liệu và điều khiển mọi hoạt động của máy tính. Người ta phân loại CPU dựa vào độ rộng Data bus như:

CPU 8 bit Z80A: Hãng Zilog

6802 : Hãng Motorola

8080/8085: Hãng Intel

CPU 16 bit 8086/8088: Hãng Intel

Vi xử lý là một hệ thống số dựa trên cơ sở linh kiện chủ yếu là bộ vi xử lý (CPU ). Tùy thuộc vào cấu trúc của bộ vi xử lý riêng biệt và phần điều khiển mà nó có thể bao gồm nhiều loại vi mạch. Dưới sự điều khiển bằng chương trình một bộ vi xử lý thực hiện các phép tính số học và logic, đồng thời tạo ra những tín hiệu điều khiển cho bộ nhớ và thiết bị vào ra.

Những mệnh lệnh này gọi là chương trình nguồn và được chứa trong bộ nhớ chỉ đọc (ROM)

GVHD Nguyeãn Vieät Huøng

Page 77: Thiet Ke Mach Dem San Pham Dung Vi Dieu Khien 8051 20120727122609 31

Luaän vaên toát nghieäp Trang 50

Chương trình con kiểm tra phím ấn

GVHD Nguyeãn Vieät Huøng

Không có phím ấn

RET

IN _HEX

#50 (R3)#50 (R3)

#50 (R3)

Call: getkey

C= 0

S

Đ

R3 - 1Có phím ấn

Cất ACC

R3= 0

Đ

Call: getkey

C = 1

S S

R3 - 1

R3= 0

Đ

Lấy ACC