Bộ môn: Kỹ thuật máy tính - Hệ thống nhúng

Mục lục 2

LỜI NÓI ĐẦU 3

Chương 1: Khảo sát và xác định hệ thống 4

1.1 Giới thiệu bài toán: 4

1.2 Các sản phẩm hiện có bán trên thị trường: 4

1.2.1 Thiết bị kiểm soát áp suất và nhiệt độ bánh xe. 4

1.2.2 Chế độ cảnh báo nhiệt độ trên iPhone 3G 5

1.2.3 Hệ thống cảnh báo BTS-06 6

1.2.4 Hệ thống cảnh báo BTS-05 7

1.2.5 Máy đo nhiệt độ và độ ẩm điện tử Nakata 8

1.3. Xác định bài toán 9

1.3.1. Giải pháp lựa chọn đề tài: 9

1.3.2 Các yêu cầu cụ thể cho hệ thống sẽ thiết kế : 10

Chương 2: Phân tích thiết kế hệ thống 12

2.1 Thiết kế nguyên lý: 12

2.1.2 Sơ đồ mô hình tổng quát của hệ thống 12

2.1.2. Sơ đồ đặc tả hệ thống: 13

2.1.3.Sơ đồ thuật toán của hệ thống: 14

2.1.4.Sơ đồ call graph của hệ thống: 15

2.1.5.Sơ đồ nguyên lý mạch 16

2.2.Nguyên tắc làm việc 17

2.2.1 Nguyên tắc hoạt động: 17

2.2.2 Ngyên lý hoạt động của hệ thống: 18

2.3 Giới thiệu về linh kiện dùng trong hệ thống 18

2.3.1 Các linh kiện sử dụng 18

2.3.2.Giới thiệu linh kiện và nguyên tắc hoạt động 19

Chương 3: xây dựng hệ thống 36

3.1 các module phần phần cứng trong hệ thống 36

3.1.1. Module khối điều khiển trung tâm. 36

3.1.2.Module hiển thị. 38

3.1.3.Module đo nhiệt độ. 39

3.1.4.Module khối nguồn. 40

3.1.5. Module khối giao tiếp phím bấm. 40

3.2 Xây dựng phần mềm, mạch: 41

3.3 Sơ đồ mạch in hệ thống : 46

KẾT LUẬN 47

 

 

doc52 trang | Chia sẻ: lethao | Lượt xem: 2451 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bộ môn: Kỹ thuật máy tính - Hệ thống nhúng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
một nơi có nhiệt độ mát, và để cho máy "hạ nhiệt" trước khi sử dụng lại. Lưu ý : Khi thông báo này xuất hiện, iPhone 3G có thể vẫn có thể thực hiện các cuộc gọi khẩn cấp. Một số điều kiện và các hoạt động mà có thể kích hoạt thông điệp cảnh báo nhiệt độ . Để iPhone 3G trong xe hơi nóng vào một ngày. Để iPhone 3G trong ánh sáng mặt trời trực tiếp Sử dụng một số ứng dụng trong điều kiện nóng dưới ánh sáng mặt trời trực tiếp trong dài thời gian, chẳng hạn như GPS trong xe hơi hoặc chơi game, nghe nhạc trực tiếp dưới ánh nắng mặt trời 1.2.3 Hệ thống cảnh báo BTS-06 Hệ thống cảnh báo POSTEF-BTS-06 là hệ thống giám sát và cảnh báo các khu vực đặt các thiết bị của trạm BTS trong ngành viễn thông. Được thiết kế theo các module riêng biệt, tránh các sự cố 1 thiết bị dẫn đến các thiết bị khác cũng bị tê liệt, tăng độ tin cậy, tạo thuận lợi cho việc sửa chữa, thay thế cũng như bảo dưỡng. Giao diện phần mềm tiếng Việt thân thiện, phần cứng có khả năng hoạt động ổn định trong môi trường khí hậu Việt Nam. Giám sát và đưa ra cảnh báo khi có sự cố có khói và nhiệt độ gia tăng đột ngột. Giám sát và đưa ra cảnh báo khi có sự cố đột nhập Giám sát và đưa ra cảnh báo nhiệt độ hoạt động của phòng máy. Giám sát, đưa ra cảnh báo các chế độ hoạt động của điều hòa. Khả năng cài đặt kích hoạt các chế độ giám sát  Khả năng điều khiển điều hoà luân phiên Điều kiển hệ thống thông gió Chỉ thị các trạng thái cảnh báo về chế độ hoạt động của hệ thống bằng đèn LED, đèn cảnh báo, màn hình hiển thị LCD và loa báo động (SIREN). Khả năng kích hoạt chế độ còi hú tại bất kỳ chế độ cảnh báo nào . Gửi tín hiệu cảnh báo tới hệ thống OMC với 2 trang thái . Nạp ắcquy tự động và tự động ngắt khi acquy yếu 1.2.4 Hệ thống cảnh báo BTS-05 Cảnh báo nhiệt độ gia tăng và khói Cảnh báo nhiệt độ cao Phân biệt nhiệt độ cao do mất AC và các nguyên nhân khác Cảnh báo cửa Cảnh báo mất pha Cảnh báo điện áp Accu Điều khiển quạt DC 48V Gửi cảnh báo nhiệt độ cao đến OMC Hiển thị cảnh báo tại chỗ bằng LCD, led, đèn, còi Cổng kết nối cảnh báo ngoài 1.2.5 Máy đo nhiệt độ và độ ẩm điện tử Nakata Đồng hồ điện tử đo nhiệt độ trong và ngoài phòng cùng độ ẩm không khí trong phòng, màn hình tinh thể lỏng hiện số lớn, có tính năng lựa chọn thang đo oC và oF, có khả năng lưu giá trị cực tiểu, cực đại hàng ngày hoặc tích lũy, sử dụng công nghệ mạch đo tiên tiến tiêu hao năng lượng thấp thời gian pin đến 2 năm. Khoảng độ ẩm: 20%~95% Khoảng nhiệt độ trong phòng: -10oC ~ 50oC Khoảng nhiệt độ ngoài phòng: -10oC ~ 60oC Độ chính xác: Độ ẩm: +/- 5% Nhiệt độ: +/-1oC Độ phân giải: Nhiệt độ: 0,1oC Độ ẩm: 1% Pin: 1,5V AAA x 2 Kích thước: 140 x 140 x 30mm Khối lượng: 160gram 1.3. Xác định bài toán 1.3.1. Giải pháp lựa chọn đề tài: 1.3.1.1 Khái niệm về vi điều khiển Để hiểu khái niệm về bộ vi điều khiển,ta có thể làm phép so sánh nó vói bộ vi sử lý công dụng chung như sau: Ta biết rằng các bộ vi xử lý công dụng chung như họ Intel x86(8086, 80286, 80386, 80486 và pentium ) hoặc họ motorona 680x0(6800, 68010, 68020,68030,68040…) không có rom , ram và không có công cụ ra vào trên chip…với lý do đó mà chúng được gọi là bộ 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 68048 sẽ phải bổ xung thêm ram ,rom, các cổng vào ra,các bộ đinh thời ngoài để làm cho chúng hoạt động được.Mặc dù việc bổ xung các ram,rom,các cổng vào ra sẽ làm cho hệ thống cồng kềnh lên nhưng nó lại có ưu điểm khi sử dụng các bộ vi xử lý là rất linh hoạt.Chẳng hạn như người thiết kế có thể quyết địnhvề số lượng ram,rom,và các cổng vào ra cần thiết sao cho phù hợp với khả năng ,mục đích của hệ thống. Điều này không thể có với các bộ vi điều khiển,Bởi vì,một bộ vi điều khiển đã có một bộ cpu(một bộ vi xử lý) cùng với một số lượng ram,rom,các cổng vào ra và một bộ định thời trên cùng một chíp hay nói cách khác là bộ vi xử lý ,ram,rom,các cổng vào ra vá một bộ định thời cùng được nhúng trên một chíp.Do vậy người thiết kế không thể bổ xung thêm bộ nhớ ngoài, số các cổng vào ra hoặc bộ định thời cho nó. Với số lượng ram,rom và số các cổng vào ra cố định như vậy là một mặt hạn chế(kém linh hoạt) xong nó lại thật sự lý tưởng đối với những chuyên dụng mang tính chuyên biệt,tối ưu về giá thành,tối ưu về không gian… 1.3.1.2 Các tiêu chuẩn lựa chọn bộ vi điều khiển Tiêu chuẩn đầu tiên và trước hết trong lựa chọn một bộ vi điều khiển là nó phải đáp ứng nhu cầu bài toán về mặt công suất tinh toán,giá thành và hiệu quả.Trong khi phân tích các nhu cầu của một dự án trên bộ vi điều khiển,chung ta phải biết trước hết la các bộ vi điều khiển nào là 8 bit, 16 bit, 32 bit có thể đáp ứng tốt nhất nhu cầu tính toán của bài toán một cách hiệu quả nhất. Những tiêu chuẩn đươc đua ra để cân nhắc là:. Tốc độ : tốc độ lớn nhất mà bộ vi điều khiển hỗ trợ là bao nhiêu. Kiểu đóng vỏ:đó là kiểu 40 chân DIP hay QFP hay là kiểu đóng vỏ khác.Đây là điều quan trọng đối với yêu cầu về không gian,kiểu lắp giáp và tạo mẫu thử cho sản phẩm cuối cùng. Công suất tiêu thụ: điều này đặc biệt khắc khe với những sản phẩm dung pin,ác quy. Dung lượng bộ nhớ rom và ram trên chip. Khả năng nâng cấp cho hiệu suât cao hoặc giảm công suất tiêu thụ. giá thành cho một đơn vị:điều này quan trọng quết định giá thành cuối cùng của sản phẩm mà một bộ vi điều khiển đươc sử dụng. 1.3.1.3 Lựa chọn thiết bị: Qua tìm hiểu, tham khảo một số tài liệu trên internet, nhóm chúng em đã quyết định lụa chọn bộ vi điều khiển PIC16F877A, cảm biến nhiệt độ LM35 bởi nó đáp ứng tốt nhất các yêu cầu của đề tài. Cụ thể là: Các thiết bị này có sẵn trên thị trường ,giá thành rẻ,đảm bảo độ tin cậy làm việc,độ chính xác,tính liên tục khi làm việc,đáp ứng được công suất tinh toán… Có sẵn các 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ữ và gỡ rối. Nguồn các bộ vi sử lý co sẵn nhiều và tin cậy. 1.3.2 Các yêu cầu cụ thể cho hệ thống sẽ thiết kế : Đo nhiệt độ của 1 phòng. Đo nhiệt độ từ o đến 100 độ C. Làm việc với điện áp 220v/50 HZ. Dùng sensor cảm ứng nhiệt. Senser gửi về tín hiệu điện áp. Khi nhiệt độ tăng cao quá một giới hạn nào đó thì báo động bằng đèn. Hệ thống làm việc được khi mất điện lưới (có nguồn dự trữ). Chi phí cho hệ thống không quá 400.000 vnđ. Cho phép thiết lập ngưỡng. Chương 2: Phân tích thiết kế hệ thống 2.1 Thiết kế nguyên lý: 2.1.2 Sơ đồ mô hình tổng quát của hệ thống Khối xử lý trung tâm Khối cảm biến Nhiệt độ môi trường Thiết bị chấp hành Thiết bị chuyển mạch Khối tương tác điều khiển Khối hiển thị Khối nguồn Hình 1: Sơ đồ tổng quát của hệ thống 2.1.2. Sơ đồ đặc tả hệ thống: Kiểm tra Đợi tín hiệu Kích hoạt Ngừng kích hoạt Kiểm tra nhiệt độ Có tín hiệu sensor > 40 >40 <40 Có tín hiệu sensor <=40 Hình 2: Sơ đồ đặc tả hệ thống Định nghĩa các biến, khởi tạo các ngắt, cài đặt các thông số LCD Đọc giá trị nhiệt độ hiện tại từ ADC PIC 16F877A T>Tmax Hiển thị các giá trị nhiệt độ lên LCD Bật LED màu xanh Bắt đầu Khởi tạo giá trị đặt Đọc giá trị max Đọc giá trị thiết lập mới Đúng Đúng Sai Bật LED màu đỏ 2.1.3.Sơ đồ thuật toán của hệ thống: Hình 3: Lưu đồ thuật toán chương trình chính 2.1.4.Sơ đồ call graph của hệ thống: Vi xử lý, vi điều khiển Chương trình chuyển đổi ADC Chương trình kết nối bàn phím Chương trình đo nhiệt độ Chương trình hiển thị LCD Cảm biến LM35 LCD Bàn phím ADC Hình 4: Sơ đồ quan hệ giữa các module phần cứng và phần mềm trong hệ thống cảnh báo nhiệt độ 2.1.5.Sơ đồ nguyên lý mạch Hình 5: Mô phỏng bằng Proteus 2.2.Nguyên tắc làm việc Nguyên tắc hoạt động: Chân 1 được nối với mạch reset. Khi nhấn SW1 thì bộ vi điều khiển sẽ được khởi động lại từ đầu. chân 13-14 được nối song song với thạch anh 12Mhz. mạch có nhiệm vụ tạo dao động cho vi điều khiển. Từ chân RD2 và RD3 lần lượt được nối với RS, E của LCD. Có nhiệm vụ điều khiển hoạt động của LCD. RD4=>RD7 lần lượt được nối với đầu vào dữ liệu từ D4=> D7 của LCD. Có chức năng điều khiển hiển thị LCD theo nhiệt độ đo được. Chân 2(VDD) của LCD đươc nối với nguồn;chân VSS,VEE,RW được nối với mát. Hình 6: Sơ đồ chân của LCD LM016L 2.2.2 Ngyên lý hoạt động của hệ thống: Khi khởi động hệ thống, cảm biến nhiệt LM35 sẽ biến đổi đầu vào là nhiệt độ môi trường thành tín hiệu điện áp. Tín hiệu này được đưa vào vi điều khiển qua chân AN0 (analog của ADC) của PIC16f877A; trong pic đã tích hợp sẵn bộ chuyển đổi tương tự sang số à tín hiệu điện áp được chuyển đổi sang tín hiệu số và được xuất ra cổng từ RD4->RD7 và được hiển thị lên màn hình LCD. Khi nhiệt độ tăng quá một giới hạn cho phép thì phát tín hiệu cảnh báo làm cho led sáng. Các nút bấm : nút 1;nút 2; nút 3 cho phép ta cài đặt nhiệt độ đặt (nhiệt độ cảnh báo): Khi ta nhấn nút 1 thì hiển thị nhiệt độ đặt hiện tại và chờ các phím khác được nhấn + Khi nút 2 được nhấn cho phép ta tăng nhiệt độ đặt. + Khi nút 3 được nhấn cho phép ta giảm nhiệt độ đặt. Công thức biên đổi trong ADC:. Ta dùng adc của pic la 10bit à max= 1023, Vref=Vcc; giả thiết đầu ra cua Vcc=5v nên tại 0 độ c hay 273 độ k thi đầu ra của LM35 la 2,7v. ví dụ: nhiệt độ là 30 độ c = 303k àout= 303x10mv/K =3,03 v. Ta tính toán giá trị đọc được từ adc 10 bit (ADC_Vin là điện áp đưa vào chân ADC của pic, ADC_value la giá trị đầu ra của ADC dưới dạng thập phân): ADC_Vin =5v à ADC_value =1023 ADC_Vin =2,73v à ADC_value =(1023/5)x2,73=558,558 (ứng với 0 độ c) ADC_Vin =3,03v à ADC_value =(1023/5)x3,03=619,938 (ứng với 30 độ c) Mặt khác do : Vref=Vcc=5V nên ADC_value =1 tương ứng với (5/1023=4,887mV =5V).Trong khi đó LM35 cho ra điện áp là 10mV/1K nên giá trị ADC thay đổi 1 đơn vị thì nhiệt độ phải thay đổi là 0.5K (hay là gần 5mV).như vậy ta có công thức đầy đủ tính độ C như sau:. C=(ADC_value -558,558 )x(4,887mV/10mV) C=(ADC_value -558,558 )/2.048 2.3 Giới thiệu về linh kiện dùng trong hệ thống 2.3.1 Các linh kiện sử dụng 1.CAM BIẾN NHIỆT LM35 2.VI ĐIỀU KHIỂN PIC 16F877A 3.THIẾT BỊ CHUYỂN MẠCH 4.HIỂN THỊ ( LCD 16x2) LM016L 5.THIẾT BỊ CHẤP HÀNH (đèn ) 6.NÚT ẤN 7.CÁC LINH KIỆN KHÁC:THẠCH ANH, ĐIỆN TRỞ… 2.3.2.Giới thiệu linh kiện và nguyên tắc hoạt động 2.3.2.1 Cảm biến nhiệt LM35. LM35 có độ biến thiên theo nhiệt độ : 10mV/1(0C) . Độ chính xác cao, tính năng cảm biến nhiệt độ rất nhạy, ở nhiệt độ 25(0C) nó có sai số không quá 1% , với tầm đo từ 0(0C) đến 128(0C) , tín hiệu ngõ ra tuyến tính liên tục với những thay đổi của tín hiệu ngõ vào. Thông số kỹ thuật: Tiêu tán công suất thấp . Dòng làm việc từ 400µA đến 5mA. Dòng ngược 15mA. Dòng thuận 10mA. Độ chính xác: khi làm việc ở nhiệt độ 25(0C) với dòng làm việc 1mA thì điện áp ngõ ra từ 2,94V đến 3,04V. Đặc tính điện: Theo thông số của nhà sản xuất LM35, quan hệ giữa điện áp và ngõ ra như sau: Vout =0.01*T(0K)=2,73+0,01*T(0C). Vậy ứng với tầm hoạt động từ 0(0C) đến 100(0C) ta có sự biến thiên điện áp ngõ ra là :Ở 0(0C) thì điện áp ngõ ra Vout = 2,73V Ở 5(0C) thì điện áp ngõ ra Vout = 2,78V Nguyên lý hoạt động chung của IC đo 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 thành tín hiệu điện dưới dạng dòng điện hay điện áp. Dựa vào đặc tính rất nhạy 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 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 sự xuất hiện các lỗ trống. Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt độ. +LM135 Ngõ ra là điện áp. Độ nhạy 10mv/10C Sai số cực đại 1,50C khi nhiệt độ lớn hơn 1000C. Phạm vi sử dụng :00 C=>1000 C 2.3.2.2 Vi điều khiển pic 16f877a 2.3.2.2.1.Sơ lược về các chân của PIC16F877A: PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của PIC 16F877A như sau: - 8 K Flash ROM. - 368 Bytes RAM. - 256 Bytes EEPROM. - 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập. - 2 bộ định thời 8 bits (Timer 0 và Timer 2). - Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài. - 2 bô CCP( Capture / Compare/ PWM). - 1 bộ biến đổi AD 10 bits, 8 ngõ vào. - 2 bộ so sánh tương tự (Compartor). - 1 bộ định thời giám sát (WatchDog Timer). - Một cổng song song 8 bits với các tín hiệu điều khiển. - Một cổng nối tiếp. - 15 nguồn ngắt. - Có chế độ tiết kiệm năng lượng. - Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming) - Được chế tạo bằng công nghệ CMOS - 35 tập lệnh có độ dài 14 bits. - Tần số hoạt động tối đa 20MHz. 2.3.2.2.2. Cấu trúc tổng quát PIC16F877A gồm: 8 K Flash ROM 368 bytes RAM 256 bytes EEPROM 5 Port I/O (A, B, C, D, E), ngõ vào/ra với tín hiệu điều khiển độc lập 2 bộ định thời 8 bit Timer 0 và Timer 2 1 bộ định thời 16 bit Timer 1, có thể hoạt động trong cả chế độ tiết kiệm năng lượng (Sleep Mode) với nguồn xung clock ngoài 2 bộ CCP, Capture/Compare/PWM - tạm gọi là: Bắt giữ / So sánh / Điều Biến xung 1 bộ biến đổi tương tự - số (ADC) 10 bit, 8 ngõ vào 2 bộ so sánh tương tự (Comparator) 1 bộ định thời giám sát (WDT - Watch Dog Timer) 1 cổng song song ( Parallel Port ) 8 bit với các tín hiệu điều khiển 1 cổng nối tiếp ( Serial Port ) 15 nguồn ngắt (Interrupt)  Chế độ tiết kiệm năng lượng (Sleep Mode)  Nạp chương trình bằng cổng nối tiếp ICSPTM (In-Circuit Serial Programing) Nguồn dao động lập trình được tạo bằng công nghệ CMOS 35 tập lệnh có độ dài 14 bit.  Tần số hoạt động tối đa là 20 MHz Cấu trúc phần cứng PIC16F877A: PIC là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động). PIC16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức năng khác nhau. Trong đó có một số chân đa công dụng (đa hợp), mỗi chân có thể hoạt động như một đường xuất/nhập (I/O) độc lập hoặc là một chức năng đặc biệt dùng để giao tiếp với các thiết bị ngoại vi. Hình . Sơ đồ khối của vi điều khiển PIC16F877 2.3.2.2.3 Một vài thanh ghi chức năng đặc biệt SFR Thanh ghi STATUS: thanh ghi này có mặt ở cả 4 bank thanh ghi ở các địa chỉ 03h, 83h, 103h và 183h : chứa kết quả thực hiện phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất trong bộ nhớ dữ liệu. Thanh ghi OPTION_REG : có mặt ở bank2 và bank3 có địa chỉ 81h và 181h. Thanh ghi này cho phép đọc và ghi, cho phép điều khiển chức năng pull_up của các chân trong PORTB, xác lập các tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0 Thanh ghi INTCON : có mặt ở cả 4 bank ở địa chỉ 0Bh,8Bh,10Bh,18Bh. Thanh ghi cho phép đọc và ghi, chứa các bit điều khiển và các bit báo tràn timer0, ngắt ngoại vi RB0/INT và ngắt khi thay đổi trạng thái tại các chân của PORTB. Thanh ghi PIE1 :địa chỉ 8Ch, chứa các bit điều khiển chi tiết các ngắt của các khối chức năng ngoại vi. Thanh ghi PIR1 : địa chỉ 0Ch, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1. Thanh ghi PIE2 : địa chỉ 8Dh, chứa các bit điều khiển các ngắt của các khối chức năng CCP, SSP bú, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM. Thanh ghi PIR2: địa chỉ 0Dh, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2 Thanh ghi PCON : địa chỉ 8Eh, chứa các cờ hiệu cho biết trạng thái các chế độ reset của vi điều khiển. Thanh ghi W(work) và tập lệnh của PIC16F877A Đây là thanh ghi rất đặc biệt trong PIC16F877A. Nó có vai trò tương tự như thanh ghi Accummulator của 8051, tuy nhiên tầm ảnh hưởng của nó rộng hơn rất nhiều. Tập lệnh của PIC16F877A có tất cả 35 lệnh thì số lệnh có sự “góp mặt” của thanh ghi W là 23 lệnh. Hầu hết các lệnh của PIC16F877A đều liên quan đến thanh ghi W. Ví dụ như, trong PIC chúng ta không được phép chuyển trực tiếp giá trị của một thanh ghi này qua thanh ghi khác mà phải chuyển thông qua thanh ghi W. Thanh ghi W có 8 bit và không xuất hiện trong bất kỳ bank thanh ghi nào của bộ nhớ dữ liệu của 16F877A. Mỗi dòng lệnh trong PIC16F877a được mô tả trong 14 bit. Khi ta thực hiện một lệnh nào đó, nó phải lưu địa chỉ của thanh ghi bị tác động (chiếm 8 bit) và giá trị một hằng số k nào đó (thêm 8 bit nữa) là 16 bit, vượt quá giới hạn 14 bit. Do vậy ta không thể nào tiến hành một phép tính toàn trực tiếp nào giữa 2 thanh ghi với nhau hoặc giữa một thanh ghi với một hằng số k. Hầu hết các lệnh của PIC16F877A đều phải liên quan đến thanh ghi W cũng vì lý do đó. Khi thực hiện một dòng lệnh nào đó, thì PIC sẽ không phải tốn 8 bit để lưu địa chỉ của thanh ghi W trong mã lệnh ( vì được hiểu ngầm). Có thể xem thanh ghi W là thanh ghi trung gian trong quá trình viết chương trình cho PIC16F877A. 2.3.2.3 Khối chấp hành . Dùng 2 led đơn : một led màu đỏ và một led màu xanh 2.3.2.4 Khối hiển thị Hình ảnh LCD thực tế Giống như led 7 thanh, LCD là một thiết bị ngoại vi dùng để giao tiếp với người dùng, so với led 7 thanh thì LCD có ưu điểm là hiển thị được tất cả các kí tự trong bảng mã ascci, trong khi đó led 7 thanh chỉ hiển thị được một số kí tự, nhưng LCD lại có nhược điểm là giá thành cao và khoảng cách nhìn gần. Chức năng của các chân LCD : Chân Kí Hiệu Mức Logic I/O Chức Năng 1 Vss - - Nguồn (GND) 2 Vcc - - Nguồn (+5V) 3 Vee - - Chỉnh độ tương phản 4 RS 0/1 I 0=Nhập lệnh 1=Nhập dữ liệu 5 R/W 0/1 I 0=Ghi dữ liệu 1=Đọc dữ liệu 6 E 1,1 0 I Tín hiệu cho phép 7 DB0 0/1 I/O Bít dữ liệu 0 8 DB1 0/1 I/O Bít dữ liệu 1 9 DB2 0/1 I/O Bít dữ liệu 2 10 DB3 0/1 I/O Bít dữ liệu 3 11 DB4 0/1 I/O Bít dữ liệu 4 12 DB5 0/1 I/O Bít dữ liệu 5 13 DB6 0/1 I/O Bít dữ liệu 6 14 DB7 0/1 I/O Bít dữ liệu 7 15 Lamp- - - Đèn LCD 16 Lamp+ - - Đèn LCD Các chân Vcc, Vss và Vee: Chân Vcc cấp dương nguồn 5V, chân Vss nối đất, chân Vee được dùng để điều khiển độ tương phản của màn hình LCD RS ( Register select): Khi ở mức thấp, chỉ thị được truyền đến LCD như xoá màn hình ,vị trí contrỏ ….Khi ở mức cao, kí tự được truyền đến LCD R/W (Read/Write): Dùng để xác định hướng của dữ liệu được truyền giữa LCD và vi điều khiển. Khi nó ở mức thấp dữ liệu được ghi đến LCD và khi ở mức cao, dữ liệu được đọc từ LCD. Nếu chúng ta chỉ cần ghi dữ liệu lên LCD thì chúng ta có thể nối chân này xuống GND để tiết kiệm chân E (Enable): Cho phép ta truy cập/xuất đến LCD thông qua chân RS và R/W.Khi chân E ở mức cao (1) LCD sẽ kiểm tra trạng thái của 2 chân RS và R/W và đáp ứng cho phù hợp. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liêu. Xung này phải rộng tối thiểu là 450ns. Còn khi chân E ở mức thấp (0), LCD sẽ bị vô hiệu hoá hoặc bỏ qua tín hiệu của 2 chân RS và R/W. Các chân D0 - D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Các kí tự được truyền theo mã tương ứng trong bảng mã ascii. Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. LCD có 2 chế độ giao tiếp, chế độ 4 bit (chỉ dùng 4 chân D4 đến D7 để truyền dữ liệu) và chế độ 8 bit (dùng cả 8 chân dữ liệu từ D0 đến D7), ở chế độ 4 bit, khi truyền 1 byte, chúng ta sẽ truyền nửa cao của byte trước, sau đó mới truyền nửa thấp của byte.Trước khi truyền các kí tự ra màn hình LCD ta cần thiết lập cho LCD như chọn chế độ 4 bit hoặc 8 bit, 1 dòng hay 2 dòng ,bật/tắt con trỏ… Dưới đây là Bảng Tập Lệnh Của LCD Mã (Hex) Lệnh đến thanh ghi của LCD 1 Xóa màn hình hiển thị 2 Trở về đầu dòng 4 Giả con trỏ (dịch con trỏ sang trái) 5 Tăng con trỏ (dịch con trỏ sang phải) 6 Dịch hiển thị sang trái 7 Dịch hiển thị sang phải 8 Tắt con trỏ, tắt hiển thị A Tắt hiển thị, bật con trỏ C Bật hiển thị, tắt con trỏ E Bật hiển thị, nhấp nháy con trỏ F Tắt con trỏ, nhấp nháy con trỏ 10 Dịch vị trí con trỏ sang trái 14 Dịch vị trí con trỏ sang phải 18 Dịch toàn bộ vị trí hiển thị sang trái 1C Dịch toàn bộ vị trí hiển thị sang phải 80 Ép con trỏ vũ đầu dòng thứ nhất C0 Ép con trỏ vũ đầu dòng thứ hai 38 Hai dòng va ma trận 5x7 Để đọc thanh ghi lệnh,ta phải đặt RS=0 và R/W =1 và xung cao xuống thấp cho bít E. Sau khi đọc thanh ghi lệnh,nếu bit D7(cờ bận ) ở mức cao thì LCD bận,không có thông tin hay lệnh nào được xuất đến nó. Khi D7=0 mới có thể gửi lệnh hay dữ liệu đến LCD. Chúng ta nên kiểm tra bit cờ bận trước khi ghi thông tin lên LCD. Nguyên tắc hiển thị ký tự trên LCD một chương trình hiển thị ký tự trên LCD sẽ đi theo bốn bước sau: Xóa toàn bộ màn hình. Đặt chế độ hiển thị. Đặt vị trí con trỏ (nơi bắt đầu của ký tự hiển thị). Hiển thị ký tự. Các bước 3, 4 có thể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự. Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD cần phải kiểm tra cờ trước của chu kì trước đó. Vì vậy, cần phải chủ động phân phối thời gian khi ra lệnh cho LCD( ví dụ sau khi xóa màn hình sau khoảng 2ms mới ra lệnh khác vì thời gian để LCD xóa màn hình là 1,64ms). Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ là đầu dòng thứ nhất. Mã lệnh của LCD HD4480 các bit viết tắt trong mã lệnh. Tên bit Mô tả I/D 0=không dịch chuyển vị trí con trỏ 1=dịch chuyển vị trí con trỏ S =0 không dịch chuyển hiển thị =1 dịch chuyển hiển thị D 0=tắt hiển thị =1 bật hiển thị C 0=tắt con trỏ =1 bật con trỏ B 0=con trỏ không nhấp nháy =1 con trỏ nhấp nháy S/C 0=di chuyển con trỏ =1 dịch chuyển hiển thị R/L 0= dịch trái =1 dịch phải DL 0=chế độ 4bit dữ liệu =1 chế độ 8bit dữ liệu N 0=1 dòng 1= 2 dòng F 0= font 5x7 1= font 5x10 BF 0= không bận 1= đang bận 2.3.2.5 Khối giao tiếp: Bàn phím được sử dụng trong rất nhiều các thiết bị, để giúp người sử dụng lựa chọn các chức năng của thiết bị. Có thể nói giao tiếp bàn phím là một ứng dụng khá quan trọng. Phím bấm thông dụng nhất có cấu tạo gồm 2 đầu tiếp xúc, mỗi khi chúng ta bấm phím, 2 đầu này sẽ chạm vào nhau (xem hình vẽ ở sơ đồ nguyên lí bên dưới). Ngoài ra còn nhiều loại phím bấm khác, và cấu tạo cũng khác, có thể là phím bấm thường đóng, khi ta bấm phím thì 2 đầu tiếp xúc không thông nhau. Hoặc cũng có loại phím bấm cảm ứng, dựa trên sự thay đổi điện trở của màng điện trở, hoặc dựa trên sự thay đổi điện dung hay điện cảm mỗi khi có tay người chạm vào. 2.3.2.6 Khối dao động: 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 ngành điện tử, cũng có thể dùng để tạo các tần số mẫu để hiệu chỉnh. Trong mạch chúng em sử dụng thạch anh X1-12MHZ. X1 : là thạch anh tạo dao động , tần số dao động được ghi trên thân của thach anh, khi thạch anh được cấp điện thì nó tự dao động ra sóng hình sin.thạch anh thường có tần số dao động từ vài trăm KHz đến vài chục MHz. Đây là bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt động. Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK. Chương 3: xây dựng hệ thống 3.1 các module phần phần cứng trong hệ thống 3.1.1. Module khối điều khiển trung tâm. a. Sơ đồ nguyên lý: b. Nguyên tắc hoạt động. Khối điều khiển trung tâm sử dụng vi điều khiển PIC18F77A, qua chương trình đã lập trình được nạp cho chip, vi điều khiển sẽ điều khiển việc đọc, ghi các trị số áp suất lên khối hiển thị là LCD. Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK hoạt động. Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK. Bộ RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu. Khi nút Reset được ấn điện áp +5V từ nguồn được nối vào chân Reset của vi điều khiển được chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống. 3.1.2.Module hiển thị. a. sơ đồ nguyên lý. b. nguyên tắc hoạt động. Sử dụng màn hình LCD (LM016L) để hiển thị nhiệt độ mà cảm biến đo được, LCD sẽ hiển thị được tất cả các ký tự trong bảng mã ASCII. Ta chỉ có thể hiển thị là một sâu ký tự thì hiển thị được nếu là số chỉ hiển thị được từng số vì thế phải chia các thành phần trăm, chục đơn vị của áp suất ra rồi hiển thị từng phần. Chọn các chân D4-D7 làm chân nhận dữ liệu của LCD. Cổng D(RD2-RD7) của VDK làm cổng ra để đưa dữ liệu ra LCD. Các led D2 ,D3, để báo trạng thái nhiệt độ mà cảm biến nhận được. D2 sáng khi nhiệt độ vượt quá ngưỡng cao Tmax. D3 sáng khi nhiệt độ thấp hơn Tmax. Các cực dương của led được nối với chân RC0-RC1 (lá các cổng ra) khi nhiệt độ vượt quá ngưỡng cao Tmax thì VDK đưa mức logic 1 ra chân RC0 led D3 sáng tương tự với các trạng thái còn lại. 3.1.3.Module đo nhiệt độ. a. sơ đồ nguyên lý. b. nguyên tắc hoạt động. Sử dụng cảm biến nhiệt độ để đo nhiệt độ. Nhiệt độ mà cảm biến đo được sẽ được biến đổi ra thành điện áp để đưa v

Các file đính kèm theo tài liệu này:

  • docBAOCAO~1.DOC
Tài liệu liên quan