Báo cáo môn vi điều khiển: Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính

Ngày nay với sự phát triển của nghành vi điện tử, kỹ thuật số các hệ thống điều khiển dần được tự động hóa, Với những kỹ thuật tiến tiến như vi xử lý, vi mạch số được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ , với tốc độ xử lú chậm chạm ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập trước.

doc34 trang | Chia sẻ: vietpd | Lượt xem: 3601 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Báo cáo môn vi điều khiển: Thiết kế bộ đo và khống chế nhiệt độ hiển thị trên máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CễNG THƯƠNG TRƯỜNG ĐẠI HỌC CNHN – KHOA ĐIỆN TỬ ========****======== BÁO CÁO MễN: VI ĐIỀU KHIỂN Đề Tài: Thiết kế bộ đo và khống chế nhiệt độ hiển thị trờn mỏy tớnh. Giỏo viờn hướng dẫn: Vũ Thị Thu Hương Nhúm thực hiện: Nguyễn Văn Hà ( 0341050467) Đào Bỏ Cảnh Đinh Văn Khoản Lớp: Điện tử 3 – K3 ========== Hà Nội Thỏng 6/ 2011 =========== Nhận xét của giáo viên hướng dẫn Nhận xét của giáo viên hướng dẫn Mục lục Nhận xét của giáo viên hướng dẫn 1 Mục luc 3 Phần I: Giới thiệu đề tài 1. Đặt vấn đề 4 2. Mục đích thực hiện đề tài 4 3. Phương hướng giaỉ quyết 5 Phần II: Nội dung 6 1.Cơ sở lý thuyết chung 6 2.Quy trình thiết kế bài toán thực tế 8 Phần III: Ưu nhược điểm,ứng dụng và hướng phát triển 26 Phần IV: Tài liệu tham khảo 27 Phần i: giới thiệu đề tài 1.Đặt Vấn Đề: Ngày nay với sự phát triển của nghành vi điện tử, kỹ thuật số các hệ thống điều khiển dần được tự động hóa, Với những kỹ thuật tiến tiến như vi xử lý, vi mạch số … được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ , với tốc độ xử lú chậm chạm ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập trước. Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay . vệc đo và khống chế nhiệt tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt được yêu cầu đo và khống chế nhiệt độ tự động, thì có nhiều phương pháp để nghiên cứu khỏa sát vi điều khiênt 8051 nhóm thực hiện nhận thấy rằng : ứng dụng vi điều khiênt 8051 vào việc đo và khống chế nhiệt độ tự động là phương pháp tối ưu nhất. Vì vậy nhóm chúng em tiến hành thực hiện việc khảo sát và ứng dụng vi điều khiển vào mạch đo và khống chế nhiệt độ. 2.Mục đích thực hiện đề tài: Nếu như những kiến thức ký thuyết là điều kiện cần thì thực hành lắp ráp mạch thật là điều kiện đủ. Nó đem lại rất nhiều lợi ích cho chúng em: -Chúng em có thẻ đưa những kiến thức lý thuyết khô khan vào thực tế để có thể đánh giá một cách khách quan cơ sở lý thuyết. -Từ những gì chúng ta đã làm được tư đó rút ra những kinh nghiệm cho quá trình làm lần sau và xa hơn là các quá trình sản xuất công nghiệp sau này. -Để làm được một mạch thật hoàn chỉnh chúng em phảI trảI qua rất nhiều khâu. Qua đây chúng em có một cách nhìn tổng quát cho một dây chuyền sản xuất các ứng dụng của ngành điện tử. Chính những lợi ích đó cũng là những mục đích mà nhóm sinh viên chúng em mong muốn đặt được. 3.Phương Hướng Giải Quyết: Để thực hiện được các chức năng trên hệ thống được chia thành hai phần là cứng và phần mềm với các giải pháp giải quyết như sau: a)Giải pháp phần cứng: Phần cứng được xây dựng trên cơ sở giao tiếp với máy tính qua cổng COM nên tốc độ truyền dữ liệu cũng rất cao. Tuy nhiên, có một khó khăn duy nhất khi giao tiếp với máy tính là mức logic ở bộ vi điều khiển và ở cổng COM của máy tính khác nhau. Để khắc phục điều nay chúng ta sử dụng vi mạch MAX232 nhằm chuyển đổi mức điện áp giữa hai chuẩn. Do vậy chức năng chính của phần cứng bao gồm các khối sau: -Bộ phận lấy tín hiệu cần khảo sát đó là nhiệt độ môi trường thông qua cảm biến LM35. -Bộ phận chuyển đối tương tự sang số, đưa vào vi xử lý. -Bộ phận xử lý tín hiệu số và xuất ra cổng nối tiếp. -Bộ phận truyền thông với máy tính. -Ngoài ra còn có một khối điều khiển và hiển thị như Nút Nhấn và LED. b).Giải Pháp Phần Mềm: Phần mềm đo và điều khiển nhiệt độ hiển thị bằng tiện ích của Windows dựa trên phần cứng hệ thống và cấu trúc máy tính. Chương trình phần mềm thực hiện giao tiếp với người dùng và giao tiếp với phần cứng Phần II. Nội dung I.Cơ sở lý thuyết chung : Để thực hiện phép đo của một đại lượng đại lượng nào đó thì tùy thuộc vào dặc tính của đại lượng cần đo, điều kiện đo cũng như độ chính xác theo yêu cầu cơ sỏ của hệ thống đo lường khác nhau . 1.Sơ đồ của một hệ thống đo lường tổng quát Khối chuyển đổi A/D Vi điều khiển Hiển thị Cảm biến nhiệt 1.1 Cảm biến nhiệt: Dựng để đo nhiệt độ 1.2.Khối chuyển đổi: Làm nhiệm vụ nhận trực tiếp các đại lượng vất lý đặc trưng cần đo và biến đổi thành các đại lượng vật lý thống nhất (dòng điện hay điện áp) để tính toán cho thuận lợi. 1.3.Vi điều khiển : có nhiệm vụ tính toán biến đổi tín hiệu nhận được từ bộ chuyển đổi sao cho phù hợp với các yêu cầu cụ thể hiện kết quả đo của bộ chỉ thị. 1.4.Khối hiển thị: Nhận tớn hiệu từ vdk va hiển thị kết quả đo 2.Hệ thống đo lường số: Đối tượng cần đo là các đại lượng vật lý dựa vào các đặc tính của đối tượng cần đo mà ta chọn loại cảm biến cho phù hợp để biến đổi thông số đại lượng vật lý cần đo thành đại lượng điện, sau đó đưa vào các mạch chế biến tín hiệu ( gồm: cảm biến, hệ thống khuêch đại, xử lý tín hiệu) Bộ chuyển đồi sang số ADC làm nhiệm vụ biến đổi tín hiệu tượng tự sang số và kết nối với vi xư lý. Bộ vi xử lý có nhiệm vụ thực hiện những phép tính và xuất ra những lệnh trên cơ sở trình tự những lệnh chấp hành đã thực hiện trước đó. Bộ dồn kênh tương tự và bộ chuyển ADC được dùng chung cho tất cả các kênh. Dữ liệu nhập vào bọ vi sử lý sẽ có tín hiệu chọn đúng của nó qua quá trình tính toán để só kết quả của đại lượng cần đo. 3.Các phương pháp đo nhiệt độ: Đo nhiệt độ là phương thức đo lường điện, đo nhiệt độ được chia thành nhiều dải: +Đo nhiệt độ thấp + Đo nhiệt độ trung bình + Đo nhiệt độ cao Việc đo nhiệt độ được tiến hành nhờ các dụng cụ hỗ trợ chuyên biệt như: + Cặp nhiệt điện + Nhiệt kế điện ké lim loại + Nhiệt điện trở kim loại + Nhiệt điện trở bán dẫn + Cảm biến thạch anh Việc sử dụng cảm biến IC cảm biến nhiệt để đo nhiệt độl là một phương pháp thông dụng được nhóm trong bài này, nên ở đây chỉ giới thiệu về IC cảm biến nhiệt độ. 3.1. Nguyên lý hoạt động của IC cảm biến nhiệt độ : IC đo nhiệt là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển tín hiệu điện dưới dạng dòng điện hay điện áp. Dưah vào đặc tính rất nhạy cảm của các bán dẫn với nhiệt độ , tạo ra điện áp hoặc dòng điện tỉ lệ thuận với nhiệt độ tuyệt đối . Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo. Sự tác động của nhiệt độ tạo ra điện tích tự do và các lỗ trống trong các chất bán dẫn . Bằng sự phá vỡ các phân tử, bứt các electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo ra sự xuất hiện các lỗ trống. Làm cho tỷ leej điện tử tự do va lỗ trống tăng lên theo qui luật hàm mũ với nhiệt độ. II.Quy trình thiết kế bài toán thực tế 1.Phân tích bài toán : Bài toán đặt ra là thiết kế mạch đo và khống chế nhiệt độ . Để thực hiện được điều này thì hệ thống phảI đảm bảo các yêu cầu sau: -Số lượng đầu vào/ra số: -Số đàu vào/ ra tượng tự: -Số lượng bộ đếm /định thời: -Dung lượng bộ nhớ chương trình: -Bộ nhớ dữ liệu cần thiết : -Giao tiếp với máy tính do đó phải sử dụng truyền thông RS232 2. các khối chức năng : Cảm biến nhiệt dộ : dùng để đo nhiệt độ hiện tại trong lò nhiệt. Khối biến đổi A/D: có nhiệm vụ số hóa tín hiệu của cảm biến nhiệt để dưa vào bộ vi điều khiển –là nơi cài đặt thuật toán điều khiển và khống chế nhiệt độ. Khối vi điều khiển (MCU): có nhiệm vụ thực hiện các chức năng mã hóa hợp thành và giải mã. 3.Nhiệm vụ của từng khối: 3.1. Cảm biến nhiệt: Với nhiệt độ khống chế từ 30 độ đến 130 độ, ta chon sử dụng cảm biến nhiệt dộ bán dẫn thông dụng là vi mạch LM35 của hãng National Semiconductor. Vi mạch cảm biến nhiệt LM35có đặc điểm sau: chuẩn hóa theo thang đo nhiệt độ Cesius; đầu ra tuyến tính 10mV/C; Dải điện áp làm việc từ 4V đến 30V; Dòng tiêu thụ nhỏ cỡ 60 microampe, nên nhiệt tự tỏa rất nhỏ hầu như không ảnh hưởng đến kết quả đo. Sai số nhỏ, chỉ khoảng 0.5 độ C. Sơ đò mạch cảm biến được cho hình dưới. Sơ đò cảm biến nhiệt độ LM35. 3.2. Mạch biến đổi A/D: Có nhiệm vụ biến đổi điện áp tương tự từ cảm biến nhiệt thành tín hiệu số để gửi đến vi điều khiển. Để lựa chọn sử dụng các vi mạch A/D người ta thường căn cứ vào 2 thông số chính là : - Độ phân giải hay số bít đầu ra, số bít ra của ADC quyết định đến độ chính xác của pháp biến đổi, số bít càng lớn càng lớn sai số lượng tử càng nhỏ. - Tốc độ biến đổi được tính bằng số mẫu hoàn thành trong một giây( samples/s), nó tỉ lệ nghịch với thời gian hoàn thiện việc biến đỏi một mẫu. - Trong ứng dụng điều khiển nhiệt độ, nhiệt độ là một đại lượng biến đổi chậm nên ta chọn vi mạch biến đổi A/D thông dụng trên thị trường là ADC0804. ADC0804 là bộ A/d 8 bít đủ đáp ứng được yêu cầu về độ chính xác đặt ra. ADC0804 có các đặc điểm sau: - Đầu ra được đếm bằng các cổng 3 trạng thái nên có thể ghép trực tiếp vào bus dữ liệu mà không cần mạch đệ dữ kiệu ở ben ngoài ; - Thời gian biến đổi cõ 100 micro/mẫu; - Không cần hiệu hcinhr điểm 0; - Khi điện áp nguồn nuôi là 5V thì tín hiệu đàu vào cực đại là 5V; - tất cả các tín hiệu đều tương thích mứcTTL; - Dòng tiêu thụ nhỏ, cỡ 1.9ma. Hình dưois mô tả mạch A/D ứng dụng vi mạch ADC0804 để đo nhiệt độ từ LM35. Sơ đồ mạch biến đổi A/D Mạch này gồm hai phần chính : -phần tương tự : Với dải nhiệt độ từ 0 độ đên 128 độ thì điện áp ra của LM35laf từ 0 đến 1.28V, điện áp này được đưa đến lối vào IN+, cong lối vào IN- được nối đất . Với điện áp vào cực đại là 1.28V thì điện áp chuẩn Vref được đặt là 0.64V, việc điều chinht Vref được thực hiện bởi biến trở vi chỉnh VR. Khi đó nếu nhiệt dộ là 0 độ C thì điện áp IN+ là 0V, đầu ra Dout là 00000000, vi điều khiển nhận được giá trị là 0; Khi nhiệt độ là 128 độ C thì điện áp IN+là 1.28V, đầu ra Dout là 11111111, vi điều khiển nhạn được giá trị tương ứng là 255. -Phần giao tiếp với vi điều khiển: Để thực hiện giao tiếp với vi điềukhiển cần các tín hiệu sau : +Tín hiệu chọn vi mạch biến đổi tương tự số CS_ADC, tích cực thấp., được dưa từ mạch giả mã địa chỉ tới. Khi CS_ADC=0 thì ADC0804 được chọn, chuẩn bị cho việc đọc só liệu từ ADC . + Tín hiệu ra lệnh cho ADC0804 bắt đầu biến dổi WR_ADC, tích cực mức thấp , được điều khiển trực tiếp bởi vi điều khieenr, khi WR_ADC chuyển từ 1 xuống 0 thì ADC bắt đầu quá trình biến dổi. + Tín hiệu báo kết thúc biến đổi ADC_OK , tích cực thấp , được nối với chân INTR(interrup) của ADC0804, mỗi khi ADC0804 hoàn thành việc biến đổi cho một mẫu nó báo hiệu cho bên ngoài bằng một mức logics 0 ở chân này . Tín hiêu này được gửi tới vi điều khiển để váo cho vi điều khiển biết ADC đã biến đổi song ; để không phải hỏi vòng thì tín hiệu này được đưa tới một đầu vào ngắt ngoài của vi điều khiển , mỗi khi ADC biến đổi xong sẽ gây ra một ngắt vi điều khiển , vi điều khiển sẽ chuyển sang chương trình con phục vụ ngắt để đọc số liệu từ ADC. + Tín hiệu đọc số liệu RD_ADC, tích cực thấp , sau khi nhận biết ADC đã biến đổi xong bởi mức logics 0 ở ADC_OK, vi điều khiển thực hiện việc lấy số liệu bằng cach chuyển tín hiệu RD_ADC cuống mức thấp, tín hiệu này được nối với chân RD của ADC, lúc này các cổng đem 3 trạng thái ở đầu ra Dout của ADC0804 mở , kết quả biến đổi được đưa kên bus dữ liệu . 3.2 Khối vi điều khiển: IC AT89S52: So đồ chõn : Cấu tạo IC cú: CPU( CPU centra lprocessing unit): 8- bit data bus; 16- bit address bus; khụng gian địa chỉ 64Kbyte Thanh ghi tớch lũy A; Thanh ghi tớch lũy phụ B; Đơn vị logic học (ALU); Thanh ghi từ trạng thỏi chương trỡnh; Bốn băng thanh ghi; Con trỏ ngăn xếp Bộ nhớ (Memory): Bộ nhớ chương trỡnh( ROM) gồm 8Kbyte Flash, ghi xúa hàng nghỡn lần. Bộ nhớ dữ liệu( dạng SRAM) gồm 256 byte (chứa ngăn xếp – Stack) Vựng thanh ghi cú chức năng đặc biệt SFR (Special Funtion Register). Bộ UART, cú chức năng truyền nhận nối tiếp. 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện. Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong. Bộ lập trỡnh (ghi chương trỡnh lờn Flash ROM) cho phộp người sử dụng cú thể nạp cỏc chương trỡnh cho chớp mà khụng cần cỏc bộ nạp chuyờn dụng. 4 cổng xuất nhập song song 2 chiều 8- bit với 32 chõn. Port 0( P0.0=>P0.7) Port 0 gồm 8 chõn, ngoài chức năng xuất nhập, port 0 cũn là bus đa hợp dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi AT89S52 giao tiếp với cỏc thiết bị ngoài cú kiến trỳc Bus như cỏc vi mạch nhớ, mạch PIO… Port 1( P1.0=>P1.7) Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như cỏc Port khỏc. Port1 cú thể xuất nhập theo bit và theo byte. Port 2( P2.0=>P2.7) Port 2 ngoài chức năng là cổng vào/ra như Port 0 và Port 1, Port 2 cũn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài. Port 3( P3.0=>P3.7) Mỗi chõn trờn Port 3 ngoài chức năng xuất nhập cũn cú một chức năng riờng, cụ thể như sau: Bit Tờn Chức năng P3.0 RXD Dữ liệu nhận cho Port nối tiếp P3.1 TXD Dữ liệu truyền cho Port nối tiếp P3.2 INT0 Ngắt ngoài 0 P3.3 INT1 Ngắt ngoài 1 P3.4 T0 Ngừ vào của Timer/counter0 P3.5 T1 Ngừ vào của Timer/counter1 P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài. P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài. Chõn /PSEN (pin 29): là chõn điều khiển đọc chương trỡnh ở bộ nhớ ngoài. Chõn ALE (pin 30): ALE là tớn hiệu điều khiển chốt địa chỉ cú tần số bằng 1/6 tần số dao động của vi điều khiển. Tớn hiệu ALE được dựng để cho phộp vi mạch chốt bờn ngoài như 7473. Chõn /EA (pin 31): Tớn hiệu /EA cho phộp chọn bộ nhớ chương trỡnh là bộ nhớ trong hay ngoài. EA=1 thỡ thực hiện chương trỡnh trong RAM nội. EA=0 thực hiện ở RAM ngoài. RST( Reset: pin 9): Ngừ vào reset trờn chõn số 9. khi RST=1 thỡ bộ vi điều khiển sẽ được khởi động lại thiết lập ban đầu. XTAL1, XTAL2 (pin 18, 19): Hai chõn này được nối song song với thạch anh tần số max=33 Mhz. Để tạo dao động cho bộ vi điều khiển. Vcc,GND: cung cấp nguồn nuụi cho bộ vi điều khiển cấp qua chõn 20 và 40. Cổng Vào Ra Nối Tiếp(Serial Port) Tổng quan: 8051 cú 1 cổng vào ra nối tiếp(UART) Tớn hiệu liờn quan:RxD(P3.0, chõn số 10) va TxD(P3.1, chõn số 11) Dữ liệu đi và về hoàn toàn độc lập với nhau, do đú cú thể truyền nhận đồng thời, và cổng nối tiếp cú đặc tớnh như võyj được gọi là song cụng(Full duplex) Cỏc thanh ghi liờn quan: Dữ liệu nhận về thong qua RxD, tới 1 thanh ghi chức năng đặc biệt(8-bit) tờn là SBUF Dữ liệu truyền thong qua TxD, từ 1 thanh ghi chức năng đặc biệt(8-bit) cũng tờn là SBUF Thanh ghi điều khiển SCON: SM0-SM1 0-0=mode0:chế độ đồng bộ 8 bit,clock =1/12 Fosc 0-1=mode1:chế độ dị bộ 8-bit, clock thay đổi được tựy ý 1-0=mode2:chế độ dị bộ 9-bit,clock= 1/64 Fosc hoặc 1/32 Fosc 1-1=mode3:chế độ dị bộ 9-bit,clock thay đổi được tựy ý SM2:bit cho phộp chế độ gioa tiếp đa vi xử lý(multimicroprocessor),mode 2 hoặc mode3.Trong cỏc chế độ thong thường,SM2=0. REN:bit cho phộp nhận dữ liệu nếu ghi vào đú giỏ trị logic 1.Giỏ trị logic 0 tại bit này sẽ”khúa cổng “ với cỏc dự lieuj gửi đến. TB8:bit dữ liệu thứ 9 phỏt đi trong cỏc chế độ truyền nhận 9-bit(mode 2 và 3) RB8: bit dữ liệu thứ 9 nhận về trong cỏc chế độ truyền nhận 9-bit(mode 2 và 3) TI:cờ bỏo ngắt truyền ,khi =1 bỏo hiệu rằng 1 khung dữ liệu (8 hay 9 bit tựy chế độ) đó được truyền xong. Cờ này khụng tự động xúa về 0 khi chương trỡnh phục vụ ngắt thực hiện.User phải xúa bằng lệnh. RI:cờ bỏo ngắt nhận,khi =1 bỏo hiệu rằng 1 khung dữ liệu (8 hay 9-bit tựy chế độ) đó được nhận về đầy đủ,Cờ này khụng tự động xúa về 0 khi chương trỡnh phục vụ ngắt thực hiện.User phải xúa bằng lệnh Với cổng nối tiếp cỏc bit dữ liệu được truyền lần lượt trờn cựng 1 đường tớn hiệu thay vỡ truyền cựng một lỳc trờn cỏc đường tớn hiệu khỏc nhau.Thụng thường thỡ việc truyền dữ liệu bằng cổng nối tiếp phải tuõn theo một cơ chế, một giao thức hay một nguyen tắc nhất định .Cú thể kể ra một số giao thức như SPI,I2C,SCI.. Cổng nối tiếp cú 2 kiểu truyền dữ liệu chớnh: Truyền đồng bộ(synchronous):thiết bị truyền và nhận đều dung chung một xung nhịp (clock) Truyền dị bộ(asynchronous):thiết bị truyền và thiết bị nhận sử dụng hai nguồn xung nhịp riờng .Tuy nhiờn hai nguồn xung này khụng đươc khỏc nhau quỏ nhiều Xung nhịp là yếu tố khụng thể thiếu trong truyền dữ liệu nối tiếp và nú cú vai trũ xỏc định giỏ trị của bit dữ liệu Cổng nối tiếp cú thể cú một trong cỏc tớnh năng sau: Đơn cụng:thiết bị chỉ cú thể hoặc truyền hoặc nhận dữ liệu Bỏn song cụng:thiết bị cú thể truyền và nhận dữ liệu nhưng tại một thời điểm cú thể làm 1 trong 2 việc đú Song cụng:thiết bị cú thể truyền và nhận dữ liệu đồng thời Thanh ghi điều khiển TMOD(Sử dụng cho timer/counter 0 và timer/counter 1): GATE: bit quy định yếu tố cho phộp timer/counter đếm hay dừng. Nếu GATE=0, timer/counter sẽ đếm hay dừng phụ thuộc vào trạng thỏi bit TRx (thanh ghi TCON). Nếu GATE=1, timer/counter sẽ đếm nếu bit TRx=1 (thanh ghi TCON) và tớn hiệu ngắt ngoài INTx ở mức cao. Trong trường hợp này, nếu TRx-0 hoặc tớn hiệu ngắt ngoài INTx ở mức thấp, timer/counter sẽ dừng đếm. C/T: bit lựa chọn xung nhịp đưa vào đếm. Nếu C/T = 0, xung nhịp đưa vào đếm chớnh là xung nhịp của CPU (lỳc này gọi là bộ định thời – timer). Nếu C/T = 1, xung nhịp đưa vào đếm là xung nhịp lấy từ bờn ngoài vào qua tớn hiệu T0 và T1 (lỳc này gọi là bộ đếm sự kiện – counter). M1:M0 0:0 = Mode 0: timer/counter 13bit ghộp bởi : 0:1 = Mode 1: timer/counter 16bit ghộp bởi : 1:0 = Mode 2: timer/counter 8bit, đếm bằng TL,khi tràn tự động nạp TH vào TL. 1:1 = Mode 3: TL0 là timer/counter 8bit, sử dụng cỏc bit điều khiển của timer0. TH0 là timer 8bit, sử dụng cỏc bit điều khiển của timer 1. Timer 1 khụng hoạt động ở chế độ này. - Thanh ghi TCON (Sử dụng cho timer/counter 0 và timer/counter 1): TF1: Cờ ngắt của timer/countet 1, khi =1 bỏo hiệu rằng timer/counter 1 đó đếm vượt quỏ trị lớn nhất mà nú cú thể biểu diễn (255 đối với chế độ 8bit và 65535 đối với chế độ 16bit). TR1: bit cho phộp timer/counter 1 hoạt động đếm hoặc dừng. TF0: Cờ ngắt của timer/countet 0, khi =1 bỏo hiệu rằng timer/counter 0 đó đếm vượt quỏ trị lớn nhất mà nú cú thể biểu diễn (255 đối với chế độ 8bit và 65535 đối với chế độ 16bit). TR0: bit cho phộp timer/counter 0 hoạt động đếm hoặc dừng. IE1: Cờ ngắt của ngắt ngoài 1. IT1: Bit cho phộp chọn loại ngắt ngoài cho INT1. IE0: Cờ ngắt của ngắt ngoài 0. IT0: Bit cho phộp chọn loại ngắt ngoài cho INT0. Vi điều khiển là nơi thực hiện thuật toán điều khiển , bao gồm các chức năng :mã hóa, hợp thành, giã . Ngoài ra để có thể giao tiếp được với người sử dụng thì ta cần phải bổ sung: -Hẹ thống phím bấm chức năng để người sử dụng só thể đặ nhiệt độ trực tiêp -Cổng giao tiep với PC, để từ PC ngươi sử dụng có thể giám sát hoat dộng của hệ thống . Sơ đồ khối của vi điều khiển Trong khối điều khiển chúng tôi sử dụng các linh kiện sau : +Vi điều khiển 89S52. +Vi mạch MAX 232 làm nhiệm vụ ghép nối vi điều khiển với PC qua cỏng RS232. 3.3Truyền thông với máy tính qua cổng nối tiếp: Bộ vi diều khiển AT89S52 có khả năng giao tiếp với thế giới bên ngoài qua cổng nối tiếp. Vấn đề này duy nhất khi giao tiếp với máy tínhlaf mức logics ở bộ vi điều khiển và cổng COM của máy tính khác với nhau, cụ thể như sau: So sánh điện áp ở các mức logics giữa RS232C và TTl Đối tượng Mức logic Mức điện áp tương ứng Cổng COM (Mức RS232) 1 -12 V đến -3V 0 +3V đến +12V Vi điều khiển (Mức TTl) 1 +5V 0 0V Khắc phục điều này, chúng ta sử dụng vi mạch MAX232 để chuênr đổi mức điện áp giữa hai chuẩn. Vi mạch này có chứa hai bộ chuyển mức giưa vi điều khiển với máy tính qua cổng RS232 sử dụng vi mạch đổi mức MAX232. Hình vẽ(Truyền thông qua cổng nối tiếp) Như vậy thức chất của việc truyền thông qua cổng nối tiếp thực là việc truyền mã ASCII của ký tự. Trong chương lập trình cho vi điều khiển để gửi cho máy các ký tự từ ‘0’ đến ‘9’ ta phảI truyền mã ASCII của chúng lầ lượt từ 0x30 đến 0x39. Để kiểm tra xem máy tính có nhận được các ký tự này hay không, ta phảI cho máy tính thi hành chương trình nhận số liêu qua cổng nối tiếp. Chương trình này có thể viết bằng ngôn ngx lập trình Basis, Pascan, C, C++… Trong Windown có cung cấp xắn cho chúng ta một công cụ truyền tin qua công nối tiếp là Hyper Terminal. Cách mở chương trình nay như sau: Từ menu chọn Start / programs/ Acessoties /Communication / Hyper Terminal. Sau đó nhập kết nối, chọn cổng nối tiếp và thiết lập các tông số cho cổng nối tiếp. Lưu ý rằng các thông số này phải gống các thông số đã thiết lập chho cổng nối tiêp của vi điều khiển. Chọ