Xem mẫu

  1.   ĐỀ TÀI Tìm hiểu về vi điều khiển 89S52. Thiết kế mô hình đo và khống chế nhiệt độ hiển thị trên led 7 thanh Giáo viên hướng dẫn : Hoàng Văn Quang Sinh viên thực hiện : Tường Thị Thu Hằng
  2. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử MỤC LỤC Contents MỤC LỤC ............................................................................................................. 1 DANH SÁCH HÌNH VẼ ....................................................................................... 3 DANH SÁCH BẢNG BIỂU .................................................................................. 4 LỜI MỞ ĐẦU ....................................................................................................... 5 CHƯƠNG 1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN ............................................... 7 1.1 Khái quát về vi điều khiển ............................................................................ 7 1.1.1 Kiến trúc vi điều khiển ........................................................................... 7 1.1.2 Tập lệnh ................................................................................................. 8 1.1.3 Chức năng .............................................................................................. 8 1. 2 Các bộ vi điều khiển .................................................................................... 9 1.2.1 Các bộ vi điều khiển và các bộ xử lý nhúng............................................ 9 1.2.2 Định nghĩa bộ vi xử lý ............................................................................ 9 1.2.3 Các bộ vi điều khiển cho hệ thống nhúng ..............................................10 1.2.4 Các ứng dụng nhúng của PC86 ..............................................................12 1.2.5 Lựa chọn một bộ vi điều khiển ..............................................................12 1.3 Tìm hiểu chung về họ 8051.........................................................................13 1.3.1 Cấu trúc bus ..........................................................................................13 1.3.2 Bộ nhớ chương trình .............................................................................13 1.3.3 Bộ nhớ dữ liệu ......................................................................................14 1.4 Họ vi điều khiển 8051 .................................................................................14 1.4.1 Tóm tắt về lịch sử của 8051 ...................................................................14 1.4.2 Đặc tính vi điều khiển 8051 ..................................................................15 1.4.3 Sơ đồ khối chung của họ vi điều khiển 8051 ............................................16 1.4.4 Thành viên họ vi điều khiển 8051 .........................................................17 1.5 Các họ vi điều khiển khác ...........................................................................22 1.5.1 Họ vi điều khiển AMCC ........................................................................22 1.5.2 Họ vi điều khiển Cypress MicroSystems ..............................................22 1.5.3 Họ vi điều khiển Freescale Semiconductor ............................................23 1.5.4 Họ vi điều khiển Fujitsu .......................................................................23 1.5.5 Họ vi điều khiển Intel ...........................................................................23 1.5.6 Họ vi điều khiển Microchip ..................................................................24 1.5.7 Họ vi điều khiển National Semiconductor ............................................31 1.5.8 Họ vi điều khiển STMicroelectronics ...................................................31 1.5.9 Họ vi điều khiển Philips Semiconductors .............................................31 CHƯƠNG 2. TÌM HIỂU VỀ VI ĐIỀU KHIỂN 89S52 .........................................32 1
  3. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 2.1 Sơ đồ khối, sơ đồ chân của vi điều khiển 89S52 .........................................32 2.1.1 Giới thiệu sơ lược .................................................................................32 2.1.2 Cấu hình của 89S52 ...............................................................................32 2.1.3 Sơ đồ khối 89S52 .................................................................................33 2.1.4 Sơ đồ chân 89S52 ..................................................................................34 2.1.5 Chức năng các chân của AT89S52 ........................................................34 2.2 Tổ chức bộ nhớ bên trong 89S52 ................................................................39 2.3 Kết nối vi điều khiển với một số thiết bị ngoại vi đơn giản .........................48 2.3.1 VĐK giao tiếp led đơn và phím nhấn...................................................48 2.3.2 Kết nối VĐK với Rơle ..........................................................................49 2.3.4 Kết nối VĐK với ma trận led .................................................................54 CHƯƠNG 3. CÁC LINH KIỆN LIÊN QUAN .....................................................55 3.1 Led 7 thanh ..................................................................................................55 3.1.1 Các khái niệm cơ bản ...........................................................................55 3.1.2 Kết nối với vi điều khiển ......................................................................56 3 .2 Giới thiệu về IC ADC0804 .........................................................................57 3.2.1 Sơ đồ chân ADC0804 ............................................................................58 3.2.2 Chức năng các chân ADC0804 ..............................................................58 3.3 Giới thiệu về cảm biến LM35 .....................................................................61 3.3.1 Sơ đồ chân LM35 ..................................................................................62 CHƯƠNG 4. THIẾT KẾ MÔ HÌNH.....................................................................64 4.1 Lưu đồ thuật toán .........................................................................................64 4.3 Mạch nguyên lý và mạch in ........................................................................66 4.3.1 Mạch nguyên lý....................................................................................66 4.3.2 Mạch in ................................................................................................68 KẾT LUẬN ...........................................................................................................70 PHỤ LỤC .............................................................................................................75 2
  4. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử DANH SÁCH HÌNH VẼ Hình 1.1 Bố trí bên trong của sơ đồ khối 8051 ......................................................16 Hình 1.2 Kiến trúc Havard và kiến trúc Von-Neuman...........................................25 Hình 1.3 Cơ chế pipelining ...................................................................................27 Hình 2.1 Sơ đồ khối của bộ vi điều khiển AT89S52 ...........................................33 Hình 2.2 Sơ đồ chân của AT89S52 ......................................................................34 Hình 2.3 Sơ đồ Port 0...........................................................................................35 Hình 2.4 Sơ đồ Port 1...........................................................................................35 Hình 2.5 Sơ đồ Port 2...........................................................................................36 Hình 2.6 Mạch reset .............................................................................................38 Hình 2.7 Mạch dao động ......................................................................................38 Hình 2.8 VĐK giao tiếp led đơn và phím nhấn .....................................................48 Hình 2.9 VĐK giao tiếp rơle-5V ...........................................................................49 Hình 2.10 VĐK giao tiếp phím nhấn và LCD .......................................................53 Hình 2.11 VĐK giao tiếp với ma trận led .............................................................54 Hình 3.1 Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa .......................56 Hình 3.2 Sơ đồ chân ADC0804 ............................................................................58 Hình 3.3 Sơ đồ chân LM35 dạng TO-92 .............................................................62 Hình 4.1 Lưu đồ thuật toán ...................................................................................66 Hình 4.2 Sơ đồ mạch nguyên lý ............................................................................66 Hình 4.3 Sơ đồ mạch in ........................................................................................68 3
  5. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử DANH SÁCH BẢNG BIỂU Bảng 1.1 Các đặc tính của 8051 đầu tiên...............................................................15 Bảng 1.2 So sánh các đặc tính của các thành viên họ 8051 ..................................17 Bảng 1.3 Các phiên bản của 8051 từ Atmel (Flash ROM) ....................................19 Bảng 1.4 Các phiên bản 8051 với tốc độ khác nhau của Atmel .............................20 Bảng 1.5 Các phiên bản 8051 từ hãng Dallas Semiconductor ...............................20 Bảng 2.1 Một số thành viên của họ 8051 .............................................................21 Bảng 2.2 Các chức năng của Port 3 ......................................................................36 Bảng 2.3 Bit chọn Bank thanh ghi........................................................................42 Bảng 2.4 Bảng vector ngắt của 8051 .....................................................................44 Bảng 2.5 Thanh ghi cho phép ngắt IE ...................................................................45 Bảng 2.6 Tóm tắt thanhh ghi chức năng TMOD ...................................................47 Bảng 1.13 Bảng mã của Led Anode chung (các led đơn sáng ở mức 0) ................50 Bảng 1.14 Bảng mã của Led Cathode chung (các led đơn sáng ở mức 1) ..............51 Bảng 2.2 Quan hệ điện áp V ref/2 với Vin ............................................................61 4
  6. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử LỜI MỞ ĐẦU Ngày nay, việc ứng dụng những thành tựu của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một phát triển, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Sau gần 3 năm học tập và nghiên cứu ở trường, em đã được làm quen với các môn học chuyên ngành,em đã dùng vi điều khiển để ” Tìm hiểu về vi điều khiển 89S52. Thiết kế mô hình đo và khống chế nhiệt độ hiển thị trên led 7 thanh.” Mặc dù đã rất cố gắng thiết kế và hoàn thành đồ án đúng thời hạn nhưng do thời gian ngắn và năng lực còn hạn chế nên vẫn còn những sai sót. Em mong thầy giáo góp ý để việc học tập của em được tốt hơn. Em xin chân thành cảm ơn! 5
  7. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử Nội dung quyển đồ án bao gồ m các chương: Chương 1. Tổng quan về vi điều khiển Chương 2. Tìm hiểu về vi điều khiển 89S52 Chương 3. Các linh kiện liên quan Chương 4. Thiết kế Sản phẩ m là một mạch đo và khống chế nhiệt độ hiển thị trên led 7 thanh sử dụng vi điều khiển 89S52. Trong quá trình thực hiện đề tài này do điều kiện còn hạn hẹp nên đề tài này không tránh khỏi những thiếu sót rất mong nhận được những ý kiến đóng góp của tất cả các thầy cô và các bạn những ai quan tâm đến lĩnh vực này. Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong khoa Điện Tử - Đ H Công Nghiệp Hà Nội đã giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý báu và tạo điều kiện tốt nhất cho em được học tập và nghiên cứu tại trường. Cuối cùng em xin chân thành cảm ơn thầy Hoàng Văn Quang giảng viên Khoa Điện Tử-ĐH Công Nghiệp Hà Nội đã hướng dẫn và giúp đỡ nhiệt tình em trong quá trình thực hiện đồ án. Hà Nội tháng 6/2012 Sinh viên thực hiện Tường Thị Thu Hằng 6
  8. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử CHƯƠNG 1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 Khái quát về vi điều khiển Năm 1976, hãng Intel giới thiệu bộ vi điều khiển 8748-mở đầu cho họ vi điều khiển MCU-48. 8747 là một vi mạch chứa hơn 17.000 transistor bao gồm CPU,1kbyte bộ nhớ ROM, 64KB RAM, một bộ đế m/định thời 8 bit và 27 chân vào/ra. Vi điều khiển (MCU-viết tắt của cụm từ ‘Micro Control Unit’) có thể được coi như một máy tính thu nhỏ trên một chíp, nó còn có thể hoạt động với một vài linh kiện phụ trợ ở bên ngoài, sau 8748, các bộ vi điều khiển mới tiếp tục được các hãng sản xuất như Intel, Atmel, Simens…giới thiệu cho các ứng dụng nhúng. 1.1.1 Kiến trúc vi điều khiển Thực ra vi điều khiển cũng là một cấu trúc nhỏ, gồm các linh kiện điện tử ở kích thước micro hoặc nano, các linh kiện này được kết hợp với nhau và được nối với các thiết bị bên ngoài qua các chân vi điều khiển. Kiến trúc máy tính hay kiến trúc vi điều khiển cũng tương tự nhau. Do đó , các bạn có thể tìm hiểu về kiến trúc máy tính, để hiểu rõ về kiến trúc vi điều khiển. Hai kiến trúc vi điều khiển rất phổ biến hiện nay, là kiến trúc Von Neumann và kiến trúc Harvard. Sự khác biệt chủ yếu giữa hai kiến trúc này, chính là việc tổ chức bộ nhớ dữ liệu và bộ nhớ chương trình. Kiến trúc Von Neumann tổ chức bộ nhớ dữ liệu và bộ nhớ chương trình chung với nhau, chính vì vậy, đường truyền (bus) của kiến trúc Von Neumann là đường truyền chung. Trong khi đó, kiến trúc Harvard tách rời bộ nhớ dữ liệu và bộ nhớ chương trình. Mỗi kiến trúc này có một lợi điểm riêng rẽ khác nhau. Kiến trúc Von Neumann tận dụng được tài nguyên bộ nhớ, trong khi đó kiến trúc Harvard sẽ đạt 7
  9. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử tốc độ xử lý cao hơn, mặt khác đường truyền dữ liệu và đường truyền lệnh điều khiển (chương trình) có thể có dung lượng khác nhau. 1.1.2 Tập lệnh Tập lệnh ở đây được coi là tập mã lệnh nhị phân, Bản chất của tập lệnh là một tập hợp các mã nhị phân, mà từ đó các đơn vị xử lý trung tâm (CPU) nhận biết và thực hiện. Dữ liệu được CPU xử lý là các số nhị phân. Chính vì vậy, tập lệnh dù thế nào đi nữa cũng sẽ thực hiện các việc chính sau: - Tính toán các con số nhị phân. - Các lệnh để chuyển các giá trị ra thành tín hiệu điện tử ở chân linh kiện - Các lệnh di chuyển các giá trị giữa các thanh ghi - Các lệnh điều khiển con trỏ chương trình 1.1.3 Chức năng Hiện nay rất nhiều loại vi điều khiển ra đời, và rất nhiều tính năng được tích hợp vào trong vi điều khiển dưới dạng phần cứng. Tuy nhiên, tựu chung lại thì mọi việc cũng đều nằm ở việc điều khiển động cơ và đọc cảm biến. Một cánh cửa tự động là một cái cảm biến hồng ngoại và một cái động cơ. Đại đa số những gì tự động đều có dính đến động cơ trong đó, vì nếu không có động cơ thì làm sao mà nó biến đổi điện năng thành cơ năng .khi đó ta sẽ phải thiết kế một cảm biển để quan sát. Để biết được tính năng của từng loại vi điều khiển ta chọn phần datasheet nói tóm lại chức năng của vi điều khiển rất phong phú và đa dạng, Nên các bạn hay nghiên cứu thật kĩ trước khi mua về để phục vụ cái nhu cầu của mình đang cần. 8
  10. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 1. 2 Các bộ vi điều khiển 1.2.1 Các bộ vi điều khiển và các bộ xử lý nhúng Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển (VĐK) và so sánh chúng với các bộ vi xử lý cùng dạng chung như Pentium và các bộ vi xử lý 86 khác. Chúng ta sẽ cùng xem xét vai trò của các VĐK trong thị trường các sản phẩ m nhúng. Ngoài ra, chúng ta cung cấp một số tiêu chuẩn và cách lựa chọn một bộ VĐK như thế nào. 1.2.2 Định nghĩa bộ vi xử lý Bộ vi xử lý (VXL) ở đây là các bộ VXL công dụng chung như họ Intell 86(8086, 80286, 80386, Pentium hoặc họ Motorola 6800(68000, 68010, 68020, 68030…). Những bộ VXL này không có RAM, ROM và không có các cổng vào ra trên chip. Với lý do đó mà chúng được gọi chung đó là các bộ vi xử lý công dụng chung. Một nhà thiết kế hệ thống sử dụng một bộ VXL công dụng chung chẳng hạ n như Pentium hay 68040 phải bổ xung thêm RAM, ROM. Các cổng vào ra và các bộ định thời ngoài để làm cho chúng hoạt động được. mặc dù bổ xung thêm RAM, ROM và các cổng vào ra bên ngoài làm cho hệ thống cồng kềnh và đắt hơn, nhưng chúng có ưu điểm là linh hoạt chẳng hạn như người thiết kế có thể quyết định về số lượng RAM, Rom cà các cổng ra vào cần thiết phù hợp với bài toán trong tầm tay của mình. Điều này không thể có được đối với các bộ VĐK. Một bộ VĐK có một CPU ( một bộ VXL) cùng với một lượng cố định RAM, ROM, các cổng vào ra và một bộ định thời tất cả trên cùng một chip. Hay nói cách khác là bộ xử lý, RAM, ROM các cổng vào ra và bộ định thời đều được nhúng với nhau trên một chip; do vậy ngườ i thiết kế không thể bổ xung thêm bộ nhớ ngoài, cổng vào ra hoặc bộ định thời cho 9
  11. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử nó. Số lượng cố định của RAM, ROM trên chip và số các cổng vào – ra trong các bộ vi điều khiển làm cho chúng trở nên lý tưởng đối với nhiều ứng dụng mà trong đó giá thành và không gian lại hạn chế. Trong nhiều ứng dụng,ví dụ như bộ điều khiển TV từ xa thì không cần công suất tính toán của bộ VXL 486 hoặc thậm chí như 8086. Trong rất nhiều ứng dụng thì không gian nó chiếm, công suất nó tiêu tốn và giá thành trên một đơn vị là những cân nhắc nghiêm ngặt hơn nhiều so với công suất tính toán. Những ứng dụng thường yêu cầu một số thao tác vào – ra để đọc các tín hiệu và tắt – mở những bit nhất định. Vì lý do này mà một số người gọi các bộ xử lý này là IBP (“Itty - Bitty - Processor”), (tham khảo cuốn “Good things in small packages are Generating Big product opportunities” do Rick Grehan viết trên tạp BYTE tháng 9.1994; www.byte.com để biết về những trao đổi tuyệt vời về các bộ VĐK). Điều thú vị là một số nhà sản xuất các bộ VĐK đã đi xa hơn là tích hợp cả một bộ chuyển đổi ADC và các ngoại vi khác vào trong bộ VĐK. 1.2.3 Các bộ vi điều khiển cho hệ thống nhúng Trong tài liệu về các bộ vi xử lý ta thường thấy khái niệm hệ thống nhúng. Các bộ vi xử lý và các bộ vi điều khiển được sử dụng rộng rãi trong các sản phẩm hệ thống nhúng. Một sản phẩ m nhúng sử dụng một bộ vi xử lý và chỉ một mà thôi.một máy in là một ví dụ về một việc nhúng vì bộ xử lý bên trong nó chỉ làm một việc đó là nhận dữ liệu và in nó ra.  Định nghĩa về hệ thống nhúng (embedded system) Hệ thống nhúng là hệ thống xử lý thông tin được nhúng vào trong một sản phẩm lớn hơn và bình thường người dùng không thấy nó một cách trực tiếp [1]. 10
  12. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử Hệ thống tính toán nhúng (embedded computing system) là hệ thống tính toán được nhúng trong thiết bị điện tử (hầu như là các hệ thống tính toán khác máy tính) [2]. Thông thường các hệ thống nhúng là những ứng dụng đơn chức năng [3]. Hệ thống nhúng là hệ thống mà chức năng chính của nó không chỉ có tính toán mà được điều khiển bởi máy tính được nhúng trong nó [4]. Trong các định nghĩa trên, chúng ta thấy định nghĩa thứ nhất có thể mô tả tổng quát về hệ thống nhúng. Ngày nay các hệ thống nhúng ở khắp nơi, chúng xuất hiện trong nhà, văn phòng, nhà máy, xe hơi, bệnh viện,…  Những đặc tính chung của các hệ thống nhúng Các hệ thống nhúng có các đặc tính chung sau: [1] Thường thì các hệ thống nhúng được nối với môi trường vật lý qua các cảm biến để thu thập thông tin từ môi trường đó và qua các bộ điều khiển/tác động để điều khiển môi trường. Các hệ thống nhúng phải tin cậy được. “Tin cậy được” bao gồm độ tin cậy, tính bảo trì, tính khả dụng, an toàn và bảo mật. Các hệ thống nhúng phải có hiệu suất cao. Để đánh giá hiệu suất, người ta dựa vào các tiêu chí sau: năng lượng, kích thước mã chương trình/tài nguyên sử dụng, hiệu suất lúc chạy thật (run-time efficiency), khối lượng và giá. Dành riêng cho ứng dụng cụ thể. Thí dụ bộ xử lý chạy chương trình điều khiển trong xe hơi sẽ luôn luôn chạy chương trình mà không chuyển sang chương trình khác. Hầu hết các hệ thống nhúng không dùng bàn phím, chuột hay màn mình để giao tiếp với người dùng. Thay vào đó, chúng có các giao tiếp dành riêng cho người dùng như các nút nhấn, bàn đạp… Nhiều hệ thống nhúng phải thỏa các ràng buộc thời gian thực. 11
  13. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử Nhiều hệ thống nhúng là những hệ thống hỗn hợp (hybrid systems)theo nghĩa gồm cả hai phần analog và số. Các hệ thống nhúng là những hệ thống có phản ứng lại (reactive systems). Chúng có thể được định nghĩa như sau: hệ thống có phản ứng lại là hệ thống mà có tương tác liên tục với môi trường của nó và thực thi với tốc độ được xác định bởi môi trường đó [Bergé et al., 1995]. Thật ra không phải mọi hệ thống nhúng sẽ có tất cả các đặc tính trên. Chúng ta cũng có thể định nghĩa thuật ngữ “hệ thống nhúng” theo cách sau: Những hệ thống xử lý thông tin thỏa phần lớn các đặc tính trên được gọi là những hệ thống nhúng. 1.2.4 Các ứng dụng nhúng của PC86 Chúng ta có thể thấy các hệ thống nhúng trong nhiều lãnh vực:  Điện tử gia dụng: máy giặt, tủ lạnh, máy chụp hình số  Điện tử ô-tô: hệ điều khiển động cơ, hệ điều khiển thắng, hệ GPS  Điện tử trong máy bay: hệ thông tin cho phi công, hệ chống va chạm  Điện tử y sinh: đo nhiệt độ, ECG, chẩn đoán từ xa  Xe lửa: hệ tự lái, hệ thắng  Viễn thông: điện thoại di động, hệ thống tổng đài, điều khiển ăng-ten, thiết bị GPS.  Các ngôi nhà thông minh: tiết kiệm năng lượng, điều khiển nhiệt độ, chiếu sáng Các hệ thống nhúng tạo cơ sở cho kỷ nguyên hậu PC (post-PC era), các hệ thống xử lý thông tin chuyển dần từ PC sang hệ thống nhúng cho các ứng dụng cụ thể. 1.2.5 Lựa chọn một bộ vi điều khiển Có 4 bộ VĐK 8 bít chính. Đó là 6811 c ủa Motorola, 8051 của Intel và Pic 16 của Microchip. Mỗi một kiểu loại trên đây đều có một tệp lệnh và thanh ghi riêng duy nhất, nếu chúng đều không tương tích lẫn nhau. Cũng có những bộ VĐK 16 bit và 12
  14. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 32 bit được sản xuất bởi các hãng sản xuất chíp khác nhau. Với tất cả những bộ vi điều khiển khác nhau như thế này thì lấy gì làm tiêu chuẩn lựa chọn mà các nhà thiết kế phải cân nhắc? có 3 tiêu chuẩn để lựa chọn các bộ vi điều khiển là: 1- Đáp ứng nhu cầu tính toán của bài toán một cách hiệu quả về mặt giá thành và đầy đủ chức năng có thể nhìn thấy được. 2- Có sẵn các công cụ phát triển phần mềm chẳng hạn như các trình biên dịch, trình hợp ngữ và gỡ rối. 3- Nguồn các bộ vi điều khiển có sẵn nhiều và tin cậy. 1.3 Tìm hiểu chung về họ 8051 1.3.1 Cấu trúc bus Bus địa chỉ của họ vi điều khiển 8051 gồ m 16 đường tín hiệu (thường gọi là bus địa chỉ 16 bit) với lượng bit địa chỉ như vậy, không gian nhớ của nó có thể mở rộng tối đa đên 2^16=65536 địa chỉ tương đương 64K. Bus dữ liệu của họ 8051 gồ m 8 đường tín hiệu (thường gọi là dữ liệu 8 bit), đó là lí do vì sao nói 8051 là họ vi điều khiển 8 bit. Với độ rộng của bus dữ liệu như vậy, các chip họ 8051 có thể xử lí được các toán hạng 8 bit trong 1 chu kì lệnh. 1.3.2 Bộ nhớ chương trình Vi điều khiển họ 8051 có không gian nhớ là 64K địa chỉ, đó cũng là bộ nhớ chương trình lớn nhất mà mỗi chip thuộc họ này có được. Bộ nhớ chương trình của các chip thuộc họ 8051 có thể thuộc loại ROM, EPROM, Flash, hoặc không có bộ nhớ chương trình bên trong chip, tên của chip thể hiện bộ nhớ chương trình mà nó chứa bên trong . 13
  15. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 1.3.3 Bộ nhớ dữ liệu Bộ nhớ SRAM được tích hợp bên trong mọi chip thuộc họ này, có dung lượng khác nhau tùy loại chip nhưng thường thì chỉ khoảng vài trăm byte. Đây chính là nơi chứa các biến trung gian trong quá trình hoạt động của chip. Khi mất điện do bản chất của SRAM mà các giá trị này cũng mất theo. Bên cạnh bộ nhớ loại SRAM thì một số chip thuộc họ 8051 còn có thêm bộ nhớ EEPROM với dung lượng tối đa vài Kbyte tùy từng loại chip cụ thể. 1.4 Họ vi điều khiển 8051 1.4.1 Tóm tắt về lịch sử của 8051 Vào năm 1981, hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM, hai bộ định thời, một cổng nối tiếp và 4 cổng 8 bit. Tất cả đều được tích hợp trên một chip. Lúc bấy giờ, bộ vi điều khiển như vậy được coi là một “hệ thống trên chip”. 8051 là một bộ xử lý 8 bit, tức là CPU chỉ có thể làm việc với 8 bit dữ liệu. Dữ liệu lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lý.8051 có tất cả 4 cổng I/O mỗi cổng rộng 8 bit, có thể có một ROM trên chip cực đại là 64 Kbyte. Tuy nhiên, lúc đó các nhà sản xuất đã cho xuất xưởng chỉ với 4 Kbyte ROM trên chip. 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ thích với điều kiện họ phải để mã chương trình tương thích với 8051. Từ đó dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau. Tuy nhiên, điều quan trọng là mặc dù có nhiều biến thể của 8051, như khác nhau về tốc độ và dung lượng nhớ ROM trên chip, nhưng tất cả các lệnh đều tương thích với 8051 ban đầu. Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào. 14
  16. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 1.4.2 Đặc tính vi điều khiển 8051 Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051.Hãng Intel ký hiệ u nó như là MCS51. Bảng 1.1 Các đặc tính của 8051 đầu tiên Interrupt control: Điều khiển ngắt. Other registes: Các thanh ghi khác. 128 Byte RAM: RAM 128 Byte. Timer 0, 1, 2: Bộ định thời 0, 1, 2. CPU: Đơn vị điều khiển trung tâm. Oscillator: Mạch dao động. Bus control: Điều khiển Bus. I/O ports: Các ports vào/ra. 15
  17. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử Serial port: Port nối tiếp. Address/data: Địa chỉ/dữ liệu. 1.4.3 Sơ đồ khối chung của họ vi điều khiển 8051 Hình 1.1 Bố trí bên trong của sơ đồ khối 8051 16
  18. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử 1.4.4 Thành viên họ vi điều khiển 8051  Bộ vi điều khiển 8052 Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8952 có tất cả đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một bộ định thời nữa. Hay nói cách khác là 8052 có 256 byte RAM 3 bộ định thời và có 8 Kbyte ROM trên chip thay vì 4 Kbyte như 8051. Bảng 1.2 So sánh các đặc tính của các thành viên họ 8051 Như nhìn thấy từ bảng 1.2 thì 8051 là tập con của 8052, do vậy tất cả mọ i chương trình viết cho 8051 đều chạy trên 8052 nhưng điều ngược lại là không đúng.  Bộ vi điều khiển 8031 17
  19. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử Một thành viên khác nữa của 8051 là chip 8031. Chip này thường được coi như là 8051 không có ROM trên chip vì nó có 0 Kbyte ROM trên chip. Để sử dụng chip này ta phải bổ xung ROM ngoài cho nó.ROM ngoài phải chứa chương trình mà 8031 sẽ nạp và thực hiện.So với 8051 mà chương trình được chứa trong ROM trên chip bị giới hạn bởi 4 Kbyte, còn ROM ngoài chứa chương trình được gắn vào 8031 thì có thể lớn đến 64 Kbyte. Khi bổ xung cổng, như vậy chỉ còn lại 2 cổng để thao tác. Để giải quyết vấn đề này ta có thể bổ xung cổng vào – ra cho 8031. Phối phép 8031 với bộ nhớ và cổng vào – ra chẳng hạn với chip 8255. Ngoài ra còn có các phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau.  Các bộ vi điều khiển 8051 từ các hãng khác nhau Mặc dù 8051 là thành viên phổ biến nhất của họ 8051 nhưng chúng ta sẽ thấy nó trong kho linh kiện. Đó là do 8051 có dưới nhiều dạng kiểu bộ nhớ khác nhau như UV – PROM, Flash và NV– RAM mà chúng đều có số đăng ký linh kiện khác nhau. Phiên bản Flash ROM được bán bởi nhiều hãng khác nhau chẳng hạn của Atmel corp với tên gọi là AT89C51 còn phiên bản NV – RAM của 8051 do Dalas Semi Conductor cung cấp thì được gọi là DS5000. Ngoài ra còn có phiên bản OTP (khả trình một lần) của 8051 được sản xuất bởi rất nhiều hãng.  Bộ vi điều khiển 8751 Chip 8751 chỉ có 4 Kbyte bộ nhớ UV – EPROM trên chip. Để sử dụng chip này để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xóa UV – EPROM để xóa nội dung của bộ nhớ UV – EPROM bên trong 8751 trước khi ta có thể lập trình lại nó. Do một thực tế là ROM trên chip đối với 8751 là UV – EPROM nên cần phải mất 20 phút để xóa 8751 trước khi nó có thể lập trình trở lại. Điều này đã dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản FLASH ROM và UV – RAM của 8751 từ nhiều hãng khác nhau. 18
  20. Trường ĐH Công Nghiệp Hà Nội Khoa Điện Tử  Bộ vi điều khiển AT8951 từ Atmel Corporation Chip 8051 phổ biến này có ROM trên chip ở dạng bộ nhớ Flash. Điều này là lý tưởng đối với những phát triển nhanh vì bộ nhớ Flash có thể được xóa trong vài giây trong tương quan so với 20 phút hoặc hơn mà 8751 yêu cầu. Vì lý do này mà AT89C51 để phát triển một hệ thống dựa trên bộ vi điều khiển yêu cầu một bộ đốt ROM mà có hỗ trợ bộ nhớ Flash. Tuy nhiên lại không yêu cầu bộ xóa ROM. Lưu ý rằng trong bộ nhớ Flash ta phải xóa toàn bộ nội dung của ROM nhằ m để lập trình lại cho nó. Việc xóa bộ nhớ Flash được thực hiện bởi chính bộ đốt PROM và đây chính là lý do tại sao lại không cần đến bộ xoá. Để loại trừ nhu cầu đối với một bộ đốt PROM hãng Atmel đang nghiên cứu một phiên bản của AT89C51 có thể được lập trình qua cổng truyền thông COM của máy tính IBM PC. Bảng 1.3 Các phiên bản của 8051 từ Atmel (Flash ROM) Chữ C trong ký hiệu AT89C51 là CMOS Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của những sản phẩm trên đây xem bảng 1.4. Ví dụ để ý rằng chữ “C” đứng trước số 51 trong AT89C51 – 12PC là ký hiệu cho CMOS “12” ký hiệu cho 12 MHz và “P” là kiểu đóng vỏ DIP và chữ “C” cuối cùng là ký hiệu cho thương mại (ngược với chữ “M” là quân sự). 19
nguon tai.lieu . vn