Thu thập dữ liệu nhiệt độ môi trường trên cở sở dùng vi điều khiển PIC18F458 - pdf 14

Download miễn phí Khóa luận Thu thập dữ liệu nhiệt độ môi trường trên cở sở dùng vi điều khiển PIC18F458
TÓM TẮT NỘI DUNG


Khóa luận đã xây dựng được hệ thống thu thập số liệu đo lường trên cở sở dùng vi điều khiển PIC18F458. Với ứng công cụ thể là thu thập dữ liệu nhiệt độ môi trường. Hệ thống được xây dựng dựa trên việc kết hợp nhiều khối thiết bị ngoại vi khác, bao gồm bàn phím PS/2 cho phép nhập dữ liệu có thể là địa điểm của khu vực đặt hệ thống.v.v., đồng hồ thời gian thực dựa trên vi mạch DS1307 cho phép cập nhật thời gian cho hệ thống với đồng hồ này thông chỉ cần cài đặt một lần đồng hồ sẽ chạy cho tới khi không còn một nguồi nuôi nào, khối giao tiếp thẻ nhớ MMC lưu trữ tất cả dữ liệu mà người sử dụng cần với mục đích sử dụng hệ thống ví dụ địa điểm đặt hệ thống, thông tin về nhiệt độ đo được cập nhật cùng thời gian của hệ thống, và cuối cùng là khối hiển thị dùng LCD 16 cột 2 dòng hiển thị cùng lúc 32 ký tự, thể hiện những thông tin người thiết lập hệ thống muốn thông báo trong quá trình kiểm tra hay khi sử dụng . Tất cả hệ thống được lắp ráp trên một bo mạch tương đối nhỏ gọn.

MỤC LỤC
LỜI CẢM ƠN 1
TÓM TẮT NỘI DUNG 2
CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 7
1.1 Tổng quan về hệ thống đo lường và điều khiển. 7
1.2 Hệ thống đo lường nhiệt độ. 8
CHƯƠNG 2: VI ĐIỀU KHIỂN PIC18F458 10
2.1 Tổng quan về vi điều khiển PIC. 10
2.1.1 Sơ đồ chân của vi điều khiển PIC18F458. 11
2.1.2 Một vài thông số về vi điều khiển PIC18F458. 11
2.1.2.1 CPU theo kiến trúc RISC 11
2.1.2.2 Các đặc tính ngoại vi. 11
2.2 Các ứng dụng được sử dụng trong khóa luận. 12
2.2.1 Bộ chuyển đổi tương tự số ADC. 12
2.2.2 Truyền nối tiếp đồng bộ SPI. 15
2.2.3 Truyền nối tiếp đồng bộ I2C. 18
CHƯƠNG 3: CẢM BIẾN NHIỆT ĐỘ VÀ VI MẠCH LM35 20
3.1 Nhiệt độ và ý nghĩa của đo nhiệt độ. 20
3.2 Cảm biến nhiệt độ LM35. 20
3.3.1 Một số đặc tính của LM35. 20
3.3.2 Sơ đồ ghép nối với vi điều khiển. 21
3.3.3 Xử lý và tính toán kết quả 21
CHƯƠNG 4: BÀN PHÍM PS/2 VÀ GIAO TIẾP BÀN PHÍM VỚI VI ĐIỀU KHIỂN 23
4.1 Bàn phím PS/2. 23
4.2 Giao diện vật lý. 23
4.3 Truyền nhận dữ liệu. 24
4.2.1 Thông tin từ bàn phím tới host. 24
4.2.2 Thông tin từ host tới bàn phím. 26
4.3 Mã quét. 27
4.4.1 Make Codes, Break Codes, và Typematic Repeat 28
4.4.1.1 Make code. 28
4.4.1.2 Break code. 28
4.4.1.3 Typematic. 29
4.4 Cài đặt. 29
4.4.1 Quá trình khởi động. 29
4.4.2 Các lệnh thiêt lập. 30
4.5 Mạch điều khiển bàn phím i8042. 31
4.6 PIC điều khiển bàn phím. 32
4.6.1 Sơ đồ ghép nối Keyboard PS/2 với PIC 18F452. 32
4.6.2 Khởi tạo giao tiếp và các hàm chức năng. 32
4.6.2.1 Khởi tạo giao tiếp. 32
4.6.2.2 Các hàm chức năng sử dụng trong chương trình. 33
CHƯƠNG 5: ĐỒNG HỒ THỜI GIAN THỰC 34
5.1 Mô tả chung về DS1307 34
5.2 Hoạt động của các chân. 35
5.3 Tổ chức bộ nhớ RAM của DS1307 35
5.3.1 Các thanh ghi thời gian của DS1307. 36
5.3.2 Thanh ghi điều khiển. 36
5.3 Cấu hình phần cứng. 37
5.4 Truyền dữ liệu theo chuẩn I2C. 38
5.5.1 Ghi dữ liệu vào DS1307. 38
5.5.2 Đọc dữ liệu từ DS1307. 39
5.5 Sơ đồ ghép nối PIC với DS1307 theo chuẩn I2C 40
5.6 Sơ đồ khối qúa trình khởi tạo và các hàm chức năng cho DS1307. 41
5.6.1 Khởi tạo đồng hồ thời gian thực. 41
5.6.2 Các hàm chức năng. 41
5.6.2.1 Hàm cài đặt thời gian cho đồng hồ. 42
5.6.2.2 Hàm cập nhật thời gian từ đồng hồ. 42
5.7 Giao tiếp I2C mềm. 43
5.7.1 Các bước thực hiện. 43
5.7.2 Hàm thư viện của khối I2C mềm. 43
CHƯƠNG 6: MMC VÀ ỨNG DỤNG ĐỌC GHI DỮ LIỆU 46
6.1 Chuẩn giao tiếp của MMC. 47
6.1.1 MultiMediaCard Mode. 47
6.1.2 SPI Mode. 48
6.2 Sơ đồ ghép nối MMC với PIC và một số linh kiện được sử dụng. 50
6.2.1 Sơ đồ ghép nối. 50
6.2.2 CD4050 và LM1117-3.3V. 50
6.2.2.1 CD4050. 50
6.2.2.2 LM1117-3.3V. 51
6.3 Đặc tính của MMC trong chuẩn SPI. 52
6.3.1 Các thanh ghi của MMC. 53
6.3.2 Định dạng khung lệnh của MMC. 53
6.3.3 Các lệnh được sử dụng. 54
6.3.3.1 Lớp các lệnh sử dụng. 54
6.3.3.2 Chi tiết các lệnh được sử dụng. 55
6.3.4 Đáp ứng của các lênh. 56
6.4 Khởi tạo MMC trong chế độ SPI. 57
6.4.1 Thiết lập lại phần mềm. 57
6.4.2 Khởi tạo. 58
6.5 Quá trình đọc ghi khối dữ liệu đối với MMC trong SPI mode. 60
6.6 Hệ thống tệp tin. 61
6.6.1 Master Boot Record. 63
6.6.1.1 Mục phân vùng trên MBR. 63
6.6.2 Sector khởi động. 64
6.6.3 Thư mục gốc. 65
6.6.5 Sử dụng hàm khi định dạng thẻ theo FAT16. 67
CHƯƠNG 7: LCD 71
7.1 Giới thiệu LCD. 71
7.1.1 Bảng mô tả các chân của LCD: 72
7.1.2 RAM chứa dữ liệu hiển thị. 72
7.1.3 ROM phát ký tự. 73
7.1.4 Thanh ghi chỉ thị và thanh ghi dữ liệu. 74
7.2 Lệnh và chỉ thị. 74
7.3 Khởi tạo LCD. 76
7.4 Các hàm thao tác cơ bản với LCD. 78
7.4.1 Cờ bận và đọc cờ bận. 78
7.4.2 Gửi lệnh và dữ liệu đến LCD. 79
7.4.3 Cài đặt vị trí con trỏ trên LCD. 79
7.4.4 Gửi dữ liệu tới LCD. 80
7.5 LCD hoạt động ở chế độ 4 bit. 81
7.5.1 Khởi tạo LCD ở chế độ 4 bit. 82
7.5.2 Gửi lệnh và dữ liệu tới LCD. 82
CHƯƠNG 8: KẾT QUẢ THỰC NGHIỆM 84
KẾT LUẬN 88
Ứng dụng. 88
Hướng phát triển. 88
PHỤ LỤC 1 : Sơ đồ nguyên lý 90
PHỤ LỤC 2: Keyboard Scan Codes: Set 2 91
TÀI LIỆU THAM KHẢO 93


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

i2c_stop();
///////////////////////////////////////////////
5.6.2.2 Hàm cập nhật thời gian từ đồng hồ.
Sau khi cài đặt thời gian, đồng hồ bên trong DS1307 đã chạy. Muốn cập nhật thông tin từ đồng hồ, cần truy xuất tới IC đọc các giá trị trong các thanh ghi, các giá trị này sẽ cho ta các thông số chính xác về thời gian. Để làm được điều này phải sử dụng chế độ “slave transmitter”. Vi điều khiển gửi chỉ thị START sau đó là giá trị 0xD1, khi giá trị này tới DS1307, IC cho phép đọc các thanh ghi bắt đầu tư địa chỉ được đưa tới cho tới khi có chỉ thị STOP dừng quá trình đọc.
Đoạn code sau sẽ cho ta thực hiên thao tác đó.
///////////////Doc dữ liệu DS1307///////////
i2c_start();
i2c_write(0xD0); //Gui dia chi cua slave
i2c_write(0x00); //thiet laptop lai con
i2c_stop();
I2C_start();
I2C_write(0xD1); /* gui lenh doc du lieu */
sec = i2c_read(1); /* bat dau tu thanh ghi 0*/
min = i2c_read(1);
hour = i2c_read(1); //che do 24h không can AND
dow = i2c_read(1);
date = i2c_read(1);
month = i2c_read(1);
year = i2c_read(0);
i2c_stop();
////////////////////////////////////////////
5.7 Giao tiếp I2C mềm.
Trong một số trường hợp các vi điều khiển không có khối giao diện I2C để điều khiển truyền nhận dữ liệu với slave, master hay như có nhưng đã sử dụng vào một ứng dụng khác. Khi đó ta hoàn toàn có thể sử dụng các chân khác của vi điều khiển và dùng phần mềm viết một khối giao tiếp I2C cho vi điều khiển. Tuy công việc này có hơi mất công tuy nhiên ta có thể tạo ra nhiều hơn 1 giao diện I2C ở trên vi điều khiển thuận tiện cho việc ghép nối với các ngoại vi sử dụng giao thức truyền dữ liệu theo loại này.
Vi điều khiển PIC18F458 có một khối giao diện I2C các chân được sử dụng là PIN_C3 (SCL) và PIN_C4 (SDA) tuy nhiên các chân này lại được sử dụng vào mục đích ghép nối với thẻ nhớ MMC trong giao diện SPI, giao diện SPI các chân được sử dụng PIN_C3 (CLK), PIN_C4 (DI), PIN_C5 (DO), được trình bày rõ ở chương về MMC. Vì vậy I2C mềm được lựa chọn để ghép nối DS1307 với vi điều khiển
5.7.1 Các bước thực hiện.
Để có được khối I2C mềm phải thực hiện các bước sau:
Định nghĩa các chân được sử dụng cho ghép nối.
Tạo ra các hàm bao gồm : khởi tạo giao thức, kết thúc giao thức, hàm đọc dữ liệu, hàm ghi dữ liệu và 1 số hàm phụ khác.
5.7.2 Hàm thư viện của khối I2C mềm.
Để viết được hàm thư viện cho khối giao tiếp I2C trước hết ta phải biết về cơ chế truyền dữ liệu theo chuẩn này là như thế nào ? Hoạt động theo các bước sau:
Ban đầu tín hiệu SDA và SCL cùng ở mức cao
Quá trình giao tiếp bắt đầu bằng việc chuyển mức tín hiệu của SDA từ cao xuống thấp (HàL).
Dữ liệu bắt đầu truyền khi SCL ở mức thấp. Thời gian của dữ liệu kéo dài trong 1 chu kỳ xung SCL. Số lượng bít truyền trong 1 khung tùy thuộc thiết bị
Quá trình truyền nhận kết thúc khi SCL ở mức cao và tín hiệu SDA chuyển từ thấp lên cao (LàH).
Hình 5.8: Giản đồ xung của chuẩn I2C.
Dữ liệu khi đọc ghi DS1307 có độ dài 1 byte với bit MSB đi đầu.
Sau khi tạo được các hàm ta chỉ cần đính thư viện vào trong chương trình và sử dụng chúng như một khối giao diện cứng.
Đoạn code mô tả quá trình đọc ghi dữ liệu của DS1307 theo chuẩn I2C.
///////////////Tao giao dien I2C//////////////
#define SDA_PIN RB5 // RB.5
#define SCL_PIN RB4 // RB.4
#define SDA_DIR trisb5
#define SCL_DIR trisb4
/////cac ham duoc su dung/////
int8 i2c_read(void);
void i2c_write(byte o_byte);
void i2c_nack(void);
void i2c_start(void);
void i2c_stop(void);
void i2c_high_sda(void);
void i2c_low_sda(void);
void i2c_high_scl(void);
void i2c_low_scl(void);
////////////////////////////////////////////
byte i2c_read(void){
byte i_byte, n;
i2c_high_sda();
for (n=0; n<8; n++){
i2c_high_scl();
if (SDA_PIN){
i_byte=(i_byte << 1)|0x01; // msbit trước
}
else{
i_byte = i_byte << 1;
}
i2c_low_scl();
}
return(i_byte);
}
//////////////////////////////////////////////
void i2c_write(byte o_byte){
byte n;
for(n=0; n<8; n++){
if(o_byte&0x80){
i2c_high_sda();
}
else{
i2c_low_sda();
}
i2c_high_scl();
i2c_low_scl();
o_byte = o_byte << 1;
}
i2c_high_sda();
}
////////////////////////////////////////////////
=======================================================
CHƯƠNG 6: MMC VÀ ỨNG DỤNG ĐỌC GHI DỮ LIỆU
MultiMediaCards (MMC) là loai bộ nhớ nối tiếp dạng Flash được tích hợp cao và có khả năng truy xuất dữ liệu ngẫu nhiên. Nó được đọc ghi thông qua một giao diện nối tiếp rõ ràng vì vậy việc truyền dữ liệu tỏ ra nhanh chóng và an toàn. Những thẻ MMC có hệ thống các tiểu chuẩn về đặc tính kỹ thuật như điện áp số chân…, đã được định nghĩa. MultiMediaCards là một phát kiến mới trong thiết bị lưu trữ dựa trên công nghệ bán dẫn. Nó được phát triển để tạo ra những thiết bị lưu trữ rẻ và có dung lượng trung bình, ứng dụng cho các phương tiên giải trí đa phương tiện.
Hinh 6.1: Cấu trúc của MMC.
Hình 6.2: Hình ảnh thực tế của MMC và RS-MMC.
6.1 Chuẩn giao tiếp của MMC.
MultiMediaCards có thể hoạt động trong hai loại chuẩn khác nhau như sau:
MultiMedia card Mode
SPI Mode
Cả hai cách chuẩn (mode) sử dụng các chân giống nhau. Mặc định khi ghép nối là mode MultiMediaCard. SPI mode chỉ được lựa chọn khi kích hoạt chân CS và gủi đi CMD0.
6.1.1 MultiMediaCard Mode.
Trong chuẩn MultiMedia card dữ liệu được truyền trên số đường dây nhỏ nhất. Trong trường hợp này dữ liệu là lệnh sẽ được truyền trên một đường dây riêng còn dữ liệu trên một dây riêng.
CLK: với mỗi chu kỳ của tín hiệu này 1bit lệnh và dữ liệu sẽ được truyền trên đương dây. Tần số có thể thay đổi từ 0 đến 20Mhz.
CMD: là kênh truyền lệnh 2 hướng sử dụng cho việc khởi tạo card và truyền dữ liệu là lệnh. Những lệnh được gửi đi từ bus master tới MultiMedia card và đáp ứng ngược trở lại cũng chạy trên đường này.
DAT: cũng là một kênh song hướng dung để truyền dữ liệu.
RSV: chân này được kéo lên nguồn với điện trở 2MΩ.
Hinh 6.3: Ghép nối MMC với host với MultiMediaCard mode
Các chân trong chuẩn MultiMedia card được mô tả như sau:
Chân
Tên
Loại
Mô tả
1
RSV
NC
Không sử dụng
2
CMD
I/O/PP/OD
Lệnh/Đáp ứng
3
Vss
S
Nguồn (Đất)
4
Vdd
S
Nguồn
5
CLK
I
Xung clock
6
Vss
S
Nguồn (Đất)
7
DAT
I/O/PP
Dữ liệu
S: power supply; I: input; O: output; PP: push-pull; OD: open-drain; NC: not connected
6.1.2 SPI Mode.
SPI (Serial Peripheral Interface) là giao tiếp nối tiếp đồng bộ được biết đến đầu tiên ở các vi điều khiển của hãng Motorola. Các thẻ nhớ MMC trên thị trường đều tương thích với chuẩn SPI này. Giống như các thiết bị khác sử dụng chuẩn này, ghép nối của MMC như sau:
CS: tín hiệu lựa chọn chip (chip select) tới thẻ .
CLK: tín hiệu xung nhịp (clock) tơi thẻ.
DataIn: tín hiệu dữ liệu truyền tới thẻ.
DataOut: tín hiệu dữ liệu đọc từ thẻ.
Đặc tính chung của chuẩn SPI là truyền dữ liệu theo byte và thẻ nhớ cũng không phải là một ngoại lệ. Tất cả dữ liệu được biểu diễn thành những byte có độ dài 8 bit và được đồng bộ theo tín hiệu CS.
Các chân trong chuẩn SPI được định nghĩa như bảng sau:
Chân
Tên
Loại
Mô tả
1
CS
I
Lựa chọn chip
2
DI
I/PP
Dữ liệu vào
3
Vss
S
Nguồn (Đất)
4
Vdd
S
Nguồn
5
CLK
I
Xung clock
6
Vss
S
Nguồn (Đất)
7
DAT
I/O/PP
Dữ liệu ra
6.2 Sơ đồ ghép nối MMC với PIC và một số linh kiện được sử dụng.
6.2.1 Sơ đồ ghép nối.
Hình...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status