c.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
Trang 1CHƯƠNG I:GIỚI THIỆU 1.1.Đặt vấn đề và lựa chọn phương án thiết kế.
1.1.1.Đặ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ắ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ác doanhnghiệp sản xuất, chúng em đã được thấy nhiều khâu được tự động hóa trong quá trìnhsả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àntoà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àmmột điều gì nhỏ để góp phần vào giúp lao động bớt phần mệt nhọc chân tay và chophép 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ự có ý nghĩa đối với chúng em vì đã làm được một phần nhỏ đóng gópcho 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 led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích để chốngnhiễu so với các loại ánh sáng khác,còn phần thu là transistor quang để thu ánh sánghồng ngoại
+Bộ phận đếm có nhiều phương pháp thực thi đó là:
- Lắp mạch dùng kỹ thuật số với các IC đếm, chốt, so sánh ghép lại
Trang 2- Lắp mạch dùng kỹ thuật vi xử lí.
- Lắp mạch dùng kỹ thuật vi điều khiển
1.1.2.Lựa chọn phương án thiết kế.
a.Mạch đếm sản phẩm dùng IC rời.
Các ưu điểm của mạch đếm sản phẩm dùng IC rời:
- 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ạ
- 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ốnthay đổ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ôngthự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 được những bế tắc và kinh tế hơn mà phương pháp dùng IC rời kếtnối lại không thực hiện được
Trang 3thự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ó 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ển
c.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 đượcvới máy tính nhưng là giao tiếp song song nên cần có linh kiện chuyển đổi dữ liệu từsong song sang nối tiếp để giao tiếp với máy tính
1.2.Mục đích và 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ảmnhạn sản phẩm, thiết bị này gọi là cảm biến Khi một sản phẩm đi qua cảm biến sẽnhận và tạo ra một xung điện đưa khối xử lí để tăng dần số đếm Tuy nhiên mỗi khu
Trang 4KHỐI XỬ
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 :
1 Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linhhoạt
2 Bộ phận hiển thị phải rõ ràng
3 Mạch điện không quá phức tạp, bảo đảm được sự an toàn, dễ sử dụng
4 Giá thành không quá mắc
1.3.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ảnphẩ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
Trang 5Đ ÁN T T NGHI P GVHD : Th.S Nguy n Th ỆP GVHD : Th.S Nguyễn Thị ễn Thị ị Lan
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 điqua thì cảm biến phải có phần phát và phần thu.Phần 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 lọa á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 ngọa nhưng chúng em chọn led hồng ngoại và transitor quang là linh kiện phát và thu
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à thu Vì tín hiệu ở ngõ ra transistor quang rất nhỏ nên cần có mạch khueyeechs đại trước khi
Trang 6KHỐI DAO ĐỘNG KHỐI DAO ĐỘNG
KHUẾCH ĐẠI TRANSITOR THU
= 4 = 3 = 2 = 1I(A)
đư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 GaA1As, độ 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 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 hồng ngoại như sau :
SVTH : Tạ Trung Hà Page 6
Trang 7C Cực Thu (colecter )
Cực nền (base) E Cực phát (emiter)
Ký hiệu Cấu tạo
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 nó có cửa sổ trong suốt cho ánh sáng chiếu vào Ánh sáng qua cửa sổ này
Trang 80
chiếu lên miền bazo 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 bazo cần được chiếu sáng, cho nên nó 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 bazo 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ế độ khuế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 bazo, trong miền bazo 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 điện :
Trong đó H là mật độ chiếu sáng (mW/cm2)
Trang 9Đặc tuyến của transistor quang cũng giống như đặc tuyến Volt – ampere của trasistor 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 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 thường, độ dốc đặc tuyến trong miền khuếch đại
b3 IC dao động 555
Sơ đồ chân :
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
Trang 10+
Đ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 khuếch đại LM 324 ( QUAD OPERATIONALAMPLIFIER )
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
Trang 11Độ lợi trên 100dB, tuy nhiên băng thông đẹ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 ):
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 khuế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,01
HZ đế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 vị 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ễ
Trang 12dà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 bítđến 64 bít 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 bít nhưng chưa có chứa bộ nhớ bên trong và có thêm 2 bộ định thời gian ngoài ra nó có thể giao tiếp nối 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 chỉ hóa.
- Bộ nhân /chia 4.
Sơ lược về chân của 8051:
Trang 13a2 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
P 1 1 2
P 1 2 3
P 1 3 4
P 1 4 5
P 1 5 6
P 1 6 7
P 1 7 8
Trang 14Port 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 (P 2.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 (P 3.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 :
PSEN ( Program store enable):
PSEN là tín hiệu ngõ vào 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
Bit Tên Chức năng chuyển đổi
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
Trang 15PSEN ở 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 thà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 chưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong dc 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 Mh
b Cấu trúc bên trong của 8051
b1 Sơ đồ khối bên trong 8051:
Trang 16T0
Điều khiển ngắtCác thanh ghi khác128 byte RAM MRO nội
CPU
Oscillator Điều Khiển bus Các port I/O Port nối tiếp
Port noái tieáp
Timer 0Timer 1Timer 2
INT0INT1
EA
RSTPSEN
ALEP0 P2 P1 P3 TxD RxD
T2
EXT ERN AL
b2 Khảo sát các khối nhớ bên trong 8051:
* Tổ chức bộ nhớ :
Trang 18Bộ 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 bít, các bank thanh ghi và các thanh ghi chức năng đặc biệt.
8051 có bộ nhớ theo các 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à 64k byte bộ nhớ dữ liệu
mở rộng
Ram bên trong 8051 được chia như sau :
- Các bank thanh ghi có địa chỉ từ 00H đến 1FH.
- Ram địa chỉ hóa từng bít có địa chỉ từ 20H đến 2FH.
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 :
Trang 198051 chứa 210 bit được địa chỉ hóa từng bít, trong đó 128 bit chứa ở các byte
có địa chỉ từ 20H đến 2FH, các bit còn lịa 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 thank ghi :
Bộ lênh 8051 hỗ trợ 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 1byte 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ớ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 ô hớ 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 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:
Trang 20Thanh ghi trạng thái chương trinh PSW ( Program Starus Word) ở địa chỉ DOH chứa các bit 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ờ 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 –1FH
Trang 21Phé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 đế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 đụng của người dùng
+ Các bít chọn bank thanh 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 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 :
Trang 22Con 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ỉ 60H, 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à 08h.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ọichươ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 trương trình con và lấy lại khi kết thúc chương trình con
-Các thanh ghi port xuất nhập :
Các port của 8051 bao gồm port 0 ở địa chỉ 80H, port ở địa chỉ 90h, port 2 ở địa chỉ A0H, và port 3 ở đị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 (TL 1: byte thấp) và 8DH (TH1: byte cao) Việc khởi động timer được Sétbở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 :
Trang 238051 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ệu nhận.Khi truyền dữ liệu thì ghi trê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 bít đ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
Sau khi reset hệ thống được tóm tắt như sau:
Đếm Chương trình PCThanh ghi tích luỹ A
0000H00H
Trang 24Thanh ghi BThanh ghi trạng tháiSP
DPTRPort 0 đến Port 3IP
IECác thanh ghi định thời
00H00H07H0000HFFHXXX0000 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ị thay đổ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ột tác động như kiển 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 )
Trang 25SFR Mục Đích Địa chỉ Địa chỉ hóa từng bit
TCON Điều khiển Timer 88H Có
Các thanh ghi chức năng của timer trong 8031
Truy xuất các timer của 8051 dùng sau thanh ghi chức năng đặc biệt cho trong bảng sau :
Thanh ghi chế độ timer (TMOD):
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
Trang 260 = 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 Bít 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 TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0, và Timer 1:
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ứngkhi 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
Trang 27khi phát hiện một cạnh xuống ở INT1 xóa bằngphần mềm hoặc phần cứng khi CPU chỉ đếnchươ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ứcthấp
TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngoài
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
Trang 28Khở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độ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 bít điều khiển chạy TR1 được đặt lên 1
Trang 29Nế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 100 s có thể được khởi động bằng cách khởi động giá tri cho TH1/TL1
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 TR1CLR TF1
Tổ chức ngắt của 8051
Trang 30Có 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
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 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 đặc biệt
cố định địa chỉ bit IE (Interrupt Enable : cho phép ngắt ) ở địa chỉ A8H
IE.5 ET2 ADH Cho phép ngắt từ Timer 2(8052)
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 đặt lên một để xác nhận ngắt
Trang 31Ngắt Cờ Thanh ghi SFR và vị trí bit
Trang 32Port nối tiếp TI và RI 0023H
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ưu trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý Nơilư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 Microprocessor 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á 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 em
Trang 33dù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 ap 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,1mƯ 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 :
Trang 34+ Ao đến A12 : chân địa chỉ
+ WE, OE, CS1, CS2 : chân điều khiển
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 hoạt độ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:
Mode (chế độ) CE\ OE\ PGM\ VPP Ra
Trang 35Bảng trạng thái-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 Dât ở 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:
Trang 36Sơ lược về 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 , tích cực mức thấp.
Trang 37- 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ợ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ớ Port 2 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
Đặc điểm :
- 74LS373 gồm 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.
Trang 38- Các bộ đệm ngõ ra 3 trạng thái
*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ị :
Bộ phận hiển thị gồm 8 led 7 đoạn anod chung Vì các 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 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 em sử dụng 8255 để giao tiếp với các thiết bị ngoại vi
Trang 39Em sử dụng IC giải mã 74LS138 Vì vậy sơ đồ khối của mạch hiển thị như sau:
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
Trang 40Vì 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à nối vào hoặc nối ra Các chân ra D0 4 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á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ổ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: