Ngày nay, trong công cuộc công nghiệp hóa và hiện đại hóa cũng như
tiến trình hội nhập sâu vào nền kinh tếthếgiới nói chung và các quốc gia
trong tốchức WTO nói riêng đặt ra cho nền kinh tếvà sản xuất của chúng
ta cần phải đáp ứng được các yêu cầu chung của thếgiới. Có thểnhận
thấy một điều là nền sản xuất của chúng ta hiện tại mang tính thủcông và
hết sức lạc hậu, do đó điều kiện cần và đủ đểquá trình hội nhập thành
công là phải hiện đại hóa nền kinh tế, hiện đại hóa và tự động quá trình
sản xuất.
Lịch sửnhân loại đã chứng kiến những cuộc cách mạng vềkhoa học
kĩthuật và gần đây nhất là cuộc cách mạng vềcông nghệthông tin. Với
sựtrợgiúp của máy tính và hệthống máy tính, con người đã nâng cao
năng suất và tự động hóa ngày một hiệu quảhơn. Tuy nhiên, nói đến máy
tính thì trước hết phải nói đến một lĩnh vực quan trọng gấp bội, đó chính
là nền công nghiệp điện tử.
Nền công nghiệp điện tửvà các sản phẩm của nó là nền tảng cơbản
nhất cho việc ra đời của máy tính và sâu xa hơn chính là nên sản xuất
hiện đại ngày nay. Các sản phẩm của công nghiệp điện tử đã đi sâu vào
đời sống của mỗi quốc gia, vùng lãnh thổvà mỗi con người chúng ta.
Công nghiệp điện tửlà lĩnh vực không thểthiếu đối với tất cảcác khía
cạnh trong cuộc sống hiện đại nhân loại ngày nay.
Nằm trong chương trình đào tạo kĩsưchuyên ngành cơ điện tửcủa
khoa cơkhí- trường đại học bách khoa đà nẵng, tôi đươc tham gia vào đợt
thực tập công nhân tại xưởng điện tửcủa trường.
51 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 1937 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Thiết kế hệ thống băng tải đóng gói sản phẩm điều khiển bằng bàn phím và giao tiếp máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Báo Cáo Thực Tập Công Nhân
Trang 1
LỜI NÓI ĐẦU
Ngày nay, trong công cuộc công nghiệp hóa và hiện đại hóa cũng như
tiến trình hội nhập sâu vào nền kinh tế thế giới nói chung và các quốc gia
trong tố chức WTO nói riêng đặt ra cho nền kinh tế và sản xuất của chúng
ta cần phải đáp ứng được các yêu cầu chung của thế giới. Có thể nhận
thấy một điều là nền sản xuất của chúng ta hiện tại mang tính thủ công và
hết sức lạc hậu, do đó điều kiện cần và đủ để quá trình hội nhập thành
công là phải hiện đại hóa nền kinh tế, hiện đại hóa và tự động quá trình
sản xuất.
Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về khoa học
kĩ thuật và gần đây nhất là cuộc cách mạng về công nghệ thông tin. Với
sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao
năng suất và tự động hóa ngày một hiệu quả hơn. Tuy nhiên, nói đến máy
tính thì trước hết phải nói đến một lĩnh vực quan trọng gấp bội, đó chính
là nền công nghiệp điện tử.
Nền công nghiệp điện tử và các sản phẩm của nó là nền tảng cơ bản
nhất cho việc ra đời của máy tính và sâu xa hơn chính là nên sản xuất
hiện đại ngày nay. Các sản phẩm của công nghiệp điện tử đã đi sâu vào
đời sống của mỗi quốc gia, vùng lãnh thổ và mỗi con người chúng ta.
Công nghiệp điện tử là lĩnh vực không thể thiếu đối với tất cả các khía
cạnh trong cuộc sống hiện đại nhân loại ngày nay.
Nằm trong chương trình đào tạo kĩ sư chuyên ngành cơ điện tử của
khoa cơ khí- trường đại học bách khoa đà nẵng, tôi đươc tham gia vào đợt
thực tập công nhân tại xưởng điện tử của trường. Với mục đích bổ sung
kiến thức và kĩ năng nghề nghịệp làm tiền đề cho quá trình công tác sau
này cũng như có thể đáp ứng yêu cầu của nền sản xuất nước nhà, nhóm
Báo Cáo Thực Tập Công Nhân
Trang 2
chúng tôi đã chọn đề tài: Thiết kế hệ thống băng tải đóng gói sản phẩm
điều khiển bằng bàn phím và giao tiếp máy tính. Đây là một đề tài có
khối lượng công việc khá lớn, bao gồm cả cơ khí và điện tử và lập trình
điều khiển, đòi hỏi sự chính xác cao và có thể ứng dụng trong nhiều lĩnh
vực mang lại hiệu quả cao.
Trong quá trình thực hiện đề tài, nhóm đã thiết kế và tính toán sao cho
quá trình làm việc của mô hình là tốt nhất, ổn định nhất, công năng nhiều
nhất. Tuy nhiên, nhóm cũng đã gặp nhiều khó khăn do vấn đề thời gian
và kinh nghiệm của nhóm nên mô hình vẫn gặp những vấn đề chưa thể
khắc phục. Nhóm cũng xin chân thành cảm ơn sự giúp đỡ tận tình của
thầy Lê Hồng Nam và các thầy cô trong khoa Điện Tử Viễn Thông và Cơ
Khí đã giúp nhóm hoàn thành đề tài một cách tốt nhất. Kính mong quý
thầy cô đóng góp những ý kiến để những đợt thực tập sau chúng tôi sẽ
hoàn thành nhiệm vụ tốt nhất.
Trân trọng và chân thành cảm ơn!
Nhóm thực hiện đề tài
Báo Cáo Thực Tập Công Nhân
Trang 3
CHƯƠNG I:
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu đề tài
Thiết kế hệ thống gồm hai băng tải đóng gói sản phẩm điều khiển
bằng bàn phím và giao tiếp máy tính
1.2 Sơ đồ khối của đề tài.
1.3 Chức năng các khối :
• Giao tiếp máy tính : Dùng giao diện phần mềm lập trình bằng
delphi trên máy tính để giao tiếp với mạch điều khiển qua đó điều
khiển và kiểm soát số sản phẩm và số thùng.
• Mạch điều khiển : Điều khiển tất cả hoạt động của máy, nhận tín
hiệu điều khiển từ bàn phím và máy tính để xử lý rồi đưa ra tín
hiệu điều khiển cho cơ cấu chấp hành. Kiểm tra tín hiệu trả về của
cảm biến để giám sát hoạt động của máy, đưa số liệu ra mạch hiển
thị và đưa về máy tính. Đồng thời xử lý tính toán dựa vào các dữ
liệu thu về từ cảm biến và các tín hiệu điều khiển để xuất tín hiệu
điều khiển cơ cấu chấp hành cho phù hợp với yêu cầu.
CẢM BIẾN
BÀN PHÍM
KHỐI ĐIỀU
ĐIỀU KHIỂN
HIỂN THỊ
CƠ CẤU
CHẤP
HÀNH
MÁY TÍNH
Báo Cáo Thực Tập Công Nhân
Trang 4
• Cảm biến : Gồm 2 cảm biến quang trở được bố theo hành trình của
sản phẩm và thùng để đếm số thùng và số sản phẩm có đủ hay
không.
• Bàn phím : Để nhập số sản phẩm và số thùng đồng thời thực hiện
một số chức năng điều khiển cụ thể (sẽ được làm rõ ở phần sau).
• Hiển thị : Để hiển thị số sản phẩm và số thùng
• Cơ cấu chấp hành : Gồm các cơ cấu cơ khí ( 2 băng tải) và 2 động
cơ DC để truyền động cho các cơ cấu cơ khí ( 2 băng tải). Một
băng tải mang sản phẩm và một băng tải mang thùng.
Báo Cáo Thực Tập Công Nhân
Trang 5
CHƯƠNG II : LÝ THUYẾT
VI ĐIỀU KHIỂN 8951
1. Kiến trúc của vi điều khiển 8951
IC vi điều khiển 8951 thuộc họ MCS51 có các đặc điểm sau :
+ 4 kbyte Flash.
+ 128 byte RAM
+ 4 port I/0 8 bit
+ Hai bộ định thời 16 bits
+ Giao tiếp nối tiếp
+ 64KB không gian bộ nhớ chương trình ngoài
+ 64 KB không gian bộ nhớ dữ liệu ngoài
a.Port0: là port có 2 chức năng, ở trên chân từ 32 đến 39 của MC
8951. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ ngoài, P0 được sử
dụng như là những cổng I/O. Còn trong các thiết kế lớn có yêu cầu một
số lượng đáng kể bộ nhớ ngoài thì P0 trở thành các đường truyền dữ liệu
và 8 bit thấp của bus địa chỉ.
b. Port1: là một port I/O chuyên dụng, trên các chân 1-8 của
MC8951. Chúng được sử dụng với một múc đích duy nhất là giao tiếp
với các thiết bị ngoài khi cần thiết.
U1
AT89C51
9
18
19
29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1
PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
AT89C51
Báo Cáo Thực Tập Công Nhân
Trang 6
c. Port2: là một cổng có công dụng kép trên các chân 21 – 28 của
MC 8951. Ngoài chức năng I/O, các chân này dùng làm 8 bit cao của bus
địa chỉ cho những mô hình thiết kế có bộ nhớ chương trình ROM ngoài
hoặc bộ nhớ dữ liệu RAM có dung lượng lớn hơn 256 byte.
d. Port3: là một cổng có công dụng kép trên các chân 10 – 17 của
MC 8951. Ngoài chức năng là cổng I/O, những chân này kiêm luôn nhiều
chức năng khác nữa liên quan đến nhiều tính năng đặc biệt của MC 8951,
được mô tả trong bảng sau:
B
ả
n
g
2
.
1
Chức năng của các chân trên port 3
e. PSEN (Program Store Enable): 8951 có 4 tín hiệu điều khiển,
PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép
truy xuất bộ nhớ
chương trình mở rộng và thường được nối đến chân OE (Output
Enable) của một EPROM để cho phép đọc các byte mã lệnh của chương
trình. Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình của một
lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus
và được chốt vào thanh ghi lệnh của 8951 để giải mã lệnh. Khi thi hành
chương trình trong ROM nội PSEN sẽ ở mức cao.
f. ALE (Address Latch Enable ): Tín hiệu ra ALE trên chân 30
tương hợp với các thiết bị làm việc với các xử lý 8585, 8088. 8951 dùng
ALE để giải đa hợp bus địa chỉ và dữ liệu, khi port 0 được dùng làm bus
địa chỉ/dữ liệu đa hợp: vừa là bus dữ liệu vừa là byte thấp của địa chỉ 16
bit . ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong
nữa đầu của chu kỳ bộ nhớ. Sau đó, các đường Port 0 dùng để xuất hoặc
nhập dữ liệu trong nữa sau chu kỳ của chu kỳ bộ nhớ.
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên
chip và có thể được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung
trên 8951 là 12MHz thì ALE có tần số 2MHz. Chân này cũng được làm
ngõ vào cho xung lập trình cho EPROM trong 8951.
Bit Tên Chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RxD
TxD
0INT
1INT
T0
T1
WR
RD
Ngõ vào dữ liệu nối tiếp.
Ngõ xuất dữ liệu nối tiếp.
Ngắt ngoài 0.
Ngắt ngoài 1.
Ngõ vào TIMER 0.
Ngõ vào của TIMER 1.
Điều khiển ghi dữ liệu lên bộ nhớ ngoài.
Điều khiển đọc bộ nhớ dữ liệu ngoài.
Báo Cáo Thực Tập Công Nhân
Trang 7
g. EA (External Access): Tín hiệu vào EA trên chân 31 thường được
nối lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8951 thi
hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở
mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Người ta
còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM
trong 8951.
h. RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8951. Khi
tín hiệu này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh
ghi trong 8951 được đưa vào những giá trị thích hợp để khởi động hệ
thống.
i.OSC: 8951 có một bộ dao động trên chip, nó thường được nối với
thạch anh giữa hai chân 18 và 19. Tần số thạch anh thông thường là
12MHz.
j. POWER: 8951 vận hành với nguồn đơn +5V ( 20%. Vcc được nối
vào chân 40 và Vss (GND) được nối vào chân 20.
2. Tìm hiểu về tập lệnh của 89C51.
Một số lệnh thường gặp.
ACALL addr11 : Gọi chương trình con(gọi đến địa chỉ tuyệt đối).
Mô tả: ACALL gọi không điều kiện một chương trình con đặt tại địa chỉ
được chỉ ra trong lệnh. Lệnh này tăng nội dung của PC bởi 2 để PC chứa
địa chỉ của lệnh kế lệnh ACALL, sau đó cất nội dung 16 bit của PC vào
stack(Byte thấp cất trước) và tăng con trỏ stack SP bởi 2. Do vậy chương
trình con được gọi phải được bắt đầu trong cùng khối 2K của bộ nhớ
chương trình với Byte đầu tiên của lệnh theo sau lệnh ACALL. Các cờ
khong bị ảnh hưởng.
LCALL addr16 : Gọi chương trình con. Chương trình con được gọi phải
được bắt đầu trong cùng khối 64K của bộ nhớ chương trình với Byte đầu
tiên của lệnh theo sau lệnh LCALL. Các cờ khong bị ảnh hưởng.
ADD A,: Cộng
Mô tả: ADD Cộng nội dung của một byte ở địa chỉ được chỉ ra trong lệnh
với nội dung thanh chứa và đặt kết quả vào thanh chứa.
ADD có 4 kiểu định địa chỉ cho toán hạn nguồn: thanh ghi, trực tiếp,
thanh ghi gián tiếp hoặc tức thời.
AJMP addr11: Nhảy đến địa chỉ tuyệt đối. Đích nhảy đến phải trong
cùng khối 2K của bộ nhớ chương trình với byte đầu tiên của lệnh theo sau
lệnh AJMP.
ANL ,: thực hiện phép toán AND từng bít giữa
hai toán hạng được chỉ ra trong lệnh và lưu kết quả vào toán hạn đích.
Các cờ không bị ảnh hưởng.
CJNE ,,rel : So sánh và nhảy nếu không bằng.
Cờ nhớ được set bằng 1 nếu giá trị nguyên không dấu của toán hạn trước
nhỏ hơn giá trị nguyên không dấu của toán hạn sau. Ngược lại cờ nhớ bị
xoá.
Báo Cáo Thực Tập Công Nhân
Trang 8
CLR bit: Xoá bít.
CPL bit: Lấy bù bit.
DEC byte: Byte chỉ ra trong lệnh được giảm đi 1, cờ nhớ không bị anhư
hưởng.
DIV AB: chia số nguyên không dấu 8 bit chứa.
SETB : Set bit bằng 1.
Báo Cáo Thực Tập Công Nhân
Trang 9
CHƯƠNG III : SƠ ĐỒ MẠCH VÀ TÍNH
CHỌN LINH KIỆN
Đề tài:
Mạch giám sát và điều khiển đếm
sản phẩm có giao tiếp máy tính
1.Sơ đồ khối và phân tích hoạt động:
1.1 Sơ đồ khối:
1.2 Nguyên lý chung:
Thông qua hệ thống cảm biến thu phát hồng ngoại sẽ đưa tín hiệu đầu vào
vào 89S52,sau khi được xử lý tại vi điều khiển(chương trình được lập
trình bằng ASM) sẽ đưa tín hiệu đầu ra điều khiển 2 hệ thống băng
chuyền thực hiện việc đếm số thùng trong 1 ca và số sản phẩm trong 1
thùng. Song song với quá trình hoạt động của mạch,máy tính sẽ thực hiện
giám sát và điều khiển thông qua dữ liệu được gởi xuống vi điều khiển
bằng cổng COM
1.3 Cụ thể:
1.3.1 Khối cảm biến:
Trên mỗi băng chuyền thùng và sản phẩm,sẽ đặt 1 hệ thống cảm biến
gồm 1 led hồng ngoại phát và 1 photodiode thu,khi có sản phẩm(thùng) đi
qua,hệ thống sẽ gởi tín hiệu mức 0 báo cho VĐK biết, căn cứ vào chương
trình đã được nạp,VĐK sẽ đưa ra chỉ thị điều khiển dừng hay khởi động
băng chuyền để thực hiện việc đếm số sản phẩm(thùng).
1.3.2 Khối băng chuyền:
KHỐI XỬ
LÍ TRUNG
TÂM
(89S52) Bàn
phím
Máy
tính
Hiển thị Cảm
biến
Băng
chuyền
Báo Cáo Thực Tập Công Nhân
Trang 10
Gồm 2 băng chuyền: một băng chuyền cho thùng chạy,và một cho sản
phẩm chạy
1.3.3 Khối hiển thị:
Gồm 4 led 7 đoạn (2 led cho số thùng và 2 led cho số sản phẩm)sẽ hiển
thị số sản phẩm và thùng cài đặt,cũng như số sản phẩm và số thùng trong
quá trình đếm.
1.3.4 Khối bàn phím:
Phím 0- 9: nhập số sản phẩm(thùng) cài đặt
Phím 10: Start
Phím 11: Cài đặt
Phím 12: Thoát khỏi cài đặt
Phím 13: Stop
Phím 14: Bắt đầu cài đặt thùng
1.3.5 Điều khiển từ PC:
Chương trình điều khiển được viết bằng Delphi.
Máy tính sẽ gởi tín hiệu khởi động, gởi số sản phẩm và thùng cài đặt
xuống VĐK thông qua cổng COM.
Song song với quá trình gởi dữ liệu thì PC cũng sẽ nhận dữ liệu đếm từ
VĐK và hiển thị lên màn hình điều khiển.
2.Tính toán thiết kế:
2.1. Mạch công suất cho động cơ:
Mục đích là tạo ra dòng lớn để cung cấp cho động cơ
ULN2803 có nhiệm vụ đệm dòng cho mạch công suất
12V
12V
12V
C PWM3
C PWM4
C PWM1 PWM1
PWM4
PWM2C PWM2
PWM3
RULNS
1K
2
3
4
5
6
7
8
1
9
RN6
4k7
2
3
4
5
6
7
8
1
9
U9
ULN2803
10 9
1
2
3
4
5
6
7
8
18
17
16
15
14
13
12
11
COM GND
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
Tính chọn điện trở:
ULN2803 có Iin = 25 mA
Chọn Vin = 12V
Vậy RN6 =4k7
Chọn RULNS = 1K
Báo Cáo Thực Tập Công Nhân
Trang 11
12V
12V
12V
12V
24V
24V
24V
24V
PWM1
PWM3
PWM4
PWM2
Q13
D468
R24
330 2W
R25
330 2W
R26
330 2W
R27
330 2W
M4DC4
IRF540
Q9
D468
M2DC2
IRF540
Q7
D468
Q14
B562
D21
4007
Q11
D468
D24
4007
D27
4007
D30
4007
M3DC3
IRF540
M1
IRF540
J29
DC4
1
2
J28
DC2
1
2
J27
DC2
1
2
J26
DC1
1
2
Q10
B562
Q12
B562
Q8
B562
Fet IRN540 : đóng mở động cơ
Chọn 2bjt là
2sd468 và 2sb562 mạch mắc Darlington :khuếch đại dòng
2.1.1 Mạch cảm biến
R330
Báo Cáo Thực Tập Công Nhân
Trang 12
Mạch gồm hai khối cảm biến dùng để đếm số sản phẩm và số thùng. Khi không
có sản phẩm đi qua LED thu nhận được tín hiệu từ LED phát, điện trở của LED
phát R=330,led thu có R= 1
2.2. Mạch hiển thị :
Title
Size Document Number Rev
Date: Sheet of
A
1 1Thursday , January 10, 2008
U4
led 7 seg
1 2 3 4 5
678910
Q1
2SC1815
Q4
2SC1815
Q3
2SC1815
Q2
2SC1815
R37
R
R35
R
R33
R
U8
SN7447
17
21
42
8
6
BI/RBO
4
RBI
5
LT
3
A 13
B 12
C 11
D
10
E
9
F
15
G
14
V
C
C
16
G
N
D
8
U7
led 7 seg
1 2 3 4 5
678910U6
led 7 seg
1 2 3 4 5
678910
U5
led 7 seg
1 2 3 4 5
678910
R32
R
R38
R
R36
R
R34
R
A4
A2
A3
A5
A1
A7
A6
5V
R39
R
P2.0
P2.3
P2.2
P2.1
A3A4A5 A5
A2A1A6A7
A1A6A7
A3A4
A7
A3A4A5
A2
A4A5
A2A1A6
A3
A1A7A6 A2
P2.6P2.7 P2.4P2.5
R31
R
0
5V
J1
CON8
1
2
3
4
5
6
7
8 P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
Chọn trở R39( đưa áp vào các chân 3,4,5 của 7447) là 1k.
Để tính chính xác ta coi Led như một động cơ một chiều và sử dụng công thức
Ihd= dmon
T
dm I
T
T
dtI
T
on
***1
0
2 =∫
Để đơn giản hơn ta xem led 7 đoạn gồm 7 led đơn sử dụng dòng 10 mA.
Vậy dòng cần cung cấp cho led là IC=7*10=70mA
Chọn BJT là 2SA1015 với β =70
Dòng IB = IC/ β = 70/70 = 1mA
R32 = Vcc-VCES-V LED / IC / 7 = 5 -2 -0.1/70/7 = 270Ω .
Chọn R32=R34=R36=R38=270Ω
Ngõ ra P2.7 ở mức thấp thì Q1 dẫn lúc đó VOl=0.45V(mức thấp)
R31=Vcc-VO1-VBEQ1-VR32/IBQ1=5-0.45-0.7-70/7*0.27/1mA
Ta chọn R31=R33=R35=R37=1 K
2.3 Mạch bàn phím
- Ma trận phím
Báo Cáo Thực Tập Công Nhân
Trang 13
1 4
2 3
1 4
2 3
1 4
2 3 C3
1 4
2 3
71 4
2 3
P1.3
1
H2
2
C
3
F1 4
2 3
H0
P1.1
1 4
2 3
5
P1.0
1 4
2 3
1 4
2 3
P1.5
E
P1.4
1 4
2 3
D
1 4
2 3
64
1 4
2 3
98
0
1 4
2 3
C0
H1
1 4
2 3
P1.6
J1
CON8
1
2
3
4
5
6
7
8
C1
P1.7
1 4
2 3
H3
A
C2
1 4
2 3
P1.2
B
Để thực hiện ma trận bàn phím ta dùng phương pháp quét phím. Quét
cột và đọc dữ liệu tại hàng hoặc ngược lại. Theo hình vẽ thì các cột cách
nhau 1 đơn vị, các hàng cách nhau 4 đơn vi.
Khi mạch cần nhiều phím thì ta mới tổ chức ma trận phím để giảm
số lượng cổng sử dụng cho bàn phím.
Chương trình hiển thị bàn phím.
#include
phim equ 30h
ORG 0000H
MAIN:
ACALL IN_HEX
MOV A,PHIM
ACALL HT
SJMP MAIN
;.........................................
IN_HEX: MOV R3,#50
BACK1: ACALL GET_KEY
JNB 10,EXP1
DJNZ R3,BACK1
BACK2: MOV R3,#50
BACK3: ACALL GET_KEY
JB 10,BACK2
DjNZ R3,BACK3
SETB 11
MOV PHIM,R6
EXP1: NOP
RET
;----------------------------------------------------------------------------
Báo Cáo Thực Tập Công Nhân
Trang 14
GET_KEY:
MOV A,#0FEH
MOV R2,#0
SCAN_ROW:
MOV P0,A
MOV R4,A ;luu gia tri cua A vao R4
;chuan bi quet cac cot va nhay
JNB P0.4,ROW_0
JNB P0.5,ROW_1
JNB P0.6,ROW_2
JNB P0.7,ROW_3
;khong co phim an thi chuyen den cot tiep theo
MOV A,R4 ;lay lai ma lan truoc tu r4
RL A ;quay trai 1 bit de chuyen den cot
ke tiep
INC R2 ;tang so lan quet len 1
CJNE R2,#4,SCAN_ROW ;khong du 4 cot thi
quay lai quet
SETB P2.6
SJMP NO_CODE
ROW_0:
MOV A,R2
ADD A,#0
SETB 10
MOV R6,A
SJMP EXIT
ROW_1:
MOV A,R2
ADD A,#4
SETB 10
MOV R6,A
SJMP EXIT
ROW_2:
MOV A,R2
ADD A,#8
SETB 10
MOV R6,A
SJMP EXIT
ROW_3:
MOV A,R2
ADD A,#12
SETB 10
MOV R6,A
Báo Cáo Thực Tập Công Nhân
Trang 15
SJMP EXIT
NO_CODE: ;NEU KHONG CO PHIM AN THI XOA BIT
10
CLR 10
EXIT:
RET
HT: MOV B,#10
DIV AB
ADD A,#10H
MOV P2,A
ACALL DELAY
MOV A,B
ADD A,#00
MOV P2,A
ACALL DELAY
RET
DELAY: MOV R0,#200
DJNZ R0,$
RET
END
Khi mạch không cần nhiều phím thì ta có thể dùng phím như sau:
Vcc
R1
R
1 4
2 3
p1.0
Báo Cáo Thực Tập Công Nhân
Trang 16
2.4. Mạch giao tiếp máy tính
5V
VCC5V
GND
P0.3
P1.1
DK PWM1
P1.0
P1.4
P0.1
DK PWM2
P3.3
DK PWM3
P0.4
P1.2
P3.5
P1.5
DK PWM4
P3.4
P0.5
RXD
P1.6
P0.2
P0.7
P0.6
P0.0
P1.3
TXD
P3.2
P1.7
VCC5V
VCC5V
v cc5v
VCC5V
VCC5V
GND
D20
LED
D23
LED
D26
LED
D22
LED
D28
LED
D31
LED
D38
LED
D33
LED
D34
LED
D36
LED
D37
LED
D39
LED
D35
LED
D42
LED
D41
LED
D40
LED
D43
LED
D44
LED
R19
R
D46
LED
R17
R
D45
LED
R16
R
R15
R
R20
R
R21
R
R22
R
R18
R23
R
R28
R
R29
R
R30
R
R31
R
R32
R
R33
R
R34
R
R35
R
R36
R
R37
R
R38
R
Y1
ZTA
J3
NGUON 5V
1
2
Q16
2SA1015
3
2
1
J2
NAP PHILLIP
1
2
3
4
C6
30P
U4
8051
29
30
31
19 18
9
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
PSEN
ALE
EA
X1 X2
RST
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
R14
10K
+C5
10UF SW1
RESET
C7
30P
R39 560
J25
COIBIP
1
2
R40 330
5v
TXD
RXD
R3
330
D1
LED do
J1
CON2
1
2
U5
MAX232
13
8
11
10
1
3
4
5
2
6
12
914
7
R1IN
R2IN
T1IN
T2IN
C+
C1-
C2+
C2-
V
+V-
R1OUT
R2OUTT1OUT
T2OUT
P1
CONNECTOR DB9
5
9
4
8
3
7
2
6
1 C7
10u
C6
10u
C8
10u
có nhiệm vụ thực hiện kết nối giữa vi điều khiển và máy tính
Tác dụng của các linh kiện trong mạch:
2.4.1 max232:
MAX232 đóng vai trò trung gian giao tiếp giữa cổng COM và chip
AT89C52. Tín hiệu từ chân 3 cổng COM được đưa đến đầu vào thu R1IN
của MAX232, đầu ra bộ thu R1OUT của MAX232 nối với chân ngõ vào
dữ liệu nối tiếp RxD của AT89C52. Tín hiệu từ ngõ xuất dữ liệu nối tiếp
TxD của chip AT89C52 đưa đến đầu vàobộ phát T1IN của MAX232, đầu
ra bộ phát T2OUT của chip AT89C52 được nối đến chân 3 của cổng
COM.
Bảng trạng thái:
T1IN T1OUT
Báo Cáo Thực Tập Công Nhân
Trang 17
R1IN R1OUT
0 1
1 0
2.4.2. Chip 89S52:
- Nhập dữ liệu bàn phím qua Port 0.
- Xuất dữ liệu ra LED qua Port 2.
- Khối giao tiếp cổng COM ( sử dụng MAX 232) qua P3.0,
P3.1
- Khối cảm biến, động cơ qua Port1.
2.4.3. Tính toán và chọn linh kiện:
Chip 89S52 hoạt động với tốc độ xung đồng hồ 1