Đo và hiển thị nhiệt độ dùng DS18B20 8051

22 861 3
Đo và hiển thị nhiệt độ dùng DS18B20 8051

Đ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

RESET: (Tín hiệu vào): Dùng để khởi động lại toàn bộ hệ thống khi chương trinh đang chạy mà gặp lỗi RxD,TxD: Là hai chân nhận và truyền số liệu của cổng truyền thông nối tiếp INT0,INT1: Là hai chân nhận tín hiệu ngắt từ bên ngoài WR ( Tín hiệu ra) Cho phép viết dữ liệu tới các ngoại vi, bộ nhớ bên ngoài vi điều khiển RD: ( Tín hiệu ra) Cho phép đọc dữ liệu từ các ngoại vi,bộ nhớ dữ liệu ngoài vi điều khiển X1,X2: Dùng để tạo xung nhịp cho vi điều khiển

PHẦN I 1.1 VI ĐIỀU KHIỂN 89C51 1.1.1 Sơ đồ khối ý nghĩa chân 89c51 8051 có cổng vào/ra số • P0 có bit P0.0 đến P0.7 • P0 có bit P1.0 đến P1.7 • P0 có bit P2.0 đến P2.7 • P0 có bit P3.0 đến P3.7 Ngoài chức cổng vào/ra số P0 bit (D0 đến D7) bus liệu bit thấp (A0 đến A7) bus địa ,P2 bit cao (A8 đến A15) bus địa cần thiết mở rộng thêm ngoại vi, nhớ cho 8051 * RESET: (Tín hiệu vào): Dùng để khởi động lại toàn hệ thống chương trinh chạy mà gặp lỗi * RxD,TxD: Là hai chân nhận truyền số liệu cổng truyền thông nối tiếp * INT0,INT1: Là hai chân nhận tín hiệu ngắt từ bên * WR ( Tín hiệu ra) Cho phép viết liệu tới ngoại vi, nhớ bên vi điều khiển * RD: ( Tín hiệu ra) Cho phép đọc liệu từ ngoại vi,bộ nhớ liệu vi điều khiển * X1,X2: Dùng để tạo xung nhịp cho vi điều khiển * Vcc,GND: Cấp nguồn cho vi điều khiển (Vcc=5 VDC) * EA/VP : Là tín hiệu vào =1: Vi điều khiển sử dụng nhớ chương trình bên nhớ chương trình bên + Nếu vi điều khiển có Kb nhớ chương trinh bên với địa 0000H đến 0FFFH nhớ chương trình bên ngoai phải có địa 1000h đến 1FFFH + Nếu vi điều khiển co Kb nhớ chương trinh bên với địa 0000H đến 1FFFH nhớ chương trình bên ngoai phải có địa 2000h đến FFFFH =0: vi điều khiển sử dụng nhớ bên co địa là:0000H đến FFFFH * ALE/P: (tín hiệu ra) Là tín hiệu chốt địa dùng để phân biệt P0 bus liệu,khi bus liệu vi điều khiển cần gép nối với ngoại vi * ALE=1:P0 bus địa * ALE=1:P0 bus liệu * PSEN : Có chức giống chân Rdnhunwg dùng để đọc nhớ chương trình bên 1.1.2 Các ghi đặc biệt Ký hiệu * Acc *B * PSW SP DPTR DPL DPH * P0 * P1 * P2 * P3 * IP * IE Tên Thanh ghi chứa Thanh ghi B Thanh ghi trạng thái Con trỏ ngăn xếp (8bit) Con trỏ liệu Byte thấp DPTR Byte cao DPTR Thanh ghi đệm cổng P0 Thanh ghi đệm cổng P1 Thanh ghi đệm cổng P2 Thanh ghi đệm cổng P3 Thanh ghi điều khiển mức ưu tiên ngắt Thanh ghi cho phép/ che chắn ngắt Địa 0E0H 0F0H 0D0H 81H 82H 83H 80H 90H 0A0H 0B0H 0B8H 0A8H TMOD * TCON *+T2CON TH0 TL0 TH1 TL1 + TH2 + TL2 Thanh ghi chọn chế độ Time/Counter 0,1 Thanh ghi điều khiển Time/Counter 0,1 Thanh ghi điều khiển Time/Counter Byte cao đếm Timer/Counter Byte thấp đếm Timer/Counter Byte cao đếm Timer/Counter Byte thấp đếm Timer/Counter Byte cao đếm Timer/Counter Byte thấp đếm Timer/Counter Byte cao ghi Capture/ Reload + RCAP2H Timer/Counter Byte thấp ghi Capture/ Reload + RCAP2L Timer/Counter * SCON Thanh ghi điều khiển cổng truyền thông nối tiếp SBUF Bộ đếm cổng truyền thông nối tiếp PCON Thanh ghi điều khiển công suất tiêu thụ 8051 89H 88H 0C8H 8CH 8AH 8DH 8BH 0CDH 0CCH 0CBH 0CAH 98H 99H 87H Chú ý: *: Chỉ ghi truy cập theo bit +: Các ghi có 89c52 1.1.3 Bộ phát xung nhịp - Dùng để tạo xung đồng cho hệ thống vi điều khiển làm việc Có cách để tạo xung nhịp dùng thạch anh lấy xung dao động từ nguồn Thông thường tần số xung nhịp là: 12MHz 11,0592MHz 24MHz 33pF Vcc X1 X1 12MHz 10k 33pF Dùng thạch anh X2 X2 Xung 1.1.4 Các Timer/ Counter (T/C) a Timer/ Counter Timer/ Counter Khi ứng dụng Timer/ Counter ta phải cài đặt chúng chế độ làm việc xác định Các ghi đặc biệt thiết kế để đặt chế độ làm việc cho Timer/ Counter TMOD (Time Mode) TCON ( Time Control)  Thanh ghi TMOD TMOD GATE M1 T/ C M0 GATE T /C M1 M0 Thanh ghi TMOD có phầnTimer tử giống chế độ0 cho T/C dùng để cài đặtTimer T/C tương ứng hình vẽ T / C = Làm Counter (Đếm xung từ bên ngoài) T / C = Làm Timer ( Đếm xung hệ thống) GATE: Khi TRx=1 (x=0,1) nếu: + GATE=0 cho phép T/C làm việc + GATE=1 T/C phép làm việc INTx=1 Các chế độ làm việc M1 0 1  M0 1 Chế độ Mô tả Bộ đếm 13bit Bộ đếm 16bit Chế độ Auto - Reload Timer0 đếm 8bit Time1 dừng Thanh ghi TCON TF1 TCON TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1 (TCON.7): Cờ báo đếm Timer/Counter bị tràn TR1 (TCON.6): Bit cho phép T/C1 làm việc TF0 (TCON.5): Cờ báo đếm Timer/Counter bị tràn TR01 (TCON.4): Bit cho phép T/C0 làm việc IE1 (TCON.3): Cờ báo có ngắt chân INT IT1 (TCON.2), IT0 (TCON.0): =1: Cho phép ngắt tương ứng ngắt theo sườn xuống =0: Cho phép ngắt tương ứng ngắt theo mức “0” IE0 (TCON.1): Cờ báo có ngắt chân INT b Timer/Counter ( có 89c52) * Thanh ghi T2CON: T2CON TF2 EXF2 RCLK TCLK EXEN2 TR2 T / C2 CP/ TF2 (T2CON.7): Cờ tràn dựng T/C2 tràn, Cờ phải xóa phần mền TF2 (T2CON.6): Cờ tràn dựng chân T2EX có sườn xuống với điều kiện bit EXEN2 =1 để báo ngăt TF2 (T2CON.3): Bit cho phép Reload Capture có sườn xuống chân T2EX TF2 (T2CON.2): Bit điều khiển cho phép T/C2 chạy dừng TF2 (T2CON.1): Lựa chọn T/C2 làm việc chế độ Timer Counter * Các chế độ làm việc T/C2 RCLK+TCLK 0 x TR2 1 CP / RL x x MODE Chế độ Auto – Reload Chế độ Capture Chế độ phát Baud rate Không hoạt dộng 1.1.5 Ngắt xử lý ngắt • Ngắt tràn T0, T1: TF0,TF1 • Ngắt cổng truyền thông nối tiếp: RI, TI • Ngắt bên vi điều khiển: INT , INT • Ngắt Timer 2: TF2 * Thanh ghi cho phép ngắt IE IE EA - ET2 ES ET1 EX1 EA : Cho phép/cấm tất ngắt ET2:Cho phép/cấm ngăt Timer ES: Cho phép/cấm ngắt cổng truyền thông nối tiếp ET1: Cho phép/cấm ngăt Timer EX1: Cho phép/cấm ngăt INT ET0: Cho phép/cấm ngăt Timer EX0: Cho phép/cấm ngăt INT 1.1.6 Địa vectơ ngắt STT Nguồn gây ngắt IE0 Địa 0003H ET0 EX0 TF0 IE1 TF1 RI_TI TF2+EXF2 000BH 0013H 001BH 0023H 002BH 1.3 LED BẢY THANH 1.3.1 Cấu tạo - Cấu tạo LED bảy bao gồm led phát quang gọi : a b, c, d, e, f ,g dp(dấu chấm) - LED bảy thường dùng làm cấu quan sát, thị số hệ thập phân Trong số trường hợp đặt biệt dùng để thị số hệ HEX ký tự a f b g 1.3.2 Phân loại LED bảy có hai loại là: Loại Anode chung Loại Cathode chung a Loại Anode chung g f A a b 10 e A c dp d e c d dp Vcc a b c d e f g dp Để sáng ta cấp dòng điện ( – 20mA) chảy qua Diode tương ứng.Để thị số – hệ thập phân ta lựa chọn cách cần sáng để thị số tương ứng Như ta nối chân A vào dương nguồn (5VDC) chân a, b, c, d, e, f, g, dp điều khiển chúng cho: Nếu = “1” tối Nếu = “0” sáng b Loại Cathode chung Đối với loại Cathode chung chân C nối xuống đất (0VDC) chân a, b, c, d, e, f, g, dp điều khiển chúng cho: Nếu = “1” sáng Nếu = “0” tối g f C a b Vcc 10 a b c d e f g e d C c dp 1.3.3 Bảng mã bảy Mã bảy số – loại Anode chung DEC dp g f e d c b a 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 Mã Bảy Thanh C0H F9H A4H B0H 99H dp 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 92H 82H F8H 80H 90H 1.4 CẢM BIẾN NHIỆT ĐỘ (DS18B20) Các đặc điểm kỹ thuật cảm biến DS18B20 kể cách tóm tắt sau: • Sử dụng giao diện dây nên cần có chân để truyền thông • Có thể đo nhiệt độ khoảng -55 -> +125 oC.Với khoảng nhiệt độ -10°C to +85°C độ xác ±0.5°C.Có chức cảnh báo nhiệt độ vược qua giá trị cho trước • Điện áp sử dụng : – 5.5 V,có thể cấu hình mã hóa nhiệu độ từ – 12 bit số bit lớn độ xác cao hơn.Thời gian chuyển đổi nhiệt độ tối đa 750ms cho mã hóa 12 bit • Dòng tiêu thụ chế độ nghỉ cực nhỏ • Mỗi cảm biến có mã định danh 64 bit chứa nhớ ROM chip (on chip), giá trị nhị phân khắc tia laze • Nếu cấu hình cho DS18B20 theo 9,10,11,12 bit ta có độ xác tương ứng : 0.5°C , 0.25°C ,0.125°C, 0.0625°C.Theo mặc định nhà sản xuất không cấu hình chế độ chuyển đổi tự cấu hình 12 bit Khi bắt đầu chuyển đổi nhiệt độ chân DQ kéo xuống mức thấp chuyển đổi xong mức cao.Như ta vào tượng để xác định chuyển đổi xong nhiệt độ 10 II.Các tập lệnh ds18b20 - READ ROM (33h) Cho phép đọc byte mã khắc laser ROM, bao gồm: bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, bit kiểm tra CRC Lệnh dùng bus có cảm biến DS1820, không xảy xung đột bus tất thiết bị tớ đáp ứng - MATCH ROM (55h) Lệnh gửi với 64 bit ROM tiếp theo, cho phép điều khiển bus chọn cảm biến DS1820 cụ thể bus có nhiều cảm biến DS1820 nối vào Chỉ có DS1820 có 64 bit ROM trung khớp với chuỗi 64 bit vừa gửi tới đáp ứng lại lệnh nhớ Còn cảm biến DS1820 có 64 bit ROM không trùng khớp tiếp tục chờ xung reset Lệnh sử dụng trường hợp có cảm biến dây, trường hợp có nhiều cảm biến dây - SKIP ROM (CCh) Lệnh cho phép thiết bị điều khiển truy nhập thẳng đến lệnh nhớ DS1820 mà không cần gửi chuỗi mã 64 bit ROM Như tiết kiệm thời gian chờ đợi mang hiệu bus có cảm biến - SEARCH ROM (F0h) Lệnh cho phép điều khiển bus dò tìm số lượng thành viên tớ đấu vào bus giá trị cụ thể 64 bit ROM chúng chu trình dò tìm - ALARM SEARCH (ECh) Tiến trình lệnh giống hệt lệnh Search ROM, cảm biến DS1820 đáp ứng lệnh xuất điều kiện cảnh báo phép đo nhiệt độ cuối Điều kiện cảnh báo định nghĩa giá trị nhiệt độ đo lớn giá trị TH nhỏ giá trị TL hai giá trị nhiệt độ cao nhiệt độ thấp đặt ghi nhớ cảm biến Sau thiết bị chủ (thường vi điều khiển) sử dụng lệnh ROM để định địa cho cảm biến dây đấu vào bus, thiết bị chủ đưa lệnh chức DS1820 Bằng lệnh chức thiết bị chủ đọc ghi vào nhớ nháp (scratchpath) cảm biến DS1820 khởi tạo trình chuyển đổi giá trị nhiệt độ đo xác định chế độ cung cấp điện áp nguồn Các lệnh chức mô tả ngắn gọn sau: - WRITE SCRATCHPAD (4Eh) Lệnh cho phép ghi byte liệu vào nhớ nháp DS1820 Byte ghi vào ghi TH (byte nhớ nháp) byte thứ hai ghi vào ghi TL (byte nhớ nháp) Dữ liệu truyền theo trình tự bit có ý nghĩa bit có ý nghĩa giảm dần Cả hai byte 11 phải ghi trước thiết bị chủ xuất xung reset có liệu khác xuất - READ SCRATCHPAD (BEh) Lệnh cho phép thiết bị chủ đọc nội dung nhớ nháp Quá trình đọc bit có ý nghĩa nhấy byte tiếp tục byte rhứ (byte – CRC) Thiết bị chủ xuất xung reset để làm dừng trình đọc lúc có phần liệu nhớ nháp cần đọc - COPYSCRATCHPAD (48h) Lệnh copy nội dung hai ghi TH TL (byte byte 3) vào nhớ EEPROM Nếu cảm biến sử dụng chế dộ cấp nguồn l bắt đầu việc đo - CONVERT T (44h) Lệnh khởi động trình đo chuyển đổi giá trị nhiệt độ thành số (nhị phân) Sau chuyển đổi giá trị kết đo nhiệt độ lưu trữ ghi nhiệt độ byte nhớ nháp Thời gian chuyển đổi không 200 ms, thời gian chuyển đổi thực lệnh đọc giá trị đọc - READ POWER SUPPLY (B4h) Một lệnh đọc tiếp sau lệnh cho biết DS1820 sử dụng chế độ cấp nguồn nào, giá trị đọc cấp nguồn đường dẫn liệu cấp nguồn qua đường dẫn riêng 1.5 Chuẩn giao tiếp RS232 Được xây dựng phục vụ chủ yếu việc ghép nối điểm – điểm giữa hai thiết bị đầu cuối (DTE, Data Terminal Equipment).mặc dù tính hạn chế chuẩn RS232 có từ lâu đời nhất vì thế nên nó được sử dụng rộng rãi Ngày mỗi máy tính cá nhân có vài cổng RS232( cổng com) có thể sử dụng nối các thiết bị ngoại vi hoặc với các máy tính khác Ưu điểm của giao diện nối tiếp RS232 + Khả chống nhiễu cổng nối tiếp cao + Thiết bị ngoại vi tháo lắp máy tính cấp điện + Các mạch điện đơn giản nhận điện áp nguồn nuôi qua công nối tiếp Những đặc điểm cần lưu ý chuẩn RS232 + Trong chuẩn RS232 có mức giới hạn (logic 1) +-15V Hiện cố định trở kháng tải phạm vi từ-7000Ω- 3000Ω + Mức logic có điện áp nằm khoảng -3V đến -15V, mức logic từ -3V đến 15V + Tốc độ truyền nhận liệu cực đại 100kbps ( ngày lớn hơn) + Các lối vào phải có điện dung nhỏ 2500pF + Trở kháng tải phải lớn 3000 ôm phải nhỏ 7000 ôm 12 + Độ dài cáp nối máy tính thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m không sử model + Các giá trị tốc độ truyền liệu chuẩn : 50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400 56600,115200 bps Quá trình liệu a) Quátrình truyền liệu Truyền liệu qua cổng nối tiếp RS232 thực không đồng Do nên thời điểm có bit truyền (1 kí tự) Bộ truyền gửi bit bắt đầu (bit start) để thông báo cho nhận biết kí tự gửi đến lần truyền bit tiếp the Bit bắt đầu mức Tiếp theo bit liệu (bits data) gửi dạng mã ASCII( 5,6,7 hay bit liệu) Sau Parity bit ( Kiểm tra bit chẵn, lẻ hay không) cuối bit dừng - bit stop 1, 1,5 hay bit dừng b) Tốc độ Baud Đây tham số đặc trưng RS232 Tham số đặc trưng cho trình truyền liệu qua cổng nối tiếp RS232 tốc độ truyền nhận liệu hay gọi tốc độ bit Tốc độ bit định nghĩa số bit truyền thời gian giây hay số bit truyền thời gian giây Tốc độ bit phải thiết lập bên phát bên nhận phải có tốc độ ( Tốc độ vi điều khiển máy tính phải chung tốc độ truyền bit) Ngoài tốc độ bit tham số để mô tả tốc độ truyền tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa liệu sử dụng để diễn tả bit truyền tôc độ bit phản ánh tốc độ thực tế mà bit truyền.Vì phần tử báo hiệu mã hóa bit nên hai tốc độ bit tốc độ baud phải đồng Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ 19200, Khi sử dụng chuẩn nối tiếp RS232 yêu cầu sử dụng chuẩn thời gian chuyển mức logic không vượt 4% thời gian truyền bit Do vậy, tốc độ bit cao thời gian truyền bit nhỏ thời gian chuyển mức logic phải nhỏ Điều làm giới hạn tốc Baud khoảng cách truyền c) Bit chẵn lẻ hay Parity bit Đây bit kiểm tra lỗi đường truyền Thực chất trình kiểm tra lỗi truyền liệu bổ xungthêm liệu truyền để tìm sửa số lỗi 13 trình truyền Do chuẩn RS232 sử dụng kỹ thuật kiểm tra chẵn lẻ Một bit chẵn lẻ bổ sung vào liệu truyền để ch thấy số lượng bit "1" gửi trongmột khung truyền chẵn hay lẻ Một Parity bit tìm số lẻ lỗi chả hạn 1,3,,5,7,9 Nếu bit chẵn mắc lỗi Parity bit trùng giá trị với trường hợp không mắc lỗi không phát lỗi Do kỹ thuật mã hóa lỗi không sử dụng trường hợp có khả vài bit bị mắc lỗi IC MAX232 Max232 IC chuyên dùng cho giao tiếp RS232 thiết bị ngoại vi Max232 IC hãng Maxim Đây IC chay ổn định sử dụng phổ biến mạch giao tiếp chuẩn RS232 Giá thành Max232 phù hợp (12K hay 10K) tích hợp hai kênh truyền cho chuẩn RS232 Dòng tín hiệu thiết kế cho chuẩn RS232 Mỗi đầu truyền cổng nhận tín hiệu bảo vệ chống lại phóng tĩnh điện ( 15KV) Ngoài Max232 thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ 1.5 CÁC LINH KIỆN KHÁC 1.5.2 Phím bấm - Sơ đồ nguyên lý Vcc 10K 2,2μF Output 1.5.2 Các linh kiện khác - Tụ điện: Chọn tụ điện có giá trị sau 2,2μF, 3,3pF 14 + Đối với loại tụ có giá trị 2,2μF ta chọn tụ hóa + Đối với loại tụ có giá trị 3,3pF ta chọn tụ gốm - Transzito : Chọn loại NPN có cấu tạo sau E N P N C E 5VDC B B C Chức Khuếch đại dòng để quét LED thị - Điện trở: Chọn loại điện trở có giá trị 10KὨ 330Ὠ 2.2 SƠ ĐỒ NGUYÊN LÝ 15 2.3 SƠ ĐỒ THUẬT TOÁN TOÀN BỘ CHƯƠNG TRÌNH Chuyển đổi liệu nhiệt độ từ ds18b20 Gửi lệnh yêu cầu truy cập thẳng nhớ ds18b20 SKIP ROM (CCh) Hiển thị liệu sau xử lý Gửi lệnh yêu cầu chuyển đổi nhiệt độ CONVERT T (44h) Kiểm tra ngưỡng cao thấp RESET (44h) Gửi lệnh yêu cầu truy cập thẳng nhớ ds18b20 Kiểm tra phím nhấn SKIP ROM (CCh) ENA Đọc nội dung nhớ nháp ds18b20 READ SCRATCHPAD (BEh) Thuật toán chương trình Qúa trình đọc ds 16 2.4 VIẾT CHƯƠNG TRÌNH PHẦN MỀN DQ BIT P2.2 RUN bit P0.0 STOP bit p0.1 W_L W_H EQU EQU 50H 51H DEM EQU T_LSB T_MSB TEMP EQU DIGITEQU T_DIGIT T_LED R2 EQU EQU 30H 20H EQU EQU 33H 34H ENA EQU 35H 32H 31H ORG 0000H jmp CHUONG_TRINH_CHINH WRITE_TIME_SLOT: CLR DQ NOP NOP MOV DQ,C MOV R5,#15 Lcall DELAY SETB DQ NOP RET READ_TIME_SLOT: CLR DQ NOP NOP SETB DQ MOV R5,#4 lcall DELAY MOV C, DQ MOV R5,#25 Lcall DELAY RET RESET_DS1820: CLR DQ MOV R5,#244 Lcall DELAY ;byte nhiet thap doc tu SCRATCHPAD ;byte nhiet cao doc tu SCRATCHPAD ;nhiet sau hieu chinh ;phan thap phan ;viet bit ;doc bit 17 SETB MOV Lcall JB MOV lcall DQ R5,#36 DELAY DQ,RESET_DS1820 R5,#212 DELAy RET WRITE_BYTE: MOV DEM,#8 WRITE_LAI: RRC A Lcall WRITE_TIME_SLOT DJNZ DEM, WRITE_LAI SETB DQ MOV R5,#50 Lcall DELAY RET READ_BYTE: MOV DEM,#8 READ_LAI: Lcall READ_TIME_SLOT RRC A DJNZ DEM, READ_LAI MOV R5,#50 Lcall DELAY RET DELAY: DJNZ R5,$ RET DELAY_LONG: MOV R6,#0FFH DELAY_LAI: Lcall DELAY DJNZ R6,DELAY_LAI RET BCD: MOV B,#10 DIV AB MOV T_LED,A RET HIEU_CHINH: ;hieu chinh 0.1 va nhiet (+) MOV TEMP,#0 MOV DIGIT,#0 ANL A,#0FH ;BO BYTE CAO MOV TEMP,A MOV A,T_LSB ANL A,#0F0H ;BO BYTE THAP 18 ORL TEMP,A MOV A,TEMP SWAP A MOV TEMP,A ; MOV A,T_LSB ANL A,#0FH ;BO BYTE CAO MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV DIGIT,A RET KIEMTRA: ;hieu chinh gia tri cua nhiet (-) JNB 6,OUT_KT MOV A,#0FFH CLR C SUBB A,TEMP MOV TEMP,A MOV A,#0FH ANL A,T_LSB CJNE A,#0,OUT_KT1 INC TEMP JMP OUT_KT OUT_KT1: MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV DIGIT,A OUT_KT: RET OUTLED: MOV DPTR,#TABLE0 MOV A,TEMP lcall BCD MOV A,B MOVC A,@A+DPTR ANL A,#01111111B MOV P1,A SETB P3.4 lcall DELAYLED CLR P3.4 MOV A,T_LED lcall BCD JNB 6,NEXT1 ;dau (-) MOV A,#10 NEXT1: MOVC A,@A+DPTR MOV P1,A SETB P3.2 lcall DELAYLED 19 CLR P3.2 MOV A,B MOVC A,@A+DPTR MOV P1,A SETB P3.3 lcall DELAYLED CLR P3.3 MOV A,DIGIT MOVC A,@A+DPTR MOV P1,A SETB P3.5 lcall DELAYLED CLR P3.5 RET DELAYLED: MOV R7,#5 LOOPD: MOV R6,#255 DJNZ R6,$ DJNZ R7,LOOPD RET CHUONG_TRINH_CHINH: setb RUN setb STOP SETB DQ SETB ENA CLR P3.6 CLR P3.7 MOV W_L,#28h ; NGUONG THAP MOV W_H,#3ch ; NGUONG CAO MOV TEMP,#0 MAIN: JNB ENA,N_ENABLE ENABLE: lcall RESET_DS1820 MOV A,#0CCH ; SKIP ROM (CCH) NH?P TH?NG D?N CáC L?NH B? NH? C?A DS1820 lcall WRITE_BYTE MOV A,#44H ; CONVERT T KH?I D?NG M?T QUá TRìNH DO Và CHUY?N D? I GIá TR? NHI?T D? lcall WRITE_BYTE lcall RESET_DS1820 MOV A,#0CCH ; SKIP ROM (CCH) NH?P TH?NG D?N CáC L?NH B? NH? C?A DS1820 lcall WRITE_BYTE MOV A,#0BEH ; READ SCRATCHPAD CHO PHéP THI?T B? CH? D?C N?I DUNG B? NH? NHáP lcall WRITE_BYTE 20 lcall MOV lcall MOV lcall READ_BYTE T_LSB,A READ_BYTE T_MSB,A RESET_DS1820 ;THAP ;CAO ; lcall HIENTHI lcall HIEU_CHINH lcall KIEMTRA N_ENABLE: lcall OUTLED LCALL SO_SANH CHECK_RUN: ; KIEM TRA NUT RUN JB RUN,CHECK_STOP ;NEU PHIM RUN = '1' THI kie tra phim stop LCALL DELAY JNB RUN,CHECK_RUN ; chong giu phim SETB ENA ;set bien ena EXIT_RUN: JMP MAIN CHECK_STOP: ; KIEM TRA NUT stop JB STOP,EXIT_STOP ; LCALL DELAY JNB STOP,CHECK_STOP ; chong giu phim CLR ENA EXIT_STOP: JMP MAIN HIENTHI: lcall lcall lcall RET HIEU_CHINH KIEMTRA OUTLED SO_SANH: MOV A,temp CLR C SUBB A,W_L JC SET_L MOV A,W_H CLR C SUBB A,temp JC SET_H ; NGUONG 60 21 CLR P3.6 CLR P3.7 mov a,#0 clr c RET SET_L: clr c SETB p3.6 clr p3.7 RET SET_H: clr c SETB p3.7 clr p3.6 RET TABLE0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH,0FFH TABLE1: DB 0,0,1,0,2,3,0,4,5,0,6,0,7,8,0,9 TABLE2: DB 0,0,9,8,0,7,0,6,5,0,4,3,0,2,0,1 END 22 [...]... độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit) Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một... LED hiện thị - Điện trở: Chọn loại điện trở có giá trị 10KὨ và 330Ὠ 2.2 SƠ ĐỒ NGUYÊN LÝ 15 2.3 SƠ ĐỒ THUẬT TOÁN TOÀN BỘ CHƯƠNG TRÌNH Chuyển đổi dữ liệu nhiệt độ từ ds18b20 Gửi lệnh yêu cầu truy cập thẳng bộ nhớ của ds18b20 SKIP ROM (CCh) Hiển thị dữ liệu sau xử lý Gửi lệnh yêu cầu chuyển đổi nhiệt độ CONVERT T (44h) Kiểm tra ngưỡng cao thấp RESET (44h) Gửi lệnh yêu cầu truy cập thẳng bộ nhớ của ds18b20. .. hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820 Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp... byte 3) vào bộ nhớ EEPROM Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu việc đo - CONVERT T (44h) Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị phân) Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá 200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì... trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn Các lệnh chức năng có thể được mô tả ngắn gọn như sau: - WRITE SCRATCHPAD (4Eh) Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820 Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp) Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và. .. điều khiển bus có thể dò tìm được số lượng thành viên tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm - ALARM SEARCH (ECh) Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được... bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200, Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit Do vậy, nếu tốc độ bit càng cao thì thời... khả năng một vài bit bị mắc lỗi 2 IC MAX232 Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi Max232 là IC của hãng Maxim Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232 Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp trong đó hai kênh truyền cho chuẩn RS232 Dòng tín hiệu được thiết kế cho chuẩn RS232 Mỗi đầu truyền ra và cổng nhận tín... hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng b) Tốc độ Baud Đây là một tham số đặc trưng của RS232 Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây Tốc độ bit này... giới hạn trên và dưới (logic 0 và 1) là +-15V Hiện nay đang được cố định trở kháng tải trong phạm vi từ-7000Ω- 3000Ω + Mức logic 1 có điện áp nằm trong khoảng -3V đến -15V, mức logic 0 từ -3V đến 15V + Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn) + Các lối vào phải có điện dung nhỏ hơn 2500pF + Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm 12 + Độ dài của cáp

Ngày đăng: 05/04/2016, 10:25

Từ khóa liên quan

Mục lục

  • b) Tốc độ Baud

  • c) Bit chẵn lẻ  hay Parity bit

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

  • Đang cập nhật ...

Tài liệu liên quan