CẤU TRÚC VIĐIỀU KHIỂN Chương 1: Sơ lược vềvi xử lý Trong những thập niên cuối thế kỉ XX, từ sự ra đời của công nghệ bán dẫn, kĩ thuật điện tử đã có sự phát triển vượt bậc. Các thiết bị điện tử sau đó đã được tích hợp với mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy các thiết bị điện tử nhỏ hơn và nhiều chức năng hơn. Các thiết bị điện tử ngày càng nhiều chức năng trong khi giá thành ngày càng rẻ hơn, chính v ì vậy điện tử có mặt khắp mọi nơi. Bước đột phá mới trong công nghệ điện tử, công ty trẻ tuổi Intel cho ra đời bộ vi xử lý đầu tiên. Đột phá ở chỗ: " Đó là một kết cấu logic mà có thể thay đổi chức năng của nó bằng chương trình ngoài ch ứ không phát triển theo hướng tạo một cấu trúc phần cứng chỉ thực hiện theo một số chức năng nhất định như trước đây "(trích từ dòng 17 đến 19, trang 3, 'Kĩ thuật VI XỬ LÝ và lập trình ASSEMBLY cho hệ vi xử lý', tác giả Đỗ Xuân Tiến, nhà xuất bản Khoa học và kĩ thuật). Tức là phần cứng chỉ đóng vai trò thứ yếu, phần mềm (chương trình) đóng vai trò chủ đạo đối với các chức năng cần thực hiện. Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng của mình. Ngày nay vi xử lý có tốc độ tính toán rất cao và khả năng xử lý rất lớn. Vi xử lý có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và xuất dữ liệu ra ngoài sau khi đã xử lý. Và chức năng chính của Vi xử lý chính là xử lý dữ liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v Vi xử lý không có khả năng giao tiếp trực tiếp với các thiết bị ngoại vi, nó chỉ có khả năng nhận và xử lý dữ liệu mà thôi. Để vi xử lý hoạt động cần có chương trình kèm theo, các chương trình này điều khiển các mạch logic và từ đó vi xử lý xử lý các dữ liệu cần thiết theo yêu cầu. Chương trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh được lưu trữ trong bộ nhớ, công việc thực hành lệnh bao gồm: nhận lệnh từ bộ nhớ, giải mã l ệnh và thực hiện lệnh sau khi đã giải mã. Để thực hiện các công việc với các thiết bị cuối cùng, chẳng hạn điều khiển động cơ, hiển thị kí tự trên màn hình đòi hỏi phải kết hợp vi xử lý với các mạch điện giao tiếp với bên ngoài được gọi là các thiết bị I/O (nhập/xuất) hay còn gọi là các thiết bị ngoại vi. Bản thân các vi xử lý khi đứng một mình không có nhiều hiệu quả sử dụng, nhưng khi là một phần của một máy tính, thì hi ệu quả ứng dụng của Vi xử lý là rất lớn. Vi xử lý kết hợp với các thiết bị khác được sử trong các hệ thống lớn, phức tạp đòi hỏi phải xử lý một lượng lớn các phép tính phức tạp, có tốc độ nhanh. Chẳng hạn như các hệ thống sản xuất tự động trong công nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.v 1.1.2.Từ Vi xử lý đến Vi điều khiển Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đ òi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì c ũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc. Để kết nối các khối này đ òi hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ. Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào m ột IC duy nhất được gọi là Microcontroller-Vi điều khiển. Viđiều khiển có khả năng tương tự như khả năng của vi xử lý, nhưng cấu trúc phần cứng dành cho người dùng đơn giản hơn nhiều. Viđiều khiển ra đời mang lại sự tiện lợi đối với người d ùng, họ không cần nắm vững một khối lượng kiến thức quá lớn như người dùng vi x ử lý, kết cấu mạch điện dành cho người dùng cũng trở nên đơn giản hơn nhiều và có khả năng giao tiếp trực tiếp với các thiết bị bên ngoài. Viđiều khiển tuy được xây dựng với phần cứng d ành cho người sử dụng đơn giản hơn, nhưng thay vào lợi điểm này là kh ả năng xử lý bị giới hạn (tốc độ xử lý chậm hơn và khả năng tính toán ít hơn, dung lượng chương trình bị giới hạn). Thay vào đó, Viđiều khiển có giá th ành rẻ hơn nhiều so với vi xử lý, việc sử dụng đơn giản, do đó nó được ứng dụng rộng r ãi vào nhiều ứng dụng có chức năng đơn giản, không đòi hỏi tính toán phức tạp. Viđiều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức năng đơn giản, trong máy giặt, ôtô v.v Năm 1976 Intel giới thiệu bộ viđiều khiển (microcontroller) 8748, một chip tương tự như các bộ vi xử lý và là chip đầu tiên trong h ọ MCS-48. Độ phức tạp, kích thước và khả năng của Viđiều khiển tăng th êm một bậc quan trọng vào năm 1980 khi intel tung ra chip 8051, bộ Viđiều khiển đầu tiên của họ MCS-51 và là chu ẩn công nghệ cho nhiều họ Viđiều khiển được sản xuất sau này. Sau đó rất nhiều họ Viđiều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra thị trường với tính năng được cải tiến ngày càng mạnh. 1.1.3.HỌ MSC-51 Hiện nay có rất nhiều họ Viđiều khiển trên thị trường với nhiều ứng dụng khác nhau, trong đó họ Viđiều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới và ở Việt nam. Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của họ viđiều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất n hập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó l à sự ra đời của chip 8052,8053,8055 với nhiều tính năng được cải tiến Hiện nay Intel không còn cung cấp các loại Viđiều khiển họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC- 51. Chip Viđiều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Viđiều khiển của h ãng Atmel với nhiều chủng loại viđiều khiển khác nhau. Hãng Atmel có các chip Viđiều khiển có tính năng tương tự như chip Viđiều khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất. M ã số 80 chuyển thành 89, ch ẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã s ố đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là 89C51,89C53,89C55. Viđiều khiển Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người d ùng. Bảng 1 Dung lượng RAM Dung lượng ROM Chế độ nạp 89C51 128 byte 4 Kbyte song song 89C52 128 byte 8 Kbyte song song 89C53 128 byte 12 Kbyte song song 89C55 128 byte 20 Kbyte song song Sau kho ảng thời gian cải tiến và phát triển, hãng Atmel tung ra th ị trường dòng Viđiều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp chương trình theo ch ế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng. Bảng 2 Dung lượng RAM Dung lượng ROM Chế độ nạp 89S51 128 byte 4 Kbyte nối tiếp 89S52 128 byte 8 Kbyte nối tiếp 89S53 128 byte 12 Kbyte nối tiếp 89S55 128 byte 20 Kbyte nối tiếp Tất cả các Viđiều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối cao hơn, các Vi điều khiển sau n ày có nhiều tính năng vượt trội hơn Viđiều khiển thế hệ trước. Các Viđiều khiển 89Cxx như trong bảng 1 có cấu tạoROM và RAM như 98Sxx trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối tiếp. Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều khiển với nhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v các sách này đều hướng dẫn cụ thể về phần cứng cũng như cách thức lập tr ình. Chương trình phần mềm dành cho các Vi điều khiển này là như nhau, vì vậy bạn có thể tham khảo thêm vềViđiều khiển ở các sách n ày. Các ph ần thực hành trên phần cứng thực tế, chúng tôi sẽ cùng các b ạn thực hành với Viđiều khiển 89S52 (Mã đầy đủ:AT89S52; AT là viết tắt của nhà sản xuất ATMEL) vì : Các Viđiều khiển 89Sxx được cải tiến từ dòng 89Cxx Chương trình viết dành cho 89Cxx đều chạy được với 89Sxx 89Sxx rẻ hơn 89Cxx 89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay tr ên bo mạch mà không cần tháo chip viđiều khiển sang mạch khác để nạp chương trình và nhiều tính năng cải tiến khác. . năm 19 80 Intel công bố chíp 80 51( 80C 51) , bộ vi điều khiển đầu tiên của họ vi điều khiển MCS- 51. Nó bao gồm 4KB ROM, 12 8 byte RAM, 32 đường xuất n hập, 1 port nối tiếp và 2 bộ định thời 16 bit mạnh. 1. 1.3.HỌ MSC- 51 Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác nhau, trong đó họ Vi điều khiển họ MCS- 51 được sử dụng rất rộng rãi trên thế giới và ở Vi t. nghiệp, các tổng đài điện thoại, hoặc ở các robot có khả năng hoạt động phức tạp v.v 1. 1.2.Từ Vi xử lý đến Vi điều khiển Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng