Đọc nhiệt độ, hiển thị lên led 7 đoạn, dùng cảm biến, IC tích hợp LM35
CHƯƠNG 1: CHƯƠNG DẪN NHẬP Nhiệt độ môi trường ảnh hưởng đến sinh hoạt đời sống Việc xác định nhiệt độ môi trường từ lâu điều thiếu có nhiều cách xác định nhiệt độ môi trường nhiệt kế thủy ngân… Ngày với phát triển khoa học kỹ thuật nhiệt độ xác định xử lý dựa vào linh kiện điện tử để giúp đạt hiệu cao Để tìm hiểu sâu vi điều khiển Pic 16F877A nên chúng em lựa chọn đề tài để hoàn thành đồ án môn học Vi Xử Lý,và quan trọng hết tập thực tế để khảo sát Pic 16F877A tốt giúp chúng em hoàn thiện môn học Vi Xử Lý Trong lĩnh vực sản suất công nghiệp nhiệt độ có tác động trực tiếp đến chất lượng sản phẩm đầu trình gia công hàn vật liệu nhiệt độ ảnh hưởng đến độ xác,tính giản nở vật liệu Trong trình nung,sấy nung gạch nhiệt độ ảnh đến chất lượng sản phẩm đầu Trong y học nhiệt độ ảnh hưởng đến kết nghiên cứu Trong sống, nhiệt độ ảnh hưởng đến chất lượng bảo quản lương thực Với yêu cầu nhóm chúng em xin thiết kế đề tài: “Đọc nhiệt độ hiển thị lên led đoạn” dùng cảm biến IC tích hợp LM35 Đề tài thiết kế dựa kiến thức học, sách tham khảo số nguồn tài liệu khác, nhiên thời gian trình độ có hạn nên chúng em không tránh khỏi sai sót Vì vậy, mong thầy bạn góp ý xây dựng, giúp đỡ để hoàn thiện đề tài CHƯƠNG 2:Lý Thuyết Cơ Sở 1.Lựa Chọn Linh Kiện Khối nguồn Mạch nguồn cung cấp điện áp cho hệ thống hoạt động,trong đó: +Biến áp dùng để biến đổi điện áp xoay chiều thành điện áp xoay chiều điện áp thấp cấp cho mạch chỉnh lưu +Chỉnh lưu cầu nhiệm vụ biến đổi điện áp xoay chiều thành chiều +Tụ có vai trò lọc thành phần nhiễu (1000µF, 100µF, 1µF) +IC 7805 có vai trò tạo điện áp 5v chuẩn Đây cách mắc IC họ 78xx, thiếu tụ 1000µF vào đầu Input OutPut IC Khối cảm biến Để đo lường nhiệt độ sử dụng nhiều loại cảm biến khác nhau, loại có ưu điểm riêng phù hợp với yêu cầu riêng Đối với đề tài đo nhiệt độ môi trường bình thường nên sử dụng LM35 tối ưu vì: loại cảm biến có độ xác cao tầm hoạt động tuyến tính từ – 1280C, tổn hao công suất thấp Cảm biến nhiệt LM35 có vai trò đo nhiệt độ môi trường sau truyền tín hiệu đo cho Pic dạng điện áp,nhiệt độ tăng hay giảm 10C LM35 tăng hay giảm 10mv theo 10C LM35 có chân,2 chân cấp nguồn( chân 1:cấp nguồn từ 4v – 20v,chân nối GND),1 chân xuất điện áp tùy theo nhiệt độ( chân 2) Các đặt tính kỹ thuật khác +LM35 có dãi nhiệt từ -550C đến 1500C, độ xác 1,50C, đầu 10mv/10C +Dòng LM35 dòng mạch tích hợp cảm biến xác nhiệt độ,có điện áp tỷ lệ thuận với nhiệt độ, có lợi so với cảm biến nhiệt độ tuyến tính hiệu chuẩn (0K) chẳng hạn dùng trừ lượng lớn số điện áp từ đầu để phân chia thang nhiệt độ thuận tiện +LM35 không cần hiệu chỉnh hay chỉnh sửa để đưa nhiệt độ xác 1/4 0C nhiệt độ phòng 3/40C khoảng -55 đến 1500C Sai số thấp vi mạch điều chỉnh +Trở kháng đầu LM35 thấp, đầu tuyến tính hiệu chỉnh chuẩn xác giúp đọc kiểm soát mạch dễ dàng +Nó sử dụng với nguồn chiều, sử dụng 60µA từ nguồn nên nhiệt độ vi mạch tăng ít, thấp 0,10C không khí Khối hiển thị led đoạn Common Cathode: Loại K chung Common Anode: Loại A chung Led đoạn công cụ thông dụng dùng để thị thông số dạng số từ đến Mặc dù LCD giúp ta thể thông số cách linh động led đoạn sử dụng nhiều công nghiệp ưu thế: chịu ảnh hưởng nhiệt độ, dễ tạo ý góc nhìn rộng +Led bao gồm đoạn led đánh dấu ký tự a, b, c, d, e, f, g, dấu chấm thập phân ký hiệu dp, ta xem led đoạn tổ hợp gồm led, led có đầu anode cathode nối chung bố trí theo quy tắt định dùng để thể chữ số +Có lọai led đoạn là: Loại Anode chung( cực Anode led nối chung) loại Cathode chung( cực Cathode led nối chung) Tùy theo loại led mà ta có phương pháp điều khiển led tổ hợp sáng tắt cách thích hợp +Việc điều khiển sáng tắt điều khiển cách đưa liệu vào chân a đến g chân dp, cách hiển thị led Trên thự tế, để tiết kiệm số chân cần thiết để điều khiển nhiều led lúc,các chân liệu led nối song song với nhau,các chân chung dùng để điều khiên cho led sáng hay tắt Phương pháp hiển thị dựa tượng lưu ảnh mắt Bảng hiển thị led đoạn dành cho loại Anode chung (các led sáng mức liệu 0): Số hiển thị lên led đoạn Mã hiển thị lên led đoạn Mã hiển thị lên led đoạn dạng nhị phân dạng thập lục phân hgf edcba 11000000 C0 11111001 F9 10100100 A4 10110000 B0 10011001 99 10010010 92 11000010 82 11111000 F8 10000000 80 10010000 90 Khối điều khiển Pic16F877A PIC viết tắt “Programable Intelligent Computer”, tạm dịch máy tính thông minh khả trình” hãng Genenral Instrument đặt tên cho vi điều khiển họ: PIC1650 thiết kế để dùng làm thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển sau nghiên cứu phát triển thêm từ hình thành nên dòng vi điều khiển PIC ngày Pic 16F877A dòng Pic phổ biến nay( đủ mạnh tính năng, 40 chân, nhớ đủ cho hấu hết ứng dụng thông thường) cấu trúc tổng quát Pic16F877A: +8K plash Rom +368 byte Ram +256 byte EEPROM +5 port( A, B, C, D, E) vào với tín hiệu đọc lập +2 định thời bit( timer0 timer 2) +1 định thời 16 bit( timer 1) hoạt động chế độ tiết kiệm lượng( Sleep Mode) với xung clock bên +2 CCP( Capture/Compare/PWM) +1 biến đổi AD 10 bit với ngõ vào +2 so sánh tương tự( compartor) +1 định thời giám sát( Watchdog Timer) +1 cổng song song bit với tín hiệu điều khiển +1 cổng nối tiếp +15 nguồn ngắt +Nạp chương trình cổng nối tiếp ICSP( In-Circuit Serial Programming) +Được chế tạo công nghệ CMOS +35 tập lệnh có độ dài 14bit +Tầng số hoạt động tối đa 20MHz +Để Pic hoạt đọng ta cần cấp nguồn cho Pic, thêm vào dao động thạch anh, nút reset Các dạng sơ đồ chân PIC 16F877a 2.2.Tổ chức nhớ Vi Điều Khiển Đây vi điều khiển họ PIC 16Fxxx với tập lệnh gồm 35 lệnh với độ dài 14bit Mỗi lệnh thực chù kỳ xung clock,tốc độ hoạt động tối đa cho phép 20MHz vời chu kỳ lệnh 200ns Bộ nhớ chương trình 8Kx 14 bit, nhớ liệu 368x8 byte RAM nhớ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O vời 33 pin I/O Các đặt tính ngoại vi bao gồm khối chức sau: Timer0: Bộ đếm bit với chia tầng bit Timer1: Bộ đếm 16 bit với cha tầng,có thể thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ sleep Timer 2:Bộ đếm bit với chia tầng số,bộ postcaler Hai capture,so sánh,điều chế độ rộng xung Các chuẩn giao tiếp nối tiếp SSP (Synchronous serial port),SPI I2C Chuẩn giao tiếp nối tiếp USART với bit địa Cổng giao tiếp song song PSP( Parallel Slave Port) với chân điều khiển RD, WR, CS bên Các đặt tính Analog: kênh chuyển đổi ADC 10 bit so sánh Bên cạnh vài đặc tính khác vi điều khiển như: Bộ nhớ flash với khả ghi xóa 100.000 lần Bộ nhớ EEPROM với khả ghi xóa 1.000.000 lần Dữ liệu nhớ EEPROM lưu trữ 40 năm Khả tự nạp chương trình với điều khiển phần mềm Nạp chương trình mạch điện ICSP (In Circuit Serial Programming) thông qua chân Watchdog timer với dao động Chức bảo mật mã chương trình Chế độ sleep Có thể hoạt động với nhiều dạng Oscillator khác Sơ đồ khối Pic16F877A 10 Các led A chung, chân a, b, c, d, e, f, g chân liệu, từ led hoạt động độc lập ,chân A chung nối qua Transistor nối với Vcc khối nguồn Khi tín hiệu các chân transistor mức cao led kích hoạt nhận tín hiệu số từ vi xử lý để hiển thị nhiệt độ lên led đoạn 3.1.5ĐÂY LÀ BẢ VẼ SƠ ĐỒ NGUYÊN LÝ CAPTURE, LAYOUT VÀ MẠCH IN 22 *Sơ đồ nguyên lý: 23 Sơ đồ layout mạch in sản phẩm: 24 CHƯƠNG 4: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH 4.1.Bản vẽ sơ đồ nguyên lý 4.2Sơ đồ mạch nguồn 25 4.3.Lưu Đồ Giải Thuật Bắt đầu Khai báo biến Khai báo chương trình Đọc ADC So sánh giá trị cài đặt Đ 26 Cảnh Hiển thị báo Led đoạn S Kết thúc 4.4Đoạn code chương trình: #include #device pic16f877a*=16 ADC=10 #fuses XT,NOWDT,HS,PUT #use delay (clock=4000000) #use fast_io(e) #use fast_io(b) #use fast_io(c) #use fast_io(d) #byte portd=0x08 #byte portb=0x06 27 #byte portc=0x07 #bit rc0=0x07.0 #bit rc1=0x07.1 #bit rc2=0x07.2 #bit rc3=0x07.3 #bit rc4=0x07.4 #bit rc5=0x07.5 #bit rc6=0x07.6 #bit rc7=0x07.7 #bit re0=0x09.0 #bit re1=0x09.1 #bit re2=0x09.2 int16 a[10]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b1000001 0,0b11111000,0b10000000,0b10010000}; //int16 a[10]={0b00111111,0b00000110,0b01011011,0b01001111,0b01010110,0b01101101,0b0111110 1,0b00000111,0b01111111,0b01101111}; int q,x,z,chuc,dv,chuc1,dv1; void main() { set_tris_d(0); set_tris_b(0); set_tris_c(0b11110000); set_tris_e(0b000); q=20; z=0; 28 setup_ADC_ports(AN0_AN1_AN2_AN3_AN4); setup_ADC(ADC_clock_div_2); set_ADC_channel(0); delay_ms(1000); while(1) { if((rc4==0)&&(rc5==0)) {q=q+1; delay_ms(20);} if((rc4==0)&&(rc6==0)) {q=q-1; delay_ms(20);} if(x>=q) {re0=1;} if(x[...]... Timer0 và ngõ vào của bộ giao tiếp MSSP Các thanh ghi TRISA bao gồm: PORTA (địa chỉ 05h):chứa giá trị các chân I/O trong PORTA TRISA (địa chỉ 85h): điều khiển xuất nhập CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh CVRCON (địa chỉ 9Dh):thanh ghi điều khiển bộ so sánh điện áp ADCON1 (địa chỉ 9Fh):thanh ghi điều khiển ADC PORTB PORTB(RPB) bao gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương ứng... kiện cần đếm lấy từ bên ngoài Các thanh ghi liên quan đến timer1 bao gồm: +INTCON(0BH, 8BH, 10BH, 18Bh) cho phép ngắt hoạt động( GIE và PEIE) +PIR1( địa chỉ 0CH) chứa cờ ngắt timer1(TMR1IF) +PIE1( địa chỉ 8CH) cho phép ngắt timer1(TMR1IE) +TMR1L( địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm timer1 +TMR1H( địa chỉ 0Eh) chứa giá trị 8 bit cao của bộ đếm timer1 +T1CON( địa chỉ 10H) xác lập các thông số... được minh họa cụ thể trong hình sau: CCP( Capture/Compare/PWM) 15 CCP( Capture/Compare/PWM) bao gồm các thao tác trên các xung đếm cung cấp bởi các bộ đếm timer 1 và Timer2 Pic16F877A được tích hợp sẵn 2 khối CCP: CCP1 và CCP2, mỗi CCP có 1 thanh ghi 16 bit (CCPR1H:CCPR1L V và CCPR2H:CCPR2L) Các chức năng CCP bao gồm: +Capture +So Sánh (Compare) +Điều chế độ rộng xung PWM Cả CCP1 và CCP2 về nguyên tắt... đồ án Mạch thi công xong hiển thị được nhiệt độ Tuy nhiên vẫn còn những khuyết điểm như sai số, LM35 có tầm đo thấp, không đo được nhiệt độ cao, chỉnh sửa khó khăn vì mỗi lần chỉnh sửa phải bằng tay, khó chỉnh nhiệt độ định mức trong môi trường độc hại và nhiệt độ cao, hướng phát triển hiện nay là thay thế LM35 bằng PT100 có thể điều khiển từ xa Hướng phát triển của mạch đọc nhiệt sử dụng LM35 hiện nay... thầy cô và các bạn Cuối cùng chúng em xin cảm ơn thầy Nguyễn Trọng Khanh đã giúp đỡ chúng em trong suốt quá trình thực hiện! Tài Liệu và các trang web tham khảm: +Tài Liệu Vi điều khiển trường Cao đẳng Kỹ Thuật Cao Thắng Các web tham khảo +Luanvan.net.vn +Doan.edu.vn +www.dientuvietnam.net 36 ... trong việc điều khiển cờ ngắt Ngoài ra, ngõ ra của timer2 còn được kết nối với khối SSP do đó timer 2 còn có vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP Các thanh ghi liên quan đến timer2 bao gồm: +INTCON( địa chi 0BH, 8BH, 10BH, 18BH) cho phép toàn bộ các ngắt (GIE và PEIE) +PIR1( địa chỉ 0CH) chứa cờ ngắt timer2 (TMR2IF) +PIE1( địa chỉ 8Ch) chứa bit điều khiển timer2 TMR2IF +TMR2( địa... trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi và Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình Các thanh ghi PORTB bao gồm: PORTB (địa chỉ 06h,106h):chứa giá trị các chân trong PORTB TRISB (địa chỉ 86h,186h):điểu khiển xuất nhập OPTION_REG (địa chỉ 81h,181h):điểu khiển ngắt ngoại vi toàn bộ Timer0 PORTC PORTC(RPC)gồm... chế độ Compare, giá trị trong thanh ghi CCPRx sẽ thường xuyên so sánh với giá trị trong thanh ghi TMR1 Khi 2 thanh ghi chứa giá trị bằng nhau, các pin của CCP được thay đổi trạng thái (được đưa lên mức cao, đưa xuống mức thấp hoặc thay đổi trạng thái), đồng thời cờ ngắt CCPIF cũng sẽ được set Sơ đồ khối CCP( Compare mode) 16 Tương tự, ở chế độ Capture, Timer1 phải được ấn định chế độ hoạt động là Timer... postcaler Tuy nhiên, bộ postcaler không được sử dụng trong quá trình điều chế độ rộng xung của khối PMW Nếu thời gian duty cycle dài hơn thời gian chu kì xung period thì xung ngõ ra tiếp tục giữ ở mức cao sau khi giá trị PR2 bằng với giá trị TMR2 Các loại linh kiện khác: +Thạch anh:Có thể được sử dụng chế tạo các thiết bị tạo ra xung nhịp để ứng dụng trong các ngành điện tử, cũng có thể dùng tạo các... Pic16F877A có thể hoạt động trong 4 chế độ khác nhau: +LP: Low – Power Crystal (Bán dẫn điện áp thấp) +XT: Crystal/ Resonator (Bán dẫn/ Bộ cộng hưởng) +HS: High – Speed Crystal/ Resonator (Bán dẫn tốc độ cao/ Bộ cộng hưởng) +RC: Resistor/ Capacitor ( Điện trở/ Bộ tụ điện) Trong các chế độ LP, XT, và HS chúng ta sử dụng thạch anh dao động nối vào các chân OSC1 và OSC2 để tạo dao động Việc chọn tụ dao động