Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 202 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
202
Dung lượng
3,5 MB
Nội dung
Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 LỜI NÓI ĐẦU Ngày này, việc ứng dụng máy tính vào các kỹ thuật đo lường và điều khiển không còn mới vì khi các thiết bị, hệ thống đo lường và điều khiển được ghép nối với máy tính sẽ có thời gian thu thập và xử lý dữ liệu ngắn trong khi mức độ chính xác vẫn được đảm bảo, nhưng điều đáng quan tâm hơn cả là khả năng tự động hoá trong việc thu thập và xử lý dữ liệu. Chính vì điều này làm cho máy tính được ứng dụng trong hầu hết vào các lĩnh vực trong cuộc sống hàng ngày đặc biệt là trong lĩnh vực công nghiệp. Một bước tiến quan trọng trong kỹ thuật vi xử lý là sự ra đời của các bộ vi xử lý kỹ thuật số. Đây là một vi mạch điện tử có mật độ tích hợp cao bao gồm rất nhiều các mạch số có khả năng nhận, xử lý và xuất dữ liệu. Đặc biệt là quá trình xử lý dữ liệu được thực hiện theo một chương trình là một tập hợp các lệnh từ bên ngoài mà người sử dụng có thể thay đổi dễ dàng tùy thuộc vào từng ứng dụng. Do đó một bộ vi xử lý có thể thực hiện được rất nhiều các yêu cầu điều khiển khác nhau tuỳ thuộc vào nhu cầu sử dụng. Sự ra đời của kỹ thuật vi xử lý là sự kết hợp giữa kỹ thuật phần cứng và phần mềm đã làm cho hoạt động của các mạch điện tử trở nên mềm dẻo hơn với những phần mềm rất linh hoạt mà người sử dụng có thể sửa chữa, thay đổi hoặc bổ sung làm cho ứng dụng ngày càng trở nên hoàn thiện mà không cần phải thiết kế lại toàn bộ ứng dụng. Trong đồ án này, em sử dụng vi mạch điều khiển AT90S8535 của hãng Atmel để thiết kế một mạch đo nhiệt độ đơn giản. Đây là một bộ vi xử lý 8 bit năng lượng thấp (theo kiểu chíp CMOS) trên cơ sở cấu trúc RICS của hãng Atmel, tốc độ xử lý dữ liệu của IC AT90S8535 rất cao (xấp xỉ 8 MISP tại tần số 8MHz) cho phép hệ thống có thể được thiết kế tối ưu làm tăng tốc độ xử lý. Do đó, nó cung cấp khả năng linh hoạt rất cao trong các ứng dụng nhúng. Vì vậy, 1 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 việc tìm hiểu cấu trúc và đặc tính của vi mạch điều khiển AT90S8535 có thể giúp chúng ta sử dụng vi mạch điều khiển này cho các ứng dụng cần thiết. Em xin chân thành cảm ơn thầy cô đã tận tình hướng dẫn để em hoàn thành đồ án này. Tuy nhiên, do trình độ còn nhiều hạn chế nên đồ án không thể tránh khỏi những thiếu sót, vì vậy em rất mong được sự chỉ bảo của các thầy cô cũng như của những người đi trước trong lĩnh vực này để đồ án của em hoàn thiện hơn qua đó em có thể xây dựng được những ứng dụng trong thực tế. 2 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 CHƯƠNG I NHIỆM VỤ VÀ PHƯƠNG HƯỚNG THỰC HIỆN 1.1. Nhiệm vụ của đồ án. Từ mục đích tổng quát của đề tài là thiết kế và xây dựng một hệ thống đo nhiệt độ đơn giản, có thể phân tách ra thành các nhiệm vụ chính cần thực hiện như sau: Thiết kế và xây dựng hệ thống ghép nối vi điều khiển (µC) AT90S8535 với module LCD (4x20 character), keypad (16 keys), cảm biến nhiệt LM335. Ngoài ra hệ thống còn phải có khả năng giao tiếp với máy tính (PC) qua cổng RS 232. Hình 1.1 : Sơ đồ tổng thể của hệ thống cần thiết kế Thiết kế và xây dựng phần mềm điều khiển µC để thu thập dữ liệu từ cảm biến nhiệt nhiệt LM335, từ keypad hoặc từ PC. Xử lý dữ liệu nhận được để hiển thị trên LCD hoặc truyền sang PC. Xây dựng phần mềm trên PC để có thể giao tiếp được với µC qua cổng RS 232 1.2. Phân tích nhiệm vụ. 3 LCD display KeyPad 16 L335 µC + I/O port PC RS 232 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Để có thể thiết kế và xây dựng được hệ thống như trên cần phải thực hiện các bước sau : Nghiên cứu và tìm hiểu bộ vi xử lý AT90S8535. Tìm hiểu sự hoạt động của module LCD và cảm biến nhiệt LM 335. Tìm hiểu sự hoạt động và phương pháp mã hoá keypad để có thể ghép nối với µC. Tìm hiểu phương pháp truyền thông sử dụng chuẩn RS 232. Thiết kế sơ đồ mạch nối ghép giữa µC với LCD, keypad, IC LM335 và giữa µC với máy tính thông qua cổng RS 232. Lập trình phần mềm nạp cho µC để thực hiện các kết nối trên. Viết phần mềm trên PC để giao tiếp với µC qua cổng RS 232. Lắp giáp mạch đã thiết kế, chạy kiểm thử và đánh giá kết quả. Viết báo cáo tốt nghiệp. 1.3. Phương hướng thực hiện. 1.3.1. Lựa chọn thiết bị. a) Lựa chọn vi điều khiển : Trong thực tế có rất nhiều các họ vi xử lý khác nhau có thể sử dụng được trong ứng dụng này như họ vi điều khiển 8051 của Intel, 68hC11 của Motorola hay họ vi điều khiển 8515 của ATMEL Tuy nhiên, trong đồ án sử dụng bộ vi xử lý AT90S8535 của ATMEL, do đây là một sản phẩm mới của hãng ATMEL nên việc tìm hiểu nó sẽ đem lại rất nhiều lợi ích trong việc thiết kế các ứng dụng đo lường và điều khiển. Về mặt cấu tạo nó cũng tương tự như bộ vi xử lý AT90S8515 đã có từ khá lâu với 4 cổng I/O lập trình được. Nhưng về mặt công 4 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 dụng thì bộ vi xử lý AT90S8535 được tích hợp nhiều chức năng hơn so với bộ vi xử lý AT90S8515, đặc biệt trên µC AT90S8535 được tích hợp một bộ ADC cho phép mỗi chân của port A được sử dụng là đầu vào cho bộ ADC, làm cho việc sử dụng µC AT90S8535 trong các ứng dụng linh hoạt hơn rất nhiều so với µC AT90S8515 đang được sử dụng rộng rãi tại Việt Nam. b) Thiết bị hiển thị dữ liệu : Đối với các loại dữ liệu được hiển thị dưới dạng số thì giải pháp tối ưu là sử dụng các LED 7 thanh do loại thiết bị hiển thị này có giá thành tương đối rẻ. Tuy nhiên, do ứng dụng không chỉ hiển thị chữ số (giá trị nhiệt độ) mà còn phải hiển thị cả các ký tự trong bảng chữ cái, do đó lựa chọn thiết bị hiển thị LCD vì loại thiết bị hiển thị này có khả năng hiển thị cả chữ cái và chữ số một cách rõ nét. Mặc dù so với các loại đèn LED thì LCD có giá thành cao hơn, nhưng bù lại thiết bị hiển thị LCD có nhiều đặc tính ưu việt hơn hẳn so với các loại đèn LED. Đặc biệt, thiết bị LCD cung cấp khả năng hiển thị dữ liệu vô cùng linh hoạt do ta có thể điều khiển xuất dữ liệu một cách trực tiếp thông qua tập lệnh điều khiển của vi mạch điều khiển và bộ mã ký tự sẵn có trong CGRAM của LCD. Một điều cần quan tâm khác là thiết bị LCD tiêu tốn rất ít năng lượng. Trên thị trường hiện nay có khá nhiều module LCD của các hãng khác nhau như Samsung, Hitachi, Motorola với nhiều loại kích thước. Trong đồ án sử dụng module LCD có kích thước 4x20 characters với 16 chân ghép nối. Không nhất thiết phải chọn hãng cung cấp vì các module LCD đều được xây dựng theo cùng một tiêu chuẩn, do đó cách thức điều khiển và ghép nối các module LCD thông dụng hiện nay cũng tương tự nhau. c) Thiết bị vào dữ liệu và điều khiển (Keypad) : Để người sử dụng có thể giao tiếp được với hệ thống, cần phải ghép nối µC với một module keypad. Do ứng dụng có thể làm việc với cả chữ cái và chữ số 5 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 nên ta sử dụng keypad loại 16 keys, trong đó mỗi một phím được thiết kế như một công tắc để có thể nhập được dữ liệu có dạng như sau : 10 chữ số trong hệ thập phân từ 0 9. 26 chữ cái la tinh từ A Z. Các phím điều khiển bao gồm : Send, Bspace, , , / , Clear. Do số ký tự có thể được sử dụng cùng với các phím chức năng lớn hơn rất nhiều so với tổng số phím sẵn có trên module keypad. Vì vậy, bắt buộc phải sử dụng phương pháp Multikey, tức là sử dụng phần mềm để mỗi một phím trên module keypad có thể mã hoá được không ít hơn hai ký tự khác nhau. Bằng cách này, với keypad có 16 phím ta có thể mã hoá được toàn bộ bảng chữ cái và chữ số đồng thời vẫn có thể thực hiện được các chức năng điều khiển như trình bầy ở trên. d) Giao tiếp giữa µC và PC : Mặc dù hệ thống được thiết kế dựa trên µC AT90S8535 đã có thể làm việc độc lập trong qua trình thu thập, xử lý và hiển thị dữ liệu tới người sử dụng mà không cần có sự trợ giúp của PC. Tuy nhiên, trong hầu hết các ứng dụng đều cần phải lưu trữ lại dữ liệu mà nếu thực hiện việc này dựa trên µC AT90S8535 đòi hỏi rất nhiều kỹ thuật và chi phí. Trong khi đó, thao tác lưu trữ dữ liệu trên PC lại rất đơn giản, vì vậy giải pháp tối ưu nhất là sử dụng PC để làm nhiệm vụ phức tạp này. Vấn đề còn lại chỉ là thao tác truyền dữ liệu cần lưu trữ từ µC sang PC, việc này được thực hiện khá đơn giản vì bản thân µC AT90S8535 đã được tích hợp một bộ UART để sử dụng trong hoạt động truyền tin với các thiết bị ở xa. Như vậy, dựa vào mạch UART của µC ta có thể thực hiện truyền nhận dữ liệu với PC theo chuẩn RS 232. Một vấn đề cần quan tâm khi ghép nối µC với PC theo chuẩn RS 232 là sự tương quan về mặt điện áp tín hiệu dạng TTL của µC và điện áp tín hiệu dạng RS 232 của PC. Để thực hiện việc chuyển đổi tín hiệu dạng TTL sang dạng tín hiệu RS 232 ta sử dụng IC Max232, IC này có 6 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 nhiệm vụ tạo ra tín hiệu ±10 V từ mức điện áp TTL để tạo sự tương thích về mức điện áp với chuẩn RS 232. 1.3.2. Phương hướng thiết kế. Từ sơ đồ tổng thể của hệ thống như trên hình 1.1 và từ việc lựa chọn thiết bị như trình bầy ở trên, hệ thống cần thiết kế có thể được thể hiện như trong sơ đồ hình 1.2, trong đó : Khối LCD display : Sử dụng module LCD sẵn có trên thị trường được ghép nối với µC để hiển thị các thông tin cần thiết cho người sử dụng. Khối Keypad : Được nối ghép với µC để người sử dụng có thể nhập dữ liệu hoặc điều khiển sự hoạt động của hệ thống. Module này được thiết kế dưới dạng các công tắc và sử dụng trực tiếp các đặc tính của các cổng I/O lập trình được của µC để thực hiện mà không cần nguồn hỗ trợ bên ngoài. Khối LM 335 : Là một IC cảm biến nhiệt làm nhiệm vụ biến đổi nhiệt độ môi trường sang dạng điện áp để làm đầu vào cho bộ ADC của µC làm việc. Khối Max 232 : Sử dụng IC Max 232 ghép nối trược tiếp với µC làm nhiệm vụ trao đổi thông tin giữa µC và PC theo chuẩn RS 232. Khối nguồn : Làm nhiệm vụ biến nguồn xoay chiều 220 V sang nguồn một chiều ±5 V ổn định để cấp nguồn cho các khối khác hoạt động. Hình 1.2 : Sơ đồ khối thiết kế phần cứng 7 LCD display Keypad LM335 µC + I/O port Nguồn Max 232 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 CHƯƠNG 2 LỰA CHỌN LINH KIỆN THIẾT KẾ VÀ MỘT SỐ LÝ THUYẾT VỀ CHUYỂN ĐỔI A/D 2.1. Lựa chọn linh kiện thiết kế. 2.1.1. Giới thiệu vi mạch điều khiển AT90S8535. AT90S8535 là một vi mạch điều khiển năng lượng thấp 8 bit (công nghệ chíp CMOS) trên cơ sở cấu trúc RICS của hãng ATMEL, nó thuộc họ vi điều khiển AT90S/LS8535. Bằng cách thực hiện mỗi lệnh trong một đơn chu kỳ, AT90S8535 có thể đạt tới 1 MIPS cho mỗi MHz cho phép hệ thống có thể được thiết kế một cách tối ưu nhất sự tiêu thụ năng lượng làm tăng tốc độ xử lý. Về mặt cấu tạo µC này cũng tương tự như µC AT90S8515 với 4 cổng I/O lập trình được, tuy nhiên về mặt chức năng thì µC AT90S8535 được tích hợp thêm nhiều tính năng mới mà µC AT90S8515 không có. Các đặc trưng chính của µC AT90S8535 được trình bầy dưới đây : • 8KB bộ nhớ chương trình • 512 byte EEPROM • 512 byte SRAM • 32 line (4 cổng) I/O lập trình được • 32 thanh ghi đa năng 8 bit • 8 kênh đầu vào ADC riêng biệt với 10 bit kết quả • 2 bộ Timer/Counter 8 bit với bộ đếm độc lập và chế độ so sánh • 1 bộ Timer/Counter 16 bit với bộ đếm độc lập và các chế độ PWM • 1 bộ UART lập trình trao đổi thông tin nối tiếp • 1 bộ Watchdog Time lập trình được với bộ tạo giao động trong 8 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 • 1 bộ so sánh analog • 1 cổng phối ghép nối tiếp thiết bị ngoại vi SPI • 3 chế độ làm việc là : Idle, Power-Save và Power-down • Nguồn cung cấp từ 4.0 - 6.0 V , tần số làm việc 0 - 8MHz. Vi mạch điều khiển AT90S8535 được chế tạo theo công nghệ chíp nhớ cố định với mật độ cao. Bộ nhớ Flash ISP trên chíp cho phép bộ nhớ chương trình có thể được lập trình lại thông qua một cổng SPI phối ghép nối tiếp với thiết bị ngoại vi. Ngoài ra, µC AT90SS8535 còn hỗ trợ cho việc lập trình thông qua các công cụ pháp triển hệ thống như C, assemblers Vi điều khiển AT90S8535 có 4 cấu hình chân khác nhau là : PDIP (Có 40 chân), PLCC, TQFP, MLF (Có 44 chân). Sơ đồ chân của mỗi loại như sau. Hình 2.1 : Cấu hình chân của µC AT90S8535 9 PDIP PLCC TQFP MLF Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Chức năng các chân của µC AT90S8535 như sau : VCC : Chân cấp nguồn 5 V GND : Chân nối đất RESET : Là đầu vào reset. Tín hiệu reset ở bên ngoài sẽ tạo ra bởi mức thấp của trở kháng trên chân Reset. Xung reset dài quá 50ns sẽ tạo ra tín hiệu reset. Xung ngắn hơn sẽ không đảm bảo phát sinh tín hiệu reset. XTAL1 : Là một đầu vào có tác dụng đảo chiều bộ khuếch đại tạo dao động và là đầu vào của mạch điều khiển đồng hồ bên trong. XTAL2 : Là đầu ra của tín hiệu đảo từ bộ khuếch đại tạo dao động AVCC : Là chân cung cấp điện áp cho cổng A và bộ chuyển đổi ADC, nếu ADC không được sử dụng thì chân này phải được nối với nguồn 5 V 10 [...]... xxx ;Điều khiển so sánh B của Timer1 ;Điều khiển tràn Timer1 ;Điều khiển tràn Timer0 ;Điều khiển kết thúc truyền dữ liệu qua SPI ;Điều khiển kết thúc UART RX ;Điều khiển thông báo hết dữ liệu trong UDR ;Điều khiển kết thúc UART TX ;Ngắt thông báo kết thúc chuyển đổi ADC ;EEPROM sẵn sàng ;Điều khiển bộ so sánh tín hiệu tương tự ;Bắt đầu chương trình chính Các nguồn Reset của µC AT90S8535 µC AT90S8535. .. trạng thái của SPI Thanh ghi điều khiển SPI Thanh ghi dữ liệu vào/ra của bộ UART Thanh ghi trạng thái UART Thanh ghi điều khiển UART Thanh ghi tốc độ baud của UART Thanh ghi điều khiển và trạng thái của mạch so sánh Analog Thanh ghi lựa chọn của bộ dồn kênh ADC Thanh ghi điều khiển và trạng thái của bộ ADC Thanh ghi dữ liệu byte cao của bộ ADC Thanh ghi dữ liệu byte thấp của bộ ADC 26 Website: http://www.docs.vn... cũng cung cấp những chức năng có đặc tính đặc biệt của µC AT90S8535 Các chân của cổng D ở trạng thái không xác định khi reset, ngay cả khi đồng không hoạt động Hình 2.2 : Sơ đồ khối vi mạch điều khiển AT90S8535 12 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 2.1.1.1 Cấu trúc của vi mạch AT90S8535 Vi mạch điều khiển AT90S8535 có những phương thức truy cập nhanh tới tâp thanh... các địa chỉ của vector Reset và các vector ngắt khác như sau : Địa chỉ Lệnh $000 $001 $002 $003 $004 $005 $006 rjmp rjmp rjmp rjmp rjmp rjmp rjmp Nhãn/toán hạng RESET EXT_INT0 EXT_INT1 TIM2_COMP TIM2_OVF TIM1_CAPT TIM1_COMPA Giải thích ;Điều khiển Reset ;Điều khiển IRQ0 ;Điều khiển IRQ1 ;Điều khiển so sánh Timer2 ;Điều khiển tràn Timer2 ;Điều khiển bắt sự kiện Timer1 ;Điều khiển so sánh A của Timer1... Thanh ghi điều hướng dữ liệu, cổng A Các chân vào của cổng A Thanh ghi dữ liệu cổng B Thanh ghi điều hướng dữ liệu, cổng B Các chân vào của cổng B Thanh ghi dữ liệu cổng C Thanh ghi điều hướng dữ liệu, cổng C Các chân vào của cổng C Thanh ghi dữ liệu của cổng D Thanh ghi điều hưởng dữ liệu, cổng D Các chân vào của cổng D Thanh ghi dữ liệu cổng vào/ra của thiết bị ngoại vi Thanh ghi trạng thái của SPI... cao của con trỏ Stack Địa chỉ byte thấp của con trỏ Stack Thanh ghi mặt nạ ngắt chung Thanh ghi cờ ngắt chung Thanh ghi mặt nạ ngắt của bộ Timer/Counter Thanh ghi cờ ngắt của bộ Timer/Counter Thanh ghi điều khiển chung của MCU Thanh ghi trạng thái chung của MCU Thanh ghi điều khiển bộ Timer/Counter 0 8 bit dữ liệu của bộ Timer/Counter 0 Thanh ghi điều khiển A của bộ Timer/Counter 1 Thanh ghi điều khiển. .. tác ghi đang diễn ra, thì thao tác ghi sẽ bị ngắt và kết quả không được xác định 2.1.1.5 Các chế độ địa chỉ của µC AT90S8535 Vi mạch điều khiển AT90S8535 hỗ trợ các chế độ địa chỉ rất mạnh và hiệu quả cao cho vi c truy nhập tới bộ nhớ chương trình (bộ nhớ Flash) và bộ nhớ dữ liệu (SRAM, tập thanh ghi và bộ nhớ I/O) Dưới đây là các chế độ địa chỉ của µC AT90S8535 : a) Địa chỉ trực tiếp một thanh ghi Toán... Thanh ghi điều khiển B của bộ Timer/Counter 1 Byte cao của bộ Timer/Counter 1 Byte thấp của bộ Timer/Counter 1 Byte cao của thanh ghi A so với đầu ra của Timer/Counter1 Byte thấp của thanh ghi A so với đầu ra của Timer/Counter1 Byte cao của thanh ghi B so với đầu ra của Timer/Counter1 Byte thấp của thanh ghi B so với đầu ra của Timer/Counter1 Thanh ghi lưu trữ Byte cao của đầu vào Timer/Counter1 Thanh... trữ Byte cao đầu vào của Timer/Counter1 Thanh ghi điều khiển bộ Timer/Counter 2 8 bit dữ liệu của bộ Timer/Counter 2 Thanh ghi so với đầu ra của bộ Timer/Counter 2 Thanh ghi trạng thái chế độ không đồng bộ Thanh ghi điều khiển mạch kiểm tra tuần tự bộ định thời gian Thanh ghi địa chỉ Byte cao của EEPROM Thanh ghi địa chỉ Byte thấp của EEPROM Thanh ghi dữ liệu EEPROM Thanh ghi điều khiển EEPROM Thanh... ngắt của µC AT90S8535 33 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Vi mạch điều khiển AT90S8535 có hai thanh ghi điều khiển mặt nạ ngắt 8 bit là : Thanh ghi mặt nạ ngắt chung - GIMSK (General Interrupt Mask register) và thanh ghi mặt nạ ngắt của các mạch Timer/Counter – TISMK (Timer/Counter Interrupt Mask register) Khi xẩy ra một ngắt, bit cho phép ngắt chung I bị xoá và