Robot được nghiên cứu và sản xuất chế tạo theo từng ứng dụng khác nhau mà hình dáng kích thước của robot vì thế mà khác nhau. Thông thừơng Robot được chế tạo để thay thế sức lao động của con người . Từ những công việc nhỏ như dọn dẹp nhà cửa trông coi nhà cho tới những công việc nghiên cứu thám hiểm vũ trụ…vv Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự phát triển của khoa học kỹ thuật nên chúng em đã chọn đề tài Thiết kế thi công robot vận chuyển hàng để đáp ứng được yêu cầu công việc ngày càng cao của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của đất nước. Đồ án được thực hiện gồm 3 phần: PHẦN A: GIỚI THIỆU, giới thiệu một cách khái quát về đề tài. PHẦN B: NỘI DUNG, gồm 4 chương. Chương 1: Tổng quan về đề tài, nêu lên những vấn đề hiện nay có liên quan đến đề tài, tầm quan trọng của vấn đề và hướng giải quyết vấn đề đó. Cơ sở lý luận, trình bày tổng quát đề cương đồ án, các phương pháp, cách thức thực hiện và kế hoạch để thực hiện đề tài. Chương 2: Giới thiệu tổng quát về vi điều khiển AT89C51, khảo sát sơ đồ chân, tổ chức bộ nhớ, hoạt động Timer, hoạt động port nối tiếp, ngắt,… và các linh kiện sử dụng trong đề tài. Chương 3: Giới thiệu tổng quát, thiết kế, tính toán và thi công đồ án: “Thiết kế thi công robot vận chuyển hàng”, nhiệm vụ thiết kế, sơ đồ khối của robot, nguyên lý hoạt động, chức năng và tính chọn sử dụng linh kiện trong các khối. Chương 4: Thiết kế chương trình cho robot và giao tiếp với máy tính. Kết luận và hướng phát triển của đề tài.
Trang 1LỜI CẢM ƠN
Với sự giúp đỡ tận tình của các thầy cô trong khoa Điện tử Viễn Trường Đại học Bách Khoa- Đại học Đà Nẵng cùng với người thân, gia đình và bạnbè, em đã hoàn thành đồ án theo đúng thời gian quy định.
thông-Để đạt được thành công này, em xin chân thành cảm ơn thầy giáo – ThS.Nguyễn Duy Nhật Viễn, người đã chỉ bảo tận tình cho em trong suốt thời gian thựchiện đề tài Bên cạnh đó, em cũng xin chân thành cảm ơn đến các thầy cô giáo trongkhoa Điện tử Viễn thông đã tận tình dạy dỗ em trong hai năm học vừa qua Cuốicùng, em xin gởi lời cảm ơn chân thành đến gia đình, bạn bè đã giúp đỡ em hoànthành đồ án này.
Em xin chân thành cảm ơn.
Đà Nẵng, ngày 24, tháng 05 năm 2012 Sinh viên thực hiện
Võ Văn Tài
Trang 21.4.1 Giới thiệu đề tài 4
1.4.2 Mục đích và phương pháp nghiên cứu 5
1.4.3 Đề cương chi tiết 5
2.2.2.Giới thiệu vi điều khiển AT89C51 7
2.2.2.1 Khái quát các tính năng 7
2.2.2.2 Tóm tắt đặc điểm AT89C51 8
2.2.3 Sơ đồ khối của AT89C51 8
2.3 Khảo sát đồ chân của AT89C51 9
2.3.1 Sơ đồ chân AT89C51 9
2.3.2 Sơ lược chức năng các chân của AT89C51 9
2.4 Cấu trúc bên trong vi điều khiển 11
2.5 Hoạt động TIMER của 89C51 13
2.5.1 Giới thiệu 13
Trang 32.5.2 Thanh ghi mode timer TMOD (TIMER MODE REGISTER): 13
2.5.3 Thanh ghi điều khiển Timer TCON:(TIMER CONTROL REGISTER).152.5.4 Các mode và cờ tràn (TIMER MODES AND OVERFLOW) : 16
2.5.5 Khởi động, dừng và điều khiển các timer: 18
2.6 Hoạt động Port nối tiếp 18
2.6.1 Giới thiệu: 18
2.6.2 Các thanh ghi và chức năng hoạt động port nối tiếp 19
2.6.2.1 Thanh ghi điều khiển port nối tiếp 19
2.6.2.2 Chế độ 1 (UART 8 bit với tốc độ baud thay đổi được): 21
2.6.3 Khởi động và truy xuất các thanh ghi cổng nối tiếp: 22
2.6.4 Tốc độ baud port nối tiếp 22
2.8.2.3 Sơ đồ logic và bảng trạng thái 28
2.8.3 Opto, Led 7 đoạn 29
3.2 Giới thiệu phần cơ khí 31
3.3 Nhiệm vụ của Robot: 33
3.4 Sơ đồ khối tổng quát: 33
3.5 Chức năng và tính toán chọn linh kiện sử dụng trong các khối 34
3.5.1 Khối nguồn : 34
Trang 53.5.7.3 Công tắc hành trình 48
3.5.7.4 Tính toán chọn linh kiện : 48
3.5.7.5 Nguyên lý hoạt động cơ bản của encoder, LED và lỗ: 48
3.5.7.6 Sơ đồ nguyên lý 49
3.6 Thi công mạch 49
3.6.1 Khối hiển thị 49
3.6.2 Khối giao tiếp máy tính 50
3.6.3 Khối Encoder và công tắc hành trình 51
3.6.4 Khối công suất 51
3.6.5 Khối xử lý trung tâm và khối nguồn 52
3.7 Kết luận chương 52
CHƯƠNG 4: THIẾT KẾ CHƯƠNG TRÌNH CHO ROBOT VÀ GIAO TIẾP MÁY TÍNH534.1 Giới thiệu chương 53
4.2 Sơ đồ khối của chương trình: 53
4.3 Lưu đồ thuật toán của các chương trình 54
4.3.1 Lưu đồ thuật toán chương trình chính 54
4.3.2 Lưu đồ thuật toán nhận dữ liệu từ PC 55
4.3.3 Lưu đồ thuật toán di chuyển đến tọa độ nhập 56
4.3.4 Lưu đồ việc điều khiển robot 56
4.4 Chương trình giao tiếp 57
4.4.1 Thiết kế giao diện 57
* Hướng phát triển đề tài 60
TÀI LIỆU THAM KHẢO61
Trang 6CÁC TỪ VIẾT TẮT
CAD/CAM Computer/Aided Design/Computer-Aided ManufactureCMOS Complementary Metal-Oxide-Semiconductor
PC Personal Computer or Printed Circuit
TCON Timer Control Register
TTL Transistor–Transistor Logic
UART Universal Asynchronous Receiver Transmitter
Trang 7THIẾT KẾ VÀ THI CÔNG ROBOT VẬN CHUYỂN HÀNGChương 1: Tổng Quan về đề tài
Robot được nghiên cứu và sản xuất chế tạo theo từng ứng dụng khác nhau màhình dáng kích thước của robot vì thế mà khác nhau Thông thừơng Robot được chếtạo để thay thế sức lao động của con người Từ những công việc nhỏ như dọn dẹpnhà cửa trông coi nhà cho tới những công việc nghiên cứu thám hiểm vũ trụ…vv
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với
sự phát triển của khoa học kỹ thuật nên chúng em đã chọn đề tài " Thiết kế & thi
công robot vận chuyển hàng " để đáp ứng được yêu cầu công việc ngày càng cao
của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của đất nước.Đồ án được thực hiện gồm 3 phần:
PHẦN A: GIỚI THIỆU, giới thiệu một cách khái quát về đề tài.PHẦN B: NỘI DUNG, gồm 4 chương.
Chương 1: Tổng quan về đề tài, nêu lên những vấn đề hiện nay có liên quan đến đềtài, tầm quan trọng của vấn đề và hướng giải quyết vấn đề đó Cơ sở lý luận, trìnhbày tổng quát đề cương đồ án, các phương pháp, cách thức thực hiện và kế hoạch đểthực hiện đề tài.
Chương 2: Giới thiệu tổng quát về vi điều khiển AT89C51, khảo sát sơ đồ chân, tổchức bộ nhớ, hoạt động Timer, hoạt động port nối tiếp, ngắt,… và các linh kiện sửdụng trong đề tài.
Chương 3: Giới thiệu tổng quát, thiết kế, tính toán và thi công đồ án: “Thiết kế &thi công robot vận chuyển hàng”, nhiệm vụ thiết kế, sơ đồ khối của robot, nguyên lýhoạt động, chức năng và tính chọn sử dụng linh kiện trong các khối.
Chương 4: Thiết kế chương trình cho robot và giao tiếp với máy tính.Kết luận và hướng phát triển của đề tài.
PHẦN C: PHỤ LỤC
Chương 2: Khảo sát vi điều khiển AT89C51 và linh kiện trong mạch
1 AT89C51
Trang 8AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượngcao, với 4 KB EEPROM (Flash Programmable and erasable read only memory).Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không bốc hơi mật độ cao củaATMEL và tương thích với chuẩn công nghiệp MCS – 51 về tập lệnh và các chânra AT89C51 là một vi điều khiển mạnh (có công suất lớn) mà nó cung cấp một sựlinh động cao và giải pháp về giá cả đối với nhiều ứng dụng vì điều khiển
Đặc điểm của AT89C51:
- 4 KB bộ nhớ có thể lập trình lại nhanh - Tần số hoạt động từ: 0Hz đến 24 MHz - 2 bộ Timer/counter 16 Bit
- 128 Byte RAM nội
- 4 Port xuất/ nhập I/O 8 bít - Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài - 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn) - 210 vị trí nhớ có thể định vị bit
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạtđộng như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của cácbus dữ liệu và bus địa chỉ
Port 0: là port có 2 chức năng ở các chân 32 – 39 của 89C51 Trong các thiết kếcỡ nhỡ không dùng hộ nhớ mở rộng nó có chức năng như các đường I/O Đối vớicác thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữliệu
Port 1: là port I/O trên các chân 1 – 8 Các chân được ký hiệu P1.0, P1.2, cóthể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năngkhác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài
Trang 9Port 2: là 1 port có tác dùng kép trên các chân 21 – 28 được dùng như các đườngxuấ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: Port 3 là port có tác dụng kép trên các chân 10-17 Các chân của port nàycó nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 89C51
2 Các linh kiện khác sử dụng trong đề tài
Max 232 là IC của hãng Maxim dùng để chuyển đổi tín hiệu từ chuẩn RS-232 sang TTL và ngược lại Các thông số kĩ thuật của MAX232:
Một số thông số làm việc của IC 74ls47
- Điện áp cung cấp cực đại : 7v - Điện áp ngõ vào max : 7v
- Nhiệt độ khi làm việc tốt : 0 0 C => 70 0 C
- Khoảng nhiệt độ dao động cho phép : -65 0 C => 150 0 C
Opto là loại linh kiện tích hợp có cấu tạo gồm một led và một photo diode haymột photo transitor.Được sử dụng để cách ly giữa các khối chênh lệch nhau về điệnhay công suất như khối công suất nhỏ (dòng nhỏ,điện áp 5V) với khối điện áp lớndòng lớn và áp lớn.
Led 7 đoạn có thể xem như 7 con led đơn ghép lại , có 1 đầu nối chung còn 1đầu để hở đưa ra ngoài để phân cực cho led Đây là lọai đèn dùng hiển thị các số từ0 đến 9, đèn gồm 7 đọan a, b, c, d, e, f, g, bên dưới mỗi đọan là một led (đèn nhỏ)hoặc một nhóm led mắc song song (đèn lớn).
Trang 10Module thu D-mi32Module phát
Khối giao tiếp
Chương 3: Thiết kế, tính toán và thi công
Hình 1 Sơ đồ khối tổng quátNguyên lý họat động toàn mạch trên Robot:
Đầu tiên giá trị tọa độ được nhập từ chương trình giao tiếp trên máy tính sau đótọa độ sẽ được truyền xuống khối xử lý trung tâm qua bộ thu phát Dmi32 Bộ phátDmi32 có tác dụng mã hóa tín hiệu được truyền từ máy tính xuống qua giao tiếpRS232 sau đó phát đi, bộ Dmin32 thu có tác dụng giải mã tín hiệu thu được truyềnxuống bộ xử lý Khối xử lý trung tâm mà ở đây là vi điều khiển AT89C51 sẽ tínhtoán tọa độ, xác định hướng di chuyển sau đó sẽ cho robot di chuyển đến tọa độbằng cách điều khiển khối công suất Ở đây tọa độ hiện tại cũng như sau khi dichuyển được hiển thị trên 4 led 7 đoạn Việc biết được robot chạy đến tọa độ haychưa dựa vào tín hiệu đuợc lấy từ encoder để tính toán đuợc quãng đường dichuyển Sau khi di chuyển đến đúng vị trí robot sẽ gắp hàng Sau đó chúng ta tiếptục nhập tọa độ để robot vận chuyển hàng hóa đến vị trí đó Ngoài việc trên robot
Trang 11Khối khởi tạo
Các chương trình con xử lý hoạt độngVòng lặp chính của chương trình
+ Thiết kế, tính toán và thi công khối cảm biến (encoder và công tắc hành trình)+ Thiết kế, tính toán và thi công khối hiển thị
+ Thiết kế, tính toán và thi công khối giao tiếp máy tính
Chương 4: Thiết kế chương trình cho Robot và giao tiếp máy tính
Hình 2 Sơ đồ khối của chương trình cho một robot
Hình 3 Giao diện chương trình giao tiếp
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Robot là loại máy có thể lập trình điều khiển tự động bằng máy tính (máy tínhở đây có thể được hiểu là một bộ vi điều khiển hoặc một máy tính PC) để thực hiệncác di chuyển, cầm nắm các vật, hoàn thành các công việc dưới tác động của môitrường Thường robot được sử dụng để thực hiện các công việc lặp đi lặp lại, cáccông việc dễ gây nhàm chán, nó cho các kết quả chính xác, nhanh hơn, rẻ hơn nếuđược thực hiện bởi con người.
1.1 Lịch sử ra đời và phát triển
Thuật ngữ Robot lần đầu tiên xuất hiện năm 1921 ở Tiệp Khắc trong tác phẩmR.U.R (Rossum’s Universal Robot) của nhà soạn kịch Karel Capek mang ý nghĩangười làm tạp dịch Kể từ đó thuật ngữ này được sử dụng rộng rãi.
Khái niệm máy tự động xuất hiện từ lâu với những viễn tưởng về người máy trongcuộc sống Ngay sau chiến tranh thế giới lần thứ hai, nhiều công trình được bắt đầutại các phòng thí nghiệm OakRidge và Argome để phát triển các máy cơ khí đượcđiều khiển từ xa nhằm phục vụ trong các phòng thí nghiệm về vật liệu phóng xạ.Các cánh tay này được thiết kết mô phỏng một cách chính xác sự chuyển động củabàn tay và cánh tay con người
Trong giữa những năm 1950, bên cạnh các cánh tay cơ khí đó đã xuất hiện các cánhtay thuỷ lực và điện từ Cũng trong những năm này, George C.Devol đã thiết kếmột thiết bị có tên là thiết bị vận chuyền có khớp nối được lập trình (programmedartculated transfer device) Đây là một cánh tay máy mà hoạt động của nó có thểđược lập trình thực hiện một chuỗi các bước chuyển động được xác định trong cáccâu lệnh trong chương trình Phát triển xa hơn ý tưởng trên, Devol và JosephF.Engelberger đã dẫn đường cho các robot công nghiệp đầu tiên được giới thiệunăm 1959 ở công ty Unimation Thiết bị này sử dụng máy tính liên kết với tay máynhằm dạy cho nó thực hiện các công việc khác nhau một cách tự động
Khi robot được lập trình đã tạo một sự kỳ lạ và tạo ra sức mạnh trong sản xuất, vàonăm 1960 như một sự tất yếu, sự linh hoạt của hệ thống robot được nâng cao đángkể thông qua hệ thống phản hồi từ các sensor Tiếp đó H.A.Ernst đã công bố sự ra
Trang 13đời và phát triển của bàn tay cơ khí được điều khiển bằng máy tính sử dụng cácsensor xúc giác Đây là sự xuất hiện đầu tiên về robot có khả năng thích ứng vớimôi trường
Vào cuối những năm 1960, Mc Carthy cùng bạn đồng nghiệp đã công bố sự pháttriển của máy tính cùng với camera vô tuyến và microphone Năm 1968 Pieper đãnghiên cứu những vấn đề động học trong điều khiền robot bằng máy tính, trong khiđó năm 1971 Kanh và Roth đã phân tích về động lực học và giới hạn điều khiển taymáy
Trong suốt những năm 1970, một số lượng lớn các công trình nghiên cứu đã tậptrung vào việc sử dụng các sensor ngoại để tăng sự tiện lợi và linh hoạt cho robot.Vào thời gian này công ty máy tính IBM đã chế tạo ra loại robot có các sensor xúcgiác và sensor lực để lắp ráp các máy in gồm 20 cụm chi tiết Một lĩnh vực đượcnhiều phòng thí nghiệm quan tâm là robot tự hành, robot di động Nhiều công trìnhnghiên cứu đã thiết kế, xây dựng tạo ra các robot tự hành bắt chước chân ngườihoặc súc vật
Trong những thập kỷ 80 - 90 do sự phát triển mạnh mẽ của khoa học kỹ thuật, đặcbiệt trong lĩnh vực kỹ thuật vi xử lý và công nghệ thông tin, số lượng robot đã giatăng, giá thành giảm đi rõ rệt, tính năng có nhiều bước tiến vượt bậc
Các robot di động có người điều khiển đã được dùng cho các mục đích quân sự, cácnhiệm vụ nguy hiểm như phá mìn, thăm dò đáy đại dương, hầm mỏ, kiểm tra cácđường ống ngầm, hay thăm dò sao Hỏa…
Sản phẩm robot di động được sản xuất đại trà và đưa vào thị trường lần đầu tiên làrobot hút bụi Roomba và Trilobite của hãng Electrolux năm 2003.
Ngày nay, chuyên ngành khoa học robot (robotics) đã trở thành một lĩnh vực rộngtrong khoa học, bao gồm việc giải quyết các vấn đề về cấu trúc cơ cấu động học,động lực học, lập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động.v.v.
Trang 141.2 Các thế hệ robot
Kể từ khi khái niệm robot ra đời, việc thiết kế và chế tạo robot đã trải qua nhiềugiai đoạn với nhiều thế hệ khác nhau Có 5 thế hệ robot ra đời kể từ năm 1960.
Thế hệ thứ nhất: Bao gồm các loại robot hoạt động lặp lại theo một chu trình không
thay đổi Chương trình điều khiển có hai dạng:
- Chương trình “cứng”, nghĩa là không thay đổi hoặc không sửa được trừ khi thayđổi phần cứng
- Chương trình có thể thay đổi được thông qua các panel điều khiển hoặc thôngqua máy tính
Các robot thế hệ này sử dụng cơ cấu điều khiển servo vòng hở (open-loop nonservocontrolled system ) Đây là hệ thống không sử dụng thông tin phản hồi từ môitrường về để điều khiển robot
Thế hệ thứ hai: Robot được trang bị các sensor cho phép robot giao tiếp với môi
trường bên ngoài Các thiết bị này thực chất là các bộ biến đổi năng lượng Nóchuyển các đại lượng không điện thành đại lượng điện mà qua đó bộ điều khiểnrobot có thể biết được trạng thái của môi trường xung quanh nó Nhờ các sensornày robot có thể chọn các phương án khác nhau một cách linh hoạt nhằm thích nghivới môi trường bên ngoài Dạng robot với trình độ điều khiển này còn được gọi làrobot điều khiển thích nghi cấp thấp Đây gọi là cơ cấu điều khiển servo vòng kín(closed-loop servo controller system)
Thế hệ thứ ba: các bộ điều khiển logic khả trình PLC (Programmable Logic
Controller) được sử dụng trong robot với nhiều chức năng chuyên biệt
Thế hệ thứ tư: Khác với PLC bị giới hạn trong chương trình của chúng, thế hệ robot
này sử dụng các máy tính được trang bị các ngôn ngữ lập trình đặc biệt hoặc ngônngữ chuẩn như Basic, C, C++ , để tạo ra nhiều ứng dụng CAD/CAM và CIMhoặc chương trình không trực tuyến
Thế hệ thứ năm: Các bộ điều khiển của robot sử dụng trí tuệ nhân tạo (artificial
intelligence) Robot được trang bị các kỹ thuật như nhận dạng tiếng nói, hình ảnh,xác định khoảng cách, cảm nhận đối tượng tiếp xúc (da nhân tạo) để xử lý, ra những
Trang 15quyết định hợp lý Ngoài ra robot được trang bị mạng Neuron giúp nó có khả năngtự học, tự xây dựng kiến thức
1.3 Những xu hướng phát triển của robot hiện đại
Các robot hiện đại sẽ có xu hướng tăng trong tương lai giúp con người có thể tạora các sản phẩm mới, bảo vệ cơ sở hạ tầng của thế giới, phục vụ trong quân sự,chăm sóc nhà cửa, giải trí, mua bán…
Một xu hướng quan trọng trong nghiên cứu và phát triển robot là phát triển các hệthống máy vi cơ điện tử (MEMS) có kích thước nhỏ từ vài cm tới mm thậm chí nhỏhơn µm Các robot rất nhỏ này có thể di chuyển vào trong mạch máu để phân phốithuốc hoặc làm vệ sinh mạch máu; chúng có thể di chuyển trong một máy tính lớnđể chuẩn đoán các vấn đề xảy ra với máy tính.
1.4 Tổng quan về đề tài
1.4.1 Giới thiệu đề tài
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật,công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đó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, cung cấpthông tin Do đó là một sinh viên chuyên ngành Điện tử - Viễn thông chúng ta phảibiết nắm bắ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ểnnền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nóiriêng Bên cạnh đó còn là sự thúc đẩy sự phát triển của nền kinh tế nước nhà.
Robot được nghiên cứu và sản xuất chế tạo theo từng ứng dụng khác nhau mà hìnhdáng kích thước của robot vì thế mà khác nhau Thông thừơng Robot được chế tạođể thay thế sức lao động của con người Từ những công việc nhỏ như dọn dẹp nhàcửa trông coi nhà cho tới những công việc nghiên cứu thám hiểm vũ trụ…vv
Đặc biệt trong sản xuất công nghiệp hiện nay việc chế tạo robot dần thay thếsức lao động của con người Đặc biệt là trong những công việc làm ở trong môitrường ô nhiểm hay độc hại thì việc ứng dụng robot vào là một nhu cầu cần thiết.Nhất là trong những công việc mang tính lặp đi lặp lại công việc cụ thể thì robot cóthể làm việc rất là chính xác.
Trang 16Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự
phát triển của khoa học kỹ thuật nên chúng em đã chọn đề tài " Thiết kế & thi
công robot vận chuyển hàng " để đáp ứng được yêu cầu công việc ngày càng cao
của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của đất nước.
1.4.2 Mục đích và phương pháp nghiên cứu
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những kiếnthức đã được học trong nhà trường để Thiết kế & thi công Robot vận chuyển hànghóa dựa vào phương pháp xác định tọa độ Robot được thiết kế làm các công việcnhư: di chuyển theo tọa độ để gắp hàng, nâng hàng, nhả hàng, đi tới, lùi, quay trái,quay phải Gía trị tọa độ của robot được nhập từ chương trình giao tiếp trên máytính sau đó tín hiệu được mã hóa để truyền đi bằng sóng RF và giải mã bằng bộ D-mi32 và giá trị tọa độ được hiển thị trên led 7 đoạn, mạch giao tiếp với máy tínhtheo chuẩn RS485 Robot còn được thiết kế bộ phận cảm biến để giúp nó di chuyểnvà thực hiện chính xác công việc Các bộ cảm biến công tắc hành trình được gắntrên robot để Robot gắp hang, nhả hang, nâng lên và hạ xuống chính xác.
1.4.3 Đề cương chi tiết
Chương 2: Giới thiệu tổng quát về vi điều khiển AT89C51, khảo sát sơ đồ chân, tổchức bộ nhớ, hoạt động Timer, hoạt động port nối tiếp, ngắt,… và các linh kiện sửdụng trong đề tài.
Chương 3: Giới thiệu tổng quát, thiết kế, tính toán và thi công đồ án: “Thiết kế &thi công robot vận chuyển hàng”, nhiệm vụ thiết kế, sơ đồ khối của robot, nguyên lýhoạt động, chức năng và tính chọn sử dụng linh kiện trong các khối.
Trang 17Chương 4: Thiết kế chương trình cho robot và giao tiếp với máy tính.Kết luận và hướng phát triển của đề tài.
PHẦN C: PHỤ LỤC
1.4.4 Phương pháp thực hiện
Trong đề tài này nhóm em đã sử dụng các phương pháp thực hiện:
- Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí vềđiện tử và truy cập từ mạng internet
- Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thịtrường, tham khảo thêm một số dạng mạch từ mạng Internet và tham khảo các mạchđiện từ các anh chị, các bạn từng tham gia chơi Robocon
- Phương pháp thực nghiệm: từ những ý tưởng và kiến thức vốn có của mình kếthợp với sự hướng dẫn của giáo viên, nhóm em đã lắp ráp thử nghiệm nhiều dạngmạch khác nhau để từ đó chọn lọc những mạch điện tối ưu.
Với đề tài này, nhóm em dựa vào sách giáo khoa và những kiến thức được trangbị trong quá trình học tập cùng với sự trợ giúp của máy tính và những thông tin trênmạng Internet Ngoài ra, còn có những thiết bị trợ giúp trong quá trình thiết kế mạchdo nhóm em tự trang bị.
1.5 Kết luận chương
Chương này đã giới thiệu về lịch sử ra đời, sự phát triển và những xu hướngphát triển của các thế hệ robot Giới thiệu về đề tài, mục đích và phương phápnghiên cứu để chọn phương án thực hiện.
Trang 18 Cấu trúc bên trong vi điều khiển AT89C51
2.2 Giới thiệu cấu trúc phần cứng họ MCS-51 và vi điều khiển AT89C51
2.2.1 Giới thiệu họ MCS-51
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất Các sản phẩm MCS-51thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte và các toán số học ởcấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trênRAM nội Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồmcả lệnh nhân và lệnh chia Nó cung cấp những hổ trợ mở rộng trên chip dùng chonhững biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bittrực tiếp trong điều khiển và những hệ thống logic đòi hỏi xử lý luận lý.
2.2.2 Giới thiệu vi điều khiển AT89C512.2.2.1 Khái quát các tính năng.
AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượng cao, với 4 KB EEPROM (Flash Programmable and erasable read only memory).Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không bốc hơi mật độ cao củaATMEL và tương thích với chuẩn công nghiệp MCS – 51 về tập lệnh và các chânra AT89C51 là một vi điều khiển mạnh (có công suất lớn) mà nó cung cấp một sựlinh động cao và giải pháp về giá cả đối với nhiều ứng dụng vì điều khiển
Trang 19TXD RXDTIMER2 8032\8052
2.2.2.2 Tóm tắt đặc điểm AT89C51.
- 4 KB bộ nhớ có thể lập trình lại nhanh - Tần số hoạt động từ: 0Hz đến 24 MHz - 2 bộ Timer/counter 16 Bit
- 128 Byte RAM nội
- 4 Port xuất/ nhập I/O 8 bít - Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài - 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn) - 210 vị trí nhớ có thể định vị bit
2.2.3 Sơ đồ khối của AT89C51.
Hình 2.1 Sơ đồ khối của AT89C51
Trang 202.3 Khảo sát đồ chân của AT89C51.
2.3.1 Sơ đồ chân AT89C51.
Hình 2.2 sơ đồ chân của AT89C51
2.3.2 Sơ lược chức năng các chân của AT89C51
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạtđộng như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của cácbus dữ liệu và bus địa chỉ
Port 0: là port có 2 chức năng ở các chân 32 – 39 của 89C51 Trong các thiết kếcỡ nhỡ không dùng hộ nhớ mở rộng nó có chức năng như các đường I/O Đối vớicác thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữliệu
Port 1: là port I/O trên các chân 1 – 8 Các chân được ký hiệu P1.0, P1.2, cóthể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năngkhác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài
Port 2: là 1 port có tác dùng kép trên các chân 21 – 28 được dùng như các đườngxuấ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.
U 1
A T 8 9 C 5 1
91 81 9
2 93 0
3 1
2 12 22 32 42 52 62 72 81 01 11 21 31 41 51 61 73 9
3 83 73 63 53 43 33 2
R S TX T A L 2X T A L 1
A L E / P R O GE A / V P P
P 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7
P 2 0 / A 8P 2 1 / A 9P 2 2 / A 1 0P 2 3 / A 1 1P 2 4 / A 1 2P 2 5 / A 1 3P 2 6 / A 1 4P 2 7 / A 1 5P 3 0 / R X DP 3 1 / T X DP 3 2 / I N T 0P 3 3 / I N T 1P 3 4 / T 0P 3 5 / T 1P 3 6 / W R
P 3 7 / R DP 0 0 / A D 0
P 0 1 / A D 1P 0 2 / A D 2P 0 3 / A D 3P 0 4 / A D 4P 0 5 / A D 5P 0 6 / A D 6P 0 7 / A D 7
Trang 21Port 3: Port 3 là port có tác dụng kép trên các chân 10-17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 89C51 như ở bảng sau:
Ngõ vào ngắt 0Ngõ vào ngắt 1
Ngõ vào của TIMER/COUNTER 0Ngõ vào của TIMER/COUNTER 1Tín hiệu ghi dữ liệu lên bộ nhớ ngoàiTín hiệu đọc dữ liệu bộ nhớ ngoài.
Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trìnhmở rộng thường được nói đến chân 0E\ (output enable) của EPROM cho phép đọccác byte mã lệnh
PSEN ở mức thấp trong thời gian Microcontroller 89C51 lấy lệnh Các mã lệnh củachương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghilệnh bên trong 89C51 để giải mã lệnh Khi 89C51 thi hành chương trình trong ROMnội PSEN sẽ ở mức logic 1
Ngõ tín hiệu điều khiển ALE (Address Latch Enable):
Khi 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và busdữ 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
Trang 22nói chúng với IC chốt Tín hiệu ra ở chân ALE là một xung trong khoảng thời gianport 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động
Ngõ tín hiệu EA\ (External Acces):
Tín hiệu vào /EA ở chân 31 thường được mắc lên nguồn Nếu ở mức 1, 89C51 thihành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte Nếu ở mức 0,89C51 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân /EA được lấy làm châncấp nguồn 21V khi lập trình cho EPROM trong 89C51
Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào Reser của89C51
Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bêntrong được nập những giá trị thích hợp để khởi động hệ thống Khi cấp điện mạchtự động Reset
- Các ngõ vào bộ giao động X1, X2:
Bộ dao động được tích hợp bên trong 89C51, khi sử dụng 89C51 người thiết kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho 89C51 là 12 Mhz
- Chân 40 (Vcc) được nổi lên nguồn 5V.2.4 Cấu trúc bên trong vi điều khiển.
Bộ nhớ trên chip External MomeryHình 2.3 Sơ đồ bộ nhớ
Trang 23RAM CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆTHình 2.4 Bản đồ bộ nhớ Data trên Chip
Trang 242.5 Hoạt động TIMER của 89C51.
2.5.1 Giới thiệu.
- Bộ định thời của Timer là một chuỗi các Rlip Flop được chia làm 2, nó nhận tínhiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop thứ nhất làxung clock của Flip Flop thứ hai mà nó cũng chia tần số clock này cho 2 và cứ tiếptục
- Vì mỗi tầng kế tiếp chia cho 2, nên Timer n tầng phải chia tần số clock ngõ vàocho 2n Ngõ ra của tầng cuối cùng là clock của Flip Flop tràn Timer hoặc cờ mà nókiểm tra bởi phần mềm hoặc sinh ra ngắt Giá trị nhị phân trong các FF của bộTimer có thể được nghỉ như đếm xung clock hoặc các sự kiện quan trọng
- Các Timer của 89C51 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệtnhư sau:
SFR củabộ định
2.5.2 Thanh ghi mode timer TMOD (TIMER MODE REGISTER):
Thanh ghi TMOD gồm hai nhóm 4 bit là: 4 bit thấp đặt mode hoạt động cho Timer 0 và 4 bit cao đặt mode hoạt động cho Timer 1.8 bit của thanh ghi TMOD được tóm tắt như sau:
Trang 25BitNameBộ định thờiMô tả
C/T = 1 : đếm sự kiệnC/T = 0 : định thời
Với hai bit M0 và M1 của TMOD để chọn mode cho Timer 0 hoặc Timer 1
Timer 0: TL0 là Timer 8 bit được điều khiển bởi cácbit của
Timer 0 TH0 tương tự nhưng được điều khiển bởi
Trang 26các bit của mode Timer 1.Timer 1: Được ngừng lại.
2.5.3 Thanh ghi điều khiển Timer TCON: (TIMER CONTROL REGISTER):
Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi Timer0 và Timer 1 Thanh ghi TCON có bit định vị Hoạt động của từng bit được tóm tắtnhư sau:
sự tràn, được xóa bởi phần mềm hoặc bởi phần cứng khi các vectơ xử lý đến thủ tục phục vụ ngắt ISR.
xóa bởi phần mềm để chạy hoặc ngưngchạyTimer.
hiện trên INT1 thì IE1 được xóa bởi phần mềm hoặc phần cứng khi CPU định hướng đến thủ tục phục vụ ngắt ngoài.
phần mềm bởi cạnh kích hoạt bởi sự ngắt ngoài.
Trang 272.5.4 Các mode và cờ tràn (TIMER MODES AND OVERFLOW) :
AT89C51 có 2 Timer và Timer 0 và Timer 1 Ta dùng ký hiệu TLx và Thx đểchỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Timer 1.
Mode Timer 13 bit (MODE 0):
Mode 0 là mode Timer 13 bit, trong đó byte cao của Timer (THx) được đặt thấpvà 5 bit trọng số thấp nhất của byte thấp Timer (TLx) đặt cao để hợp thành Timer13 bit 3 bit cao của TLx không dùng
Mode Timer 16 bit (MODE 1):
-
là mode Timer 16 bit, tương tự như mode 0 ngoại trừ Timer này hoạt động như mộtTimer đầy đủ 16 bit, xung clock được dùng với sự kết hợp các thanh ghi cao và thấp(TLx, THx) Khi xung clock được nhận vào, bộ đếm Timer tăng lên 0000H,0001H, 0002H, , và một sự tràn sẽ xuất hiện khi có sự chuyển trên bộ đếm Timertừ FFFH sang 0000H và sẽ set cờ tràn Timer, sau đó Timer đếm tiếp Cờ tràn là bitTFx trong thanh ghi TCON mà nó sẽ được đọc hoặc ghi bởi phần mềm.
Bit có trọng số lớn nhất (MSB) của giá trị trong thanh ghi Timer là bit 7 của THx vàbit có trọng số thấp nhất (LSB) và bit 0 của TLx
Các thanh ghi Time
Mode tự động nạp 8 bit (MODE 2):
Trang 28Mode 2 là mode tự động nạp 8 bit, byte thấp TLx của Timer hoạt động như mộtTimer 8 bit trong khi byte cao THx của Timer giữ giá trị Reload Khi bộ đếm tràn từFFH sang 00H, không chỉ cờ tràn được set mà giá trị trong THx cũng được nạp vàoTLx: Bộ đếm được tiếp tục từ giá trị này lên đến sự chuyển trạng thái từ FFH sang00H kế tiếp và cứ thế tiếp tục Mode này thì phù hợp bởi vì các sự tràn xuất hiện cụthể mà mỗi lúc nghỉ thanh ghi TMOD và THx được khởi động.
Mode Timer tách ra (MODE 3):
Mode 3 là mode Timer tách ra và là sự khác biệt cho mỗi Timer
- Timer 0 ở mode 3 được chia là 2 timer 8 bit TL0 và TH0 hoạt động như nhữngTimer riêng lẻ với sự tràn sẽ set các bit TL0 và TF1 tương ứng
- Timer 1 bị dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt nó vàomột trong các mode khác Chỉ có nhược điểm là cờ tràn TF1 của Timer 1 không bịảnh hưởng bởi các sự tràn của Timer 1 bởi vì TF1 được nối với TH0
Trang 29INT1\ (P3.3)
(16 Bit)0 = Up 0 = Up1 = Down 1 = Down On Chip
- Khi timer 0 ở chế độ 3, timer 1 vẫn có thể sử dụng bởi port nối tiếp như tạo tốc độbaud (vì nó không còn được nối với TF1).
2.5.5 Khởi động, dừng và điều khiển các timer:
Bit TRx trong thanh ghi TCON được điều khiển bởi phần mềm để bắt đầu hoặckết thúc các Timer Để bắt đầu các Timer ta set bit TRx và để kết thúc Timer taClear TRx Ví dụ Timer 0 được bắt đầu bởi lệnh SETB TR0 và được kết thúc bởilệnh CLR TR0 (bit Gate= 0) Bit TRx bị xóa sau sự reset hệ thống, do đó các Timerbị cấm
Thêm phương pháp nữa để điều khiển các Timer là dùng bit GATE trong thanh ghiTMOD và ngõ vào INTx\ Điều này được dùng để đo các độ rộng xung
Hình 2.5 : Timer Operating Mode 1.On-chip osc : mạch dao động bên trong chip0 = Up : 0 = vị trí trên
Trang 30tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập Cácmạch phần cứng bên ngoài truy xuất port nối tiếp thông qua các chân TxD (P3.1) vàRxD (P3.0).
Port nối tiếp cho hoạt động song công (full duplex: thu và phát đồng thời) và đệmthu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ trong khi ký tựthứ hai được nhận Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được thuđầy đủ thì dữ liệu sẽ không bị mất.
Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp là:SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở điạ chỉ 99H nhận dữ liệu để thuhoặc phát Thanh ghi điều khiển port nối tiếp (SCON) ở điạ chỉ 98H là thanh ghi cóđiạ chỉ bit chứa các bit trạng thái và các bit điều khiển Các bit điều khiển đặt chếđộ hoạt động cho port nối tiếp, còn các bit trạng thái chỉ ra sự kết thúc phát hoặc thuký tự Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể lập trìnhđể tạo ngắt.
2.6.2 Các thanh ghi và chức năng hoạt động port nối tiếp.2.6.2.1 Thanh ghi điều khiển port nối tiếp.
Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độport nối tiếp (SCON) ở địa chỉ 98H Sau đây các bảng tóm tắt thanh ghi SCON vàcác chế độ của port nối tiếp:
Trang 31Bit Ký hiệu Địa chỉ Mô tảSCON.7
Bit 0 chọn chế độ port nối tiếpBit 1 chọn chế độ port nối tiếp
Bit 2 chọn chế độ port nối tiếp Cho phép truyềnthông xử lý trong các chế độ 2 và 3, bit RI sẽkhông bị tác động nếu bit thứ 9 thu được là 0Cho phép thu Phải được set lên 1 để thu các kýtự
Bit 8 phát, bit thứ 9 được phát trong chế độ 2 và3, được set và xóa bằng phần mềm.
Bit 8 thu, bit thứ 9 thu được
Cờ ngắt phát Được set lên 1 khi kết thúc phát kýtự, được xóa bằng phần mềm
Cờ ngắt thu Được set lên 1 khi kết thúc thu kýtự, được xóa bằng phần mềm
Tóm tắt thanh ghi chế độ port nối tiếp
0 0
0 1
Cố định (tần số dao động /12hoặc /64)
Thay đổi ( thiết lập bởiTimer)
Trang 3212
Xung clock tốc độ baudThanh ghi dịch port nối tiếp16 x tốc độ baud
2.6.2.2 Chế độ 1 (UART 8 bit với tốc độ baud thay đổi được):
Ở chế độ 1, port nối tiếp của 89C51 làm việc như một bộ thu phát không đồngbộ (universal asynchronous receiver transmitter) UART 8 bit với tốc độ baud thayđổi được Một UART là một bộ thu phát dữ liệu nối tiếp với mỗi ký tự dữ liệu đitrước là bit start ở mức thấp và theo sau bit stop ở mức cao Đôi khi xen thêm bitkiểm tra chẵn lẻ giữa bit dữ liệu cuối cùng và bit stop Hoạt động chủ yếu củaUART là chuyển đổi dữ liệu phát từ song song thành nối tiếp và chuyển đổi dữ liệuthu từ nối tiếp thành song song.
Ở chế độ 1, 10 bit được phát trên TXD hoặc thu trên RXD Những bit đó là: 1 bitstart (luôn luôn là 0), 8 bit dữ liệu (LSB đầu tiên) và 1 bit stop (luôn luôn là 1) Vớihoạt động thu, bit stop được đưa vào RB8 trong SCON Trong 8951 chế độ baudđược đặt bằng tốc độ tràn của Timer 1.
Tạo xung nhịp và đồng bộ hóa các thanh ghi dịch của port nối tiếp trong các chế độ1,2 và 3 được thiết lập bằng bộ đếm16 ngõ ra là xung clock tốc độ baud Ngõ vàocủa bộ đếm này được chọn qua phần mềm
Việc phát được khởi động bằng cách ghi vào SBUF nhưng việc phát không thựcsự bắt đầu cho đến lần tràn kế của bộ đếm 16, bộ đếm cung cấp tốc độ baud choport nối tiếp Dữ liệu được dịch bit để được xuất ra trên đường TxD sẽ bắt đầu bằngbit start, tiếp theo là 8 bit dữ liệu rồi đến bit stop Thời gian của mỗi một bit là giátrị nghịch đảo của tốc độ baud, tốc độ baud có được bằng cách lập trình cho bộ địnhthời Cờ ngắt phát TI được set bằng 1 ngay khi bit stop xuất hiện trên đường TxD
Trang 3332 SMOD=0
Dao động
Việc nhận được khởi động bởi một chuyển trạng thái từ 1 xuống 0 trên đường RxD(bắt đầu bit start) Bộ đếm 16 ngay lập tức được xoá để gán các số đếm cho dòng bitđến chân RxD (bit kế tiếp đến khi bộ đếm tràn lần nữa và v.v ) Dòng bit đến đượclấy mẫu ở giữa 16 số đếm.
Bộ thu bao gồm việc phát hiện bit start sai bằng cách yêu cầu 8 số đếm ở trạng thái0 sau khi có sự chuyển trạng thái từ 1 xuống 0 lần đầu tiên Nếu điều này không xảyra, bộ thu được giả sử rằng đã được nhận được nhiễu thay vì là nhận một bit hợp lệ.Bộ thu sẽ được thiết lập lại quay về trạng thái nghỉ và chờ sự chuyển trạng thái từ 1xuống 0 kế Giả sử bit start hợp lệ được phát hiện, việc nhận ký tự sẽ tiếp tục Bitstart được bỏ qua và 8 bit dữ liệu được nhận tuần tự vào thanh ghi dịch bit của portnối tiếp Khi cả 8 bit được nhận, các điều sau sẽ xảy ra:
- Bit thứ 9 (bit stop) được đưa đến bit RB8 trong thanh ghi SCON- 8 bit dữ liệu được nạp vào SBUF
- Cờ ngắt thu RI được set
Tuy nhiên các điều trên chỉ xảy ra nếu các điều kiện sau tồn tại:- RI =0
- SM2=1 và bit stop nhận được là bit 1, hoặc SM2=0
2.6.3 Khởi động và truy xuất các thanh ghi cổng nối tiếp:
Cho Phép Thu
- Bit cho phép bộ thu (REN=Receiver Enable) Trong SCON phải được đặt lên1bằng phần mềm để cho phép thu các ký tự thông thường thực hiện việc này ở đầuchương trình khi khởi động cổng nối tiếp, timer …
Các cờ ngắt:
- Hai cờ ngắt thu và phát (RI và TI) trong SCON đóng một vai trò quan trọngtrong truyền thông nối tiếp dùng 8951/8051 Cả hai bit được đặt lên 1 bằng phầncứng, nhưng phải được xoá bằng phần mềm.
2.6.4 Tốc độ baud port nối tiếp
33
Trang 34Các nguồn xung clock cho port nối tiếp chế độ 1 và 3 Các nguồn tạo xung nhịp cho port nối tiếp
- Mặc nhiên sau khi reset hệ thống, tốc độ baud chế độ 2 là tần số bộ dao độngchia cho 64, tốc độ baud cũng bị ảnh hưởng bởi 1 bit trong thanh ghi điều khiểnnguồn cung cấp (PCON) bit 7 của PCON là bit SMOD Đặt bit SMOD lên 1 làmgấp đôi tốc độ baud trong các chế độ 1, 2 và 3 Trong chế độ 2, tốc độ baud có thểbị gấp đôi từ giá trị mặc nhiên của 1/64 tần số dao động (SMOD=0) đến 1/32 tần sốdao động (SMOD=1)
- Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn củatimer 1 Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm cho32 (hoặc 16 nếu SMOD =1 ) trước khi cung cấp tốc độ xung nhịp cho port nối tiếp. Sử dụng bộ định thời 1 làm xung clock tốc độ baud:
- Kỹ thuật thường dùng để tạo xung clock tốc độ baud là khởi động thanh ghiTMOD ở chế độ tự nạp lại 8 bit và đặt giá trị nạp lại thích hợp vào thanh ghi TH1để có tốc độ tràn đúng, từ đó tạo ra tốc độ baud.
- Ngoài ra, các tốc độ baud rất chậm có thể nhận được bằng cách sử dụng chế độ16 bit, chế độ định thời 2 với TMOD=0001xxxxB Tuy nhiên các giá trị TH1/TL1phải được khởi động lại sau mỗi lần tràn Một lựa chọn khác là cung cấp xung clockbên ngoài cho bộ định thời 1 bằng cách sử dụng ngõ vào T1(P3.5) Dù là lựa chọnnào, tốc độ baud cũng bằng tốc độ tràn của bộ định thời 1 chia cho 32 (hoặc chỉ cho16 nếu SMOD=1).
Do vậy, công thức dùng để xác định tốc độ baud ở các chế độ 1 và 3 là:
Tốc độ baud= tốc độ tràn bộ định thời 1 chia cho 32
Trang 35- Các tốc độ baud chính xác có thể nhận được bằng cách sử dụng thach anh11.0592 MHz cho mạch dao động chip.
2.7 Tổ chức ngắt
Có 5 nguồn ngắt ở MCS51: 2 ngắt ngoài, ngắt từ timer và 1 ngắt port nối tiếp Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phéptừng cái bằng phần mềm
Khi có 2 hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra trong khi 1 ngắt khácđang được phục vụ, thì có 2 cách giải quyết: sự tuần tự hỏi vòng và sơ đồ ưu tiên.Việc hỏi vòng tuần tự thì cố định, còn ưu tiên ngắt thì có thể lập trình
Cho phép và cấm các ngắt:
Thông qua thanh ghi IE (interrupt enable) ở địa chỉ A8H
2.8 Tìm hiểu các linh kiện khác.
Data Transmission (Rx/Tx) Logic 0
+3 V to+15 V