Tải bản đầy đủ (.pdf) (104 trang)

Nghiên cứu và thiết kế robot thám hiểm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (18.2 MB, 104 trang )

Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG
 

LUẬN VĂN TỐT NGHIỆP
NGÀNH CƠ ĐIỆN TỬ

NGHIÊN CỨU VÀ THIẾT KẾ
ROBOT THÁM HIỂM

Giáo viên hướng dẫn:
TS. Nguyễn Chí Ngôn

Sinh viên thực hiện:
Lưu Trọng Hiếu
1063870
Cao Ngọc Tân
Lớp: Cơ Điện Tử

1063902

Khóa 32

Cao Ngọc Tân
Lưu Trọng Hiếu


1063902
1063870

1


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

-------Trong suốt khóa học 2006-2010 tại Bộ Môn Tự Động Hóa, Khoa Công
Nghệ trường Đại Học Cần Thơ, chúng tôi đã nhận được những truyền đạt kiến
thức quý báu, sự dạy dỗ ân cần và sự hướng dẫn tận tình. Đặt biệt trong thời gian
thực hiện luận văn tốt nghiệp chúng tôi còn có nhiều hạn chế về kiến thức, kinh
nghiệm cũng như phương pháp tổ chức thực hiện luận văn tốt nghiệp. Tuy nhiên,
với sự giúp đỡ tận tình từ của các thầy cô giảng dạy, nhất là cán bộ hướng dẫn,
các bậc đàn anh và các bạn cùng khóa, nên đề tài đã được hoàn thành đúng thời
gian quy định. Chúng tôi chân thành thành cảm ơn sâu sắc đến:
Ban Chủ Nhiệm khoa, tất cả các quý thầy, cô trong Bộ Môn Tự Động
Hóa và trong khoa đã tận tụy giảng dạy, truyền đạt những kiến thức chuyên môn
làm cơ sở để thực hiện luận văn tốt nghiệp và đã tạo mọi điều kiện thuận lợi cho
chúng tôi hoàn thành khóa học.
Đặc biệt, chúng tôi xin chân thành cảm ơn thầy hướng dẫn đề tài, TS.
Nguyễn Chí Ngôn, đã luôn nhiệt tình định hướng giúp đỡ, bất kể khi nào chúng
tôi cần có sự hỗ trợ về kiến thức và kinh nghiệm, chúng tôi luôn nhận được sự trả
lời và đáp ứng, điều đó giúp chúng tôi hoàn tất luận văn đúng thời hạn.
Tất cả bạn bè đã giúp đỡ và động viên chúng tôi trong suốt quá trình thực
hiện luận văn tốt nghiệp này.
Cuối cùng là sự đóng góp tích cực về vật chất, sự ủng hộ về tinh thần từ
phía gia đình tạo chỗ dựa vững chắc góp phần vào sự thành công của đề tài.

Người làm xin chân thành cảm ơn!

Nhóm Sinh Viên Thực Hiện
Lưu Trọng Hiếu
Cao Ngọc Tân

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

2


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

--------

........................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
.................................................................................................................................
...................................................................................................................................
...................................................................................................................................

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

Cần Thơ, ngày …. tháng …. năm 2010
(Ký tên)

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

3


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

--------


........................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

Cần Thơ, ngày …. tháng …. năm 2010
(Ký tên)

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

4



Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

LỜI NÓI ĐẦU ................................................................................................. 6
CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI ............................................................... 7
I. ĐẶT VẤN ĐỀ .......................................................................................... 7
II. MỤC TIÊU ĐỀ TÀI ................................................................................ 10
1. YÊU CẦU PHẦN CỨNG..................................................................... 10
2. YÊU CẦU PHẦN MỀM ...................................................................... 10
III. PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ .............................................. 11
1. GIẢI PHÁP PHẦN CỨNG................................................................... 11
2. GIẢI PHÁP PHẦN MỀM..................................................................... 12
IV. KỀ HOẠCH PHỐI HỢP THỰC HIỆN ................................................... 12
1. PHẦN CƠ KHÍ..................................................................................... 12
2. PHẦN ĐIỆN......................................................................................... 12
3. PHẦN MỀM......................................................................................... 12
CHƯƠNG II: CƠ SỞ LÝ THUYẾT ........................................................... 14
A. VI ĐIỀU KHIỂN PIC 18F4431 ................................................................. 14
I. MÔ TẢ CẤU TRÚC PHẦN CỨNG CỦA PIC 18F4431 ......................... 14
II. TẬP LỆNH CỦA PIC 18F4431 .............................................................. 22
B. GIỚI THIỆU NGÔN NGỮ C ..................................................................... 22
C. DÙNG CCS C LẬP TRÌNH CHO PIC 18F4431......................................... 23
D. GIỚI THIỆU C Sharp (C#) ......................................................................... 24
E. GIAO TIẾP CỔNG NỐI TIẾP .................................................................... 24
I. CẤU TRÚC CỔNG NỐI TIẾP ...................................................................... 25
II. TRUYỀN THÔNG GIỮA HAI NÚT ............................................................ 28
III. TRUY XUẤT TRỰC TIẾP THÔNG QUA CỔNG COM ....................... 29
CHƯƠNG III: THIẾT KẾ VÀ THI CÔNG ................................................ 33

A. PHẦN CƠ KHÍ ................................................................................... 33
B. PHẦN MẠCH ..................................................................................... 45
C. PHẦN MỀM........................................................................................ 56

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

5


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

CHƯƠNG IV: KẾT QUẢ, KẾT LUẬN VÀ ĐỀ NGHỊ ............................... 61
I. KẾT QUẢ ĐẠT ĐƯỢC .......................................................................... 61
1. THUẬN LỢI ..................................................................................... 61
2. KHÓ KHĂN ..................................................................................... 61
3. HẠN CHẾ ........................................................................................ 62
II. HƯỚNG PHÁT TRIỂN ......................................................................... 62
III. KHẢ NĂNG TRIỂN KHAI VÀ ỨNG DỤNG VÀO THỰC TIỄN ........ 62
IV. KẾT LUẬN ............................................................................................ 62
PHỤ LỤC....................................................................................................... 64

Cao Ngọc Tân
Lưu Trọng Hiếu


1063902
1063870

6


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

LỜI NÓI ĐẦU
-------Kể từ năm 1956, khi cho Engelberger xây dựng một công ty sản xuất
robot đầu tiên có tên là Unimation (Universal Automation) để sản xuất ra những
con robot công nghiệp, họ cho ra đời robot đầu tiên tên là Unimate. Một công
nghiệp mới đã ra đời với rất nhiều các công việc do robot thực hiện. Năm 1969,
Victor Scheinman đã chế tạo ra cánh tay Stanford. Thiết kế này đã trở thành
chuẩn mực và vẫn đang ảnh hưởng nhiều đến những thiết kế của những cánh tay
robot ngày nay. Đây là cánh tay robot đầu tiên chạy bằng điện và điều khiển bằng
máy tính thành công. Robot này có thể đi theo một lộ trình tùy ý và mở rộng khả
năng cho các ứng dựng đã được sử dụng để phát triển những kỹ thuật lắp ráp
công nghiệp cho các cánh tay robot thương mại. Tiếp theo đó là nhiều nghiên
cứu ứng dụng như Skakey là robot di động có thể suy luận các hoạt động của nó,
là nền tảng của tri thông minh nhân tạo của robot ngày nay.Kể từ thập niên 80
ngành công nghiệp robot bắt đầu phát triển mạnh mẽ. Robot được chế tạo để làm
những công việc con người không muốn làm. Robot được sử dụng trong rất
nhiều lãnh vực với các chức năng đa dạng như quét sơn, làm việc trên cao tầng,
hàn, lấp ráp sản phẩm, dịch vụ, giải trí, thám hiểm những vùng nguy hiểm, điển
hình như Robot Thám Hiểm 8 Chân Dante thực hiện thám hiểm núi lửa, robot
ASIMO (Advanced Step in Innovative Mobilit) có nghĩa là "Bước đột phá về
khả năng di chuyển sáng tạo", thông minh và giống con người. Năm 2002

Roomba là robot hút bụi của tập đoàn iRobot xuất hiện được xem là robot làm
dịch vụ thành công nhất về thương mại.
Tobio là robot hình dáng người đầu tiên của Việt Nam được thiết kế kiến trúc
mạng neuron nhân tạo tự học thông minh, chế tạo bằn vật liệu composite sợi
carbon siêu nhẹ, hệ thống 4 camera tốc độ cao giúp Tobio nhận dạng các quĩ đạo
và độ xoáy để có thể ra quyết định đánh bóng chính xác. Tại triển lãm quốc tế
lớn nhất thế giới về Robot (IREX 2009) diễn ra tại Nhật bản, công ty robot Tosy
công nghiệp do Việt Nam sản xuất đã gây được ấn tượng mạnh cho khách tham
quan. Với giá thành sản xuất trong nước rẻ, robot sẽ là một ngành công nghiệp
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

7


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

mũi nhọn và Việt nam hứa hẹn một bước tiến vững chắc để đáp ứng như cầu của
xã hội ngày càng cao.
Trước thực tế đó, chúng tôi đã chọn đề tài “Nghiên cứu thiết kế ROBOT
thám hiểm” do thầy Nguyễn Chí Ngôn hướng dẫn. Đề tài được xây dựng dựa
trên kiến thức về giao tiếp máy tính và VĐK qua chuẩn RS-232, với việc dùng
ngôn ngữ C Sharp để lập trình điều khiển ROBOT bằng giao diện điều khiển trên
máy tính. Dù còn nhiều hạn chế nhưng đề tài đã được hoàn thành đúng thời hạn
nhờ sự chỉ bảo tận tình của thầy Nguyễn Chí Ngôn. Do thời gian và kiến thức

còn hạn chế nên đề tài được thiết kế đơn giản và chưa thật sự hoàn thiện rất
mong được sự đóng góp ý kiến của thầy, cô cùng các bạn để đề tài hoàn thiện
hơn.
Chân thành cảm ơn !
Nhóm sinh viên thực hiện

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

Lưu Trọng Hiếu

1063870

Cao Ngọc Tân

1063902

8


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI
I. Đặt vấn đề
1. Lịch sử phát triển ROBOT

Ý tưởng sáng tạo về Robot đã có từ những năm trước công nguyên khi một
kỹ sư người Hy lạp (Ctesibus) đã sáng tạo ra những thiết bị đo thời gian là đồng
hồ làm bằng nước.
Năm 1921 thuật ngữ “Robot” lần dầu tiên được đặt để gọi “R.U.R” hoặc
“"Rossum's Universal Robots" bởi một nhà văn người Crech tên là Karel Capek.
Năm 1941 Nhà văn khoa học viễn tưỡng Isaac Asimov đầu tiên sử dụng từ
“robotics” để diễn tả kỹ thuật làm robot và ước tính hiệu lực gia tăng từ robot kỹ
nghệ
Năm 1942 Asimow viết “"Runaround”, một câu chuyện về robots chứa
đựng “ 3 luật của robotics” đó là:
Robot không được phép làm hại con người, không được nghỉ ngơi và con
người được phép áp bức.
Robot phải tuân lệnh con người, ngoại trừ các lệnh vi phạm luật 1 thì
không được phép thi hành.
Robot phải bảo vệ sự sống của con người sao cho không vi phạm luật 1 và
Năm 1956 George Devol và Joseph Engelberger thành lập công ty robot
đầu tiên trên thế giới. Năm 1961 robot kỹ nghệ đầu tiên được ra đời có tên là
ULTIMATE. Năm 1963 Cánh tay robot nhân tạo được kiểm soát bởi máy tính
đầu tiên ra đời, được thiết kế cho người tàn tật với 6 khớp cho phép hoạt động
linh hoạt như tay người ( />Từ đó, robot không ngừng được cải tiến, sáng tạo vì những lợi ích mà
robot mang lại, con người quan tâm pháp triển ngành công nghiệp nầy
Định nghĩa Robot: thuật ngữ Robot có nguồn gốc từ tiếng Czech
“Robota” có nghĩa là cưỡng ép, ép buộc phải phục vụ, hay là “robotnik” có nghĩa
là nô lệ..
Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ
điện tử. Từ Từ "robot" (người máy) thường được hiểu với hai nghĩa: robot cơ khí và phần
mềm tự hoạt động. Robot là công cụ lập trình được, đa chức năng được thiết kế để

Cao Ngọc Tân
Lưu Trọng Hiếu


1063902
1063870

9


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

vận chuyển vật liệu, các bộ phận, công cụ, hoăc các thiết bị đặc biệt thông qua
các chuyển động được lập trình để thực hiện các tác vụ đa dạng. Một đặc điểm
tiêu biểu để phân biệt robot nữa đó là khả năng đưa ra các lựa chọn. Càng có khả
năng đưa ra nhiều lựa chọn để giải quyết một vấn đề bao nhiêu, robot càng được
đánh giá cao.
Robot là một thiết bị tự động thực hiện các chức năng của con người hoặc
một cỗ máy dưới hình dạng con người.
Bước vào thế kỷ 21 ROBOT không ngừng được nghiên cứu và phát triển
mạnh mẽ cùng với sự hổ trợ và phát triển của nhiều công nghệ hiện đại. Có thể
nói rằng công nghệ ROBOT vẫn đang trong thời kỳ đầu với những hứa hẹn phát
triển rực rỡ trong tương lai.
2. Lý do chọn đề tài
Trong cuộc sống ngày nay do nhiều nguyên nhân luôn có nhiều sự cố tai
nạn hầm mỏ, cầu cống, sập nhà, những nơi nguy hiểm (phá mìn, thăm dò đáy đại
dương, kiểm tra các đường ống ngầm, thám hiểm sao hỏa ), chật hẹp mà con
người không thể tiếp cận thì vấn đề đặt ra là cần phải có một thiết bị nhỏ gọn có
khả năng thay thế con người hoạt động hiệu quả trong mọi điều kiện nhằm giúp
con người quan sát, xử lý, tìm kiếm, khắc phục sự cố được tốt hơn. Đều đó luôn
là mối quan tâm của thế giới cũng như Việt Nam. Với yêu cầu đầy tính ứng dụng

thực tế đó, với lượng kiến thức tương đối đầy đủ về chuyên ngành trong 4 năm
ngồi trên ghế nhà trường cùng với với sở thích niềm đam mê trong lĩnh vực
ROBOT và yêu cầu vận dụng những khiến thức đã học vào thực tế, từ đó người
làm đề tài đã hình thành nên ý tưởng thiết kế một loại ROBOT có khả năng đáp
ứng một phần nhỏ các vấn đề trên và có tính ứng dụng thực tế cao, người làm đề
tài đã quyết định chọn đề tài “Nghiên cứu và thiết kế ROBOT thám hiểm” do
thầy Nguyễn Chí Ngôn hướng dẫn làm luận văn tốt nghiệp do đáp ứng đầu đủ
các yêu cầu đặt ra.
Đề tài “Nghiên cứu và thiết kế ROBOT thám hiểm” của người làm đề tài
dựa trên cơ sở tìm hiểu và kế thừa những gì có sẵn từ những đề tài đã nghiên cứu
như về phần cứng, mô hình… từ đó người làm đề tài sẽ đi sâu nghiên cứu, cải

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

10


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

tiến, phát triển thêm nhiều tính năng nhằm đáp nhu cầu thực tế ngày càng cao của
cuộc sống hiện đại.
3. Yêu cầu của đề tài
Thiết kế ROBOT thám hiểm nhỏ gọn, có khả năng hoạt động linh hoạt
trong những địa hình không bằng phẳng.

Điều khiển ROBOT bằng giao diện điều khiển trên máy tính giao tiếp với
ROBOT qua cổng COM.
Dùng encoder báo hiệu và tự dừng khi ROBOT hết dây hoặc không di
chuyển được.
Dùng Camera truyền tính hiệu hình ảnh thông qua Easy Capture kết nối với
máy tính qua cổng USB.
Dùng vi điều khiển PIC lập trình sẵn để xử lý hoạt động của ROBOT.
Sử dụng RC Servo để xoay Camera.
II. Mục tiêu của đề tài
1. Yêu cầu phần cứng
Về cơ khí: Thiết kế một mô hình Robot đơn giản, dễ điều khiển và thông
dụng. Mô hình Robot này dễ dàng di chuyển trong những đường ống, những nơi
nguy hiểm có gas, khí độc hại cho con người và có địa hình phức tạp.
Mạch điều khiển: Đây là bộ xử lý trung tâm của Robot, dùng vi điều khiển
PIC 18F4431 để điều khiển cho hai động cơ di chuyển của Robot và một động cơ
xoay trái, xoay phải camera, giao tiếp và nhận tín hiệu tốt từ cảm biến. Đặc biệt
vi điều khiển PIC 18F4431 còn giao tiếp trực tiếp với máy tính thông qua rs232.
Về bộ cảm biến: Nghiên cứu, tìm hiểu nguyên lý để thiết kế và kết nối bộ
cảm biến này giao tiếp dễ dàng với vi điều khiển để bộ cảm biến thực hiện, hoạt
động đúng mục tiêu đã đề ra.
Về điều khiển Camera cho ROBOT: Camera được gắn trên một động cơ
độc lập. Camera có thể xoay trái hoặc xoay phải một góc 1800 để dễ dàng quan
sát đường đi ở trong đường ống.
Thiết kế một mạch chia nguồn phù hợp để tạo ra các điện thế 24V, 12V, 5V
cho mạch hoạt động.
2. Yêu cầu phần mềm
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902

1063870

11


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

Trong hệ thống vi điều khiển, phần cứng được xem như thể xác còn phần
mềm được xem như linh hồn chi phối toàn bộ hoạt động. khả năng làm việc của
Robot linh hoạt hay không chính là ở đây. Vì vậy cần thiết kế một chương trình
điều khiển cho vi điều khiển PIC 18F4431 để nhận tín hiệu từ cảm biến và xử lí
các tín hiệu điều khiển được gửi xuống từ máy vi tính để vận hành cho Robot
hoạt động và còn thiết kế một giao diện điều khiển trên màn hình monitor tích
hợp đầy đủ các nút chức năng như: chạy tới, chạy lùi, dừng lại, xoay trái, xoay
phải, xoay Camera, khung hiển thị trạng thái robot khung hiển thị số mét của
Robot đi được…
Điều khiển cho Robot hoạt động tốt.
Tạo tín hiệu điều khiển cho bộ cảm biến, thu nhận và xử lý tín hiệu từ bộ
cảm biến.
Thu nhận tín hiệu hình ảnh quan sát tốt từ Camera trên Robot gửi về và
hiển thị lên màn hình điều khiển để quan sát.
Robot thám hiểm được điều khiển từ một giao diện điều khiển trung tâm.
III. Phương pháp giải quyết vấn đề
1. Giải pháp phần cứng
Từ sự thống nhất về những thảo luận ban đầu, chúng tôi đã thiết kế mô
hình Robot thăm dò với các thành phần thiết kế như:
Thiết kế mạch các mạch: Mạch điều khiển trung tâm (MCU), mạch điều
khiển motor, mạch giao tiếp với máy tính, mạch chia nguồn.

Mạch điều khiển trung tâm có nhiệm vụ nhận tín hiệu điều khiển từ máy
tính thông qua mạch giao tiếp máy tính để điều khiển các mạch công suất và điều
khiển xoay trái, xoay phải Camera.
Chọn mô hình Robot để thiết kế: Robot thám hiểm được thiết kế theo mô
hình xe tăng mạnh mẽ, nhỏ gọn và đơn giản. Đây là mô hình Robot rất thông
dụng và dễ làm hiện nay. Đặc điểm của mô hình Robot thăm dò này được chúng
tôi thiết kế với các đặc điểm như sau:
Hai motor chuyển động bánh xe được bố trí so le nhau. Một motor
được gắn bên trái phía trước Robot, một motor được gắn bên phải phía sau

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

12


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

Robot. Hai bánh xe bên trái và bên phải còn lại được gắn ở hai vị trí còn lại và
đồng trục với hai động cơ và quay khi hai motor quay và kéo chúng quay theo.
Bánh xe bố trí hai bên xe, mỗi bên 4 bánh gồm 2 bánh lớn ở giữa và
2 bánh nhỏ ở ngoài. Một bánh lớn ở mỗi bên được gắn vào trục của motor
chuyển động. Hai motor chuyển động bánh xe được bố trí so le nhau. Các bánh
xe còn lại được bố trí đồng truc với nhau và đồng trục với motor.
Bốn bánh xe bên trái, bốn bánh xe bánh xe bên phải được liên kết

với nhau bằng dây xích. Để tám bánh xe hoạt động hỗ trợ nhau.
Motor điều khiển Camera có thể xoay trái, xoay phải tùy ý.
Bộ cảm biến Encoder cũng có một vai trò quan trọng là đếm số vòng
xoay của bánh xe Robot và nhờ vào lập trình mà qui đổi ra đơn vị tính là met.

2. Giải pháp phần mềm
Có rất nhiều ngôn ngữ bậc cao mà người lập trình có thể lựa chọn như:
Hợp ngữ (Assembly), Tubo Passal, C, C++,… để lập trình cho vi điều khiển PIC
18F4431. Muốn vi xử lý hiểu được các ngôn ngữ bậc cao này, phải có chương
trình dịch các chương trình này sang mã lệnh. Ở đây chúng tôi chọn ngôn ngữ C,
vì đây là ngôn ngữ dễ học và dễ dàng chuyển đổi qua ngôn ngữ máy.
IV. Kế hoạch thực hiện
Đây là một đề tài khó bao gồm nhiều hệ thống phức tạp, với khối lượng
công việc lớn, đòi hỏi người làm đề tài phải tư duy và đầu tư nghiên cứu chuyên
sâu về nhiều lĩnh vực khác nhau. Nếu không định hướng từ trước và đề ra một kế
hoạch làm việc phù hợp sẽ khó có thể hoàn thành. Qua sự quyết định và nhất trí
giữa các thành viên trong nhóm, chúng tôi quyết định chia đề tài ra thành 3 phần
nhỏ. Sau đó dựa vào sở trường và sở thích của mỗi thành viên, nhóm sẽ đề ra
công việc phù hợp của từng thành viên với phần thích hợp với mình. Đây là yếu
tố quan trọng để đảm bảo đề tài được hoàn thành đúng tiến độ.
1. Phần cơ khí
Để hình thành nên mô hình ROBOT phải tiến hành tìm hiểu học hỏi
những lý thuyết liên quan về ROBOT như: phương pháp thiết kế hình dạng cho
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

13



Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

ROBOT, tìm hiểu về hoạt động của động cơ, cách bố trí và mạch điều khiển cho
động cơ, lắp đặt phần “đầu, thân và đuôi” với một kết cấu cơ khí tốt, cách bố trí
và hoạt động của cảm biến Encoder…sao cho ROBOT có tính cơ động cao, linh
hoạt và có tính thẩm mỹ. Qua sự phân công của nhóm bạn Cao Ngọc Tân sẽ
được giao thiết kế phần khung mô hình ROBOT.
2. Phần điện
Để ROBOT có thể hoạt động một cách đồng bộ cho nên việc thiết kế
board điều khiển cho ROBOT đóng vai trò rất quan trọng như là mạch máu trong
cơ thể người đóng vai trò liên kết toàn bộ những bộ phận của ROBOT thành một
thể thống nhất nên nhóm đã quyết định cả nhóm sẽ thực hiện phần điện.
3. Phần mềm
Chương trình trong ROBOT giống như bộ não của con người, biến ROBOT
từ một vật tưởng chừng như vô tri vô giác trở nên linh hoạt vì ROBOT chỉ hoạt
động khi có chương trình cài đặt sẵn. Tất cả những hoạt động của ROBOT điều
do người lập trình quyết định do đây là phần rất quan trọng nên nhóm đã quyết
định chọn bạn Lưu Trọng Hiếu lập trình điều khiển cho ROBOT nhằm cụ thể hóa
những ý tưởng của nhóm thành chương trình phần mềm.
Khi mới nhìn qua kế hoạch phối hợp thực hiện tưởng chừng như công việc
của mỗi thành viên là độc lập nhưng để ROBOT có thể hoạt động tốt cần phải có
sự phối hợp chặt chẽ giữa các phần cơ khí, mạch và lập trình nếu một bộ phận
không tốt thì mạch sẽ ngưng không hoạt động cho nên cần phải có sự gắn bó chặt
chẽ, giúp đỡ và hỗ trợ lẫn nhau giữa các thành viên trong nhóm góp phần vào
thành công của đề tài.Với cách phân công trên công việc của mỗi thành viên
không quá nặng, bên cạnh đó khắc phục được những khó khăn, bù đắp những

mặt thiếu sót của nhau hơn nữa còn góp phần thúc đẩy sức sáng tạo riêng của
mỗi người.

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

14


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

CHƯƠNG II: CƠ SỞ LÝ THUYẾT
A- VI ĐIỀU KHIỂN PIC 18F4431
I. Mô tả cấu trúc phần cứng của PIC 18F4431
1.Cấu trúc phần cứng bên ngoài và bên trong PIC 18F4431
Bảng 2.1
Đặc điểm

PIC18F4431

Tần số định mức

DC-40Mhz

Bộ nhớ lập trình


16384 (byte)

Bộ nhớ lập trình (instruction)

8192

Data memory (ROM)

768

Data EEPROM memory (RAM) 256
Interrupt

3

I/O port
Timers
Modules capture/PWM
Pwm control
Motion Feedback module
Port nối tiếp
A/D module(10bit-hight-speed)
Reset and delays
Programmable low-voltage
Programmable brown-out reset
Instruction set
Packages

A,B,C,D,E (36 pins)

4 (0.1.2.5)
2
8 kênh
1 QEL or 3*IC
SSP,USART
9 input channels
(PWRT, OST), MCLR (optional),
Yes
Yes
75 intruction
40pin_dip v 44 pin_TQFP
44 pin-QFN

Xem thêm phụ lục 1
2. Cấu trúc bộ nhớ
Bộ nhớ được chia làm ba loại:
Bộ nhớ chương trình
Bộ nhớ dữ liệu
Data EEPROM
Bộ nhớ chương trình và bộ nhớ dữ liệu có thể truy cập đồng thời bởi các bus
riêng biệt.
Tổ chức các bộ nhớ: Xem Phụ lục 1

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

15



Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

3. Các PORT I/O
Có tất cả 5 port và có thể điều khiển bởi thanh ghi TRIS là port xuất hay
port nhâp, sơ đồ hoạt động như hình 2.1:

Hình 2.1: Sơ đồ các PORT I/O

a. PORTA
Là thanh ghi hai chiều.Nếu bit TRISA bằng 1 thì portA là ngõ input ngược
lại là ngõ output.
Thanh ghi LATA là thanh ghi có thể đọc hoặc ghi được.Thanh ghi này lưu
giữ giá trị xuất của portA.
Chức năng từng chân của PORTA: Xem phụ lục 1
Các chân RA<2.4> được tích hợp với ba chân ngỏ vào Capture và
QEI.Các chân RA6 và RA7 được tích hợp với chân dao dộng chính.Các chân

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

16



Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

RA<3:0>và chân RA5 chuyển đổi A/D khi đặt hoặc xoá bit điều khiển trong
thanh ghi ANSEL0 và ANSEL1.
Ví dụ :
TRISA=1; // PORT A LA INPUT
TRISA=0; // PORT A LA OUTPUT
PORTA=0X00; PORT A O MUC THAP
b. PORTB
Chức năng từng chân của Port B: Xem phụ lục 1
c. PORTC
Chức năng từng chân của Port C: Xem phụ lục 1
d. PORTD
Chức năng từng chân của Port D: Xem phụ lục 1
e. PORTE
Chức năng từng chân của Port E: Xem phụ lục 1
4. Bộ định thì trong PIC
Có 5 bộ định thì
a.Timer0
Có các chức năng sau:
Bộ timer/counter 8 hoặc 16 bit
Có thể đọc hoặc ghi được
Phần mên chuyên dụng có thể lập trình prescale được
Nguồn xung clock có thể chọn từ bên ngoài hoặc bên trong
Ngắt tràn từ ff  00h trong 8 bit và ffff0000h trong chế độ 16 bit
Chọn cạnh cho nguồn xung clock ngoài
Thanh ghi điều khiển là T0CON
b.Timer1

Có các chức năng sau:
Timer/counter 16 bit
Có thể đọc hoặc xoá được
Lựa chọn nguốn xung clock bên ngoài hoặc bên trong
Ngắt tràn từ FFFF _0000H
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

17


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

Thanh ghi điêu khiển là T1CON
c.Timer2
Hoạt động ở chế độ 8 bit
Counter có thể đọc hoặc ghi
Phần mềm có thể lập trình bằng prescale
Phần mềm có thể lập trình bằng postscale
Ngắt timer2: giá trị của TMP2 sẽ được so sánh với PR2 khi giá trị của hai thanh
ghi bằng nhau cờ ngắt TMR2IF sẽ bật lên cho đến khi được xoá bằng phần mềm.
d.Timer5
Có các chức năng sau
Hoạt động ở chế độ timer/counter 16 bit
Bộ đếm đồng bộ hoặc không đồng bộ

Có hai chế độ hoạt động là single-shot vá continue
Cho phép chọn tỉ lệ tần số timer/tần số vào timer
Ngắt xảy ra khi thoả mãn giá trị thanh ghi PR5
Hoạt động của timer5
Kết hợp hai thanh ghi 8 bit là TMR5H và TMR5L thành thanh ghi 16
bit.Trong đó thanh ghi TMR5L thật sự là byte thấp của timer5,nó có thể đọc và
ghi trực tiếp được,còn byte cao của timer5 được đọc và ghi thông qua thanh ghi
TMR5.
Cặp thanh ghi thứ hai là PR5H và PR5L làm thanh ghi chu kì .Khi giá trị
thanh ghi TMR5 tiến đến và bằng giá trị thanh ghi PR5 thì cờ ngắt TMR5IF được
bật lên cho đến khi được xoá băng phần mềm.
5. Ngắt
a.Giới thiệu tổng quát
PIC18F4431 có nhiều nguồn ngắt khác nhau và có mức độ ưu tiên khác
nhau.Vector ngắt có mức ưu tiên cao nhất là 000008H và thấp nhất là
000018H,sự kiện ngắt ưu tiên cao sẽ được ưu tiên ngắt trước so với ngắt có mức
ưu tiên thấp hơn.
Có 10 thanh ghi để điều khiển việc ngắt
RCON; INTCON ; INTCON2 ; INTCON3 ; PIR1, PIR2, PIR3;
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

18


Nghiên cứu và thiết kế ROBOT thám hiểm


GVHD: TS.Nguyễn Chí Ngôn

PIE1, PIE2, PIE3; IPR1, IPR2, IPR3
Mỗi nguồn ngắt có ba bit để điều khiển ngắt
Bit cờ chỉ sự kiện ngắt xuất hiện
Bit cho phép thực thi chương trình rẻ nhánh đến địa chỉ vector ngắt khi cờ
ngắt đã bật.
Bit ưu tiên để chọn mức ưu tiên cao hoặc mức ưu tiên thấp.
Ngắt ưu tiên được cho phép băng cách đặt bit IPEN.Khi ngắt ưu tiên được
cho phép,có hai bit cho phép ngắt toàn cục,việc đặt bit GIE sẽ cho phép ngắt mà
có bit ưu tiên cao hơn và đặt bit GIEL cho phép tất cả các ngắt mà có mức ưu
tiên được xoá ưu tiên thấp
Khi có sự kiên ngắt thì sẽ nhảy vào thực thi các lệnh từ địa chỉ ngắt và bit
có thể bị cấm thông qua các bit cho phép của chúng.
Khi bit IPEN bị xoá chức năng ưu tiên sẽ bị cấm. Khi 1 ngắt được đáp ứng
thì bit cho phép ngắt toàn cục được xoá để cấm các ngắt thêm .Nếu bit IPEN bị
xoá thì đó là bit GIE. Nếu mức ưu tiên ngắt được sử dụng thì đó sẽ là GIEH hoặc
GIEL .Nguồn ngắt ưu tiên thấp không được thực thi khi nguồn ngắt ưu tiên cao
đang thực hiện.
Địa chỉ PC được cất vào vùng stack và pc được nạp giá trị là địa chỉ của
vector ngắt. Sau khi có thủ tục ngắt,các nguồn ngắt có thể xác định bằng việc
kiểm soát các bit cờ ngắt. Các bit cờ ngắt phải được xoá bằng phần mền trước khi
cho ngắt trở lại để tránh ngắt liên tục.
Thủ tục ngắt như sau
ENABLE_INTERRUPTS(INT_EXT);

// khoi tao ngat ngoai

EXT_INT_EDGE(0,L_TO_H); // ngat ngoai 0 gia tri nhan theo muc L=>H
ENABLE_INTERRUPTS(GLOBAL);


// cho phep ngat toan cuc

#int_ext
Void ngat() // chuong trinh con phuc vu ngat
{
}
b.Các thanh ghi điều khiển ngắt (Xem Phụ lục 1)

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

19


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

6. Các Module của PIC18F4431
PIC 18F4431 có tất cả là 4 module: Module ADC, Module PWM, Module
I2C/SPI, Module Feedback. Ở đây ta chỉ chú ý đến Module PWM dung để điều
khiển động cơ cho robot.
Module PWM
Sơ đồ khối của PWM: Xem Phụ lục 1
Các thanh ghi điều khiển
Có tất cả 22 thanh ghi để điều khiển module này.

8 thanh ghi trong số này được dùng để tạo xung điều khiển: PTCON0,
PTCON1, PWMCON0, PWMCON1, DTCON0, ODVCOND, ODVCONS,
FLTCONFIG.
14 thanh ghi còn lại là thanh ghi 16 bit:
Cặp thanh ghi PTMRH và PTMRL
Cặp thanh ghi PTERH và PTERL
Cặp thanh ghi SEVTCMPH và SEVTCMPL
Cặp thanh ghi PDC0H và PDCOL
Cặp thanh ghi PDC1H và PDC1H
Cặp thanh ghi PDC2H và PDC2H
Chức năng của từng thanh ghi này : Xem Phụ lục 1
Chế độ chạy PWM
Chu kì PWM được xác định bởi cặp thanh ghi PTPER.Chu kì PWM có độ
phân giải 12 bit được kết hợp 4 bit LSB của PTPERL PTPERH.
Chu kì PWM được xác định theo công thức sau

Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

20


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

Các chế độ đếm của PWM

Chế độ tree running count.

Hình 2.2: Tree running count
Chế độ up/down counting

Hình 2.3 :Up/down counting
Tạo duty cycle
PWM duty cycle được xác định bởi cặp thanh ghi (PDCxL và PDCxH).Và
việc tạo duty cycle này được tạo bằng việc so sánh hai cặp thanh ghi này với
PWM time base (PTPRH và PTPRL).

Hình 2.4: PDCxL và PDCxH
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

21


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

Khi PWM time base đếm lên fit với giá trị của PDCxx thì sẽ tạo ra được
xung như hình sau: giá trị đỉnh của bộ đếm được lưu trong PTPER

Hình 2.5: Giá trị đỉnh của bộ đếm
7.Dead time control

Dead time là khoảng thời gian lên và xuống của 1 xung điều khiển bởi vì
các thiết bị năng lượng không thuần tuý là chỉ có đóng cắt thông thường mà phải
có 1 khoảng thời gian đóng và cắt để tránh tình trạng bị trùng dẫn dẫn đến có thể
hư hại thiết bị nếu hoạt động lâu dài.
Khoảng thời gian dead time này có thể được lập trình trong module PWM.

Hình 2.6 Dead time control
Thanh ghi điều khiển nạp dead time cho xung:

Hình 2.7:Dead time control register
bit 7-6 DTPS1:DTPS0: Dead Time Unit A Prescale Select bits
11 = nguồn clonk cho Dead Time Unit is FOSC/16.
10 = nguồn clonk cho Dead Time Unit is FOSC/8.
01 = nguồn clonk cho Dead Time Unit is FOSC/4.
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

22


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

00 = nguồn clonk cho Dead Time Unit is FOSC/2.
bit 5-0 DT5:DT0: Unsigned 6-bit dead time value bits for Dead Time Unit.
II. TẬP LỆNH HỌ PIC 18Fxxxx

Xem Phụ lục 1

B. GIỚI THIỆU NGÔN NGỮ C
Ngôn ngữ C được thiết kế bởi nhà khoa học Dennis Ritchie tại phòng thí
nghiệm Bell Telephone vào năm 1972. C được thiết kế để viết hệ điều hành
UNIX và để hỗ trợ cho các nhà lập trình nhanh chóng hoàn thành công việc của
mình. Về tên gọi, ngôn ngữ C được đặt tên như thế vì tiền thân của nó là ngôn
ngữ B. Ngôn ngữ B được phát triển bởi nhà khoa học Ken Thompson, ông cũng
làm việc tại phòng thí nghiệm Bell. C là một ngôn ngữ lập trình rất mạnh và linh
động do đó việc sử dụng nó nhanh chóng vượt qua khỏi giới hạn của phòng thí
nghiệm Bell. Các nhà lập trình ở khắp nơi bắt đầu sử dụng nó để viết đủ loại
chương trình. Ngay sau đó, nhiều nhà sản xuất phần mềm bắt đầu tung ra các
phiên bản C khác nhau, và việc phân biệt hay sử dụng ngôn ngữ C bắt đầu làm
cho các nhà lập trình bối rối. Để giải quyết vấn đề này, Viện Định Chuẩn Quốc
Gia Mỹ (American National Standard Institute) gọi tắt là ANSI đã triệu một cuộc
họp vào năm 1983 nhằm thiết lập các chuẩn mực cho ngôn ngữ C và được gọi là
ANSI C. Ngoài ngôn ngữ C còn có rất nhiều ngôn ngữ lập trình cấp cao khác như
Pascal, BASIC… nhưng theo đánh giá của các chuyên gia điện toán, C có những
ưu điểm nổi bật như sau:
C là ngôn ngữ rất mạnh và linh động, có khả năng thể hiện bất kỳ ý tưởng
nào của bạn. Nó có thể chạy trên các hệ điều hành khác nhau và có thể chen các
đoạn lệnh C vào cách chương trình viết bằng ngôn ngữ khác.
C là ngôn ngữ rất phổ biến, được sử dụng rộng rãi bởi các nhà lập trình
chuyên nghiệp. Do đó có rất nhiều công cụ được phát triển giúp mọi người có thể
lập trình bằng ngôn ngữ C nhanh chóng hơn.
C là ngôn ngữ có tính khả chuyển. Tức là một chương trình C được víêt
cho một hệ thống máy tính nào đó (ví dụ IBM PC) cũng có thể được biên dịch và
chạy trên một hệ thống máy tính khác (ví dụ DEC VAX) với rất ít thay đổi hay
hầu như không cần thay đổi gì cả.
Cao Ngọc Tân

Lưu Trọng Hiếu

1063902
1063870

23


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

C là ngôn ngữ lập trình đơn giản chỉ chứa các thuật ngữ gọi là từ khóa, là
cơ sở để xây dựng chương trình.
C là ngôn ngữ lập trình đơn thể. Mã lệnh trong C có thể được viết thành
các hàm và có thể được sử dụng lại trong nhiều chương trình khác nhau.
Ngày nay có một số ngôn ngữ lập trình cấp cao khác như C++, C#, …
Đây là các ngôn ngữ lập trình hướng đối tượng và có thể xem là ngôn ngữ C
nâng cấp. Do đó, toàn bộ những gì bạn học được trong ngôn ngữ C đều có thể áp
dụng cho các ngôn ngữ nâng cấp đó.
Tuy nhiên C không phải là vạn năng , có thể thực hiện mọi thứ như ý
muốn . Trong 1 số trường hợp, nó có thể sinh mã chạy sai.

C. DÙNG CCS C LẬP TRÌNH CHO PIC 18F4431
1. Vì sao sử dụng CCS ?
Sự ra đời của một loại vi điều khiển đi kèm với việc phát triển phần mềm
ứng dụng cho việc lập trình cho con vi điều khiển đó. Vi điều khiển chỉ hiểu và
làm việc với hai con số 0 và 1. Ban đầu để việc lập trình cho VĐK là làm việc
với dãy các con số 0 và 1. Sau này khi kiến trúc của Vi điều khiển ngày càng
phức tạp, số luợng thanh ghi lệnh nhiều lên, việc lập trình với dãy các số 0 và 1

không còn phù hợp nữa, đòi hỏi ra đời một ngôn ngữ mới thay thế. Và ngôn ngữ
lập trình Assembly. Ở đây ta không nói nhiều đến Assmebly. Sau này khi ngôn
ngữ C ra đời, nhu cầu dùng ngôn ngữ C để thay cho ASM trong việc mô tả các
lệnh lập trình cho Vi điều khiển một cách ngắn gọn và dễ hiểu hơn đã dẫn đến sự
ra đời của nhiều chương trình soạn thảo và biên dịch C cho Vi điều khiển: Keil
C, Mb Lab, HTPIC, MikroC, CCS…
2. Giới thiệu CCS
CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của
hãng Microchip. Đây là ngôn ngữ lập trình đầy sức mạnh , giúp người lập trình
viết chương trình nhanh chóng hơn so với ngôn ngữ Assembly .
Giống như nhiều trình biên dich C khác cho PIC, CCS giúp cho người sử
dụng nắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các
chương trình điều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao
thông qua việc sử dụng ngôn ngữ lập trình cấp cao – Ngôn ngữ C.
Cao Ngọc Tân
Lưu Trọng Hiếu

1063902
1063870

24


Nghiên cứu và thiết kế ROBOT thám hiểm

GVHD: TS.Nguyễn Chí Ngôn

CCS chứa rất nhiều hàm phục vụ cho mọi mục đích và có rất nhiều cách
lập trình mã cho cùng 1 vấn đề dẫn đến khác nhau tốc độ thực thi mã, độ dài
chương trình. Sự tối ưu là do kỹ năng lập trình C của người lập trình .

CCS C có đủ khả năng để người sử dụng không cần phải chèn thêm bất kỳ
dòng lệnh ASSEMBLY nào, và mặc dù vẫn cho phép phối hợp ASSEMBLY
cùng với C , tuy nhiên CCS sẽ không bảo đảm chương trình chạy chính xác .
CCS cung cấp các công cụ tiện ích giám sát hoạt động chương trình như :
C/ASM list : cho phép xem mã ASM của file biên dịch , giúp quản lý mã và nắm
được cách thức mã sinh ra và nó chạy như thế nào, là công cụ rất quan trọng,
người sử dụng có thể gỡ rối chương trình và nắm được hoạt động của nó ;
SYMBOL hiển thị bộ nhớ cấp phát cho từng biến , giúp quản lý bộ nhớ các biến
chương trình ,. . . CallTree hiển thị phân bổ bộ nhớ.
Chương trình là CCS sự tích hợp của 3 trình biên dịch riêng viết cho 3
dòng PIC khác nhau đó là:
PCB cho dòng PIC 12bit opcodes
PCM cho dòng PIC 14bit opcodes
PCH cho dòng PIC 16 và 18bit
Tất cả 3 trình biên dich này đuợc tích hợp lại vào trong một chương trình bao
gồm cả trình soạn thảo và biên dịch là CCS.
Mã lệnh trong CCSC được tối ưu khi biên dịch .
Tham khảo thêm các cải tiến ở các version CCS trên web : info.CCS.com

D. GIỚI THIỆU C SHARP (C#)
C# được phát triển bởi đội ngũ kỹ sư của Microsoft. Dẫn đầu là : Anders
Hejlsberg và Scott Wiltamuth.
C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu
dữ liệu dựng sẵn, nhưng C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc,
hướng đối tượng, hướng thành phần (component oriented).
Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ
liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có những từ
khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới. C# hỗ
trợ đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế,
Cao Ngọc Tân

Lưu Trọng Hiếu

1063902
1063870

25


×