Đồ án tốt nghiệp- thiết kế bộ điều khiển tự động cho robot tự hành
Trang 1Mục lục
Mục lục 1
Lời Cảm Ơn 2
Lời nói đầu 3
Phần I Phân tích cấu trúc tổng quát của Robot tự hành 5
1 Hệ Quang học 5
1.1 Vai trò, nhiệm vụ của hệ quang học 5
1.2 Cấu trúc cơ bản của hệ quang học 5
2 Hệ chuyển động 5
2.1 Vai trò, nhiệm vụ của hệ chuyển động 5
2.2 Cấu trúc cơ bản của hệ chuyển động 6
3 Hệ điều khiển 7
3.1 Vai trò, nhiệm vụ của hệ điều khiển 7
3.2 Cấu trúc cơ bản của hệ điều khiển 7
Phần II Phân tích các mô hình điều khiển và các phơng pháp điều khiển thông dụng 9
1 Định nghĩa bài toán lái tự động: 9
2 Mô hình tính năng hệ điều khiển lái tự động cho Robot tự hành 9
3 Các mô hình điều khiển bám vạch thông dụng 10
3.1 Mô hình điều khiển không có phản hồi 10
3.2 Mô hình điều khiển có phản hồi 12
3.3 Kết luận: 13
Phần III Thiết kế bộ điều khiển chuyển động cho robot tự hành 14
1 Bài toán điều chế công suất: 14
1.1 Mạch động lực 14
1.2 Điều chế PWM 18
1.3 Bộ cách ly 20
2 ổn định vận tốc: 20
2.1 Các phơng pháp điều khiển thông dụng : 20
2.2 Tìm hiểu về phơng pháp điều khiển fuzzy: 22
2.3 Thiết kế chi tiết khối ổn định vận tốc 25
3 Bộ xử lý trung tâm 31
3.1 Khảo sát họ vi điều khiển 8051 31
3.2 Ghép nối thu thập số liệu từ hệ điều khiển 54
1 SM0 SCON.7 Số xác định chế độ làm việc cổng nối tiếp 73
2 SM1 SCON.6 Số xác định chế độ làm việc cổng nối tiếp 73
Trang 24 Tổng hợp bộ điều khiển 74
4.1 Phần cứng 74
4.2 Phần mềm 75
4.3 ổn định vngang: 83
Kết Luận 94
Tài liệu tham khảo 95
Lời Cảm Ơn
Em xin chân thành gửi lời cảm ơn tới tất cả các thầy cô trong bộ môn Trang thiết bị Điện - Điện Tử trong công nghiệp và giao thông vận tải cùng các thầy cô trong khoa Điện - Điện tử đã tận tình dạy dỗ em những kiến thức chuyên môn làm cơ sở để em hoàn thành tốt đề tài tốt nghiệp và đã tạo điều kiện thuận lợi cho em hoàn tất khóa học
Đặc biệt em xin gửi lời cảm ơn tới TS Nguyễn Văn Nghĩa, ngời đã gợi ý,
đã tạo mọi điều kiện và nhiệt tình giúp đỡ em hoàn thành đề tài này
Con xin chân thành cảm ơn Bố Mẹ, gia đình, bạn bè đã động viên và tạo mọi điều kiện giúp con học tập tốt
Đồng thời em xin gửi lời cảm ơn tới tất cả các bạn sinh viên đã đóng góp những ý kiến quý báu giúp em hoàn thành đề tài tốt nghiệp đúng thời gian
Em xin chân thành cảm ơn
Sinh viên thực hiện
Lu Xuân Công
Trang 3Lời nói đầu
“ROBOCON” là cuộc thi trí tuệ và sáng tạo đợc phát động hàng năm dohiệp hội ROBOT Châu á Thái Bình Dơng tổ chức Cuộc thi này đã thu hút đ-
ợc rất nhiều sự quan tâm của các bạn sinh viên ở các nớc Châu á Đặc biệt làcác bạn sinh viên nớc ta Là một cầu nối Đài truyền hình Việt Nam đã phát
động cuộc thi này hàng năm nhằm khuyến khích các bạn sinh viên Việt Namtham gia nghiên cứu khoa học, chế tạo Robot, thể hiện óc sáng tạo của sinhviên Việt Nam để chọn ra một đội vô địch trong nớc đi tham gia thi đấu, giao
lu với các nớc trong khu vực Châu á Thái Bình Dơng
Tổng quát các Robot tự động phải thực hiện các bài toán cơ bản sau:
• Bài toán định vị: Dựa trên lới vạch trắng trên sân, xác định vị tríhiện tại của rôbốt
• Bài toán di chuyển: Bám theo vạch trắng để dịch chuyển tới vịtrí cần tiếp cận
• Bài toán tiếp cận mục tiêu: Thực hiện thao tác ghi điểm
Việc giải quyết tốt bài toán di chuyển sẽ cho phép rôbốt đi trên lới tọa độ vớitốc độ cao, tin cậy, chính xác Chính vì vậy, đợc sự đồng ý của Thầy giáo hớngdẫn và Bộ môn, em đã thực hiện đề tài tốt nghiệp với nội dung: “Thiết kế bộ
điều khiển chuyển động theo quỹ đạo cho rôbốt tự hành“
Nội dung cơ bản của đề tài gồm các phần sau:
• Mô hình điều khiển không có phản hồi
• Mô hình điều khiển có phản hồi
Thiết kế bộ điều khiển chuyển động cho Robot tự hành
• Thiết kế tính năng
Trang 4• Phân chia phần cứng, phần mềm và thiết kế chi tiết từng khối
• Tổng hợp bộ điều khiển
Phân tích và đánh giá chất lợng của bộ điều khiển bằng máy tính
Do hạn chế về thời gian và kinh nghiệm nên bản đồ án này khó tránhkhỏi những khiếm khuyết Em rất mong đợc sự đóng góp của các quý thầy cô
để đề tài này đợc hoàn thiện hơn
Trang 5Phần I
Phân tích cấu trúc tổng quát của Robot tự hành
Về cấu trúc, có thể phân chia robot tự hành thành các khối cơ bản sau:
- Hệ quang học
- Hệ chuyển động
- Hệ điều khiển
1 Hệ Quang học
1.1 Vai trò, nhiệm vụ của hệ quang học
Hệ quang học đợc ví nh “mắt” của Robot tự hành Nhiệm vụ của nó làgiúp cho Robot tự hành dò đờng và tìm đờng đi trên lới tọa độ Mặt khác nócòn phải xác định góc lệch hiện tại của Robot, vị trí lệch của Robot so với quỹ
đạo chuyển động đã định sẵn của Robot
1.2 Cấu trúc cơ bản của hệ quang học
Hệ quang học đợc cấu tạo từ rất nhiều các cặp mắt thu - phát khác nhau.Thờng thì mỗi một Robot tự hành đợc trang bị từ 7 – 12 cặp mắt thu - pháttùy thuộc vào chiều rộng của xe nhng số cặp mắt thu – phát càng nhiều thìthông tin từ hệ quang học càng nhiều và độ tin cậy của hệ quang học càng lớn.Các cặp mắt thu – phát thờng là các cặp thu – phát hồng ngoại hoặccác loại điện trở quang có độ nhậy với ánh sáng cao
2 Hệ chuyển động
2.1 Vai trò, nhiệm vụ của hệ chuyển động
Hệ chuyển động đợc ví nh “đôi chân” của Robot tự hành.nhiệm vụ của
nó là giúp cho Robot tự hành chuyển động tới mọi vị trí trên lới tọa độ Đểlàm đợc điều này hệ chuyển động phải đạt đợc những yêu cầu tốc độ, gia tốc,
Trang 6đến vị trí kia trên lới tọa độ là nhanh nhất, ổn định nhất và mômen chuyển
động luôn luôn phải đủ lớn để có thể thắng đợc mọi vật cản trên sân
2.2 Cấu trúc cơ bản của hệ chuyển động
Hệ chuyển động thờng đợc cấu tạo từ các động cơ một chiều kích từ độclập công suất nhỏ từ 12 – 24 [W] hoặc là các động cơ bớc nhng trên thực tế
động cơ bớc ít đợc dùng do khó điều khiển, giá thành cao và công suất quánhỏ Cấu trúc của hệ chuyển động thờng bao gồm 2 bánh chủ động và mộtbánh bị động 2 bánh chủ động vừa có tác dụng cung cấp mômen chuyển độngcho xe vừa có tác dụng làm bánh lái Bánh bị động chỉ có tác dụng dẫn hớng
và giúp xe cân bằng
2.2.1 Hệ chuyển động điều khiển ON/OFF và đảo chiều bằng rơle
Hệ chuyển động này là cấu trúc đơn giản nhất Nó chỉ gồm 1 rơle dùng
để đảo chiều động cơ và 1 rơle dùng để đống, cắt động cơ với nguồn điện
Hệ này có u điểm là không phải tiêu tốn công suất tổn hao do dùng rơlenhng nhợc điểm của nó là chỉ có thể đóng cắt và đảo chiều động cơ với tần sốrất thấp nên chất lợng ổn định của nó không cao
Hệ này chỉ thích hợp cho các Robot điều khiển bằng tay
Trang 72.2.2 Hệ chuyển động điều khiển bằng PWM và đảo chiều bằng rơle
Hệ này sử dụng 1 phần tử bán dẫn công suất để điều chỉnh điện áp cungcấp cho động cơ bằng phơng pháp điều chế độ rộng xung nên hệ này khắcphục đợc nhợc điểm của hệ điều khiển ON/OFF là tần số đóng cắt của nó đợcnâng lên rất cao nhng nó phải chịu thêm nhợc điểm là bị tiêu tốn công suấttrên phần tử bán dẫn công suất
2.2.3 Hệ điều khiển chuyển động bằng PWM và đảo chiều bằng cầu
H là các phần tử bán dẫn công suất
Hệ này sử dụng 2 phần tử bán dẫn công suất kênh N và 2 phần tử bán dẫncông suất kênh P để tạo nên một cầu H
u điểm nổi bật của hệ này tần số đảo chiều rất cao rất thích hợp cho các
hệ thống điều khiển có chiều cần độ đáp ứng điều khiển nhanh
Nhợc điểm chính của hệ này là do dùng 4 phần tử bán dẫn công suất nêntiêu tốn công suất trên chúng tơng đối lớn Nhợc điểm thứ hai là các phần tửbán dẫn thờng có một thời gian quá độ (thời gian trễ) giữa các lần đóng và mởdẫn đến khi tần số đảo chiều quá cao sẽ dẫn đến hiện tợng trùng dẫn trongmột thời gian rất ngắn Nếu nh thời gian này kéo dài và lặp lại liên tục sẽ làmcho các phần tử bán dẫn bị cháy
3 Hệ điều khiển
3.1 Vai trò, nhiệm vụ của hệ điều khiển
Hệ điều khiển đợc ví nh “bộ não” của Robot tự hành Nhiệm vụ của nó làtổng hợp các thông tin từ hệ quang học và hệ chuyển động để đa ra các lệnh
điều khiển ngợc trở lại hệ chuyển động giúp cho Robot thực hiện các nhiệm
vụ hay các chức năng của nó nh di chuyển đến đích, tiếp cận mục tiêu
3.2 Cấu trúc cơ bản của hệ điều khiển
Hệ điều khiển đợc cấu tạo bởi các bộ vi xử lý cỡ nhỏ có thể lập trình đợc.Phổ biến và dễ ứng dụng nhất là họ vi điều khiển 8051 Họ vi điều khiển nàycũng có rất nhiều loại nh 89C51, 89C52, 89C2051 và tùy thuộc vào yêucầu của hệ thống điều khiển về tốc độ xử lý, số lợng các đầu IN/OUT và dunglợng bộ nhớ chơng trình mà sử dụng chúng sao cho thích hợp mà tiết kiệm đợctối đa giá thành sản phẩm
Từ những phân tích trên ta có thể đa ra sơ đồ khối cấu trúc tổng quát củaRobot tự hành nh sau:
Trang 8Bộ điều khiển Bộ chuyển động
Bộ phản hồi vận tốcThông tin từ
bộ quang học
Trang 9Phần II Phân tích các mô hình điều khiển
và các phơng pháp điều khiển thông dụng
1 Định nghĩa bài toán lái tự động:
Bài toán lái tự động là một trong những bài toán cơ bản trong điều khiển Robot tự hành Lái tự động có nghĩa là Robot tự hành phải tự biết tìm đờng đi theo một quỹ đạo đã đợc vạch định sẵn Chúng phải dựa vào các thông tin của “mắt” và
“chân” để biết đợc vị trí hiện tại của xe, vận tốc của xe, độ lệch và góc lệch của xe
so với quỹ đạo chuyển động cho trớc.
Mô hình chuyển động của một Robot tự hành:
2 Mô hình tính năng hệ điều khiển lái tự động cho Robot tự hành
Bài toán gồm 3 phân cơ bản:
1 Sensor quang nhận tín hiệu quang; từ đó phát hiện ra độ lệch của xe sovới vạch dẫn hớng
Vận tốc xeGóc lệch xe
độ lệch xe
Vạch dẫn h ớng chuyển động
Bắt đầuKiểm soát vạch dọc
Thuật toánbám vạch
Điều chỉnh vi sai vận tốcKết thúc
Trang 102 Bộ điều khiển, trên cơ sở trạng thái hiện tại của xe, sẽ ra lệnh điềuchỉnh để lái xe trở về vạch dọc.
3 Trên cơ sở yêu cầu về độ lệch, các khối điều khiển động cơ sẽ tạo ra vậntốc vi sai 2 bánh để tạo ra quỹ đạo hợp lý cho xe
Tuy nhiên, tùy theo cách thiết kế mà ngời ta có 2 phơng pháp điều khiển –bám vạch sau:
3.Các mô hình điều khiển bám vạch thông dụng
3.1 Mô hình điều khiển không có phản hồi
Trong mô hình này, các cảm biến quang sẽ phát hiện đợc độ lệch của xe,trên cơ sở đó trực tiếp điều khiển mômen hai bánh xe: Độ lệch xe càng nhiều -
độ chênh PWM giữa 2 bánh càng lớn để điều khiển xe về trạng thái cân bằng
ý nghĩa và nhiệm vụ của các khối chức năng:
- Bộ tính độ lệch mômen 2 bánh: Có nhiệm vụ nhận thông tin từ mắt vàkiểm tra vị trí và độ lệch hiện tại của xe từ đó tính toán ra độ lệch mômen 2bánh
- Bộ điều chế độ rộng xung: Có nhiệm vụ nhận giá trị điều khiển từ bộ xử
Cách ly
Trang 11+ Từ sơ đồ trên ta thấy mô hình điều khiển không có phản hồi là mô hình đơngiản nhất Mô hình này có u điểm là dễ làm cả về phần cứng và phần mềm + Nhợc điểm của mô hình này là chất lợng điều khiển thấp: Do giá trị đầu vàocủa vòng phản hồi là độ lệch xe nên khi xe lệch ít, độ điều chỉnh công suất làrất ít.
+ Tốc độ điều chỉnh thấp: chỉ khi nào sensor quang phát hiện đợc sai lệch thìmới tạo ra độ lệch PWM
+ Khi gặp vật cản, một bánh bị dừng hẳn lại thì giá trị PWM cũng chỉ tăng lênkhi xe bị xoay đáng kể - nhng khi đó độ lệch của xe rất lớn và hệ quang đãkhông thể kiểm soát đợc trạng thái xe
+ Trong điều khiển không xét đến quán tính xe, do vậy, khi xe chuyển độngvới vận tốc cao, dễ dàng bị hất khỏi quỹ đạo
+ Phụ thuộc nhiều vào mặt sân, điều kiện thi đấu, do vậy, độ ổn định xe khôngcao: Với các mặt sân khác nhau, lợng điều chỉnh cần khác nhau, ngời thiết kếphải tính toán lại độ nhạy điểu chỉnh Muốn có đợc chất lợng điều khiển tơng
đối để có thể sử dụng đợc thì ngời điều khiển phải thử nghiệm rất nhiều để có
đợc giá trị điều khiển thích hợp và mỗi khi có sự thay đổi nào đó của Robot
nh khối lợng, trọng tâm xe thì ngời điều khiển lại phải bắt đầu lại quá trình thửnghiệm từ đầu
Trang 123.2 Mô hình điều khiển có phản hồi
- Trong mô hình này, mỗi động cơ có mạch vòng ổn định tốc độ riêng, mạchvòng này sẽ giám sát vận tốc mỗi bánh xe, từ đó khống chế giá trị PWM mỗibánh để đảm bảo vận tốc của bánh xe đạt gần nhất với vận tốc đặt
- Sensor quang sẽ kiểm soát đợc độ lệch của xe Trên cơ sở những thông tin
về chuyển động xe và độ lệch xe, bộ điều khiển sẽ quyết định độ chênh lệchvận tốc hai bánh để giảm dần độ lệch xe
Thông tin từ
hệ quang học
Tính độ lệch vận tốc 2 bánh
Bộ phản hồi tốc độ
Bộ phản hồi tốc độ
Bộ điều chế
độ rộng xung
Bộ điều khiển vận tốc 2 bánh
Trang 13khả năng điều chỉnh momen ngay khi gặp chớng ngại vật làm giảm vận tốccủa xe – tức là trớc khi xe bị lệch đờng.
+ Cho phép tạo mômen lớn trên trục động cơ : Khi gặp chớng ngại vật, vận tốccủa xe giảm, do có vòng phản hồi, momen trên trục động cơ đợc tăng tối đa đểthắng vật cản Trong mô hình không có phản hồi, chỉ khi nào độ lệch của xe
đạt giá trị mà sensor quang phát hiện đợc thì mới tăng – giảm mômen độngcơ ; và khi xe đạt độ lệch rất lớn thì mômen trên trục mới đạt giá trị tốt đa.+ Nhợc điểm: Độ phức tạp cao, cần nhiều đầu vào/ra
+ Động cơ phải sử dụng loại có ECD
Trên thực tế chạy thử không cần tín hiệu của mắt và chọn mặt phẳng có ma sátbất kì thì khi chạy thẳng 2 m sai lệch quãng đờng của xe nhiều nhất là 20 cm
3.3 Kết luận:
Do những u điểm của hệ thống điều khiển có phản hồi vận tốc, nên em đãchọn phơng pháp điều khiển này
Với phơng pháp điều khiển này, cần thực hiện các bài toán sau:
- Bài toán bám vạch : Trên cơ sở vị trí vạch dọc mà sensor quang đa lại, tính
ra độ lệch vận tốc giữa 2 bánh xe của robot
- Bài toán ổn định vận tốc: Trên cơ sở thông tin phản hồi vận tốc từ ECD,
điều chỉnh công suất động cơ để ổn định vận tốc của mỗi bánh
- Bài toán điều chế PWM: Thực hiện bài toán điều chế công suất 2 bánh xetheo yêu cầu điều khiển
Phần tiếp theo em sẽ phân tích và thiết kế 3 bài toán trên:
Trang 14Phần III Thiết kế bộ điều khiển chuyển động cho robot tự hành
1 Bài toán điều chế công suất:
1.1 Mạch động lực
Mạch động lực đợc thiết kế hoàn toàn bằng phần cứng
Có rất nhiều phơng pháp thiết kế phần cứng cho mạch động lực và tùyvào yêu cầu của hệ thống nh dòng, tải, phơng pháp điều khiển, độ quá độ vàkhả năng đáp ứng của mạch mà chọn phần cứng cho thích hợp
Các yêu cầu cơ bản:
+ Cấp nguồn cho động cơ
+ Điều chế công suất
+ Đảo chiều động cơ
1.1.1 Mạch động lực sử dụng 2 nguồn điện một chiều độc lập.
Khi muốn động cơ quay theo chiều thuận thì ta bật công tắc nguồn SW1
và tắt công tắc nguồn SW2 khi muốn động cơ quay theo chiều ngợc lại thì talàm ngợc lại là tắt công tắc nguồn SW1 và bật công tắc nguồn SW2
Phơng pháp đảo chiều này ít đợc sử dụng vì nó phải sử dụng 2 nguồn
điện độc lập nhau
Trang 151.1.2 Mạch động lực sử dụng cầu H
Muốn động cơ quay theo chiều thuận thì ta bật công tắc 1 và 3, tắt côngtắc 2 và 4 Muốn động cơ quay theo chiều ngợc lại thì ta tắt công tắc 1 và 3,bật công tắc 2 và 4
Tiếp điểm của công tắc có thể là công tắc cơ khí, rơ le hoặc 2 cực củalinh kiện đóng/ ngắt công suất (transitor lỡng cực, transitor trờng, IGBT…) tùytheo dải dòng, áp cần sử dụng
Ưu điểm: Việc sử dụng cầu H làm cho mạch trở nên rất đơn giản và chỉcần 1 nguồn điện
Nhợc điểm: Nếu nh mạch điều khiển cùng bật công tắc 1 và 2 hoặc 3 và
4 thì sẽ làm cho mạch động lực bị ngắn mạch nguồn Nếu hiện tợng xảy ratrong thời gian ngắn (quá độ), sẽ xuất hiện dòng trùng dẫn qua van công suấtlàm tăng công suất tiêu tán trên van Nếu thời gian trùng dẫn đủ dài, dòngtrùng dẫn tăng lớn sẽ làm cháy van công suất
1.1.2.1 Sử dụng cầu H bằng rơle
Điều khiển đảo chiều động cơ dùng 1 transistor mosfet và role một chiều
4 tiếp điểm (2 tiếp điểm thờng đóng và 2 tiếp điểm thờng mở)
Trang 16Phơng pháp đảo chiều dùng role có u điểm là mạch đơn giản và không
bị hiện tợng ngắn mạch nguồn vì cặp tiếp điểm 1 và 2, 3 và 4 chỉ luông luôn
có một tiếp điểm đợc bật Nhợc điểm của mạch đảo chiều sử dụng role là tần
số đảo chiều thấp
1.1.2.2 Điều khiển và đảo chiều động cơ điện một chiều dùng L298.
Vi mạch L298 là một bộ điều khiển cầu kép (dual full-bridge) dùng để
điều khiển một động cơ bớc hoặc hai động cơ một chiều Nó có thể sử dụngvới điện áp nguồn nuôi đến 48V và dòng điện một chiều cho mỗi cầu là 2Atổng cộng cả hai cầu là 4A
Hình dáng bên ngoài của vi mạch L298
Trang 17Các thông số cơ bản của L298
Sử dụng L298 để điều khiển độc lập 2 động cơ 1 chiều
Trang 18Vi mạch L298 có công suất rất nhỏ vì vậy khi điều khiển các Motor , thì điềucần chú ý là phải tăng tốc độ của các Motor một cách từ từ , chứ không đợccho các Motor hoạt động ngay ở tốc độ định mức Bởi vì dòng khởi độngMotor 1 chiều rất lớn(gấp 5 đến 7 lần dòng định mức) sẽ làm hỏng vi mạchL298 Vì vậy Motor cần đợc khởi động chậm ở tốc độ cực tiểu sau đó dần dần, tốc độ đợc tăng cho đến khi đạt đến tốc độ cực đại có thể Để chuyển Motorsang trạng thái dừng , tốc độ đợc giảm từ từ trớc khi dừng hẳn
1.1.2.3 Điều khiển và đảo chiều động cơ điện một chiều dùng cầu H sử dụng transistor Mosfet:
Để tạo thành một cầu H cần sử dụng 2 transistor mosfet kênh P và 2transistor mosfet kênh N Sơ đồ mạch
1.2 Điều chế PWM
Phơng pháp điều chế độ rộng xung là phơng pháp cơ bản chuyên dùng để
điều khiển các phần tử công suất có đờng đặc tính là tuyến tính khi có sẵnnguồn một chiều cố định
Trang 19Phơng pháp điều chế độ rộng xung thực chất là phơng pháp điều chỉnh
điều chỉnh điện áp ra tải Phơng pháp này thực hiện theo nguyên tắc đóng ngắtnguồn với tải một cách chu kỳ theo luật điều chỉnh thời gian đóng ngắt Phần
tử thực hiện nhiệm vụ đó trong mạch là các van bán dẫn
Ta xét sơ đồ nguyên lý một bộ biến đổi điện áp một chiều thông dụng:
Trong khoảng thời gian 0 – t0 ta cho van G mở toàn bộ điện áp nguồn
Ud đợc đa ra tải Còn khoảng thời gian t0 – T cho van G khóa, cắt nguồn khỏitải Vì vậy với t0 thay đổi từ 0 – T ta sẽ cung cấp toàn bộ, một phần hay khóahoàn toàn điện áp cung cấp cho tải
Nguyên tắc tạo PWM cần 2 nguồn tín hiệu:
- Tín hiệu răng ca: Xác định tần số của PWM
- Tín hiệu tựa: Xác định mức công suất cần điều chế
Hai tín hiệu so sánh với nhau để tạo ra xung PWM
Trang 20Phần mềm: Các khối đợc tạo thành trên cơ sở phần mềm, dựa trên nhịp clockcủa CPU
Trong thiết kế, PWM đợc tạo bằng phần mềm trong 1 CPU riêng
1.3 Bộ cách ly
Để đảm bảo an toàn cho mạch điều khiển, tránh các can nhiễu từ khốicông suất sang khối điều khiển, cần phải cách ly hoàn toàn về điện giữa haikhối này
Bộ cách ly đợc thực hiện hoàn toàn bằng phần cứng nhờ sử dụngOptocoupler 4N35
Các thông số kỹ thuật của Optocoupler 4N35:
2 ổn định vận tốc:
2.1 Các phơng pháp điều khiển thông dụng :
2.1.1 Điều khiển ON/OFF
Đây là phơng pháp điều khiển đơn giản nhất nên có chất lợng điềukhiển rất thấp Khi vận tốc của bánh xe nhỏ hơn vận tốc đặt thì ngời ta bậtcông tắc nguồn cấp năng lợng với mức cực đại cho động cơ, và khi vận tốcbánh xe lớn hơn vận tốc đặt thì động cơ bị ngắt nguồn hoàn toàn Vận tốc đặt
và vận tốc phản hồi đợc tính toán không trùng khớp để tránh thao tác đóng cắt
Trang 21quá nhiều lần có thể gây ra mất ổn định hệ thống vì vậy mà chất lợng điềuchỉnh của phơng pháp này là rất thấp do sai số giữa vận tốc đặt và vận tốcphản hồi và do mỗi lần đóng cắt thì xe sẽ bị giật Mô hình điều khiển này th-ờng đợc dùng cho các Robot bằng tay
2.1.2 Điều khiển tỷ lệ P
Là phơng pháp nhằm cải thiện việc thực hiện điều khiển ON/OFF tốthơn bằng cách cấp nguồn có giá trị số tỷ lệ với sai lệch giữa vận tốc đặt và vậntốc thực của bánh xe
VĐK = P(VThực –VĐặt)
P: Hệ số tỷ lệ
Phơng pháp này cho phép thay đổi một cách nhanh chóng vận tốc đạttới giá trị đặt nhng mặt khác nó lại gây ra quá điều chỉnh, kéo dài quá trìnhquá độ, thậm chí gây mất ổn định hệ thống đặc biệt là khi hệ số tỷ lệ là lớn
2.1.3 Điều khiển tỷ lệ - đạo hàm PD:
Vấn đề ổn định và quá điều chỉnh của bộ điều chỉnh tỷ lệ có thể đợckhắc phục bằng cách thêm vào bộ điều chỉnh một thành phần tỷ lệ với đạohàm của sai lệch theo thời gian:
Phơng pháp này gọi là điều chỉnh theo luật PD, giá trị của hệ số đạohàm hay còn gọi là hằng số tắt dần D có thể đợc điều chỉnh để sao cho số lầndao động của giá trị thực quanh giá trị đặt là nhỏ nhất
2.1.4 Điều khiển PID:
Mặc dù điều khiển theo luật PD giải quyết tốt vấn đề quá điều chỉnh vàdao động nhng còn một vấn đề tồn tại là sai lệch tĩnh của quá điều chỉnh Để
có đợc một đáp ứng quá độ tốt, một thành phần có hành vi tích phân đợc đavào hàm truyền bộ điều chỉnh để làm triệt tiêu sai lệch tĩnh
Khi đó biến điều khiển có dạng:
V P
V DK ( Thuc Do) ( Thuc Do) ( Thuc Do)I: Hệ số tích phân hay còn gọi là mức độ lặp lại của bộ điều chỉnh PID.Thành phần tích phân có tác dụng thay đổi giá trị điều khiển cho đến
Trang 22ơng pháp điều khiển tốt song khá phức tạp về mặt toán học lúc này hàmtruyền bộ điều chỉnh là bậc 3.
2.1.5 Luật điều khiển PI:
Biến điều khiển có dạng:
V DK =P[(V Thuc −V Do) +I∫(V Thuc −V Do)dt]
Đôi khi, đặc biệt là trong các hệ thống có các thiết bị đo lờng nhạy cảmvới các dao động điện và nhiễu, hành vi tích phân của bộ điều chỉnh tác độngvào sai lệch có thể làm cho biến điều khiển dao động một lợng lớn, điều nàygây ra tác động ngợc lại, hệ trở nên mất ổn định hơn và sai lệch hơn Trongnhững trờng hợp này thì nên sử dụng bộ điều chỉnh PI hoặc PID nhng với hệ
số D bằng 0
2.1.6 Điều khiển bằng ứng dụng kĩ thuật NeuroFuzzy
Ta sẽ thiết kế một hệ điều khiển chuyển động cho Robot tự hành dựa trên nền tảng NeuroFuzzy Cần nhấn mạng rằng trong NeuroFuzzy thì phần Fuzzy đóng vai trò chính, chịu trách nhiệm điều khiển đối tợng Còn mạng Neuron đóng vai trò bổ sung, đa tri thức vào hệ bằng cách học những hành vi thông qua tập dữ liệu gồm những cặp vào-ra mong muốn.
Nh vậy bớc đầu tiên là thiết kế một hệ mờ sơ khởi Sau đó cho hệ hoạt động để rút ra những sửa đổi cần thiết và ép hệ học những sửa đổi đó.
2.2 Tìm hiểu về phơng pháp điều khiển fuzzy:
2.2.1 Thiết kế hệ mờ
2.2.1.1 Các nguyên tắc trong thiết kế
Mặc dù hệ mờ chúng ta thiết kế ở đây là hệ sơ khởi, tức là hệ thô Mọi quá trình tối u để hệ đạt đến trạng thái hoàn chỉnh đều đợc thực hiện sau đó Tuy nhiên,
để cho việc học đợc dễ dàng thì ta cần thiết kế một hệ tơng đối phù hợp với đối tợng dựa trên các nguyên tắc thiết kế cần thiết.
Thiết kế hệ mờ đợc bắt đầu bằng việc xác định các biến ngôn ngữ dùng trong hệ thống Các biến này đợc xem nh là nền tảng cho các luật hoạt động Kế đến là thiết
kế cấu trúc của hệ, mang thông tin về dòng điều khiển bên trong hệ, nh là tập mờ nào kết hợp với tập mờ nào, đa ra tập mờ nào … Thiết kế hệ luật đợc xem nh là phần thiết kế chính yếu, thể hiện tri thức của con ngời về đối tợng đang điều khiển Cuối cùng là lựa chọn phơng pháp giải mờ thích hợp.
2.2.1.2 Xác định biến ngôn ngữ
Giá trị của biến ngôn ngữ là những từ ngữ thể hiện đặc điểm của biến đó Ví
nh trong điều khiển vận tốc của xe: đối với biến sai lệch vận tốc (sai lệch vận tốc =
Trang 23vận tốc đặt – vân tốc đo), ta có thể có các từ ngữ (tức các giá trị) nh âm nhiều, âm
ít, dơng nhiều, dơng ít.…
Có bao nhiêu giá trị ngôn ngữ cho một biến ngôn ngữ ?
Hầu hết các ứng dụng trong thực tế đều thiết kế từ 3 đến 7 giá trị cho một biến ngôn ngữ Hiếm khi gặp trờng hợp ít hơn 3 giá trị, bởi vì nội trong khái niệm của con ngời cũng đã là hai cực hai bên và một trung tâm giữa hai cực đó Cũng ít khi gặp trờng hợp nhiều hơn 7 giá trị do các đặc điểm mà con ngời xử lý đợc tại một thời điểm không lớn hơn 7.
Một đặc điểm nữa là số giá trị cho một biến ngôn ngữ thờng là số lẻ, do ngời ta ờng thiết kế dạng đối xứng : tạo ra các giá trị hai bên rồi đến một giá trị trung tâm.
th-Do đó, một biến ngôn ngữ thờng có 3, 5, hoặc 7 giá trị.
Để xác định là 3, 5, hay 7 giá trị Ta viết ra một số luật mờ tiêu biểu và dựa trên các luật đó, ta sẽ xét xem cần bao nhiêu giá trị và cần loại giá trị nào để tạo nên một hợp luật hoàn chỉnh Nếu việc viết ra một số luật ban đầu này khó khăn thì có thể bắt đầu với 3 giá trị cho các biến ngôn ngữ vào và 5 giá trị cho biến ngôn ngữ ra (đây là giá trị tối thiểu cho hầu hết ứng dụng) Sau đó khi thiết kế hợp luật, ta có thể thêm vào nếu cần.
2.2.1.3 Kiểu hàm phụ thuộc
Có khá nhiều hàm phụ thuộc đợc đề cập đến trong tài liệu Nhng trong thực tế ứng dụng thì chỉ có một số dạng sau đây đợc dùng, chủ yếu là nhằm đơn giản hóa việc tính toán.
2.2.1.4 Tạo hệ luật
Các luật trong hệ mờ thể hiện những gì ta muốn hệ hoạt động, tức là dựa trên tri thức của con ngời mà hệ mờ đa ra hành vi Căn cứ vào những biến ngôn ngữ đã xác
định, hệ luật đợc tạo ra từ những bớc sau :
Bớc 1 đối với mỗi kết hợp của các tập mờ ở đầu vào (tức ở phần If), ta định
nghĩa một luật Dùng giải pháp dung hòa cho tất cả các tập mờ của đầu ra (phần Then), ta đợc tổng số luật của hệ luật.
Trang 24Nh vậy, nếu ta có hai biến ngôn ngữ ở đầu vào, một biến ngôn ngữ ở đầu ra, mỗi biến ngôn ngữ đợc định nghĩa với 5 tập mờ thì tổng số luật có đợc là 5x5x5 =
125 luật.
Bớc 2 nếu một tập mờ Zi nào đó của đầu ra không ảnh hởng bởi một biến ngôn
A.
Bớc 3 trong quá trình tối u ta sẽ nhận ra một luật nào đó cần phải tăng hay giảm
tác động của nó thì ta thay đổi tơng ứng.
Bớc 4 khi hệ đã hoạt động tốt thì cần kiểm tra để loại bỏ những luật không cần
thiết, bao gồm 2 loại :
Luật d : là những luật có tác động cũng nh không do sự trùng lắp giữa các luật trong hệ Ví nh hệ có luật
If x = A i And y = B j Then z = C k
If x = A i Then z = C k
thì rõ ràng luật thứ nhất d, cần phải loại bỏ.
Luật không bao giờ tác động : trong thiết kế có những luật này nhng khi đem áp dụng vào thực tế thì không bao giờ xảy ra những trờng hợp mà luật đã mô tả Trờng hợp này khó nhận thấy hơn trờng hợp đầu tiên, nhng đối với một phần mềm dùng cho thiết kế mờ thì bạn có thể dùng chức năng phân tích luật để loại
Trang 252.3 Thiết kế chi tiết khối ổn định vận tốc
2.3.1 Sơ đồ tính năng
Thông tin từ
hệ quang học
Vận tốc đặt 2 bánh xe
Bộ xử lý trung tâm độ rộng xungBộ điều chế cách lyMạch
Sơ đồ tính năng Robot tự hành
Bắt đầu
đo vận tốcKhống chế gia tốc
ổn định vận tốcBảo vệ chống kẹt xeKết thúc
Sơ đồ các khối chức năng trong bộ xử lý trung tâm
Trang 262.3.2 ThiÕt kÕ chi tiÕt
2.3.2.1 ThiÕt kÕ chi tiÕt phÇn cøng, phÇn mÒm
Trang 27Phần cứng bộ điều chế độ rộng xung đợc tạo bởi 2 vi xử lý 89C2051 Lý
do cần dùng đến 2 vi xử lý là do cần phải điều khiển độc lập 2 động cơ mộtchiều kích từ độc lập gắn trên xe
Các thông số của vi xử lý 89C2051:
Sơ đồ chân:
Sơ đồ các khối chức năng:
Trang 28Thiết kế chi tiết:
- Sơ đồ mạch nguyên lý:
Trang 292.3.2.1.3 Bộ phản hồi tốc độ
Bộ phản hồi tốc độ bao gồm cả phần cứng và phần mềm Phần cứng cónhiệm vụ tạo ra một tín hiệu là một chuỗi xung liên tiếp có tần số phụ thuộcvào tốc độ quay của động cơ và một tín hiệu thể hiện chiều đang quay của
động cơ Cả 2 tín hiệu này đều đợc đa vào bộ xử lý trung tâm để đo quãng ờng xe đi đợc và tính toán vận tốc hiện tại của mỗi bánh xe rồi suy ra vận tốcsai lệch giữa các bánh xe
đ-Phần cứng
Mạch phản hồi tốc độ sử dụng Triggered D Flip – Flops 74LS74 đểphản hồi chiều quay của động cơ các thông số kỹ thuật của 74LS74:
Trang 30Bộ ECD phản hồi tốc độ có độ phân giải 100 xung/Vòng 2 chiều gắn sẵntrên động cơ:
Trang 313 Bộ xử lý trung tâm
3.1 Khảo sát họ vi điều khiển 8051
IC vi điều khiển 8051 thuộc họ MCS51 có các đặc điểm sau:
4Kbyte ROM (đợc lập trình bởi nhà sản xuất chỉ có ở 8051)
128 buýt RAM
4 port I/ 0 8 bit
Hai bộ định thời 16 bit
Giao tiếp nối tiếp
64 KB không gian bộ nhớ chơng trình mở rộng
64 KB không gian bộ nhớ dữ liệu mở rộng
Một bộ xử lý luận lý (thao tác trên các bit đơn)
210 bit đợc địa chỉ hoá
Bộ nhân/chia 4às
Trang 32Cấu trúc bên trong của 8051 / 8031
Phần chính của vi điều khiển 8051 / 8031 là bộ xử lý trung tâm Central Processing Unit) bao gồm:
(CPU-Thanh ghi tích luỹ A
Thanh ghi tích luỹ phụ B, dùng cho phép nhân và chia
Đơn vị logic học (ALU : Arithmetic Logical Unit)
Từ trạng thái chơng trình (PSW : Program Status Word)
T1*
T2*
P0 P1 P2 P3
INT\ * 1 INT\ * 0 TIMER2 TIMER1 PORT nối tiếp
EA\ RST PSEN ALE
Các thanh ghi khác 128 byte Ram
Rom 4K-8051 OK-8031 Timer1Timer2
Điều
khiển ngắt
Điều khiển bus
CPU
Port nối tiếp Các port I\O
Tạo
dao
động
Trang 33Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn
có khả năng đa một tín hiệu giữ nhịp từ bên ngoài
Chơng trình đang chạy có thể cho dừng lại nhờ một khối điều khiểnngắt ở bên trong Các nguồn ngắt có thể là: Các biến cố ở bên ngoài, sự tràn
bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp
Hai bộ định thời 16 bit hoạt động nh một bộ đếm
Các cổng (Port0, Port1, Port2, Port3) sử dụng vào mục đích điều khiển
ở cổng 3 có thêm các đờng dẫn điều khiển dùng để trao đổi với bộ nhớbên ngoài hoặc để đầu nối giao diện nối tiếp, cũng nh các đờng ngắt dẫn bênngoài
Giao diện nối tiếp có chứa một bộ truyền và bộ nhận không đồng bộ,làm việc độc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong rảirộng và đợc ấn định bằng một định thời
Trong vi điều khiển 8051 / 8031 có hai thành phần quan trọng khác đó
là bộ nhớ và các thanh ghi
Bộ nhớ gồm có bộ nhớ Ram và bộ nhớ Rom (chỉ có ở 8031) dùng để lutrữ dữ liệu và mã lệnh
Các thanh ghi sử dụng để lu trữ thông tin trong quá trình xử lý KhiCPU làm việc nó làm thay đổi nội dung của các thanh ghi
Trang 34Chức năng các chân vi điều khiển
Sơ đồ chân 8051
a Port0: Là port có hai chức năng ở trên chân từ 32 đến 39 trong các
thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) có hai chức năng nh các đờngI/O Đối với các thiết kế cỡ lớn (với bộ nhớ mở rộng) nó đợc kết hợp kênhgiữa các bus
b Port1: Là một port I/O trên các chân 18 Các chân đợc ký hiệu P1.0,P1.1,…P1.7 có thể dùng cho các thiết bị ngoài nếu cần Port 1 không có chứcnăng khác, vì vậy chúng ta chỉ dùng trong giao tiếp với các thiết bị ngoài
c Port2: Là một port công dụng kép trên các chân 2128 đợc dùng nhcác đờng xuất nhập hoặc là byte cao của bus địa chỉ đối với thiết kế dùng bộnhớ mở rộng
d Port3: Là một port công dụng kép trên các chân 10 17 Các châncủ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 8051/8031 nh ở bảng sau:
Trang 35P3.1 TXD Dữ liệu phát cho port nối tiếp
Chức năng của các chân trên port 3
e PSEN (Program Store Enable): 8051/8031 có 4 tín hiệu điều khiển
PSEN là tín hiệu ra trên chân 29 Nó là tín hiệu điều khiển để cho phép bộ nhớchơng trình mở rộng và thờng đợc nối đến chân OE (Output Enable) của mộtEPROM để cho phép đọc các bytes mã lệnh
PSEN sẽ ở mức thấp cho thời gian lấy lệnh Các mã nhị phân của chơngtrình đợc đọc từ EPROM qua bus và đợc chốt vào thanh ghi lệnh của 8051 đểgiả mã lệnh Khi thi hành chơng trình trong EPROM nội (8051) PSEN sẽ ởmức thụ động (mức cao)
f ALE (Address Latch Enable): Tín hiệu ra trên chân 30 tơng hợp với
các thiết bị làm việc với các xử lý 8585, 8088, 8086, 8051 dùng ALE mộtcách tơng tự cho làm việc giải các kênh các bus địa chỉ và dữ liệu khi port 0 đ-
ợc dùng trong chế độ chuyển đổi của nó: Vừa là bus dữ liệu vừa là bus thấpcủa địa chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trongnửa đầu của chu kỳ bộ nhớ Sau đó các đờng port 0 dùng để xuất hoặc nhập dữliệu trong nửa sau chu kỳ bộ nhớ
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip
và có thể đợc dùng là nguồn xung nhịp cho các hệ thống Nếu xung trên 8051
là 12MHz thì ALE có tần số 2MHz Chỉ ngoại trừ khi thi hành lệnh MOVX,một xung ALE sẽ bị mất Chân này cũng đợc làm ngõ vào cho xung lập trìnhcho EPROM trong 8051
g EA (External Access): Tín hiệu vào EA trên 31 thờng đợc mắc lên
mức cao (+5V) hoặc mức thấp (GND) Nếu ở mức cao, 8051 thi hành chơngtrình từ ROM nội trong khoảng địa chỉ thấp (4K) Nếu ở mức thấp, chơngtrình chỉ đợc thi hành từ bộ nhớ mở rộng Khi dùng 8031 EA luôn đợc nối
Trang 36bộ nhớ bên trong chơng trình 8051 sẽ bị cấm và chơng trình thi hành từEPROM mở rộng Ngời ta còn dùng chân EA làm chân cấp điện áp 12V khilập trình cho EPROM trong 8051.
h RST (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8051 Khi tín
hiệu này đợc đa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong
8051 đợc tải những giá trị thích hợp để khởi động hệ thống
i Các ngõ vào bộ dao động trên chip: Nh đã thấy trên các hình trên,
8051 có một bộ dao động trên chip Nó thờng đợc nối với thạch anh giữa haichân 18 và 19 Các tụ giữa cũng cần thiết nh đã vẽ Tần số thạch anh thông là12MHz
j Các chân nguồn: 8051 vận hành với nguồn đơn +5V Vcc đợc nối vàochân 40 và Vss (GND) đợc nối vào chân 20
Tổ chức bộ nhớ
8051 / 8031 có bộ nhớ theo cấu trúc Harvard: có những vùng cho bộ nhớriêng biệt cho chơng trình dữ liệu Nh đã nói ở trên, cả chơng trình và dữ liệu
có thể ở bên trong 8051, dù vậy chúng có đợc mở rộng bằng các thành phầnngoài nên đến tối đa 64 Kbytes bộ nhớ chơng trình và 64 Kbytes bộ nhớ dữliệu
Bộ nhớ bên trong bao gồm ROM (8051) và RAM trên chip, RAM trênchip bao gồm nhiều thành phần: phần lu trữ đa dụng, phần lu trữ địa chỉ hoátừng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt
Tóm tắt các vùng bộ nhớ của 8051/ 8031 Hai đặc tính cần lu ý là:
trong bộ nhớ và có thể đợc truy xuất trực tiếp nh các địa chỉ bộ nhớ khác
RAM ngoài nh trong các bộ vi xử lý khác
* Chi tiết về bộ nhớ RAM trên chip:
Nh ta đã thấy trên hình sau, RAM bên trong 8051 / 8031 đợc phân chiagiữa các bank thanh ghi (00H-1FH), RAM địa chỉ hoá từng bit (20H-2FH),RAM đa dụng (30H-7FH) và các thanh ghi chức năng đặc biệt (80H - FFH)
Bộ nhớ ch
ơng trình
đ ợc chọn qua PSEN
FFFF
0000
Bộ nhớ dữ liệu đ ợc chọn qua
WR và RD
FFFF
0000 FF
00
Trang 37a RAM đa dụng:
302F2E2D2C2B2A292827262524232221201F1817100F080700
RAM đa dụng
Bảng tóm tắt bản đồ vùng nhớ trên chip data 8051
Trang 38Địa chỉ byte Địa chỉ bit
9F 9E 9D 9C 9B 9A 99 98 SCON
97 96 95 94 93 92 91 90 P1
TH1 TH0 TL1 TL0 TMOD
Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable 8F 8E 8D 8C 8B 8A 89 88 TCON
DPH DPL SP
Not bit addressable Not bit addressable Not bit addressable
b RAM địa chỉ hoá từng bit:
8051 / 8031 chứa 210 bit đợc địa chỉ hoá, trong đó 128 bit là ở các địachỉ byte 20H đến 2FH và phần còn lại trong các thanh ghi chức năng đặc biệt
Trang 39ý tởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiệnlợi của vi điều khiển nói chung Các bit có thể đợc đặt, xoá, AND, OR,… vớimột lệnh đơn Đa số các địa chỉ xử lý đòi hỏi một chuỗi lệnh đọc – sửa –ghi để đạt đợc hiệu quả tơng tự Hơn nữa các port I/O cũng đợc địa chỉ từngbit làm đơn giản phần mềm xuất nhập từng bit.
Có 128 bit đợc địa chỉ hoá đa dụng ở các byte 20H đến 2FH Các địachỉ này đợc truy xuất nh các byte hoặc các bit phụ thuộc vào lệnh đợc dùng
Ví dụ, để đặt bit 67H, ta dùng lệnh:
SETB 67H
Chú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở địa chỉbyte 2CH” lệnh trên sẽ không tác động đến các bit khác của địa chỉ này
c Các bank thanh ghi:
32 byte thấp nhất của bộ nhớ nội là dành cho các thanh ghi Bộ lệnh của
8051 / 8031 hỗ trợ 8 thanh ghi (R0 đến R7) và theo mặc định (sau khi reset hệthống) các thanh ghi này ở các địa chỉ 00H- 07H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơncác lệnh tơng ứng nhng địa chỉ trực tiếp Các giá trị dữ liệu đợc dùng thờngxuyên nên dùng một trong các thanh ghi này
Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bitchọn bank thanh ghi trong từ trạng thái chơng trình (PSW) Giả sử rằng bankthanh ghi 3 đợc tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích luỹ vào
địa chỉ 18H:
MOV R0, A
ý tởng dùng “các bank thanh ghi” cho phép “chuyển hớng” chơng trìnhnhanh và hiệu quả (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghiriêng không phụ thuộc vào các phần khác)
Các thanh ghi chức năng đặc biệt
Các thanh ghi nội dung của 8051 / 8031 đợc truy xuất ngầm định bởi bộlệnh Ví dụ lệnh “INC A” sẽ tăng nội dung của thanh ghi tích luỹ A nên 1 Tác
động này đợc ngầm định trong mã lệnh
Các thanh ghi trong 8051 / 8031 đợc định dạng nh một phần của RAMtrên chip Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trựctiếp, sẽ không có lợi khi đặt chúng vào trong RAM trên chip) Đó là lý do để
Trang 40năng đặc biệt (SFR: Special Funtion Rgister) ở vùng trên của RAM nội, từ địachỉ 80H đến FFH Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH không đợc
định nghĩa Chỉ có 21 địa chỉ SFR là đợc định nghĩa
Ngoại trừ tích luỹ (A) có thể đợc truy xuất ngầm nh đã nói, đa số cácSFR đợc truy xuất dùng địa chỉ trực tiếp Chú ý rằng một vài SFR có thể đợc
địa chỉ bit hoặc byte Ngời thiết kế phải thận trọng khi truy xuất bit hoặc byte
Ví dụ lệnh sau:
SETB 0E0H
Sẽ Set bit 0 trong thanh ghi tích luỹ, các bit không thay đổi Ta thấyrằng E0H đồng thời là địa chỉ byte của thanh ghi tích luỹ và là địa chỉ bit cótrọng số nhỏ nhất trong thanh ghi tích luỹ Vì lệnh SETB chỉ tác động trên bit,nên chỉ có địa chỉ bit là có hiệu quả
OVP
D7HD6HD5HD4HD3H
D2HD1HD0H
Cờ nhớ
Cờ nhớ phụ
Cờ 0Bit 1 chọn bank thanh ghiBit chọn bank thanh ghi00=bank 0; địa chỉ 00H-07H01=bank 1: địa chỉ 08H-0FH10=bank 2: địa chỉ 10H-17H11=bank 3: địa chỉ 18H-1FH