TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA VẬT LÝ
NGÔ THỊ LOAN
THIẾT KẾ ROBOT ĐỊNH HƯỚNG TRONG CHUYỂN
ĐỘNG MÁY BAY, TÀU THỦY
Chuyên ngành: Sư phạm Kĩ thuật
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Người hướng dẫn khoa học: T.S Nguyễn Thế Lâm
HÀ NỘI, 2013
LỜI CẢM ƠN
Để có thể hoàn thành đề tài luận văn “Thiết kế robot định hướng trong
chuyển động máy bay, tàu thủy” một cách hoàn chỉnh, bên cạnh sự cố gắng
nỗ lực của bản thân còn có sự hướng dẫn nhiệt tình của quý thầy cô, cũng như
sự động viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập
nghiên cứu và thực hiện luận văn.
Tôi xin chân thành bày tỏ lòng biết ơn đến toàn thể các thầy giáo, cô
giáo trong khoa Vật lý nói riêng và các thầy cô giáo trong trường Đại học Sư
phạm Hà Nội 2 nói chung, đã đào tạo, giúp đỡ tôi trong suốt quá trình học tập
và hoàn thành khóa luận này.
Đặc biệt tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc tới thầy giáo
Tiến sĩ Nguyễn Thế Lâm_người đã tận tình định hướng hướng dẫn và giúp đỡ
tôi trong suốt quá trình thực hiện khóa luận.
Cuối cùng tôi xin gửi lời cảm ơn tới gia đình , bạn bè đã không ngừng
động viên, hỗ trợ và tạo mọi điều kiện tốt nhất cho tôi trong suốt thời gian
nghiên cứu và thực hiện đề tài một cách hoàn chỉnh.
Hà Nội, tháng 05 năm 2013
Ngô Thị Loan
LỜI CAM ĐOAN
Kính gửi: Hội đồng bảo vệ khóa luận tốt nghiệp Đại học Khoa Vật lý
Trường Đại học Sư phạm Hà Nội 2.
Tên tôi là: Ngô Thị Loan
Sinh viên lớp: K35C_Sư phạm Kĩ thuật
Khoa: Vật lý
Trường: Đại học Sư phạm Hà Nội 2
Tôi xin cam đoan đề tài “Thiết kế robot định hướng trong chuyển động
máy bay, tàu thủy” là kết quả của sự nghiên cứu tìm tòi, tra cứu tài liệu và
nhất là có sự định hướng của TS. Nguyễn Thế Lâm Khoa Vật lý Trường Đại
học Sư phạm Hà Nội 2. Đề tài không sao chép từ bất cứ một tài liệu nào sẵn
có và kết quả nghiên cứu không trùng lặp với các tác giả khác.
Hà Nội, tháng 05 năm 2013
Ngô Thị Loan
BẢNG KÍ HIỆU CÁC CHỮ VIẾT TẮT
CPU
Center Processing Unit
Bộ vi xử lý trung tâm
DPTR
EA
EPROM
GND
Data Point Registor
Enable Access
Earsirer program mable
Ground
Thanh ghi con trỏ dữ liệu
Cho phép truy cập
Bộ nhớ có thể lập trình xoá được
Logic 0 (mát)
IC
MOS
OSC
Intergrated circuit
Vi mạch tổ hợp
Metal Oxide Semiconductor Bán dẫn oxit kim loại
Oscllosilator
Bộ dao động
PCON
PSW
RAM
Port Cotrol
Program Status Word
Random Acess Memory
Điều khiển cổng
Thanh ghi từ trạng thái
Bộ nhớ truy cập ngẫu nhiên
ROM
SBUF
SCON
Read Only Memory
Serial Buffer
Serial Control
Bộ nhớ chỉ để đọc
Bộ đệm nối tiếp
Điều khiển nối tiếp
SP
TTL
Serial Port
Transistor-transistor Logic
Thanh ghi nối tiếp
Mạch logic dùng hai transistor
MỞ ĐẦU
1. Lí do chọn đề tài
Ngày nay, khoa học kĩ thuật ngày càng phát triển như vũ bão. Nhiều họ
vi điều khiển ra đời với khả năng lập trình cao đã mang lại nhiều ứng dụng
rộng rãi trong sản xuất và đời sống. Nó có chức năng điều khiển trong các
phương tiện hiện đại hay trong quá trình sản xuất. Để giúp con người trong
những công việc khó khăn, nguy hiểm và đòi hỏi độ chính xác cao, những con
robot đang dần được sử dụng trong nhiều lĩnh vực công nghệ hiện đại.
Các phương tiện hiện đại như máy bay, tàu thủy hay những dây chuyền
tự động hóa trong sản xuất ngày càng đòi hỏi độ chính xác cao. Vì vậy, những
con robot cũng được ra đời với nhiều tính năng ưu việt hơn.
Hầu hết các ngành nghề đều theo xu hướng hiện đại hóa, khoa học
công nghệ là then chốt.
Vì những lí do trên mà tôi đã quyết định chọn đề tài: Thiết kế robot
định hướng trong chuyển động cho máy bay, tàu thủy
2. Mục đích nghiên cứu
Tìm hiểu phần cứng: IC 8051
Mạch điện tử:
Mạch vi điều khiển (8051, PIC, AVR) đóng vai trò như bộ não của
robot điều khiển toàn bộ hoạt động của robot theo chương trình lập sẵn.
Mạch sensor đóng vai trò như các giác quan của robot để giúp robot
nhận dạng môi trường xung quanh để gửi tín hiệu về vi điều khiển
Mạch công suất điều khiển động cơ: dùng để điều khiển các cơ cấu của
robot.
Lập trình: Chương trình trong robot giống như bộ não con người, robot
chỉ hoạt động được khi có chương trình cài đặt sẵn cho nó.
Yêu cầu về cơ học, cơ khí:
1
Kết cấu cơ khí tốt, bền, chắc đáp ứng cho robot hoạt động tốt.
Thiết kế cơ khí thường dung phần mềm Solid Work, Autocad.
Nghiên cứu về sản phẩm: robot điều khiển tự động.
3. Đối tượng, phạm vi nghiên cứu
Mô hình Robot định hướng trên mặt đất và những vấn đề liên quan
4. Nhiệm vụ nghiên cứu
Nghiên cứu những cơ sở lý thuyết và thực nghiệm trong thiết kế robot
định hướng trong chuyển động máy bay,tàu thủy.
Mô phỏng và thiết kế phần cơ khí của robot
Nghiên cứu chế tạo mạch điện cho robot
Viết chương trình cho robot
5. Phương pháp nghiên cứu
Lý thuyết
Thực nghiệm
2
NỘI DUNG
Chương 1
GIỚI THIỆU VỀ ROBOT VÀ CÁC MODUL CỦA ROBOT
1.1 Sự hình thành và phát triển của ngành khoa học chế tạo robot
1.1.1 Sự hình thành và phát triển của ngành khoa học chế tạo robot trên
thế giới.
Thuật ngữ “Robot” xuất phát từ tiếng Sec (Czech) “Robota” có nghĩa là
công việc tạp dịch trong vở kịch Rossum’s Universal Robots của Karel
Capek, vào năm 1921. Trong vở kịch này, Rossum và con trai của ông ta đã
chế tạo ra những chiếc máy gần giống với con người để phục vụ con người.
Có lẽ đó là một gợi ý ban đầu cho các nhà sáng chế kỹ thuật về những cơ cấu,
máy móc bắt chước các hoạt động cơ bắp của con người.
Đầu thập kỷ 60, công ty Mỹ AMF (American Machine and Foundry
Company) quảng cáo một loại máy tự động vạn năng và gọi là “Người máy
công nghiệp” (Industrial Robot). Ngày nay người ta đặt tên người máy công
nghiệp (hay robot công nghiệp) cho những loại thiết bị có dáng dấp và với
một chức năng nhanh tay người được điều khiển tự động để thực hiện một số
thao tác sản xuất. Về mặt kỹ thuật, những robot công nghiệp ngày nay, có
nguồn gốc từ hai lĩnh vực kỹ thuật ra đời sớm hơn đó là các cơ cấu điều khiển
từ xa (Teleoperators) và các máy công cụ điều khiển số (NC - Numerically
Controlled machine tool). Các cơ cấu điều khiển từ xa (hay các thiết bị kiểu
chủ-tớ) đã phát triển mạnh trong chiến tranh thế giới lần thứ hai nhằm nghiên
cứu các vật liệu phóng xạ. Người thao tác được tách biệt khỏi khu vực phóng
xạ bởi một bức tường có một hoặc vài cửa quan sát để có thể nhìn thấy được
công việc bên trong. Các cơ cấu điều khiển từ xa thay thế cho cánh tay của
người thao tác; nó gồm có một bộ kẹp ở bên trong (tớ) và hai tay cầm ở bên
3
ngoài (chủ). Cả hai, tay cầm và bộ kẹp, được nối với nhau bằng một cơ cấu
sáu bậc tự do để tạo ra các vị trí và hướng tuỳ ý của tay cầm và bộ kẹp. Cơ
cấu dùng để điều khiển bộ kẹp theo chuyển động của tay cầm.
Vào khoảng năm 1949, các máy công cụ điều khiển số ra đời, nhằm
đáp ứng yêu cầu gia công các chi tiết trong ngành chế tạo máy bay. Những
robot đầu tiên thực chất là sự nối kết giữa các khâu cơ khí của cơ cấu điều
khiển từ xa với khả năng lập trình của máy công cụ điềukhiển số.
Dưới đây chúng ta sẽ điểm qua một số thời điểm lịch sử phát triển của
người máy công nghiệp. Một trong những robot công nghiệp đầu tiên được
chế tạo là robot Versatran của công ty AMF, Mỹ. Cũng vào khoảng thời gian
này ở Mỹ xuất hiện loại robot Unimate -1900 được dùng đầu tiên trong kỹ
nghệ ôtô. Tiếp theo Mỹ, các nước khác bắt đầu sản xuất robot công nghiệp:
Anh -1967, Thuỵ Điển và Nhật -1968 theo bản quyền của Mỹ; CHLB Đức 1971; Pháp - 1972; ở Ý - 1973. Tính năng làm việc của robot ngày càng được
nâng cao, nhất là khả năng nhận biết và xử lý. Năm 1967 ở trường Đại học
tổng hợp Stanford (Mỹ) đã chế tạo ra mẫu robot hoạt động theo mô hình
“mắt-tay”, có khả năng nhận biết và định hướng bàn kẹp theo vị trí vật kẹp
nhờ các cảm biến. Năm 1974 Công ty Mỹ Cincinnati đưa ra loại robot được
điều khiển bằng máy vi tính, gọi là robot T3 (The Tomorrow Tool : Công cụ
của tương lai). Robot này có thể năng được vật có khối lượng đến 40 KG.
1.1.2 Sự hình thành và phát triển của ngành khoa học chế tạo robot ở Việt
Nam
Các nghiên cứu về robot ở nước ta liên quan nhiều đến vấn đề về động
học, động lực học, thiết kế quỹ đạo, xử lý thông tin cảm biến, cơ cấu chấp
hành, điều khiển và phát triển trí thông minh. Đặc biệt, trong lĩnh vực điều
khiển robot, ngoài các phương pháp điều khiển truyền thống như PID,
phương pháp tính mô men, phương pháp điều khiển trượt thì các phương
pháp điều khiển thông minh như điều khiển sử dụng mạng nơ ron, logic mờ,
4
thuật gen và các phương pháp điều khiển tự thích nghi cũng đã được đề cập
nghiên cứu và áp dụng tại các tổ chức Khoa học và Công nghệ. Cùng với các
kết quả về thực nghiệm, nhiều công trình nghiên cứu khoa học về robot đã
được công bố trên các tạp chí khoa học kỹ thuật trong và ngoài nước hoặc báo
cáo tại các Hội nghị khoa học quốc tế về robot.
Tuy nhiên, có thể nói, cho đến nay ở Việt Nam ngành công nghiệp
robot vẫn chưa hình thành một cách rõ nét. Các doanh nghiệp sản xuất kinh
doanh robot Việt Nam vẫn phát triển mang tính tự phát. Thậm chí, kể cả các
chính sách của nhà nước cũng chưa đề cập đến việc phát triển ngành công
nghiệp robot hiện tại và tương lai.
Quá trình phát triển công nghệ robot đi từ những thế hệ đơn giản đến
những thế hệ cao cấp hơn. Ở thập kỷ những năm 60 - 70, thế giới tập trung
sản xuất các loại robot công nghiệp, làm những công việc cố định trong các
nhà máy xí nghiệp. Đến thập kỷ những năm 80 - 90, các nước đã bắt đầu phát
triển các loại robot dịch vụ bao gồm robot dịch vụ chuyên dùng phục vụ quốc
phòng, an ninh, hay robot chăm sóc sức khỏe; robot dịch vụ gia đình,…Hiện
nay, các nhà khoa học trên thế giới đang nghiên cứu ra các loại robot dạng
người, tức là robot có thể cảm nhận, suy nghĩ, có thể nói, hành động giống
con người. Nhật Bản, Mỹ, Hàn Quốc có thể được xem là các nước đi đầu
trong phát triển robot.
Ở Việt Nam, về mặt lý thuyết, chúng ta cũng hoàn toàn có thể phát
triển được các loại robot thông minh, nhưng do cơ sở hạ tầng kỹ thuật còn hạn
chế, ngành công nghiệp hỗ trợ cho công nghiệp robot chưa phát triển, các
thiết bị kiểm tra, kiểm định chất lượng robot chưa có hoặc có chưa đầy đủ và
quy mô thị trường còn hạn hẹp, nên không đủ điều điện để phát triển các loại
robot dạng này. Vì vậy, xu hướng hiện nay vẫn dừng lại ở việc phát triển các
loại robot công nghiệp. Chúng ta có thể làm được những loại robot thông
minh. Việt Nam có thuận lợi đầu tiên đó là trí tuệ, người Việt Nam thông
5
minh không thua kém so với các nước trong khu vực và trên thế giới. Một ví
dụ rất điển hình đó là, tại các cuộc thi robocon Châu Á, đội tuyển Việt Nam
luôn giành được các giải thưởng cao, thậm chí còn hơn cả Nhật Bản, Hàn
Quốc, Thái Lan, Singapore… Các cuộc thi robot thu hút rất đông học sinh,
sinh viên tham gia điều đó có nghĩa là đội ngũ những người đam mê, yêu
thích ngành công nghệ này là rất lớn. Từ chỗ chỉ có một vài đội tham gia năm
2002, đến nay đã có hàng trăm đội của hàng trăm trường đại học, cao đẳng
của cả nước tham gia với niềm đam mê và quyết tâm cao.
Người Việt Nam có thể thiết kế phần mềm điều khiển robot, chế tạo
các bo mạch điện tử… nghĩa là phần “hồn” cho các robot, nhưng phần “xác”
cho robot thì gặp quá nhiều khó khăn mà nguyên nhân chính, đó là do ngành
công nghiệp hỗ trợ ở Việt Nam chưa phát triển, chưa đáp ứng nhu cầu.
Để phát triển một ngành công nghiệp trước hết phải có thị trường, có sự
đầu tư của Nhà nước về cơ sở hạ tầng kỹ thuật, về chính sách cũng như khung
pháp lý và ít nhiều phải hình thành được một vài doanh nghiệp sản xuất kinh
doanh robot chủ lực có quy mô sản xuất lớn. Tất cả những yếu tố đó đến nay
ở Việt Nam còn rất mờ nhạt. Vấn đề phát triển công nghiệp robot ở Việt Nam
chưa được quan tâm đúng mức và sự chuyển biến nhận thức chưa được rõ nét.
Nhiều kiến nghị của các hội thảo quốc gia về lĩnh vực này, đều không được
hồi âm cần thiết, trong đó, có những đề xuất cụ thể về các nội dung triển khai
“chiến lược phát triển robot” ở Việt Nam. Giới khoa học vẫn thiếu sự liên kết,
mạnh ai nấy làm, dẫn tới trùng lặp và trong thực tế tư duy của giới khoa học
và của giới doanh nghiệp chưa gặp nhau, giới khoa học chưa tạo được lòng tin
đối với doanh nghiệp. Việt Nam chưa có nhà máy với đầy đủ trang thiết bị
sản xuất, kiểm định chất lượng sản phẩm robot công nghiệp. Để sản xuất một
robot công nghiệp cần thiết phải có nhóm trang thiết bị điện, điện tử và cơ khí
phục vụ cho các hoạt động nghiên cứu, thí nghiệm và sửa chữa; nhóm trang
thiết bị phục vụ hoạt động kiểm định; nhóm trang thiết bị phục vụ lắp ráp và
6
điều chỉnh. Đó là chưa kể, robot công nghiệp sau khi sản xuất xong phải trải
qua quy trình kiểm định về độ chính xác vị trí, độ chính xác lặp lại theo một
phương duy nhất, độ chính xác thực hiện dịch chuyển và lặp lại dịch chuyển,
độ sai lệch góc, thời gian ổn định đến vị trí định vị… Nhưng những yếu tố
cần thiết để kiểm định các thông số này đối với các robot được chế tạo tại
Việt Nam đều chưa có.
Thị trường cho các sản phẩm robot được chế tạo trong nước chưa được
tạo lập và các biện pháp kỹ thuật kiểm soát, ngăn ngừa nhập khẩu những sản
phẩm robot mà trong nước sản xuất được cũng chưa được ban hành.
Công tác đào tạo phát triển nguồn nhân lực đã được quan tâm chú ý, nhưng vì
thiếu vắng môi trường hoạt động nên đội ngũ chuyên gia đầu ngành, tổng
công trình sư và kỹ sư nghiên cứu thiết kế là nhân tố cơ bản để thực hiện
thành công nhiệm vụ R&D cũng như chiến lược sản xuất kinh doanh của mọi
doanh nghiệp bị mai một về kiến thức, ý tưởng sáng tạo. Để phát triển ngành
công nghiệp robot ở Việt Nam, quan trọng hơn cả vẫn là thị trường. Phải có
thị trường thì mới có thể thương mại hóa sản phẩm nghiên cứu. Cho đến nay,
các đề tài nghiên cứu khoa học và phát triển công nghệ về robot sau khi
nghiệm thu hầu như không thể tiếp tục triển khai được thành các dự án sản
xuất thử nghiệm bởi không có thị trường, không có người mua. Mà đã không
có đơn đặt hàng thì không ai có thể “dũng cảm” đặt vấn đề sản xuất thử
nghiệm cả, vì vốn cho các dự án sản xuất thử nghiệm đều là vốn vay phải nộp
thu hồi. Các đơn vị trong nước có đủ khả năng để sản xuất các loại robot công
nghiệp phục vụ cho nhu cầu trong nước với giá thành rẻ hơn rất nhiều và chức
năng tương đương so với các sản phẩm robot nhập của nước ngoài, nhưng các
chủ đầu tư lại ngại tiếp nhận các sản phẩm robot Việt Nam bởi thực tế các
doanh nghiệp thường nhập đồng bộ các dây chuyền trong đó đã bao gồm cả
các robot. Các dây chuyền sản xuất công nghiệp ở Việt Nam có mức độ tự
động hóa chưa cao, nên việc đầu tư robot của các chủ doanh nghiệp sản xuất
7
công nghiệp chưa mặn mà đầu tư robot và do đó quy mô thị trường robot ở
Việt Nam chưa lớn, nên các doanh nghiệp sản xuất kinh doanh robot Việt
Nam chỉ có thể có một số hợp đồng sản xuất robot đơn lẻ cho các doanh
nghiệp sản xuất công nghiệp, chủ yếu là các robot phục vụ cho các công đoạn
riêng lẻ như công đoạn hàn, sơn hay trong môi trường độc hại. Muốn thúc đẩy
ngành công nghiệp robot phát triển, trước tiên cần có sự vào cuộc của nhà
nước, cụ thể là ban hành các chính sách vĩ mô như chính sách để hấp dẫn các
nhà đầu tư trong và ngoài nước đầu tư vào lĩnh vực sản xuất robot; chính sách
đầu tư cho nghiên cứu phát triển, chính sách đào tạo và sử dụng hợp lý nguồn
nhân lực trong lĩnh vực robot, chính sách phát triển thị trường, v.v…. Hình
thành những ngành học, ngành đào tạo và nghiên cứu chuyên về robot và đặc
biệt là phải hình thành nên một số doanh nghiệp sản xuất kinh doanh robot
đầu đàn, tạo nền tảng để phát triển ngành công nghiệp robot.
Robot đã được khẳng định về khả năng đem lại rất nhiều lợi ích trong
phạm vi rộng các ứng dụng khác nhau. Các chuyên gia của Hiệp hội robot
quốc tế đã đưa ra 10 lợi ích phổ biến nhất theo ý kiến từ những người đã sử
dụng robot trong các lĩnh vực khác nhau trên toàn thế giới, đó là Giảm chi phí
vận hành; Nâng cao chất lượng và tính ổn định của sản phẩm; Nâng cao hiệu
quả làm việc của công nhân; Nâng cao sản lượng đầu ra; Nâng cao tính linh
hoạt trong quá trình sản xuất sản phẩm; Giảm lãng phí nguyên liệu và tăng lợi
nhuận; Tuân thủ các quy định về an toàn và nâng cao sức khỏe và an toàn nơi
làm việc; Giảm chi phí thay đổi lao động và khó khăn trong tuyển dụng; Giảm
các chi phí đầu tư cơ bản; Tiết kiệm không gian cho những khu vực sản xuất
đắt đỏ.
Có thể nêu một ví dụ đơn giản: Ở một công đoạn sản xuất nhất định
nào đó, do yếu tố tâm lý, sức khỏe, người công nhân có thể lơ đãng trong một
vài thao tác khiến cả một lô sản phẩm hỏng hoặc bị kém chất lượng. Nhưng
nếu thay người công nhân đó bằng một chú robot, do có thể làm liên tục, đều
8
đặn, không bị mệt mỏi, nên robot hoàn toàn có thể thực hiện một cách chính
xác, vừa đảm bảo chất lượng của lô hàng, vừa tăng năng suất. Robot là hình
ảnh thu nhỏ của hệ thống các thiết bị hiện đại, công nghệ cao hiện nay, rất
linh hoạt và thông minh. Do đó, phát triển ngành công nghiệp robot sẽ kéo
theo sự phát triển của một loạt các ngành công nghiệp công nghệ cao khác
như công nghệ thông tin, công nghiệp điện tử, tự động hóa…
1.2 Các phần chính của robot.
Robot gồm có ba phần chính: Cơ khí, mạch điện và lập trình.
1.2.1 Phần cơ khí
Phần này bao gồm các kết cấu cơ khí của robot. Đây là phần thể hiện ý
tưởng của mỗi người. Một ý tưởng độc đáo, một kết cấu cơ khí tốt sẽ giúp cho
robot hoạt động đạt hiệu quả hơn. Do đó, khi thiết kế cơ khí cần xem xét kĩ
lưỡng để đưa ra phương án tối ưu nhất. Để thiết kế phần cơ khí, các bạn có
thể sử dụng các phần mềm chuyên dụng như Solid work, Autocad…
1.2.2 Phần mạch điện
Mạch điện tử trong robot đóng vai trò như những mạch máu của cơ thể
người. Nó đóng vai trò kết nối toàn bộ các bộ phận khác trong robot thành
một thể thống nhất. Trong robot này, phần chính của mạch điện tử là mạch vi
điều khiển 8051 đóng vai trò như bộ não điều khiển toàn hoạt động của robot
theo một chương trình lập sẵn.
1.2.3 Phần chương trình điều khiển.
Chương trình trong robot giống như bộ não của cơ thể nguời. Robot chỉ
hoạt động được khi có chương trình cài đặt sẵn cho nó. Các hoạt động của
robot do người lập trình quyết định. Hai ngôn ngữ được sử dụng nhiều đó là C
và ASM. Tuy nhiên ngôn ngữ C được sử dụng nhiều nhất vì có cấu trúc dễ bắt
lỗi và đặc biệt thuận tiện khi làm chương trình lớn vì các chương trình trong
robot rất phức tạp.
9
Để robot có thể hoạt động được tốt thì cần có sự phối hợp chặt chẽ giữa
các phần cơ khí, phần mạch điện và phần lập trình. Nếu có một phần không
tốt thì robot không thể hoạt động được.
10
Chương 2
HỌ VI ĐIỀU KHIỂN 8051
2.1 Sự ra đời của họ vi điều khiển 8051.
Vào năm 1970 tập đoàn Intel đã giới thiệu 8080, bộ vi xử lý thành công
đầu tiên. Sau đó không lâu Motorola, RCA, kế đến là MOS Techology và
Zilog đã giới thiệu các bộ vi xử lý tương tự: 6800, 1801, 6502 và Z80. Vào
năm 1976 Intel giới thiệu bộ vi điều khiển 8748, một chip tương tự như bộ vi
xử lý và là chíp đầu tiên trong bộ vi điều khiển MCS-48. 8748 là một vi mạch
chứa trên 17000 transistor bao gồm một CPU, 1 K byte EPROM, 64 byte
RAM, 27 chân xuất nhập và một bộ định thời 8-bit. IC này và các IC tiếp theo
của họ MCS-48 đã nhanh chóng trở thành chuẩn công nghiệp trong các ứng
dụng hướng điều khiển.
Độ phức tạp, kích thước và khả năng của các bộ vi điều khiển càng
được tăng thêm một bậc quan trọng vào năm 1980 khi Intel cho ra đời chip
8051, bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. So với 8048,
chíp 8051 chứa trên 60000 transistor bao gồm 4 K byte ROM, 128 byte RAM,
32 đường xuất nhập, 1 port nối tiếp, 2 bộ định thời 16 bit – một số lượng
mạch đáng chú ý trong một IC đơn. Các thành viên mới được thêm vào cho
họ MCS-51 và các biến thể ngày nay gần như có gấp đôi các đặc trưng này.
Tập đoàn Siemens nguồn sản xuất thứ hai các bộ vi điều khiển thuộc họ
MCS-51 cung cấp chíp SAB80515, một cải tiến của 8051 chứ trong một vỏ
68 chân, có 6 port xuất nhập 8-bit, 13 nguồn tạo ra ngắt và một bộ biến đổi
A/D 8-bit với 8 kênh ngõ vào. Họ 8051 là một trong những bộ vi điều khiển
8-bit mạnh và linh hoạt nhất, đã trở thành bộ vi điều khiển hàng đầu trong
những năm gần đây.
11
2.2 Sơ đồ khối chip 8051
Hình 2.1 Sơ đồ khối 8051
Chip 8051 có các đặc trưng như sau:
4KB ROM
128 byte RAM
4 port xuất nhập (I/O port) 8 bit
2 bộ định thời 16 bit
Mạch giao tiếp nối tiếp
Không gian nhớ chương trình ngoài 64K
Không gian nhớ dữ liệu ngoài 64K
Bộ xử lý bit
210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit
Nhân/chia trong 4µs
2.3 Sơ đồ và chức năng các chân của chip 8051:
Thuật ngữ “8051” được dùng để chỉ rộng rãi các chip của họ MSC51. Vi mạch tổng quát của họ MSC-51 là chip 8051, linh kiện đầu tiên của
họ này được hãng Intel đưa ra thị trường. Hiện hay, nhiều nhà sản xuất IC
12
như Seimens, Advance Micro Devices (AMD), Fujitsu, Philips, Atmel …
được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51. Ở
Việt Nam các chip và các biến thể họ MSC-51 của hãng Atmel và Philips
được sử dụng rộng rãi như: 89C2051, AT89C51, AT8C52, AT8C55,
AT89S52, AT89S8252, AT89S8253, P89C51RDxx, P89V51RDxx …
Hình 2.2 Sơ đồ chân 8051
Chip 8051 có 32 chân xuất/nhập, tuy nhiên có 24 chân đa mục đích
trong tổng số 32 chân này. Mỗi một chân này có thể hoạt động ở chế độ
xuất/nhập, hoạt động điều khiển hoặc hoạt động như một đường địa chỉ/dữ
liệu của bus địa chỉ/dữ liệu đa hợp.
2.3.1 PORT 0
Port 0 (các chân từ 32-39) được ký hiệu là P0.0-P0.7 có hai công dụng.
Trong các thiết kế có tối thiểu thành phần, Port 0 được sử dụng làm
nhiệm vụ xuất nhập. Tuy nhiên, khi dùng chức năng này thì Port 0 phải
dùng thêm các điện trở kéo lên (pull-up), giá trị của điện trở phụ thuộc vào
13
thành phần kết nối với Port. Khi dùng làm ngõ ra, Port 0 có thể kéo được 8
ngõ TTL. Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó.
Với các thiết kế lớn hơn có bộ nhớ ngoài, Port 0 trở thành bus địa chỉ
và bus dữ liệu đa hợp (byte địa chỉ thấp).
2.3.2 PORT 1
Port 1 (các chân từ 1-8) chỉ có công dụng là xuất/nhập được ký hiệu
P1.0-P1.7 và dùng để giao tiếp với thiết bị bên ngoài. Với chip 8052 ta có
thể sử dụng P1.0 và P1.1 hoặc làm các đường xuất/nhập hoặc làm các ngõ
vào cho mạch định thời thứ ba.
Tại Port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài.
Port 1 có khả năng kéo được 4 ngõ TTL. Khi dùng làm ngõ vào, Port 1 phải
được set mức logic 1 trước đó.
2.3.3 PORT 2
Port 2 (các chân từ 21-28) được ký hiệu là P2.0-P2.7 có hai công
dụng, hoặc làm nhiệm vụ xuất/nhập có khả năng kéo được 4 ngõ TTL hoặc
là byte địa chỉ cao của bus địa chỉ 16 bit cho các thiết kế có bộ nhớ chương
trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu.
Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó.
2.3.4 PORT 3
Port 3 (các chân từ 10-17) được ký hiệu là P3.0-P3.7 có hai công dụng.
Port 3 có khả năng kéo được 4 ngõ TTL. Khi dùng làm ngõ vào, Port 1 phải
được set mức logic 1 trước đó. Khi không hoạt động xuất/nhập, các chân của
port 3 có nhiều chức năng riêng.
Bảng 2.1 Chức năng các chân của Port 3 và Port 1
Bit
P3.0
P3.1
P3.2
P3.3
Tên
RxD
TxD
INT0
INT1
Địa
B0H
B1H
B2H
B3H
Chức năng
Chân nhận dữ liệu của port nối tiếp
Chân phát dữ liệu của port nối tiếp
Ngõ vào ngắt ngoài 0
Ngõ vào ngắt ngoài 1
14
P3.4
P3.5
P3.6
T0
T1
WR
B4H
B5H
B6H
P3.7
RD
B7H
Ngõ vào bộ định thời hoặc bộ đếm
Ngõ vào bộ định thời hoặc bộ đếm
Điều khiển ghi bộ nhớ dữ liệu
ngoài
Điều khiển đọc bộ nhớ dữ liệu
ngoài
P1.0
P1.1
T2
T2EX
90H
91H
Ngõ vào bộ đinh thời hoặc bộ đếm
Nạp lại hoặc thu nhận của bộ định
2.3.5 /PSEN
Chân cho phép bộ nhớ chương trình /PSEN (Program store enable) là
tín hiệu xuất trên chân 29. Đây là tín hiệu điều khiển cho phép ta truy xuất bộ
nhớ chương trình ngoài. Chân này thường nối với chân cho phép xuất /OE
(Output enable) của EPROM hoặc ROM để cho phép đọc các byte lệnh.Tín
hiệu /PSEN ở mức logic 0 trong suốt thời gian tìm nạp lệnh. Các mã nhị phân
của chương trình hay Opcode được đọc từ EPROM qua bus dữ liệu và được
chốt vào thanh ghi lệnh IR của 8051 để được giải mã. Khi thực thi một
chương trình chứa ở ROM nội, chân /PSEN được duy trì ở mức logic không
tích cực (logic 1).
2.3.6 ALE
Ngõ xuất tín hiệu cho phép chốt địa chỉ ALE (address latch enable)
dùng để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ. Khi port 0
được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt
địa chỉ (byte thấp của địa chỉ 16 bit) vào một thanh ghi ngoài trong suốt ½ đầu
của chu kỳ bộ nhớ (memory cycle). Sau khi điều này đã được thực hiện, các
chân của port 0 sẽ xuất/nhập dữ liệu hợp hệ trong suốt ½ thứ hai của chu kỳ
bộ nhớ. Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong
chip vi điều khiển.
15
2.3.7 /EA
Ngõ vào /EA có thể được nối với 5V (logic 1) hoặc với GND (logic
0).Nếu chân này nối lên 5V chip 8051 thực thi chương trình trong ROM nội.
Nếu chân này được nối với GND (và chân /PSEN cũng ở logic 0) thì chương
trình cần được thực thi chứa ở bộ nhớ ngoài.
2.3.8 RESET (RST)
Ngõ vào RST là ngõ vào xóa chính (master reset) của 8051 dùng để
thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống. Khi
ngõ vào này được treo ở mức logic 1 tối thiểu 2 chu kỳ máy, các thanh ghi
bên trong của 8051 được nạp lại các giá trị thích hợp cho việc khởi động lại
hệ thống .
2.3.9 XTAL1, XTAL2
Mạch dao động trên chip được ghép nối với mạch thạch anh bên ngoài
ở hai chân XTAL1 và XTAL2, các tụ ổn định cũng đựoc yêu cầu kết nối, giá
tri tụ do nhà sản xuất quy định (30p-40p).
2.4. Tổ chức bộ nhớ:
Các chip vi điều được dùng làm thành phần trung tâm trong các thiết kế
hướng điều khiển, trong đó bộ nhớ có dung lượng giới hạn, không có ổ đĩa và
hệ điều hành. Chương trình điều khiển phải thường trú trong ROM nên 8051
có không gian bộ nhớ riêng cho chương trình và dữ liệu, cả hai bộ nhớ
chương trình và dữ liệu đều đặt trong chip, tuy nhiên ta có thể mở rộng bộ nhớ
chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài với
dung lượng tối đa là 64K.
Bộ nhớ nội trong chip bao gồm ROM và RAM. RAM trên chip bao
gồm vùng RAM đa chức năng (general purpose RAM: 30H-7FH), vùng RAM
với từng bit được định địa chỉ (bit address locations) gọi tắt là vùng RAM
định địa chỉ bit (20H-2FH ), các dãy thanh ghi (bank: 00H-1FH) và các thanh
ghi chức năng đặc biệt SFR (special function register: 80H-FFH).
16
Hình 2.3: Tổ chức bộ nhớ
Vùng RAM đa mục đích:
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H-7FH. Bất kỳ vị
trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do
bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.
Ex:
MOV A,5FH
MOV R0,5FH
MOV A,@R0
17
Hình 2.4: Sơ đồ phân bố RAM và các thanh ghi chức năng đặc biệt
vùng RAM định địa chỉ bit:
8051 có 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các
byte ở địa chỉ từ 20H-2FH và phần còn lại chứa trong các thanh ghi chức
năng đặc biệt.
18
Các dãy thanh ghi:
32 vị trí thấp nhất của bộ nhớ nội chứa các dãy thanh ghi. Các lệnh của
8051 hỗ trợ 8 thanh ghi từ R0-R7 thuộc dãy 0 (bank 0). Đây là dãy mặc định
sau khi reset hệ thống. Các thanh ghi này ở các địa chỉ từ 00H-07H.
Ex:
MOV A,R5
<=> MOV A,05H
Các lệnh sử dụng các thanh ghi từ R0-R7 là các lệnh ngắn và thực hiện
nhanh hơn so với các lệnh tương đương sử dụng kiểu định địa chỉ trực tiếp.
Các giá trị thường được sử dụng nên chứa ở một trong các thanh ghi này. Dãy
thanh ghi đang được sử dụng được gọi là dãy thanh ghi tích cực. Dãy thanh
ghi tích cực có thể được thay đổi bằng cách thay đổi các bit chọn dãy trong
thanh ghi PSW.
2.5. Các thanh ghi chức năng đặc biệt (SFR):
Các thanh ghi nội của 8051 được cấu hình thành một phần của RAM
trên chip, do vậy mỗi thanh ghi cũng có một địa chỉ . Cũng như các thanh ghi
từ R0-R7 ta có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của
RAM nội từ địa chỉ 80H-FFH. Lưu ý không phải tất cả 128 địa chỉ từ 80HFFH đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa.
2.5.1 Từ trạng thái chương trình PSW (program status word):
Thanh ghi PSW có địa chỉ là D0H chứa các bit trạng thái có chức năng
được tóm tắt trong bảng sau:
Bảng 2.2 Mô tả thanh ghi từ trạng thái chương trình PSW
Bit
PSW.7
PSW.6
PSW.5
PSW.4
Ký hiệu
CY
AC
F0
RS1
Địa chỉ
D7H
D6H
D5H
D4H
Mô tả bit
Cờ nhớ
Cờ nhớ phụ
Cờ 0
Chọn dãy thanh ghi ( bit 1)
19
PSW.3
RS0
D3H
Chọn dãy thanh ghi ( bit 0 )
00 = bank 0 địa chỉ từ 00H – 07H
01 = bank 1 địa chỉ từ 08H – 0FH
10 = bank 2 địa chỉ từ 10H – 17H
PSW.2
OV
PSW.1
PSW.0
P
2.5.2 Thanh ghi B
D2H
D1H
D0H
11 = bank 3 địa chỉ từ 18H – 1FH
Cờ tràn
Dự trữ
Cờ kiểm tra chẵn lẻ
Thanh ghi B ở địa chỉ F0H được dùng chung với thanh chứa A trong các
phép toán nhân (MUL), chia (DIV). Các bit của thanh ghi B được định địa chỉ
từ F0H-F7H.
2.5.3 Con trỏ Stack
Con trỏ Stack SP (stack pointer) là một thanh ghi 8 bit ở địa chỉ 81H.
SP chứa địa chỉ của dữ liệu hiện đang ở đỉnh của Stack. Các lệnh liên quan
đến Stack bao gồm lệnh cất dữ liệu vào Stack (PUSH) và lệnh lấy dữ liệu ra
khỏi Stack (POP). Việc cất dữ liệu vào Satck làm tăng thanh ghi SP trước khi
ghi dữ liệu và việc lấy dữ liệu ra Stack sẽ làm giảm thanh ghi SP. Nếu ta
không khởi động SP, nội dung mặc định của thanh ghi này là 07H. Các lệnh
PUSH và POP sẽ cất dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi
chương trình con (ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và
phục hồi nội dung của bộ đếm chương trình PC (program counter).
2.5.4 Con trỏ dữ liệu DPTR
Con trỏ dữ liệu DPTR (data pointer) được dùng để truy xuất bộ nhớ
chương trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là thanh ghi 16 bit có
địa chỉ là 82H (DPL, byte thấp) và 83H (DPH, byte cao).
Ex:
MOV A,#55H
MOV DPTR,#1000H MOV @DPTR,A
20
2.5.5 Các thanh ghi Port
Các port xuất nhập của 8051 bao gồm port 0 tại địa chỉ 80H, port 1 tại
địa chỉ 90H, port 2 tại địa chỉ A0H và port 3 tại địa chỉ 0BH. Các port 0, 2 và
3 không được dùng để xuất/nhập nếu ta sử dụng thêm bộ nhớ ngoài hoặc nếu
có một số đặc tính của 8051 được sử dụng (như là ngắt, port nối tiếp). Tất cả
các port đều được định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp
mạnh.
2.5.6 Các thanh ghi định thời
8051 có hai bộ đếm/định thời (timer/counter) 16 bit để định các khoảng
thời gian hoặc để đếm các sự kiện .Bộ định thời 0 có địa chỉ 8AH (TL0, byte
thấp) và 8CH (TH0, byte cao), bộ định thời 1 có địa chỉ 8BH (TL1, byte thấp)
và 8DH (TH1, byte cao). Họat động của bộ định thời được thiết lập bởi thanh
ghi chế độ định thời TMOD (timer mode register) ở địa chỉ 89H và thanh ghi
điều khiển định thời TCON (timer control regsiter) ở địa chỉ 88H.
2.5.7 Các thanh ghi port nối tiếp
Bên trong 8051 có một port nối tiếp để truyền thông với các thiết bị nối
tiếp như các thiết bị đầu cuối hoặc moderm , hoặc để giao tiếp với các IC
khác. Một thanh ghi đựơc gọi là bộ đệm dữ liệu nối tiếp SBUF (serial data
buffer) ở địa chỉ 99H lưu trữ dữ liệu truyền đi và dữ liệu nhận về .Việc ghi lên
SBUF sẽ nạp dữ liệu để truyền và việc đọc SBUF sẽ lấy dữ liệu đã nhận được.
Các chế độ hoạt động khác nhau được lập trình thông qua thanh ghi điều
khiển port nối tiếp SCON (serial port control register) ở địa chỉ 98H.
2.5.8 Các thanh ghi ngắt
8051 có một cấu trúc ngắt với hai mức ưu tiên và năm nguyên nhân
ngắt. Các ngắt bị vô hiệu hóa sau khi reset hệ thống và sau đó được cho phép
ngắt bằng cách ghi vào thanh ghi cho phép ngắt IE (interrupt enable register)
ở địa chỉ A8H. Mức ưu tiên ngắt được thiết lập qua thanh ghi ưu tiên ngắt IP
21