đồ án Tốt Nghiệp Mạch Kit Thí Nghiệm Dùng Vi điều Khiển AVR - 123doc
Có thể bạn quan tâm
- Trang chủ >>
- Kỹ thuật >>
- Điện - Điện tử - Viễn thông
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 59 trang )
Đồ án tốt nghiệpLời nói đầuNgày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật điện tử. Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng.Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin. Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển là điều mà các sinh viên chuyên ngành điện tử phải hết sức quan tâm. Đó chính là một nhu cầu cần thiết và cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhu cầu đó.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. Phần công việc xử lý chính vẫn phụ thuộc vào con người, đó chính là chương trình hay phần mềm. Nếu không có sự tham gia của con người thì hệ thống vi điều khiển cũng chỉ là một vật vô tri. Do vậy khi nói đến vi điều khiển cũng giống như máy tính bao gồm 2 phần là phần cứng và phần mềm.Để tìm hiểu bộ vi điều khiển một cách khoa học và mang lại hiệu quả cao làm nền tản cho việc tìm hiểu sâu hơn những hệ thống tối tân hơn. Việc trang bị những kiến thức căn bản về vi điều khiển cho sinh viên là hết sức cần thiết. Xuất phát từ thực tiển này chúng em đã đi đến quyết định Thiết kế mạch KIT thực hành cho vi điều khiển AVR nhằm đáp ứng nhu cầu ham muốn học hỏi của bản thân và giúp cho các bạn sinh viên dễ tiếp cận và tìm hiểu sâu hơn về vi điều khiển.Trong quá trình thực hiện đề tài vẫn còn nhiều khiếm khuyết, nhóm chúng em mong nhận được nhiều ý kiến đóng góp từ thầy cô và các bạn. Chúng em chân thành cảm ơn các thầy cô trong Viện Điện Tử – Viễn Thông, ĐH Bách Khoa Hà Nội, đặc biệt là TS Nguyễn Thị Kim Thoa đã giúp đỡ chúng em rất nhiều trong quá trình thực hiện đồ án và anh Nguyễn Trường Thế đã góp ý giúp chúng em hoàn thiện sản phẩm này.Em xin chân thành cảm ơn!1Đồ án tốt nghiệpMục lụcLời nói đầu 1TÓM TẮT ĐỒ ÁN 41. Tên đề tài: 42. Sinh viên thực hiện: 43. Giảng viên hướng dẫn: 44. Mục tiêu: 45. Nội dung chính: 46. Kết quả chính cần đạt được: 4CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 6I. GIỚI THIỆU CHUNG 6II. GIỚI THIỆU VỀ CÁC DÒNG VI ĐIỀU KHIỂN THÔNG DỤNG 8A : VI ĐIỀU KHIỂN AVR 81: GIỚI THIỆU 82: CẤU TẠO BÊN TRONG 11B : VI ĐIỀU KHIỂN 8051 181: GIỚI THIỆU 182: CẤU TẠO BÊN TRONG 8051 20C : VI ĐIỀU KHIỂN PIC 261: GIỚI THIỆU 262: CẤU TẠO BÊN TRONG 27CHƯƠNG 2: THIẾT KẾ MẠCH 311. Chọn phương án thiết kế 312. Xây dựng sơ đồ khối của bộ KIT 323. Sơ đồ nguyên lý các khối trong mạch 32Khối nguồn: 32Khối CPU: 33 Khối ma trận phím : 33Khối LCD : 34Khối LED 7 thanh : 352Đồ án tốt nghiệpKhối LED đơn : 37Khối Led ma trận: 37Khối giao tiếp PC: 38Khối đồng hồ thời gian thực: 39Khối Loa: 40Khối Rơle: 41Khối động cơ DC 414 Sơ đồ nguyên lý toàn mạch 435. Mạch in PCB 446. Giới thiệu một vài linh kiện được lựa chọn 466.1: IC MAX-232 466.2: Cảm biến nhiệt độ LM35 466.3: Tụ điện 476.4: Transistor 476.5: Điện trở 496.6: Ngoài ra còn 1 số loại linh kiện khác 49CHƯƠNG 3: MỘT SỐ BÀI THỰC HÀNH 51Bài 1. Chương trình hiển thị led đơn 51Bài 2. Chương trình hiển thị led 7 thanh 52Bài 3. Chương trình hiển thị led ma trận 53Bài 4. Chương trình hiển thị LCD 53Bài 5. Chương trình đọc thời gian từ DS1307 hiển thị LCD 54Bài 6 Chương trình dùng phím bấm điều khiển Led đơn 55CHƯƠNG 4: KẾT LUẬN 575.1. Ưu điểm của đề tài 575.2. Nhược điểm của đề tài 575.3. Hướng giải quyết nhược điểm và phát triển đề tài 573Đồ án tốt nghiệpTÓM TẮT ĐỒ ÁN1. Tên đề tài: Thiết kế mạch KIT thực hành cho vi điều khiển AVR2. Sinh viên thực hiện: Khóa: K563. Giảng viên hướng dẫn: 4. Mục tiêu:Về mặt kỹ thuật: Thiết kế hoàn chỉnh mạch phát triển thực hành cho AVR có thể chạy các chương trình cho các dòng vi điều khiển thông dụng AVR và có thể mở rộng để chạy một vài dòng vi điều khác 8051, PIC. Với đầy đủ các module cơ bản như: LCD, Led đơn, Led 7 thanh, Led Ma trận, Phím bấm đơn, Phím bấm ma trận, … để thực hành điều khiểnVề mặt thực tiễn: Sản phẩm có thể trở thành một thiết bị hỗ trợ công tác giảng dạy và học tập trong nhà trường, giúp sinh viên có thể tiếp cận việc học tập vi điều khiển một cách nhanh chóng và hiệu quả. Thay vì dùng phần mềm mô phỏng khi lập trình thì có thể nạp trực tiếp vào vi điều khiển để quan sát.5. Nội dung chính:Tìm hiểu về các dòng vi điều khiển, cấu trúc của chúng và cách sử dụng.Tìm hiểu các module thành phần, cách điều khiển các module, cách giao tiếp giữa module và vi điều khiển.Thiết kế chi tiết các module thành phần, ghép nối hệ thống vào mạch.Lập trình phần mềm, các bài tập thực hành, chạy thử và sửa lỗi.6. Kết quả chính cần đạt được:+ Phần cứng: Cấu hình phần cứng phải rõ ràng, dàn trải. Kích thước của thiết bị gọn nhẹ, dễ dàng di chuyển và bảo quản. Các thành phần của hệ vi điều khiển phải được thể hiện rõ ràng, dễ nhận biết. + Các thành phần của thiết bị: Có đầy đủ các thành phần cơ bản của một hệ vi điều khiển và các nguồn tài nguyên ngoại vi phong phú, cho phép người sử dụng có thể tự do phát triển các ứng dụng của mình:• Bộ vi xử lí trung tâm.4Đồ án tốt nghiệp• Các cổng vào/ra tương tự, vào/ra số, các cổng ghép nối ngoại vi mở rộng lập trình được.• Giao tiếp bàn phím.• Hiển thị LCD.• Hiển thị trạng thái bằng đèn LED .• Hiển thị LED 7 thanh.• Hiển thị ma trận LED (8x8).• Khối thời gian thực.• Khối điều khiển động cơ DC.• Khối chuyển đổi ADC, DAC.• Các đầu vào xung.• Khối âm thanh• Giao tiếp với máy tính PC qua cổng truyền thông nối tiếp (COM) và song song (LPT).+ Các bài thí nghiệm thực hiện trên thiết bị:• Các bài cơ bản: Giúp sinh viên làm quen với hệ lệnh của chip vi điều khiển, nhập các lệnh và chạy chương trình để xem kết quả thực hiện của các lệnh đó.• Các bài nâng cao: Gồm các bài thí nghiệm phức tạp hơn thực hiện việc điều khiển các thành phần ngoại vi trên thiết bị. Các bài thí nghiệm thực hiện việc điều khiển một quá trình tương tự hoặc số, ví dụ: Điều khiển hiển thị đèn LED, LED 7 thanh, ma trận LED, điều khiển vào/ra số - tương tự, điều khiển động cơ bước + Thực hiện các bài thí nghiệm:• Các bài tập mẫu xây dựng trước: Đi kèm với sản phẩm phần cứng là một hệ thống các bài tập mẫu được xây dựng cho các ứng dụng trên thiết bị như điều khiển các thành phần ngoại vi của thiết bị, điều khiển vào/ra tương tự - số Sinh viên có thể đọc hướng dẫn sử dụng và thực hiện các bài tập mẫu này trên thiết bị.• Các bài tập do sinh viên tự lập trình: Sau khi đã nắm rõ cấu hình của thiết bị và sơ đồ bộ nhớ của các thành phần trên thiết bị, sinh viên có thể tự lập trình các bài thí nghiệm theo ý định riêng của mình.+ Công cụ lập trình:• Bằng máy tính PC: Có thể sử dụng các công cụ phát triển ví dụ như phần mềm KEIL, CodevisionAVR, để lập các chương trình cho thiết bị từ máy tính bằng ngôn ngữ C hoặc Assembly sau đó biên dịch thành file dạng Hexa hoặc Binary rồi nạp xuống hệ vi điều khiển của thiết bị thực hiện các chương trình đó.5Đồ án tốt nghiệpCHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂNI. GIỚI THIỆU CHUNGBộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống. Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó. Trong các thiết bị điện và điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba … Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động. Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng. * Lịch sử phát triển của các bộ vi điều khiểnBộ vi điều khiển là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung. Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide-Semiconductor) , mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao. Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas Instruments vừa là nơi phát minh vừa là nhà sản xuất. Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận phụ trợ khác cần thiết như : bộ nhớ dữ liệu , bộ nhớ chương trình , bộ chuển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, hối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí. Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics). Mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048. Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên một chip. Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8bit tương tự như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48). Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip với tên gọi 8051. Và sau đó hàng loạt các vi điều khiển cùng loại với 8051 ra đời và hình thành họ vi điều khiển MCS-51 . Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty hàng dẫn hàng đầu thế giới chế tạo. Đứng đầu là công ty INTEL và rất nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS, OKI …* Một số loại vi điều khiển có trên thị trường: - VĐK MCS-51: 8031, 8032, 8051, 8052, . . . - VĐK ATMEL: 89Cxx, AT89Cxx51. . - VĐK AVR AT90Sxxxx, Atmega8/16/32/64, - VĐK PIC 16C5x, 17C43. . . 6Đồ án tốt nghiệp* Cấu trúc tổng quan của vi điều khiển: CPU: Là trái tim của hệ thống. Là nơi quản lí tất cả các hoạt động của VĐK. Bên trong CPU gồm: + ALU là bộ phận thao tác trên các dữ liệu + Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực hiện + Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi +Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi + Một tập các thanh ghi dùng để lưu thông tin tạm thời ROM: ROM là bộ nhớ dùng để lưu giữ chương trình. ROM còn dùng để chứa số liệu các bảng, các tham số hệ thống, các số liệu cố định của hệ thống. Trong quá trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình. RAM: RAM là bộ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử lí thông tin. Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu. BUS: BUS là các đường dẫn dùng để di chuyển dữ liệu. Bao gồm: bus địa chỉ, bus dữ liệu , và bus điều khiển Bộ định thời: Được sử dụng cho các mục đích chung về thời gian. Watchdog: Bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất thường”. ADC: Bộ phận chuyển tín hiệu analog sang tín hiệu digital. Các tín hiệu bên ngoài đi vào vi điều khiển thường ở dạng analog. ADC sẽ chuyển tín hiệu này về dạng tín hiệu digital mà vi điều khiển có thể hiểu được. 7Đồ án tốt nghiệpII. GIỚI THIỆU VỀ CÁC DÒNG VI ĐIỀU KHIỂN THÔNG DỤNGA : VI ĐIỀU KHIỂN AVR1: GIỚI THIỆU Lịch sử AVR là các vi điều khiển 8 bit RISC (Reduced Instruction Set Computer) có cấu trúc Harvard được phát triển bởi Atmel năm 1996. AVR là một trong những họ vi điều khiển đầu tiên dùng bộ nhớ flash tích hợp trên chip để chứa chương trình, khác với ROM (chỉ có thể lập trình một lần),EPROM, hay EEPROM được dùng cho các họ vi điều khiển khác cùng thời điểm đó. Các dòng chíp cơ bản (họ AVR thông thường được chia thành 4 dòng):a - tinyAVRs :1-8 kB bộ nhớ chương trình. 8-32-chân. Hạn chế các thiết bị ngoại vi. b – megaAVRs:4-256 kB bộ nhớ chương trình. 28-100-chân. Mở rộng tập lệnh. Nhiều thiết bị ngoại vi. c – XmegaAVRs: 16-256 kB bộ nhớ chương trình. 44-100-chân. mở rộng các thiết bị như DMA, "Event System", và hỗ trợ mã hóa . Mở rộng thiết bị ngoại vi với DACs. d - Application specific AVRs:MegaAVRs với các thành phần đặc biệt không có trong các sản phẩm khác của AVR như là LCD controller, USB controlller, PWN, CAN, v. v. . . FPSLIC (Field Programmable System Level Integrated Circuit), một nhân AVR với một FPGA. The FPSLIC dùng SRAM cho chương trình AVR, không giống như các dòng AVR khác. Do đó FPSLIC có thể chạy với xung nhịp 50MHz. 8Đồ án tốt nghiệp Một số chip AVR thông dụngAT90S1200AT90S2313 AT90S2323 and AT90S2343 AT90S2333 and AT90S4433AT90S4414 and AT90S8515 AT90S4434 and AT90S8535 AT90C8534ATtiny10, ATtiny11 and ATtiny12ATtiny15ATtiny22ATtiny26 ATtiny28 ATmega8/8515/8535ATmega16ATmega161ATmega162 ATmega163ATmega32 ATmega323 ATmega103ATmega64/128/2560/2561AT86RF401… 9Đồ án tốt nghiệp Sơ đồ khối cấu trúc AVR Để có được hiệu năng cao nhất và khả năng làm việc song song , AVR sử dụng cấu trúc Harvard – với sự phân chia bộ nhớ và các bus cho chương trình và dữ liệu . Các lệnh trong bộ nhớ chương trình thì được thực thi với 1 cấp sử lí liên lệnh đơn . Trong khi lệnh được đang được xử lí thì lệnh tiếp theo được nạp tiếp từ bộ nhớ chương trình . Khái niệm này kích hoạt lệnh để thực thi trong mỗi chu kì xung nhịp đồng hồ . Bộ nhớ chương trình là bộ nhớ flash có thể lập trình lại được ở trong hệ thống . Sự truy cập nhanh vào file của thanh ghi thì bao gồm 32*8 bít thanh ghi đa năng với 1 chu kì xung nhịp để quản lí thời gian . Điều này cho phép điểu khiển trong một chu kì đơn của đơn vị sử lí số học ALU . Thông thường trong hoạt động của ALU , 2 toán hạng địa chỉ được xuất ra từ file thanh ghi , quá trình điều khiển được thực thi và kết quả được lưu trữ lại trong thanh ghi file – trong mỗi chu kì xung nhịp . 10Đồ án tốt nghiệp2: CẤU TẠO BÊN TRONG2. 1 Cấu trúc bên trong11Đồ án tốt nghiệpLõi AVR bao gồm 1 tập hợp các lệnh cài đặt với 32 thanh ghi chung đa năng . Tất cả 32 thanh ghi thì được nối trực tiếp với khối số học và logic (ALU ) nó cho phép 2 thanh ghi độc lập được truy cập trong 1 lệnh thực thi trong một chu kì quét xung đồng hồ . kết quả của cấu trúc này là có nhiều kiểu chế độ hiệu quả hơn trong khi vẫn đạt được tốc độ tối đa nhanh hơn 10 lần các bộ vi sử lý CISC thông thường . Atmega 32 cung cấp các tính năng sau đây :+ Hiệu suất cao , tiết kiệm điện + Hoàn thiện cấu trúc RISC - 131 lệnh hiệu quả - thực thi tất cả các chu kì đồng hồ đơn - 32 * 8 thanh ghi chung đa năng + các thanh ghi điều khiển ngoại vi - Đầy đủ các quá trình điều khiển tĩnh - Nâng lên 16 MIPS dữ liệu tại 16 MHz - Chip 2 nhân + Độ bền , sức chịu đựng cao , không thay đổi phân vùng nhớ - 32K Bytes bộ nhở Flash có thể lập trình được trong hệ thống - 1K Bytes EEPROM - 1K Bytes bộ nhớ SRAM bên trong - Chu kì ghi/xóa : 10000 Flash / 100000 EEPROM - Độ bền dữ liệu 20 năm ở 85 độ / 100 năm ở 25 độ + Đặc điểm ngoại vi - 2 bộ Timer /counter 8 bit với bộ đếm gộp trước riêng biệt và chế độ so sánh mẫu - 1 bộ timer /counter 16 bit mở rộng với bộ đếm gộp trước chế độ so sánh mẫu và chế độ thu thập ( bắt dữ liệu ) - Bộ counter thời gian thực với bộ dao động ( oscillator ) riêng biệt - 4 kênh PWM 8 bit - 8 kênh , 10 bit ADC : 8 kênh đầu cuối đơn 7 kênh khác nhau ( vi phân )- Bit định hướng với 2 dây giao diện nối tiếp- Lập trình kép các USARTs nối tiếp - Giao diện nối tiếp SPI chủ tớ - Lập trình timer Watchdog với bộ dao động trên chip- Bộ so sánh tương tự trên chip + cổng vào ra và dạng đóng gói - 32 đường vào ra lập trình được - 40 chân PDIP, 44 chân TQFP và 44 khối QFN/MLF+ Điện áp hoạt động : 4,5 – 5,5 V + Mức tốc độ xung nhịp : 0 – 16 Mhz 12Đồ án tốt nghiệp2. 2 Cấu tạo chân Mô tả chức năng của các chânỞ đây chúng ta tìm hiểu chíp đóng vỏ 44 chân Atmega32 gồm có 4 port I/O: port A, port B, port C và port D. Port A gồm 8 chân từ PA0 đến PA7:là cổng vào tương tự cho chuyển đổi tương tự sang số. Nó cũng là cổng vào/ra hai hướng 8 bít trong trường hợp không sử dụng làm cổng chuyển đổi tương tự, có điện trở nối lên nguồn dương bên trong. Port A cung cấp đường địa chỉ dữ liệu vao/ra theo kiểu hợp kênh khi dùng bộ nhớ bên ngoài. Port B gồm 8 chân từ PB0 đến PB7:là cổng vào/ra hai hướng 8 bít, có điện trở kéo lên bên trong. Port B cung cấp các chức năng ứng với các tính năng đặc biệt của Atmega32. 13Đồ án tốt nghiệp Port C gồm các chân từ PC0 đến PC7:là cổng vào/ra hai hướng 8 bit, có điện trở nối lên nguồn dương bên trong. Port C cung cấp các địa chỉ lối ra khi sử dụng bộ nhớ bên ngoài và đồng thời cung cấp ứng với các tính năng đặc biệt của Atmega32. Port D gồm các chân từ PD0 đến PD7:là cổng vào/ra hai hướng 8 bit, có điện trở nối lên nguồn dương bên trong. Port D cung cấp các chức năng ứng với các tính năng đặc biệt của Atmega32. Chân nguồn Vcc: điện áp nguồn nuôi của Atmega32 từ 4. 5v đến 5. 5v. Chân Reset (chân số 4): reset trạng thái chip Chân GND: chân nối đất. Chân XTAL1,XTAL2 là hai chân nối thạch anh ngoài (chân số 7 và chân số 8): Atmega32 hỗ trợ sử dụng thạch anh ngoài lên tới16MHz (trong đồ án chúng em sử dụng thạch anh 8MHz) Chân ICP: là chân vào cho chức năng bắt tín hiệu cho bộ định thời/đếm 1. Chân OC1B: là chân ra cho chức năng so sánh lối ra bộ định thời/đếm 1. Chân INT1: chân ngõ vào ngắt. ATmega32 có các chế độ tiết kiệm năng lượng như sau: Chế độ nghỉ (Idle) CPU trong khi cho phép bộ truyền tin nối tiếp đồng bộ USART, giao tiếp 2 dây, chuyển đổi A/D, SRAM, bộ đếm bộ định thời, cổng SPI và hệ thống các ngắt vẫn hoạt động. Chế độ Power-down lưu giữ nội dung của các thanh ghi nhưng làm đông lạnh bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có ngắt ngoài hoặc là reset phần cứng. Chế độ Power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình sử dụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại là ngủ. Chế độ ADC Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ đồng bộ và ADC, tối thiểu hoá switching noise trong khi ADC đang hoạt động. Chế độ standby, bộ tạo dao động (thạch anh/bộ cộng hưởng) chạy trong khi các thiết bị còn lại ngủ. Các điều này cho phép bộ vi điều khiển khởi động rất nhanh trong chế độ tiêu thụ công suất thấp. 2.3 Cấu trúc chung họ avr14Đồ án tốt nghiệpCPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chương trình. Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết bị ngoại vi và quản lý ngắt.2.3.1.Cấu trúc tổng quátAVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình và dữ liệu. Các lệnh được thực hiện chỉ trong một chu kỳ xung clock. Bộ nhớ chương trình được lưu trong bộ nhớ Flash.2.3.2. ALU ALU làm việc trực tiếp với các thanh ghi chức năng chung. Các phép toán được thực hiện trong một chu kỳ xung clock. Hoạt động của ALU được chia làm 3 loại: đại số, logic và theo bit.2.3.3. Thanh ghi trạng tháiĐây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính số học và logic.Hình 1.2 Thanh ghi trạng thái SREGC: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập)Z: Zero Flag ;Cờ zero (Nếu kết quả phép toán bằng 0)N: Negative Flag (Nếu kết quả của phép toán là âm) V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số bù V, For signed tests (S=N XOR V) S: NH: Half Carry Flag (Được sử dụng trong một số toán hạng sẽ được chỉ rõ sau)T: Transfer bit used by BLD and BST instructions(Được sử dụng làm nơi chung gian trong các lệnh BLD,BST).15Đồ án tốt nghiệpI: Global Interrupt Enable/Disable Flag (Đây là bit cho phép toàn cục ngắt. Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)2.3.4. Các thanh ghi chức năng chungHình 1.3 Thanh ghi chức năng chungTiệp ghanh ghi ( register file ) : Tiệp 32 thanh ghi đa chức năng ( $0000 - $001F )đã được nói ở trên, ngoài chức năng là các thanh ghi đa chức năng, thì các thanh ghi từ R26 tới R31 từng đôi một tạo thành các thanh ghi 16 bit X, Y, Z được dùng làm con trỏ trỏ tới bộ nhớ chương trình và bộ nhớ dữ liệu .Thanh ghi con trò X, Y có thể dùng làm con trỏ trỏ tới bộ nhớ dữ liệu, còn thanh ghi Z có thể dùng làm con trỏ trỏ tới bộ nhớ chương trình. Các trình biên dịch C thường dùng các thanh ghi con trỏ này để quản lí Data stack của chương trình C.16Đồ án tốt nghiệpHình 1.4 Chức năng con trỏ của các thanh ghi R26 –R312.3.5. Con trỏ ngăn xếp (SP)Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặc biệt 8 bit. Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (Trong bộ nhớ RAM là $5E). Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp.Hình 1.5 Thanh ghi con trỏ ngăn xếpKhi chương trình phục vu ngắt hoặc chương trình con thì con trỏ PC được lưu vào ngăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí. Và con trỏ ngăn xếp sẽ giảm 1 khi thực hiện lệnh push. Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng 1 và khi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2. Như vậy con trỏ ngăn xếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi một chương trình con được gọi hoặc các ngắt được cho phép phục vụ. Và giá trị ngăn xếp ít nhất cũng phải lơn hơn hoặc bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi.17Đồ án tốt nghiệpB : VI ĐIỀU KHIỂN 80511: GIỚI THIỆU Lịch sử của 8051Và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 trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp. Lúc ấy nó được coi là một “hệ thống trên chíp”. 8051 là một bộ xử lý 8 bit đơn chip CMOS có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit . Ưu điểm hiệu suất cao, công suất tiêu thụ thấp. Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp. 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ã lại tương thích với 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất. Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Đ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. Sơ đồ khối họ 8051Interrupt control : Điều khiển ngắt. Other registers : Các thanh ghi khác. 128 Byte RAM : RAM 128 Byte. 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 port vào/ra. Serial port: port nối tiếp. Address/data: địa chỉ/ dữ liệu18Đồ án tốt nghiệpBố trí bên trong của họ 8051* Các thành viên khác của họ 8051Đặc tính 8051 8052 8031ROM trên chíp 4K byte 8K byte OKRAM 128 byte 256 byte 128 byteBộ định thời 2 3 2Chân vào ra 32 32 32Cổng nối tiếp 1 1 1Nguồn ngắt 6 8 619Đồ án tốt nghiệp2: CẤU TẠO BÊN TRONG 80512. 1 Cấu trúc bên trong Phần chính của vi điều khiển 8051 là bộ xử lý trung tâm (CPU: central processing unit) bao gồm : - Các thanh ghi chức năng đặc biệt (SFR)- Đơn vị logic học (ALU : Arithmetic Logical Unit ) cổng vào ra (I/O)- Bộ nhớ chương trình và bộ nhớ dữ liệu.Đơ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ể dừng lại nhờ một khối điều khiển ngắ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 động như một bộ đếm.20Đồ án tốt nghiệpCác c ng (port0, port1, port2, port3 ). S d ng vào m c ích i u khi n. ổ ử ụ ụ đ đ ề ểỞ cổng 3 cũng 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ên ngoài.2. 2 Cấu tạo chânTùy theo khả năng (về kinh tế, kỹ thuật, …) mà các nhà sản xuất các sản phẩm ứng dụng cụ thể chọn một trong 3 kiểu chân do ATMEL đưa ra. 21Đồ án tốt nghiệp Mô tả chức năng của các chânỞ đây chúng ta tìm hiểu chip đóng vỏ 40 chân với hai hàng chân PDIP22Đồ án tốt nghiệp+ Chân Vcc (chân 40) :là VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp là +5V±0. 5. + Chân GND (chân 20) : nối GND (hay nối Mass). + Port 0 (từ chân 32 đến 39) có hai chức năng: Chức năng xuất/nhập : các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt. Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài. + Port 1 (từ chân 1-8) : là một port I/O 8-bit hai chiều có pullup nội. Đầu ra port 1 có thể lái 4 đầu vào TTL. Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào. Khi vai trò là cổng nhập, những chân của port 1 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên. 23Đồ án tốt nghiệpHơn nữa, P1. 0 và P1. 1 có thể được dùng như là đầu vào bộ đếm timer/counter 2 bên ngoài (P1. 0/T2) và xung kích (P1. 1/T2EX). + Port 2 (từ chân 21-28): là một port I/O 8-bit hai chiều có pullup nội. Đầu ra port 2 có thể lái 4 đầu vào TTL. Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào. Khi vai trò là cổng nhập, những chân của port 2 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên. + Port 3 ( từ chân 10- 17) : là một port I/O 8-bit hai chiều có pullup nội. Đầu ra port 3 có thể lái 4 đầu vào TTL. Khi viết các mức 1 ra các chân port thì chúng được kéo lên do có điện trở nội và có thể dùng làm đầu vào. Khi vai trò là cổng nhập, những chân của port 3 bị kéo xuống thấp sẽ đổ dòng vì có nội trở kéo lên. + Chân RESET (RST) (chân 9) : là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy+ ALE/PROG (Address Latch Enable) (chân 30): ALE là xung xuất cho phép chốt byte địa chỉ thấp khi truy cập bộ nhớ ngoài. Chân này còn là ngõ vào của xung lập trình (PROG) khi lập trình Flash. Trong hoạt động bình thường, ALE được phát xung với tần số 1/6 tần số dao động on-chip và có thể được dùng như xung thời gian chuẩn bên ngoài. Tuy nhiên, cần chú ý là một xung ALE sẽ bị mất khi truy cập bộ nhớ ngoài. + PSEN (Program Store Enable) (chân 29): PSEN là xung strobe báo hiệu việc đọc bộ nhớ chương trình ngoài, PSEN tích cực hai lần (mức thấp) mỗi chu kì máy, ngoại trừ hai xung PSEN bị mất khi truy xuất dữ liệu ngoài. Khi thi hành chương trình trong RAM nội, PSEN sẽ ở mức thụ động (mức cao). + EA/VPP (External Access) (chân31) : Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội hay ROM ngoại. Khi EA nối với logic 1(+5V) thì thực hiện chương trình lấy từ bộ nhớ nội, logic 0(0V) thì thực hiện chương trình lấy từ bộ nhớ ngoại. + XTAL1 và XTAL2 (chân 18,19) : được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định. Tần số tối đa 24Mhz. Tần số càng lớn VĐK xử lý cành nhanh24Đồ án tốt nghiệp2. 3. Cấu trúc Port In/OutSơ đồ cấu trúc bên trong của chân Port xuất/nhập như sau: Việc ghi đến 1 chân của Port sẽ nạp dữ liệu vào bộ chốt của Port, ngõ ra Q của bộ chốt điều khiển một Transistor trường và Transistor này với chân của Port. Khả năng phân chia đầu ra (Fan-out) của các Port 1,2 và 3 là 4 tải vi mạch TTL loại Schottky công suất thấp (LS) còn của Port 0 là 8 tải loại LS2. 4 Tổ chức bộ nhớ 8051 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng vẫn có thể kết nối với 64K byte bộ nhớ chương trình và 64K byte dữ liệu bên ngoài. Bộ nhớ trong 8051 bao gồm ROM và RAM. RAM bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt và được phân chia như sau: RAM đa dụng từ 30H đến 7FH. RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH. Các bank thanh ghi có địa chỉ từ 00H đến 1FH. Các thanh ghi chức năng đặc biệt từ 80H đến FFH.25
Trích đoạn
- Sơ đồ nguyên lý các khối trong mạch
- Ngoài ra còn 1 số loại linh kiện khác
Tài liệu liên quan
- Luận văn tốt nghiêp “Khảo sát và ứng dụng vi điều khiển – thiết kế - thi công mạch khống chế nhiệt độ phòng”
- 84
- 910
- 3
- Tài liệu Thuyết minh đồ án tốt nghiệp : Thiết kế mô hình hệ thống điều khiển đèn giao thông tại ngã tư pptx
- 86
- 2
- 19
- Đồ án Tốt nghiệp CÁC GIAO THỨC BÁO HIỆU VÀ ĐIỀU KHIỂN TRONG MẠNG NGN
- 87
- 518
- 0
- đồ án tốt nghiệp đại học tìm hiểu về bộ điều khiển logic mờ
- 102
- 849
- 1
- đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR
- 59
- 2
- 16
- thiết kế mạch thí nghiệm dùng vi điều khiển 80c51 phối ghép với các thiết bị ngoại vi - lcd, adc0809
- 84
- 741
- 0
- đồ án kỹ thuật điện điện tử Thiết kế mạch thí nghiệm dùng Vi điều khiển 80C51 phối ghép với các thiết bị ngoại vi LCD, ADC0809, RTC DS12887 và bàn phím số HEX.
- 70
- 967
- 0
- Đồ án tốt nghiệp - Nghiên cứu thiết kế hệ thống điều khiển và giám sát hệ thống băng tải cho mỏ than Cao Sơn
- 84
- 2
- 12
- ĐỒ ÁN TỐT NGHIỆP MÔ HÌNH THÍ NGHIỆM PIN NĂNG LƯỢNG MẶT TRỜI
- 105
- 1
- 18
- ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU HỆ THỐNG ĐIỀU KHIỂN MỜ CHO MÔ HÌNH CON LẮC NGƯỢC
- 98
- 273
- 0
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(3.69 MB - 59 trang) - đồ án tốt nghiệp mạch kit thí nghiệm dùng vi điều khiển AVR Tải bản đầy đủ ngay ×Từ khóa » đồ án Vi điều Khiển Avr
-
Đồ Án Vi Điều Khiển AVR - Ứng Dụng Đo Nhiệt Độ Hiển Thị LCD ...
-
đồ án Tốt Nghiệp Mạch Kit Thí Nghiệm Dùng Vi điều Khiển AVR - 123doc
-
Vi Xử Lý, Lập Trình Vi điều Khiển Pic-8051-AVR Tổng Hợp File đồ án
-
Vi điều Khiển AVR.pdf (.docx) | Tải Miễn Phí
-
(DOC) ĐỒ ÁN | Tâm Nguyễn Duyên
-
Đề Tài Thiết Kế Mạch điều Khiển Thang Máy Bằng Vi điều Khiển AVR
-
đồ án Kĩ Thuật Vi điều Khiển | Xemtailieu
-
Báo Cáo đề Tài Vi điều Khiển Avr
-
đồ án Vi điều Khiển Avr
-
Vi điều Khiển Avr Trang 2 Tải Miễn Phí Từ TAILIEUCHUNG
-
Bao Cao Vdk_va_pic - SlideShare
-
[DOC] Giới Thiệu Về Vi điều Khiển Họ Avr16 - 5pdf
-
[PDF] Thiết Kế Mạch Quang Báo Dùng Vi điều Khiển - 5pdf