Báo cáo bài tập lớn vi xử lý mạch đo nhiệt và cảnh báo

20 3 0
Báo cáo bài tập lớn vi xử lý mạch đo nhiệt và cảnh báo

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ VIỄN THÔNG 00O00 BÁO CÁO BÀI TẬP LỚN MÔN VI XỬ LÝ ĐỀ TÀI MẠCH ĐO NHIỆT ĐỘ VÀ CẢNH BÁO Thầy giáo hướng dẫn: ThS Hàn Huy Dũng Sinh Viên thực hiện: Nguyễn Thọ Lợi Đặng Đình Tài Nguyễn Huy Hồng Ngơ Thanh Xn Đặng Đức Cường Lớp : ĐT2-K48 Hà Nội 05-2006 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chức đề tài Đo hiển thị nhiệt độ môi trường điểm khoảng -400C đến 1000C Báo động nhiệt độ mơi trường khoảng mà ta chọn PHẦN MỞ ĐẦU GIỚI THIỆU VĐK BÍT PIC16F877 VÀ SO SÁNH VỚI VĐK 8051 Ngµy nay, vi điều khiển có ứng dụng ngày rộng r i lĩnh vực kỹ thuật đời sống x hội, đặc biệt kỹ thuật tự động hoá điều khiển từ xa Giờ với nhu cầu chuyên dụng hoá, tối u (thời gian, không gian, giá thành), bảo mật, tính chủ động công việc ngày đòi hỏi khắt khe Việc đa công nghệ lĩnh vực chế tạo mạch điện tử để đáp ứng yêu cầu hoàn toàn cấp thiết mang tính thực tế cao Khái niệm vi điều khiển Để hiểu khái niệm vi điều khiển, ta làm phép so sánh với vi xử lý công dụng chung nh sau: Ta biết rằng, vi xư lý c«ng dơng chung nh− hä Intel x86 (8086, 80286, 80386, 80486 Pentium) họ Motorola 680x0(6800, 68010, 68020, 68030, 68040 vv ) kh«ng cã RAM, ROM cổng vào chip Với lý mà chúng đợc gọi vi xử lý công dụng chung Một nhà thiết kÕ hƯ thèng sư dơng mét bé vi xư lý công dụng chung chẳng hạn nh Pentium hay 68040 phải bổ xung thêm RAM, ROM, cổng vào định thời để làm cho chúng hoạt động đợc Mặc dù việc bổ xung RAM, ROM, cổng vào làm cho hệ thống cồng kềnh lên nhng lại có u điểm sử dụng vi xử lý linh hoạt Chẳng hạn nh ngời thiết kế định số lợng RAM, ROM, cổng vào cần thiết cho phù hợp với khả năng, mục đích sử dụng hệ thống Điều có vi điều khiển Bởi vì, vi điều khiển đ có CPU (mét bé vi xư lý) cïng víi mét sè lợng RAM, ROM, cổng vào định thời chíp Hay nói cách khác vi xử lý, RAM, ROM, cổng vào định thời đợc nhúng mét chip Do vËy ng−êi thiÕt kÕ kh«ng thĨ bỉ xung thêm nhớ ngoài, số cổng vào định thời cho Với số lợng RAM, ROM số cổng vào cố định nh mặt hạn chế (kém linh hoạt) xong lại thật lý tởng ứng dụng mang tính chuyên biệt, tối u giá thành, tối u không gian Hiện thị truờng có vi điều khiển bít lµ 6811 cđa Motorola, 8051 cđa Intel, Z8 cđa Xilog Pic16x Microchip Technology Mỗi loại có tập lệnh ghi riêng nhất, nên chúng không tơng thích lẫn Cũng có vi điều khiển 16 bít 32 bít LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com đợc sản xuất h ng sản xuất chíp khác Những yêu cầu để lựa chọn vi điều khiển là: + Đáp ứng nhu cầu tính toán toán cách hiệu mặt giá thành đầy đủ chức nhìn thấy đợc, (khả dĩ) + Có sẵn công cụ phát triển phần mềm chẳng hạn nh trình biên dịch trình hợp ngữ gỡ rối + Nguồn vi điều khiển có sẵn nhiều tin cậy Các tiêu chuẩn lựa chọn vi điều khiển: Tiêu chuẩn trớc hết lựa chọn vi điều khiển phải đáp ứng nhu cầu toán mặt công suất tính toán, giá thành hiệu Trong phân tích nhu cầu dự án dựa vi điều khiển, trớc hết phải biết vi ®iỊu khiĨn nµo lµ bÝt, 16 bÝt hay 32 bít đáp ứng tốt nhu cầu tính toán toán cách hiệu + Những tiêu chuẩn đợc đa để cân nhắc là: + Tốc độ: Tốc độ lớn mà vi điều khiển hỗ trợ + Kiểu đóng vỏ: Đó kiểu 40 chân DIP hay QFP kiểu đóng vỏ khác Đây điều quan trọng yêu cầu không gian, kiểu lắp ráp tạo mẫu thử cho sản phẩm cuối + Công suất tiêu thụ: Điều đặc biệt khắt khe sản phẩm dùng pin, ắc quy + Dung lợng nhớ RAM ROM chíp + Số chân vào ra, định thời, số ngắt chíp + Khả dễ dàng nâng cấp cho hiệu suất cao giảm công suất tiêu thụ + Giá thành cho đơn vị: Điều quan trọng định giá thành cuối sản phẩm mà vi điều khiển đợc sử dụng Bộ Vi điều khiển bit PIC16F877 Đặc tính bật bé vi xư lÝ + Sư dơng c«ng nghƯ tÝch hỵp cao RISC CPU + Ng−êi sư dơng cã thĨ lập trình với 35 câu lệnh đơn giản + Tất câu lệnh thực chu kì lệnh ngoại trừ số câu lệnh rẽ nhánh thực chu kì lệnh + Tốc độ hoạt ®éng lµ: - Xung ®ång hå vµo lµ DC- 20MHz - Chu kú lÖnh thùc hiÖn 200ns + Bé nhớ chơng trình Flash 8Kx14 words + Bộ nhớ Ram 368x8 bytes + Bé nhí EFPROM 256x bytes Kh¶ vi xử lí + Khả ngắt ( lên tới 14 nguồn ngắt ngắt ) + Ngăn nhớ Stack đợc phân chia làm mức + Truy cập nhớ địa trực tiếp gián tiếp + Nguồn khởi động lại (POR) + Bộ tạo xung thời gian (PWRT) tạo dao động (OST) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com + Bé ®Õm xung thêi gian (WDT) víi nguồn dao động chíp (nguồn dao động RC ) hoạt động đáng tin cậy + Có m chơng trình bảo vệ + Phơng thức cất giữ SLEEP + Có bảng lựa chọn dao động + Công nghệ CMOS FLASH /EEPROM nguån møc thÊp ,tèc ®é cao + ThiÕt kÕ hoàn toàn tĩnh + Mạch chơng trình nối tiếp có chân + Xử lý đọc /ghi tới nhớ chơng trình + Dải điện hoạt động réng : 2.0V ®Õn 5.5V + Ngn sư dơng hiƯn 25 mA + D y nhiệt độ công nghiệp thuận lợi + Công suất tiêu thụ thấp: < 0.6mA víi 5V, 4MHz 20 uA víi nguån 3V, 32 kHz < uA nguồn dự phòng Các đặc tính bật thiết bị ngoại vi chip + Timer0: bít định thời, đếm víi hƯ sè tû lƯ tr−íc + Timer1: 16 bÝt định thời, đếm với hệ số tỷ lệ trớc, có khả tăng chế độ Sleep qua xung đồng hồ đợc cung cấp bên + Timer 2: bít định thời, bé ®Õm víi bÝt cđa hƯ sè tû lƯ tr−íc, hƯ sè tû lƯ sau + Cã chÕ độ bắt giữ, so sánh, điều chế độ rộng xung(PWM) + Chế độ bắt giữ với 16 bít, với tốc ®é 12.5 ns, chÕ ®é so s¸nh víi 16 bÝt, tốcđộ giải cực đại 200 ns, chế độ ®iỊu chÕ ®é réng xung víi 10 bÝt + Bé chuyển đổi tín hiệu số sang tơng tự với 10 bÝt + Cỉng trun th«ng nèi tiÕp SSP víi SPI phơng thức chủ I2C(chủ/phụ) + Bộ truyền nhận thông tin đồng bộ, dị bộ(USART/SCL) có khả phát bít địa + Cổng phụ song song (PSP) víi bÝt më réng, víi RD, WR vµ CS ®iỊu khiĨn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ chân PIC16F87X LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN Sơ đồ khối vi điều khiển PIC16F87X So sánh với vi điều khiển 8051 * Bộ vi điều khiển 8051 VĐK thuộc họ VĐK x51 đợc sản xuất bëi c«ng ty Intel, Siemens, Advanced Micro Devices, Fujitsu, Philips Các đặc điểm chung VĐK này: + 4KB ROM + 128 B RAM + cæng I/O bit + Timer 16 bit + Có khả quản lý đợc 64 KB nhớ m chơng trình (ROM ngoài) + Có khả quản lý đợc 64 KB nhớ liệu (RAM ngoài) + Có xử lý logic riêng (thao tác bit) + Có thể thao tác trực tiếp đợc 210 bit (các bit đ đợc địa hoá) + Có ngắt + Dùng nguồn dao động + Dùng điện áp 5V chip hoạt động *Cổng P0: Có dạng cực máng hở có chân (8 bit) cổng vào/ra cổng chuyển liệu địa CHAT LUONG download : add luanvanchat@agmail.com *Cổng P1: Là cổng vào/ra có chân (8 bit) *Cổng P2: Có chân (8 bit) cổng vào/ra cổng chuyển liệu địa *Cổng P3: Có chân, cổng cổng vào/ra bit hay có chức quan trọng khác nh phục vụ cho ngắt, định thời, việc truyền nhận liệu truyền thông nối tiếp, đọc ghi nhớ Sơ đồ khối VĐK 8051 Nh thấy đặc điểm mà PIC16F877 đem lại bật so với VĐK 8051 dòng PIC16F877 đặc tính kĩ thuật hẳn so với VĐK 8051 thể điểm sau: VĐK8051 Đặc tính Số lợng ROM chíp 4K byte RAM 128 byte Bộ định thời Các chân vào 32 Cổng nối tiếp Nguồn ngắt VĐK PIC16F877 Đặc tính Số lợng ROM chíp 8K RAM 368 byte Bộ định thời Các chân vào 40 Cổng nối tiếp Nguồn ngắt 14 Ngoài đặc tính vi điều khiển PIC16F877 có đặc điểm hẳn so với 8051 có 10 bít chuyển đổi A/D chíp điều giúp mÊt mét bé chun ®ỉi (sÏ dÉn ®Õn kÕt nèi dây trở nên phức tạp) Một đặc điểm vi điều khiển PIC16F877 có tạo dao động chủ chíp điều tránh đợc sai số không cần thiết việc tạo xung ng, VK PIC16F877 có khả tự RESET WĐT, có thêm 256 byte EEPROM LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN I THIẾT KẾ PHẦN CỨNG Sơ đồ khối mạch Nhiệt độ môi trường Khối xử lý nhiệt độ Khối ADC Khối xử lý vào Khối hiển thị cảnh báo Khối xử lý chung ♣ Khối xử lý nhiệt độ khối ADC : Là sensor nhiệt LM335 ADC 10 bit Sơ đồ sensor nhiệt LM335 LM335 cố đầu vào nhiệt độ môi trường đầu diện áp Chân chân mang dấu “-”, thường nối đất phân cực Chân chân mang dấu “+”, nối với V+ thông qua điện trở chân đầu LM335 Chân chân mang chữ “ADJ”, thường nối với biến trở để điều chỉnh nhiệt độ ban đầu cho phù hợp Người ta thường phân cực cho sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Còn biến đổi ADC , ta dùng ADC PIC ADC 10 bít Nguyên lý làm việc cơng thức tính tốn: Đo nhiệt độ môi trường điểm thông qua sensor nhiệt LM335 (Chi tiết LM335 xem thêm datasheet) LM335 sensor đo nhiệt, đo nhiệt độ khoảng từ -400C đến 1000C, đầu 10mV/K Đầu đưa vao chân Analog ADC (Cụ thể đưa vào Chân AN0 ).Vì tính theo độ K nên để đo độ C ta cần có cơng thức chuyển đổi giá trị từ độ K sang độ C Ở ta dùng ADC PIC 10 bit => max=1023, Vref=Vcc, giả thiết Vcc = 5V nên độ C hay 273K đầu LM335 có giá trị 2.73V Như muốn tính tốn độ C ta cần phải trừ mức điện áp 2.73V Lấy ví dụ: nhiệt độ 30 độ C = 303K -> out = 303 x 10mV/K =3.03V Ta tính toán giá trị đọc từ ADC 10 bit (ADC_Vin điện áp đưa vào chân ADC PIC, ADC_value giá trị đầu ADC dạng thập phân): ADC_Vin = 5V => ADC_value = 1023 ADC_Vin = 2.73V => ADC_value = (1023/5)x2.73=558.558 (tương ứng độ C) ADC_Vin = 3.03V => ADC_value = (1023/5)x3.03=619.938 (tương ứng 30 độ C) Mặt khác V_ref = Vcc =5V nên ADC_value=1 tương ứng 5/1023 = 4.887mV (~ 5mV) Trong LM335 cho điện áp 10mV/1K nên để giá trị ADC thay đổi đơn vị nhiệt độ phải thay đổi 0.5K (hay gần 5mV) Từ ta có cơng thức đầy đủ sau để tính giá trị độ C: C=(ADC_value - 558.558)x(4.887mV/10mV) => C=(ADC_value - 558.6)/ 2.046 ♣Khối hiển thị cảnh báo Ta dùng LED để hiển thị nhiệt độ môi trường dùng loa để phát cảnh báo nhiệt độ môi trường khoảng nguy hiểm Cụ thể mạch ta dùng Hai LED Anot chung (chúng ta dùng LCD thay thế) Sau sơ đồ mạch nguyên lý: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com a b DOT c 21 22 23 24 25 26 27 28 29 30 A1015 T2 HI 22pF 10MHz 22pF 4K7 40 39 38 37 36 35 34 33 10 Q3 4K7 T3 SPEAKER HI 4K7 13 14 15 16 17 18 19 20 RD2/PSP2 RB7/PGD RB6/PGC RD3/PSP3 RB5 RC4/SDI/SDA RB4 RC5/SDO RC6/TX/CK RB3/PGM RC7/RX/DT RB2 RD4/PSP4 RB1 RD5/PSP5 RB0/INT RD6/PSP6 RD7/PSP7 RA2/AN2 RA3/AN3 RA4 RA5/AN4 OSC1/CLKI RE0/AN5 OSC2/CLKO RE1/AN6 RC0/T1CKI RE2/AN7 RC1/CCP2 RC2/CCP1 RC3/SCK/SCL RD0/PSP0 RD1/PSP1 VDD1 VSS1 32 31 VCC Vcc f d g e A1015 10 b DOT a VCC Vcc c f d T1 g e 10 Sơ đồ nguyên lý HI VSS 3 VR10K LM335Z 10K HI SW2 HI 1K PIC16F877A RA1/AN1 RA0/AN0 VPP HI 12 VDD SW_PB_SPST 11 Giải thích sơ đồ nguyên lý: Các Transistor A1015 (chúng ta gọi đèn T1, T2, T3) cấp nguồn 5V chân E , chân C T1 T2 nối với chân Vcc LED thanh, chân B T1, T2 nối với chân 20 19 VĐK PIC16F877A (cụ thể nối với chân RD0 RD1 chân output PORTB) Khi RD1 mức thấp đầu C đèn T1 mức cao lúc LED phân cực sáng, ngược lại LED bị phân cực sai lúc khơng sáng Tương tự cho chân RD0 LED lại Đèn T3 thay LED Loa (và chân output chân RE0 PORTE) dùng để cảnh báo Đầu sensor nhiệt LM335 đưa vào chân VĐK (là chân Analog AN0 ADC 10 bít tích hợp sẵn VĐK PIC, chân AN0 thiết lập chân vào Analog ADC) Cuối VĐK PIC16F877A, ta nói đến tính mà ta dùng cho đề tài này, VĐK tích hợp nhiều chức mà tham khảo thêm Datasheet Nhìn vào sơ đồ nguyên lý ta thấy chân 19, 20 chân output (đã nói trên) ,ngồi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com cịn có chân 33 đến 39 chân output (chính bít RB0 đến RB6 thiết lập chân output PORTB), chân nối với LED để hiển thị nhiệt độ, LED phân cực chân mưc cao LED sáng Chân chân Input, chân vào Analog ADC Các chân 11,12,31,32 chân cấp nguồn cho VĐK, riêng chân Vpp (chân 1) chân RESET Chân 13, 14 chân dùng cho việc thiêt lập xung Clock cho VĐK LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN II THIẾT KẾ PHẦN MỀM Trong dùng chương trình CCS (ngơn ngữ C cho PIC Microchip) để viết phần lập trình cho VĐK, ưu điểm nhỏ gọn so với ta viết MASM nhờ hỗ trợ nhiều hàm, ta cịn chèn đoạn chương trình viết ASM giũa hai thị tiền xử lý #ASM #ENDASM Tài liệu tham khảo: “Tài liệu hướng dẫn CCS Tiếng việt” tác giả Trần Xuân Trường, SV K2001, ĐHBK HCM đầy đủ phần Hepl trình cài đặt PIC C Compiler Code đầy đủ cho chương trình #include //Khai báo PIC ta sử dụng file khai báo bít,các // ghi quan trọng PIC #include //Khai báo định ngiã ghi bít quan trọng #device *=16 adc=10 // Khai báo dùng poiter 16 bít ADC 10 bít #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT //Khai báo config #use delay(clock=20000000) //Khai báo sử dụng hàm Delay tần số dao động sử dụng int8 high,low; //Khai báo biến số nguyên 1byte (8bít) //Khai báo mảng số số nguyen byte int8 const a[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; // Chương trình tách số hàng chục hàng đơn vị thành hai số chứa hai biến //đã khai báo high low void convert_bcd(int8 x) { low=x%10; //chia lấy phần dư, low=hàng đơn vị high=x/10; high=high%10; //high=số hàng chục } // Chương trình giải mã hiển thị nhiệt độ void display() { PORTB=a[low]; // Gửi liệu đến LED RD0=0; // Bật LED1, LED1 hiển thị giá trị low delay_ms(2); RD0=1; // Cho trễ 2ms // tắt LED LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PORTB=a[high]; RD1=0; delay_ms(2); RD1=1; // LED } //Chương trình thục việc báo động void bao_dong(){ int8 i; for(i=0;i 40) || ((int8)value < 15)) bao_dong(); display(); } } -Lưu ý: ●Tại gắn a[low] =PORTB LED lại hiển thị giá trị low? Bởi mảng số: a[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; tương đương với mảng giá trị số nhị phân sau: a[10] = {11000000,11111001,10100100,10110000,10011001,10010010,10000010, 11111000,10000000,10010000}; Kể từ phải qua trái (bỏ qua số nhị phân cuối ta khơng sử dụng chan RB7 PORTB) số nhị phân mức điện áp a,b,c,d,e,f,g,h LED Tức mảng tương ứng với giá trị hiển thị LED số: 0,1,2,3,4,5,6,7,8,9 ●Một số hàm CCS sử dụng là: Hàm delay_us(time) delay_ms(time) ví dụ: delay_us(2) ; //tạo trễ 2us delay_ms(2); //tạo trễ 2ms Hàm: setup_adc(ADC_CLOCK_INTERNAL); hàm dùng để xác định cách thức hoạt động biến đổi ADC, cụ thể xác định thời gian lấy mẫu xung clock Hàm: setup_adc_ports(AN0); setup_ADC_channel(0) hàm dùng để xác định chân lấy tín hiệu Analog chân AN0 Còn file định ngĩa “def_877a.h” mà ta khai báo trên: // register definitions #define W #define F // register files #byte INDF #byte TMR0 =0x00 =0x01 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #byte PCL =0x02 #byte STATUS =0x03 #byte FSR =0x04 #byte PORTA =0x05 #byte PORTB =0x06 #byte PORTC =0x07 #byte PORTD =0x08 #byte PORTE =0x09 #byte EEDATA #byte EEADR #byte EEDATH #byte EEADRH #byte ADCON0 #byte ADCON1 #byte ADRESH #byte ADSESL =0x10C =0x10D =0x10E =0x10F =0x1F =0x9F =0x9F =0x9F #byte PCLATH =0x0a #byte INTCON =0x0b #byte PIR1 =0x0c #byte PIR2 =0x0d #byte PIE1 =0x8c #byte PIE2 =0x8d #byte OPTION_REG =0x81 #byte TRISA =0x85 #byte TRISB =0x86 #byte TRISC =0x87 #byte TRISD =0x88 #byte TRISE =0x89 #byte EECON1 #byte EECON2 =0x18C =0x18D #byte SSPBUF =0x13 #byte SSPCON =0x14 #byte SSPCON2 =0x91 #byte SSPADD =0x93 #byte SSPSTAT =0x94 // SSPCON bit #bit SSPWCOL = 0x14.7 #bit SSPOV = 0x14.6 #bit SSPEN = 0x14.5 #bit SSPCKP = 0x14.4 #bit SSPM3 = 0x14.3 #bit SSPM2 = 0x14.2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #bit SSPM1 = 0x14.1 #bit SSPM0 = 0x14.0 // SSPSTAT bit #bit SSPSMP = 0x94.7 #bit SSPCKE = 0x94.6 #bit SSPDA = 0x94.5 #bit SSPP = 0x94.4 #bit SSPS = 0x94.3 #bit SSPRW = 0x94.2 #bit SSPUA = 0x94.1 #bit SSPBF = 0x94.0 //DINH NGHIA BIT #bit ra5 =0x05.5 #bit ra4 =0x05.4 #bit ra3 =0x05.3 #bit ra2 =0x05.2 #bit ra1 =0x05.1 #bit ra0 =0x05.0 #bit rb7 #bit rb6 #bit rb5 #bit rb4 #bit rb3 #bit rb2 #bit rb1 #bit rb0 =0x06.7 =0x06.6 =0x06.5 =0x06.4 =0x06.3 =0x06.2 =0x06.1 =0x06.0 #bit rC7 #bit rC6 #bit rC5 #bit rC4 #bit rC3 #bit rC2 #bit rC1 #bit rC0 =0x07.7 =0x07.6 =0x07.5 =0x07.4 =0x07.3 =0x07.2 =0x07.1 =0x07.0 #bit rD7 #bit rD6 #bit rD5 #bit rD4 #bit rD3 #bit rD2 #bit rD1 #bit rD0 =0x08.7 =0x08.6 =0x08.5 =0x08.4 =0x08.3 =0x08.2 =0x08.1 =0x08.0 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #bit rE2 #bit rE1 #bit rE0 =0x09.2 =0x09.1 =0x09.0 #bit trisa5 #bit trisa4 #bit trisa3 #bit trisa2 #bit trisa1 #bit trisa0 =0x85.5 =0x85.4 =0x85.3 =0x85.2 =0x85.1 =0x85.0 #bit trisb7 #bit trisb6 #bit trisb5 #bit trisb4 #bit trisb3 #bit trisb2 #bit trisb1 #bit trisb0 =0x86.7 =0x86.6 =0x86.5 =0x86.4 =0x86.3 =0x86.2 =0x86.1 =0x86.0 #bit trisc7 #bit trisc6 #bit trisc5 #bit trisc4 #bit trisc3 #bit trisc2 #bit trisc1 #bit trisc0 =0x87.7 =0x87.6 =0x87.5 =0x87.4 =0x87.3 =0x87.2 =0x87.1 =0x87.0 #bit trisd7 #bit trisd6 #bit trisd5 #bit trisd4 #bit trisd3 #bit trisd2 #bit trisd1 #bit trisd0 =0x88.7 =0x88.6 =0x88.5 =0x88.4 =0x88.3 =0x88.2 =0x88.1 =0x88.0 #bit trise2 #bit trise1 #bit trise0 =0x89.2 =0x89.1 =0x89.0 // INTCON Bits for C #bit gie = 0x0b.7 #bit peie = 0x0b.6 #bit tmr0ie = 0x0b.5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #bit int0ie = 0x0b.4 #bit rbie = 0x0b.3 #bit tmr0if = 0x0b.2 #bit int0if = 0x0b.1 #bit rbif = 0x0b.0 // PIR1 for C #bit pspif = 0x0c.7 #bit adif = 0x0c.6 #bit rcif = 0x0c.5 #bit txif = 0x0c.4 #bit sspif = 0x0c.3 #bit ccp1if = 0x0c.2 #bit tmr2if = 0x0c.1 #bit tmr1if = 0x0c.0 //PIR2 for C #bit cmif = 0x0d.6 #bit eeif = 0x0d.4 #bit bclif = 0x0d.3 #bit ccp2if = 0x0d.0 // PIE1 for C #bit adie = 0x8c.6 #bit rcie = 0x8c.5 #bit txie = 0x8c.4 #bit sspie = 0x8c.3 #bit ccp1ie = 0x8c.2 #bit tmr2ie = 0x8c.1 #bit tmr1ie = 0x8c.0 //PIE2 for C #bit osfie = 0x8d.7 #bit cmie = 0x8d.6 #bit eeie = 0x8d.4 // OPTION Bits #bit not_rbpu = 0x81.7 #bit intedg = 0x81.6 #bit t0cs = 0x81.5 #bit t0se = 0x81.4 #bit psa = 0x81.3 #bit ps2 = 0x81.2 #bit ps1 = 0x81.1 #bit ps0 = 0x81.0 // EECON1 Bits LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com #bit eepgd #bit free #bit wrerr #bit wren #bit wr #bit rd = 0x18c.7 = 0x18C.4 = 0x18C.3 = 0x18C.2 = 0x18C.1 = 0x18C.0 //ADCON0 #bit CHS0 =0x1F.3 #bit CHS1 =0x1F.4 #bit CHS2 =0x1F.5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN TỔNG KẾT Nhận xét kết nhận Nhiệt độ đo dược chuẩn xác, nhiên sai số lớn (tới độ C), điều ta khắc phục cách dùng ba LED để hiển thị, lúc sai số giảm xuống cịn 0,1oC (bởi ADC PIC 10 bít => giá trị xuất tới 1023) Nếu muốn chuẩn xác ta dùng ADC ngồi có số bít cao hơn, dùng LCD để hiển thị Ứng dụng đề tài rộng rãi sống, nhà máy bia, hệ thống làm lạnh việc kiểm soát nhiệt độ 2.Hướng phát triển mở rộng đề tài: - Nâng cao độ xác hiển thị cách dùng ADC có độ phân giải cao (có thể dùng ADC ngồi) - Thêm bàn phím giao tiếp để thay đổi trực tiếp khoảng nhiệt độ theo dõi, với ta thêm vào LED để hiển thị hai giá trị nhiệt độ - Sử dụng EEPROM để lưu giá trị nhiệt độ mà người dùng thiết lập, lần thay đổi khác - Ghép nối máy tính để truyền giá trị nhiệt độ đến máy tính - Ghép nối LCD mạch đếm thời gian thực (DS1307) để ứng với thời điểm chương trình tự động chọn khoảng thiết lập nhiệt độ thích hợp theo mùa, thời điểm định trước - Sử dụng PID điều khiển tự động kết hợp với mạch điều khiển tăng giảm nhiêt độ để đảm bảo nhiệt độ bám theo giá trị cho trước, hệ ổn định nhiệt (giá trị thay đổi nhỏ) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... khối mạch Nhiệt độ môi trường Khối xử lý nhiệt độ Khối ADC Khối xử lý vào Khối hiển thị cảnh báo Khối xử lý chung ♣ Khối xử lý nhiệt độ khối ADC : Là sensor nhiệt LM335 ADC 10 bit Sơ đồ sensor nhiệt. .. thống Điều có vi điều khiển Bởi vì, mét bé vi ®iỊu khiĨn ® cã mét CPU (mét bé vi xư lý) cïng víi mét sè l−ỵng RAM, ROM, cổng vào định thời chíp Hay nói cách khác vi xử lý, RAM, ROM, cổng vào định... cổng vào chip Với lý mà chúng đợc gọi vi xử lý công dụng chung Một nhà thiết kế hệ thèng sư dơng mét bé vi xư lý c«ng dơng chung chẳng hạn nh Pentium hay 68040 phải bổ xung thêm RAM, ROM, cổng vào

Ngày đăng: 01/11/2022, 14:56

Tài liệu cùng người dùng

Tài liệu liên quan