Mục lục Lời nói đầu .3 Ch¬ng i NhiƯm vụ phơng hớng thực 1.1 Nhiệm vụ ®å ¸n 1.2 Ph©n tÝch nhiƯm vơ .4 1.3 Ph¬ng híng thùc hiƯn 1.3.1 Lùa chän thiÕt bÞ 1.3.2 Ph¬ng híng thiÕt kÕ .6 Ch¬ng Lùa chän linh kiƯn thiÕt kÕ Vµ mét sè lý thut vỊ chun ®ỉ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 2.1.1.1 CÊu tróc cđa vi m¹ch AT90S8535 12 2.1.1.2 Tập ghi đa C AT90S8535 14 2.1.1.3 Bé sè häc vµ Logic - ALU .15 2.1.1.4 Đặc ®iĨm c¸c bé nhí cđa C AT90S8535 15 2.1.1.5 Các chế độ địa C AT90S8535 18 2.1.1.6 Thêi gian truy cËp bé nhí thời gian thực lệnh 20 2.1.1.7 Không gian bé nhí I/O 21 2.1.1.8 Ngắt xử lý ngắt C AT90S8535 .25 2.1.1.9 Các chế độ nghỉ C AT90S8535 34 2.1.1.10 Các mạch điều khiển C AT90S8535 35 2.1.2 Module LCD (20x4 characters) 82 2.1.3 IC Max232 86 2.1.3.1 Giíi thiƯu chn RS232 86 2.1.3.2 IC Max232 .88 2.1.4 C¶m biÕn nhiƯt LM335 .89 2.2 Mét sè lý thuyÕt vỊ chun ®ỉi A/D .90 2.2.1 Kh¸i niƯm chung 90 2.2.2 Một số phơng pháp chuyển đổi AD 91 2.2.2.1 Phơng pháp chuyển đổi song song 91 2.2.2.2 Phơng pháp xÊp xØ liªn tiÕp 92 2.2.2.3 Phơng pháp tích phân hai sờn dốc 92 Chơng Thiết kế hệ thống phần cứng 3.1 Sơ đồ cấu trúc phần cứng hệ thống 114 3.2 Sơ đồ ghép nối C víi module LCD .114 3.3 Sơ đồ ghép nối C với module KeyPad .115 3.4 Sơ đồ ghép nối C với cảm biến nhiệt LM335 116 3.4 Sơ đồ ghép nèi C víi IC Max232 117 3.5 Sơ đồ kết nối nguồn cho vi mạch ®iỊu khiĨn .117 Ch¬ng thiÕt kÕ hƯ thống phần mềm cho C AT90S8535 4.1 Biểu đồ chức chơng trình điều khiển C 119 4.2 Lu đồ thuật toán chức 123 4.2.1 Chức giao tiếp với LCD controller 123 4.2.2 Chức điều khiển hiển thị kết ADC 124 4.2.3 Chức giao tiếp với KeyPad 127 Trang 4.2.4 Chức truyền nhận liệu nối tiÕp víi PC 132 Ch¬ng ThiÕt kÕ hƯ thống phần mềm PC 5.1 Mục đích phần mỊm trªn PC 134 5.2 Một số chức chơng trình 135 5.3 Nhận xét đánh giá 136 KÕt luËn 138 Phô lôc 139 Chơng trình điều khiển C AT90S8535 139 Trang Lời nói đầu Ngày này, việc ứng dụng máy tính vào kỹ thuật đo lờng điều khiển không thiết bị, hệ thống đo lờng điều khiển đợc ghép nèi víi m¸y tÝnh sÏ cã thêi gian thu thËp xử lý liệu ngắn mức độ xác đợc đảm bảo, nhng điều đáng quan tâm khả tự động hoá việc thu thập xử lý liệu Chính điều làm cho máy tính đợc ứng dụng hầu hết vào lĩnh vực sống hàng ngày đặc biệt lĩnh vực công nghiệp Một bíc tiÕn quan träng kü tht vi xư lý đời vi xử lý kỹ thuật số Đây vi mạch điện tử có mật độ tích hợp cao bao gồm nhiều mạch số có khả nhận, xử lý xuất liệu Đặc biệt trình xử lý liệu đợc thực theo chơng trình tập hợp lệnh từ bên mà ngời sử dụng thay đổi dễ dàng tùy thuộc vào ứng dụng Do vi xử lý thực đợc nhiều yêu cầu điều khiển khác tuỳ thuộc vào nhu cầu sư dơng Sù ®êi cđa kü tht vi xư lý kết hợp kỹ thuật phần cứng phần mềm đà làm cho hoạt động mạch điện tử trở nên mềm dẻo với phần mềm linh hoạt mà ngời sử dụng sửa chữa, thay đổi bổ sung làm cho ứng dụng ngày trở nên hoàn thiện mà không cần phải thiết kế lại toàn ứng dụng Trong đồ án này, em sử dụng vi mạch điều khiển AT90S8535 hÃng Atmel để thiết kế mạch đo nhiệt độ đơn giản Đây vi xử lý bit lợng thấp (theo kiểu chíp CMOS) sở cấu trúc RICS hÃng Atmel, tốc ®é xư lý d÷ liƯu cđa IC AT90S8535 rÊt cao (xấp xỉ MISP tần số 8MHz) cho phép hệ thống đợc thiết kế tối u làm tăng tốc độ xử lý Do đó, cung cấp khả linh hoạt cao ứng dụng nhúng Vì vậy, việc tìm hiểu cấu trúc đặc tính vi mạch điều khiển AT90S8535 giúp sử dụng vi mạch điều khiển cho ứng dụng cần thiết Em xin chân thành cảm ơn thầy Bùi Quốc Anh đà tận tình hớng dẫn để em hoàn thành đồ án Em xin chân thành cảm ơn anh trung tâm NET.JSC ®· gióp ®ì em st thêi gian thùc hiƯn đồ án Tuy nhiên, trình độ nhiều hạn chế nên đồ án tránh khỏi thiếu sót, em mong đợc bảo thầy cô nh ngời trớc lĩnh vực để đồ án em hoàn thiện qua em xây dựng đợc ứng dụng thực tế Chơng i Nhiệm vụ phơng hớng thực 1.1 Nhiệm vụ ®å ¸n Trang Tõ mơc ®Ých tỉng qu¸t cđa đề tài thiết kế xây dựng hệ thống đo nhiệt độ đơn giản, phân tách thành nhiệm vụ cần thực nh sau: Thiết kế 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 hệ thống phải có khả giao tiếp với máy tính (PC) qua cổng RS 232 Hình 1.1 : Sơ đồ tổng thể hệ thống cần thiết kế LCD display C + I/O port KeyPad 16 L335 RS 232 PC Thiết kế xây dựng phần mềm điều khiển C để thu thập liệu từ cảm biÕn nhiƯt nhiƯt LM335, tõ keypad hc tõ PC Xư lý liệu nhận đợc để hiển thị LCD truyền sang PC Xây dựng phần mềm PC để giao tiếp đợc với C qua cổng RS 232 1.2 Phân tích nhiệm vụ Để thiết kế xây dựng đợc hệ thống nh cần phải thực bớc sau : Nghiên cứu tìm hiểu vi xử lý AT90S8535 Tìm hiểu hoạt động module LCD cảm biến nhiệt LM 335 Tìm hiểu hoạt động phơng pháp mà hoá keypad để 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 C với LCD, keypad, IC LM335 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 kết nối Viết phần mềm 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ử đánh giá kết Viết báo cáo tốt nghiệp 1.3 Phơng hớng thực 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 sử dụng đợc ứng dụng nh họ vi điều khiển 8051 Intel, 68hC11 cđa Motorola hay hä vi ®iỊu khiĨn 8515 cđa ATMEL Tuy nhiên, đồ án sử dụng vi xử lý AT90S8535 ATMEL, sản phẩm hÃng ATMEL nên việc tìm hiểu đem lại nhiều lợi ích việc thiết kế ứng dụng đo lờng điều khiển Về mặt cấu tạo tơng tự nh vi xử lý AT90S8515 đà có từ lâu với cổng I/O lập trình đợc Nhng mặt công dụng vi xử lý AT90S8535 đợc tích hợp nhiều chức so với vi xử lý AT90S8515, đặc biệt C AT90S8535 đợc tích hợp Trang ADC cho phép chân port A đợc sử dụng đầu vào cho ADC, làm cho việc sử dụng C AT90S8535 ứng dụng linh hoạt nhiều so với C AT90S8515 đợc sử dụng rộng rÃi Việt Nam b) Thiết bị hiển thị liệu : Đối với loại liệu đợc hiển thị dới dạng số giải pháp tối u sử dụng LED loại thiết bị hiển thị có giá thành tơng đối rẻ Tuy nhiên, ứng dụng không hiển thị chữ số (giá trị nhiệt độ) mà phải hiển thị ký tự bảng chữ cái, lựa chọn thiết bị hiển thị LCD loại thiết bị hiển thị có khả hiển thị chữ chữ số cách rõ nét Mặc dù so với loại đèn LED LCD có giá thành cao hơn, nhng bù lại thiết bị hiển thị LCD có nhiều đặc tính u việt hẳn so với loại đèn LED Đặc biệt, thiết bị LCD cung cấp khả hiển thị liệu vô linh hoạt ta điều khiển xuất liệu cách trực tiếp thông qua tập lệnh điều khiển vi mạch điều khiển mà ký tự sẵn có CGRAM LCD Một điều cần quan tâm khác thiết bị LCD tiêu tốn lợng Trên thị trêng hiƯn cã kh¸ nhiỊu module LCD cđa c¸c h·ng kh¸c 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 thiết phải chọn hÃng cung cấp module LCD đợc xây dựng theo tiêu chuẩn, cách thức điều khiển ghép nối module LCD thông dụng tơng tự c) Thiết bị vào liệu đ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 chữ chữ số nên ta sử dụng keypad loại 16 keys, phím đợc thiết kế nh công tắc để nhập đợc liệu có dạng nh sau : 10 chữ số hệ thập phân từ 26 chữ la tinh từ A Z Các phím điều khiển bao gồm : Send, Bspace, , , /, Clear Do số ký tự đợc sử dụng với phím chức lớn nhiều so với tổng số phím sẵn có module keypad Vì vậy, bắt buộc phải sử dụng phơng pháp Multikey, tức sử dụng phần mềm để phím module keypad mà hoá đợc không hai ký tự khác Bằng cách nµy, víi keypad cã 16 phÝm ta cã thĨ m· hoá đợc toàn bảng chữ chữ số đồng thời thực đợc chức điều khiển nh trình bầy d) Giao tiếp C PC : Mặc dù hệ thống đợc thiết kế dựa C AT90S8535 đà làm việc độc lập qua trình thu thập, xử lý hiển thị liệu tới ngời sử dụng mà không cần có trợ giúp PC Tuy nhiên, hầu hết ứng dụng cần phải lu trữ lại liệu mà thực việc dựa C AT90S8535 đòi hỏi nhiều kỹ thuật chi phí Trong đó, thao tác lu trữ liệu PC lại đơn giản, giải pháp tối u sử dụng PC để làm nhiệm vụ phức tạp Vấn đề lại thao tác truyền liệu cần lu trữ từ C sang PC, việc đợc thực đơn giản thân C AT90S8535 đà đợc tích hợp UART để sử dụng hoạt động truyền tin với thiết bị xa Nh vậy, dựa vào mạch UART C ta thùc hiƯn trun nhËn d÷ liƯu víi PC theo chn RS 232 Một vấn đề cần quan tâm ghép nèi C víi PC theo chn RS 232 lµ sù tơng quan mặt điện áp tín hiệu dạng TTL C điện áp tín hiệu dạng RS 232 PC Để thực 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 Trang cã nhiƯm vơ tạo tín hiệu 10V từ mức điện áp TTL để tạo tơng thích mức điện áp với chn RS 232 1.3.2 Ph¬ng híng thiÕt kÕ Tõ s¬ đồ tổng thể hệ thống nh hình 1.1 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ể nh sơ đồ hình 1.2, : Khèi LCD display : Sư dơng module LCD sẵn có thị trờng đợc ghép nối với C để hiển thị 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 nhập liệu điều khiển hoạt động hệ thống Module đợc thiết kế dới dạng công tắc sử dụng trực tiếp đặc tính cổng I/ O lập trình đợc C để thực mà không cần nguồn hỗ trợ bên Khối LM 335 : Là 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 ADC 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 C PC theo chn RS 232 Khèi ngn : Lµm nhiƯm vơ biÕn ngn xoay chiỊu 220V sang ngn mét chiỊu 5V ổn định để cấp nguồn cho khối khác hoạt động Hình 1.2 : Sơ đồ khối thiết kế phần cứng Trang Nguồn LCD display Chơng Keypad C + I/O port Lùa chän vµ Max 232 linh kiƯn thiÕt kÕ mét sè lý thut vỊ LM335 chun ®ỉ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 vi mạch điều khiển lợng thấp bit (công nghệ chíp CMOS) sở cấu trúc RICS h·ng ATMEL, nã thc hä vi ®iỊu khiĨn AT90S/LS8535 B»ng cách thực lệnh đơn chu kỳ, AT90S8535 đạt tới MIPS cho MHz cho phép hệ thống đợc thiết kế cách tối u tiêu thụ lợng làm tăng tốc độ xử lý Về mặt cấu tạo C tơng tự nh C AT90S8515 với cổng I/O lập trình đợc, nhiên mặt chức C AT90S8535 đợc tích hợp thêm nhiều tính mà C AT90S8515 Các đặc trng C AT90S8535 đợc trình bầy dới : 8KB nhớ chơng trình 512 byte EEPROM 512 byte SRAM 32 line (4 cæng) I/O lËp trình đợc 32 ghi đa bit kênh đầu vào ADC riêng biệt với 10 bit kÕt qu¶ bé Timer/Counter bit víi đếm độc lập chế độ so sánh bé Timer/Counter 16 bit víi bé ®Õm ®éc lËp chế độ PWM UART lập trình trao đổi thông tin nối tiếp Watchdog Time lập trình đợc với tạo giao động bé so s¸nh analog cỉng phối ghép nối tiếp thiết bị ngoại vi SPI chế độ làm việc : Idle, Power-Save Power-down Nguån cung cÊp tõ 4.0 - 6.0V, tÇn số làm việc - 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 chíp cho phép nhớ chơng trình đợc lập trình lại thông qua cổng SPI phối ghép nối tiếp với thiết bị ngoại vi Ngoài ra, C AT90SS8535 hỗ trợ cho việc lập trình thông qua công cụ pháp triển hệ thống nh C, assemblers Vi điều khiển AT90S8535 có cấu hình chân khác : PDIP (Có 40 chân), PLCC, TQFP, MLF (Có 44 chân) Sơ đồ chân loại nh sau Hình 2.1 : Cấu hình chân C AT90S8535 PLCC PDIP Trang TQFP MLF Chức ch©n cđa C AT90S8535 nh sau : VCC : Chân cấp nguồn 5V GND : Chân nối đất RESET : Là đầu vào reset Tín hiệu reset bên tạo mức thấp trở kháng chân Reset Xung reset dài 50ns tạo tín hiệu reset Xung ngắn không đảm bảo phát sinh tín hiệu reset XTAL1 : Là đầu vào có tác dụng đảo chiều khuếch đại tạo dao động đầu vào mạch điều khiển đồng hồ bên XTAL2 : Là đầu tín hiệu đảo từ khuếch đại tạo dao động AVCC : Là chân cung cấp điện áp cho cổng A chuyển đổi ADC, ADC không đợc sử dụng chân phải đợc nối với nguồn 5V (chân VCC), ADC đợc sử dụng chân phải đợc nối tíi ngn 5V qua bé läc th«ng thÊp AREF : Là đầu vào chuẩn tín hiệu tơng tự cho chuyển đổi ADC Để cho ADC hoạt động đợc, nguồn sử dụng cho chân phải có phạm vị từ 2V đến AVCC AGND : Chân nối ®Êt cđa tÝn hiƯu analog, nÕu bo m¹ch cã mét mức nối đất riêng tín hiệu analog, chân phải đợc nối tới mức nối đất Nếu không có, chân đợc nối tới chân GND Port A (PA7 PA0) : Lµ mét cỉng vµo hai chiều bit Các chân cổng cung cÊp c¸c trë kh¸ng cho phÐp chän tõng bit Trang Đệm cổng A có khả kéo dòng lên tới 20mA điều khiển trực tiếp hiển thị LED Khi chân PA0 đến PA7 đợc sử dụng nh cổng vào mức thấp, chúng đầu vào thời điện trở đợc kích hoạt Cổng A đợc sử dụng nh đầu vào analog để đa tín hiệu tới bộ chuyển đổi ADC Các chân cổng A trạng thái không xác định reset, đồng hồ không hoạt động Port B (PB7 BP0) : Là cổng vào hai chiều bit với trở kháng Đệm cổng B có khả kéo dòng lên tới 20mA Khi đầu vào, chân cổng B trạng thái trở kháng thấp đầu vào thời điện trở đợc kích hoạt Cổng B cổng cung cấp chức khác với đặc tính đặc biệt C AT90S8535 Các chân cổng B trạng thái không xác định reset, đồng không hoạt động Port C (PC0 PC7) : Lµ mét cỉng vµo hai chiỊu bit với trở kháng Đệm cổng C có khả kéo dòng lên tới 20mA Khi đầu vào, chân cổng C trạng thái trở kháng thấp đầu vào thời điện trở đợc kích hoạt Hai chân cổng C đợc lựa chọn để sử dụng giống nh tạo dao động cho Timer/Counter2 Các chân cổng C trạng thái không xác định reset, đồng không hoạt động Port D (PD0 PD7) : Lµ mét cỉng vµo hai chiều bit với trở kháng Đệm cổng C có khả kéo dòng lên tới 20mA Khi đầu vào, chân cổng D trạng thái trở kháng thấp đầu vào thời điện trở đợc kích hoạt Cổng D cung cấp chức có đặc tính đặc biệt C AT90S8535 Các chân cổng D trạng thái không xác định reset, đồng không hoạt động Hình 2.2 : Sơ đồ khối vi mạch điều khiển AT90S8535 Trang 2.1.1.1 Cấu trúc vi mạch AT90S8535 Vi mạch điều khiển AT90S8535 có phơng thức truy cập nhanh tới tâp ghi đa bao gồm 32 ghi bit với thời gian truy cập đơn chu kỳ đồng hồ Điều có nghĩa đơn chu kỳ, thao tác ALU đợc thực lấy hai toán hạng từ hai ghi tập ghi, sau thao tác đợc thực kết qua trả đợc lu trở lại tập ghi chu kỳ đồng hồ Sáu số 32 ghi đa đợc sử dụng nh ghi địa gián tiếp 16 bit trỏ đến không gian địa liệu, làm cho phép tính địa đạt đợc hiệu cao Một trỏ địa đợc sử dụng giống nh trỏ địa tới vùng nhớ liệu cố định Các ghi địa ghi 16 bit X, Y, Z Hình 2.3 : Sơ đồ khối kiến trúc C AT90S8535 Bộ ALU cung cấp chức tính toán số học logic ghi số ghi Những thao tác ghi đơn đợc thực ALU Sự hoạt động ALU đợc phân chia làm loại số học, logic chức bit Ngoài chức ghi, chế độ đánh địa nhớ thông thờng đợc sử dụng tập ghi Điều đợc thực qua việc tập ghi đợc gán 32 địa thấp không gian địa liệu ($00 $1F), Cho phép chúng đợc truy nhập nh là địa nhớ bình thờng Trang 10