Tài liệu tham khảo công nghệ thông tin Thiết kế mạch đếm sản phẩm dùng vi kiều khiển 8051
Trang 1Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điệntử màtrong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực 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ắmbắ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 khoahọ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ácdoanh 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ànchư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ụngnhâ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àmmộ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ínhxá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ũivớ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ồngngoạ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
-Khoảng cách đặt phần phát và phần thu xa nhau cho phép đếm những sản phẩmlớ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ạ
GVHD Nguyễn Việt Hùng
Trang 2-Mạch đơn giản dễ thực hiện
Với việc sử dụng kỹ thuật số khó có thể đáp ứng được việc thay đổi số đếm.Muốn thay đổi một yêu cầu nào đó của mạch thì buộc 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ềukhiể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ốilạ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í:
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 đặtsố đế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ằngphầ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ườiquả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 vití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ển
3 Phương pháp đếm sản phẩm dùng vi điều khiển:
Ngoài những ưu điểm có đượ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ó quymô 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ếnsẽ 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ỗikhu 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
GVHD Nguyễn Việt Hùng
Trang 3hoạ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ắc
IV 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ùngsả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:
V XÂY DỰNG SƠ ĐỒ KHỐI TỔNG QUÁT:
GVHD Nguyễn Việt Hùng
KHỐI XỬ LÝ
KHỐI HIỂN THỊ
Trang 4CHƯƠ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ầnthu 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ủanguồ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ạinhư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ùngtạ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à thu
Vì 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à:
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ịchtă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:
KHUYẾCH ĐẠI TRANSITOR
THU
Trang 5b2 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ốngchế của chùm sáng đối với dòng colector của transitor hoặc có cực bazơ, nhưng khốngchế 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ủacó 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ềnbazơ của transistor Chuyển tiếp PN emitor được chế tạo như các transistor thôngthường, nhưng chuyển tiếp PN colector, thì do miền bazơ cần được chiếu sáng, cho nênnó có nhiều hình dạng khác nhau, cũng có dạng hình tròn nằm giữa tâm miền bazơ Khisử 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ựcnghị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 quangtransistor Khi chiếu ánh sáng vào miền bazơ, trong miền bazơ có sự phát xạ cặp điệntử lỗ trống làm xuất hiện dòng IL Do ánh sáng khiến dòng thu trở thành:
Trang 6Đặ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ủatransistor 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
b3 IC dao động 555
Sơ đồ chân:
Sơ đồ khối bên trong IC 555
GVHD Nguyễn Việt Hùng
OUTPUT
13
25
Trang 7Dò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 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ảng2K đến 20K 567 có thể tách dò tần số ngã vào từ 0,01Hz đến 500KHz
GVHD Nguyễn Việt Hùng
+
Ngõ ra GND Tụ định thời Điện trở định thời
567 8 7
6 5
1
2 3 4
Tụ ngõ ra Tụ lọc thôngthấp
Ngõvào +4,75-9,0V
Trang 8Ghi 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 8051
a1 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
Trang 9a2 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ớithiế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 đặctính đặc biệt của 8051 như ở bảng sau :
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
GVHD Nguyễn Việt Hùng
Trang 10PSEN ở 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ùnglàm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúngvớ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à địachỉ 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, 8051thi 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 21Vkhi 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 Khicấ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 Mh
b Cấu trúc bên trong của 8051
b1 Sơ đồ khối bên trong 8051:
GVHD Nguyễn Việt Hùng
Trang 11b2 Khảo sát các khối nhớ bên trong 8051:
GVHD Nguyễn Việt Hùng
T1T0
CPU
Port nối tiếp
Timer 0
Timer 1Timer 2
EARSTPSEN
ALE
T2 EXTERNAL
Trang 12*Tổ chức bộ nhớ:
GVHD Nguyễn Việt Hùng
99 Không có địa chỉ hóa từng bit
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 bit
89 Không được địa chỉ hóa từng bit
E
87 Không được địa chỉ hóa từng bit
83 Không được địa chỉ hóa từng bit
82 Không được địa chỉ hóa từng bit
81 Không được địa chỉ hóa từng bit
Trang 138051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chươngtrình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 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ộivà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ànhcùng nhiệm vụ như lệnh ở trên:
MOV R0, #5FH
MOV 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ềukhiể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ácport 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 khireset hệ thống), các thanh ghi nàyở các địa chỉ 00H đến 07H lệnh sau đây sẽ đọc nộidung ở đị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 2byte 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ớilệ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ươngtrình (PSW) Giả sủ thanh ghi thứ 3 đang được truy xuất, lệnh sau đây sẽ di chuyển nộidung 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êncủ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 ghichức năng đặc biệt được định nghĩa sẵn các địa chỉ
GVHD Nguyễn Việt Hùng
Trang 14-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ácbít trạng thái như bảng sau:
Bit Ký hiệu Địa chỉ Ý nghĩa
0V_P
D7HD6HD5HD4HD3H
D2HD1HD0H
Cờ nhớCờ nhớ phụCờ 0
Bit 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àn
Dự 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, #1Phép cộng này có tràn nên bit C = 1 và kết quả trong thanh ghi A = 00H
Cờ 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 đến0FH 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éptoá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ồitrả kết quả về 16 bit trong A (byte thấp) và B (byte cao) Lệnh DIV AB sẽ chia A cho B
GVHD Nguyễn Việt Hùng
Trang 15byte 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,#5FHKhi 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 ở địachỉ 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ốitiế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ệunhận Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Các modevận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp SCON ở địachỉ 98H
-Các thanh ghi ngắt :
GVHD Nguyễn Việt Hùng
Trang 168051 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:
Đếm chương trình PCThanhghi tích lũy AThanh ghi B
Thanh ghi trạng tháiSP
DPTRPort 0 đến Port 3IP
IECá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 TIMER
8051 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ộttá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ôiqua 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ảngsau:
GVHD Nguyễn Việt Hùng
Trang 17SFR Mục Đích Địa chỉ Địa chỉ hóa từng bit
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
7 GATE 1 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức cao
1 = bộ đếm sự kiện
0 = bộ định khoảng thời gian
3 GATE 0 Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức cao
GVHD Nguyễn Việt Hùng
Trang 180 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
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.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ầnmềm họăc phần cứng khi CPU chỉ đến chươngtrì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ứcthấp
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 chochạ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 độngtên chip cho việc định khoảng thời gian:
GVHD Nguyễn Việt Hùng
Trang 19Nế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 TR1Cờ báo tràn được tự động đặt lên 1 sau 100s Phần mềm có thể đợi trong 100 s bằngcá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:
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éptừng cái một bằng phần mềm
Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khácđang được phục vụ, có cả hai sự tuần tự hỏi vòng và sơ đồ ưu tiên hai mức dùng để xácđịnh việc thực hiện các ngắt Việc hỏi vòng tuần tự thì cố định nhưng ưu tiên ngắt thì cóthể lập trình được
- 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 đặtbiệt có định địa chỉ bit IE ( Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H
GVHD Nguyễn Việt Hùng
Trang 20Bit Ký hiệu Địa chỉ bit Mô tả
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ênmột để xác nhận ngắt
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 :
GVHD Nguyễn Việt Hùng
Trang 21Ngắt Cờ Địa chỉ vector
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 theomộ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ảilập trình hay viết chương trình Chương trình phải lưư trữ ở đâu để Microprocessor nhậnlệ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 choMicroprocessor 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ặcchỉ đọc dữ liệu ra Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thôngtin 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ệubê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 độngtrung 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 ápcủ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ệuvà được gọi là quá trình làm tươi Ram, đây chính là khuyết điểm của Dram so vớiSram 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àychú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
GVHD Nguyễn Việt Hùng
Trang 22SRAM 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 giantruy 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ươngthí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 khihoạ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:
+
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ềulầ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
CE2
A8
A9
A11OE\
OutputDisable
2764
Vcc PGM\
N.C
A8
A9
A11OE\
A10CE\
Trang 23- 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ậptrì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 Datamỗi khi CPU tham khảo đến, do đó ta chỉ quan tâm đến chế độ đọc và chờ Dựa vàocá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ậpkhi 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 đượcviệ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 ICgiả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 ICnhớ 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
Bảng trạng thái
A B C
G2A
G2B
G1
Y7GND
Trang 24sơ 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ềukhiể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ấpKhi 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ợpgiữ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ủabus địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port2 cho byte cao của bus địa chỉ Ơû đâychú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
OutputControl (OC)
74373
Trang 25_ 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ầnmề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ùngdữ 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ằngcá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ìnhvừ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ị:
Bộ 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 ledngườ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ùngcho mục đích khác 8255 là IC giao tiếp vào ra song song thông dụng và có thể điềukhiể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 Akhoả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
GVHD Nguyễn Việt Hùng
WR RAM
OE\
WRRDPSEN
Trang 26mộ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
Trang 27b 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áytí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ínhcó thể giao tiếp qua nhiều đường và giao tiếp với nhiều hình thức khác nhau như giaotiế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ềukhiể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
GVHD Nguyễn Việt Hùng
Trang 28bit 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ácngõ vào A0 và A1 được dùng để chọn thanh ghi điều khiển hoặc một trong các cổngvà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êntrong là A1 = [1], A0 = [1] Trong một chu kỳ ghi lên thanh ghi điều khiển, xác địnhcổng vào/ra cũng như chế độ hoạt động Khi chân RESET ở mức [H], thanh ghi điềukhiể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ạngthá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ềukhiể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 caocủ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
GVHD Nguyễn Việt Hùng
Cờ lập chế độ
1 = tích cựïc
Trang 29Vì 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ế độ
00 = chế độ 0
01 = chế độ 11x = chế độ 2D7 D6 D5 D4 D3 D2 D1
D0
Trang 30Tuy 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ảnphẩ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 đếntố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ặchủ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ùngthê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
LLHLH
XDữ liệu từ B đưa ra bus ADữ liệu từ A đưa ra busANgăn
17 161514131211
B1 B2 B3 B4 B5 B6 B7 B8
Sơ đồ chân
8051
BÀN PHÍM
PORT 1
Trang 31GVHD Nguyễn Việt Hùng
8255-2 CS\
Rơle ĐH
8255-1
CS\ Rơle
BC
Thu Phát PortA
PortB.0
A8 A12Port2 A13 A15
Trang 32Mặ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 Nguyễn Việt Hùng
ALE
Trang 33Luận văn tốt nghiệ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:
15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
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 )
GVHD Nguyễn Việt Hùng
D7 - D0
RAM
A7- A0
A15 -A80EWR
Port 0
EA
8051
ALE
Port2
Q
Trang 34Luận văn tốt nghiệp Trang 3
-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 ALExuống 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ứclogic [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ếuA13, A14, A15 = 0 thì ngõ ra cổng OR (U8B) = 0 Rom B được chọn Ngược lại, côngtắ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 sangRom B PC bắt đầu tại địa chỉ khác 0000H làm sai chương trình Vì vậy mạch resettrong đồ á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ác
sơ đồ chân và bảng thái của 74221 như sau:
Sơ đồ chân SN 74221:
Bảng trạng thái
2Q\
clr2B2A
74221
EA
8051
ALE
Port2
RD
WR
.]
uhhdsaufy
Trang 35- Khi chân clear ở mức logic cao, B ở mức logic cao và chân A chuyển trạng tháitừ 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 Bcủa74211 (U10B) từ 0 lên 1, A = 0 có một xung ở ngõ ra Q ngõ ra cổng OR lên 1dẫ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 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àyqua 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 độnghỗn loạn, nếu không có sự hiển thị về nguồn cung cấp sẽ gây ratrườ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ồncung cấp ổn định, còn khi nguồn ổn định thì led đỏ (D8) sẽ sáng Quá trình reset thựchiệ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ẫnmộ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 để chotransistor 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 ]
GVHD Nguyễn Việt Hùng
Trang 36VOH(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 ]
.10
2.025
CC CSAT
R
V V V
10.13
40)
8,09.4
BESAT OH
R
V V x
220
2 0 2 5
2.025
3
C R
+ Chọn dòng qua LED là 10mA
C
ECSAT LED
CC CSAT
R
V V
OL EBSATt
R
V V
V R
SATtt
OL EBSATt CC
13
)1,08,05(40)(
Trang 37Mà điều kiện bão hòa là: IB > IcSAT
1 8 0 9 4
40
mA
10220
2.025
B CSAT B
BESAT
13
8.09.440
2.05
3
C
CE CC
B
BESAT D
D CC
R
V V R
V V V
C D D CC
B
V V
R V V V
18,037.0
B
BESAT OH
R
V V R
V
Trang 38+ Chọn dòng qua led là 10mA
+ Mà điều kiện bão hòa là: IB > IcSAT
+ Chọn dòng qua led là 10mA
GVHD Nguyễn Việt Hùng
LED
ECSAT LED
CC C
I
V V V
10.10
2.025
3
ChoÏn RC =330
C
ECSAT LED
CC LEDtt
R
V V V
C
CESAT CC
R B
B
35 1 8 4
2 4 40
1
2 0 5 8 0 5 40
ECSAT LED
CC
C
ECSAT LED
CC B
EBSAT OL
CC
R
V V
V R
V V
V
R V V
V R
ECsat LED
CC
C OL EBsat CC
2,025
330)1,08,05(40)
10
22,05)(
3
LED
LED CESAT CC
C
I
V V
V R
Trang 39Chọ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 )
Đ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:
GVHD Nguyễn Việt Hùng
220 ) 2 , 0 8 , 0 5 ( 40
C
ECsat LED
CC B
OL EBsat CC
R
V V
V R
V V
1 1
Hz n T
1 1
Hz n T
(10
.)
(
10
s
m T
d v
cm T v d ms v
d T
L
L
.T v
Trang 40III 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 Nguyễn Việt Hùng
P0.0 P0.1 P0.2 P0.3
8051
P0.4 P0.5 P0.6 P0.7
0 1 2 3
4 5 6 7
8 9 A B
C D E F