Tải bản đầy đủ
Sơ đồ nguyên lý phần mở rộng ngoại vi:

Sơ đồ nguyên lý phần mở rộng ngoại vi:

Tải bản đầy đủ

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

IC mở rộng ngõ ra 74HC595:
Nếu ta cần thiết kế 1 mạch sử dung VĐK arm cotex M3 LM3S8962 cần
rất nhiều ngõ ra của VĐK để điều khiển các thiết bị bên ngoài, trong khi đó thì
trên kít lại không đủ các I/O. Do đó ta sẽ cần phải sử dung các IC chuyên
dung để mở rộng ngõ ra để có thể đáp ứng được như cầu sử dung của mình.
IC 74HC595 là IC ghi dịch từ nối tiếp sang song song 8 bit. Tức là, khi VĐK
cần xuất 1 byte dữ liệu ra, thì VĐK sẽ gửi dữ liệu ra 74HC595 lần lượt từng
bit một và 74HC595 sẽ chuyển dữ liệu nối tiếp mà nó nhận được thành dữ liệu
song song.
Do gửi dữ liệu theo từng bit một nên VĐK chỉ cần sử dung một I/O để
dịch dữ liệu sang 74HC595. Ngoài ra còn các kết nối điều khiển khác ( tạo
xung dịch dữ liệu, tạo xung xuất dữ liệu) nên có thể dùng ít nhất là 3 I/O của
VĐK để gửi dữ liệu ra 74HC595.
Khuyết điểm là nếu ghép nối tiếp nhiều 74HC595 sẽ làm cho tốc độ
xuất dữ liệu bị chậm đi.

GVHD: Dương Thị Hằng

Page: 62

SVTH: Trịnh Đình Chương

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

Ta kết nối như hình.
– Chân DS (chân 14: nhận dữ liệu) là chân nhận dữ liệu nối tiếp từ VĐK
– Chân SH_CP (chân 11: đk nhận) là chân nhận xung dịch dữ liệu. Khi VĐK
xuất dữ liệu qua chân DS thì ta cần một xung trên chân SH_CP thì dữ liệu
mới được dịch vào trong 74HC595
– Chân ST_CP (chân 12: đk xuất) là chân nhận xung xuất dữ liệu. Khi dữ liệu
đã được dịch vào trong 74HC595 thì ta cần 1 xung trên chân ST_CP thì dữ
liệu mới được dich ra các ngõ ra.
– Chân MR (Master Reset) chân này tích cực ở mức thấp. Ta nối nó lên nguồn
VCC.
– Chân OE (Output Enable) là chân cho phép ngõ ra. Chân này tích cực ở mức
thấp. Ta nối nó xuống GND.
_Các chân từ Q0, Q1, Q2,…Q7 là 8 chân ngõ ra của 74HC595
_ chân Q7 (chân 9) là ngõ ra dữ liệu nối tiếp. Khi dùng nhiều 74HC595 mắc
nối tiếp nhau thì chân này đưa vào đầu vào (DS) của con tiếp theo khi đã dịch
đủ 8 bit.
Chú ý:
Khi dịch dữ liệu vào thanh ghi 8-STAGE SHIFT REGISTER, và chưa tạo
xung STCP thì thanh ghi 8-BIT STORAGE REGISTER sẽ giữ nguyên trạng
thái và ngõ ra cũng giữ nguyên trạng thái.
Khi chân MR ở mức 0 thì dữ liệu trên thanh ghi 8-STAGE SHIFT REGISTER
sẽ bị xóa, còn thanh ghi 8-BIT STORAGE REGISTER sẽ giữ nguyên trạng
thái và ngõ ra cũng giữ nguyên trạng thái
Với 1 IC 74HC595 có thể mở rộng được 8 ngõ ra (như vậy là ta thêm được 5
ngõ ). Để mở rộng nhiều ngõ ra hơn nữa, ta có thể ghép nối tiếp nhiều IC
74HC595 lại với nhau, nhưng mà vẫn chỉ sử dung 3 I/O của VĐK.

GVHD: Dương Thị Hằng

Page: 63

SVTH: Trịnh Đình Chương

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

Cảm biến nhiệt độ LM35 là một loại cảm biến tương tự rất hay được
ứng dụng trong các ứng dụng đo nhiệt độ thời gian thực. Vì nó hoạt động khá
chính xác với sai số nhỏ, đồng thời với kích thước nhỏ và giá thành rẻ là một
trong những ưu điểm của nó. Vì đây là cảm biến tương tự (analog sensor) nên
ta có thể dễ dàng đọc được giá trị của nó bằng hàm analogRead().
LM35 là một cảm biến nhiệt độ analog
Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35.
→ Đơn vị nhiệt độ: °C.
→ Nhiệt độ thay đổi tuyến tính: 10mV/°C

GVHD: Dương Thị Hằng

Page: 64

SVTH: Trịnh Đình Chương

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

Sơ đồ chân của LM35
LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng.
Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng 2°C tới
150°C
LM35 có hiệu năng cao, công suất tiêu thụ là 60uA
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất
định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 hiệu điện thế
5V, chân phải nối đất, đo hiệu điện thế ở chân giữa bằng các pin A0 trên
arduino (giống y hệt cách đọc giá trị biến trở), bạn sẽ có được nhiệt độ (0100ºC) bằng công thức:
float temperature = (5.0*analogRead(A0)*100.0/1024.0);
Với LM35, bạn có thể tự tạo cho mình mạch cảm biến nhiệt độ sử dụng
LM35 và tự động ngắt điện khi nhiệt độ vượt ngưỡng tối đa, đóng điện khi
nhiệt độ thấp hơn ngưỡng tối thiểu thông qua module rơ le...

GVHD: Dương Thị Hằng

Page: 65

SVTH: Trịnh Đình Chương

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

Ứng dụng thực tế :
ĐO NHIỆT ĐỘ MÔI TRƯỜNG THỰC VÀ HIỂN THỊ HỌ TÊN , MÃ
SINH VIÊN , GIÁO VIÊN HƯỚNG DẪN TRÊN LCD OLED.
//#include "lm3s8962.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_ints.h"
#include
#include "driverlib/rit128x96x4.c"
#include "driverlib/gpio.c"
#include "driverlib/sysctl.c"
#include "driverlib/adc.c"
#include "define_lm3s89xx.h"
#include "driverlib/interrupt.c"
unsigned char const font[] = {
0xFF,0xFF,0xC3,0xDD,0xDD,0xDD,0xA3,0xFF, //a
0xFB,0xFB,0xC3,0xBB,0xBB,0xBB,0xC3,0xFF, //b
0xFF,0xFF,0x87,0xFB,0xFB,0xFB,0x87,0xFF, //c
0xDF,0xDF,0xC3,0xDD,0xDD,0xDD,0xC3,0xFF, //d
0xFF,0xFF,0xC3,0xBD,0xC1,0xFD,0xC3,0xFF, //e
0xFF,0xFF,0xC7,0xFB,0xE3,0xFB,0xFB,0xFB, //f
0xFF,0xFF,0xC3,0xDD,0x83,0xCF,0xD7,0xE7, //g
0xFB,0xFB,0xCB,0xB3,0xBB,0xBB,0xBB,0xFF, //h
0xF7,0xFF,0xF7,0xF7,0xF7,0xD7,0xEF,0xFF, //i
0xEF,0xFF,0xEF,0xEF,0xEF,0xEB,0xF7,0xFF, //j
0xFB,0xFB,0xDB,0xE3,0xEB,0xDB,0xBB,0xFF, //k
0xFF,0xFF,0xD1,0xAD,0xAD,0xAD,0xAD,0xFF, //m
0xFF,0xFF,0xCB,0xB3,0xBB,0xBB,0xBB,0xFF, //n
0xFF,0xFF,0xE3,0xDD,0xDD,0xDD,0xE3,0xFF, //o
0xFF,0xFF,0xC3,0xBB,0xBB,0xC3,0xFB,0xFB, //p
GVHD: Dương Thị Hằng

Page: 66

SVTH: Trịnh Đình Chương

Trường Đại Học Công Nghiệp Hà Nội

Khoa Điện Tử

0xFF,0xFF,0xC3,0xDD,0xDD,0xC3,0xDF,0xDF, //q
0xFF,0xFF,0xEB,0xD3,0xFB,0xFB,0xFB,0xFF, //r
0xFF,0xFF,0xC3,0xFD,0xC3,0xBF,0xC1,0xFF, //s
0xF7,0xF7,0xE3,0xF7,0xF7,0xD7,0xEF,0xFF, //t
0xFF,0xFF,0xBB,0xBB,0xBB,0xBB,0x87,0xFF, //u
0xFF,0xFF,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF, //v
0xFF,0xFF,0xDD,0xDD,0xD5,0xD5,0xEB,0xFF, //w
0xFF,0xFF,0xDB,0xE7,0xE7,0xDB,0xBD,0xFF, //x
0xFF,0xFF,0xBB,0xD7,0xEF,0xF7,0xFB,0xFF, //y
0xFF,0xFF,0x83,0xDF,0xEF,0xF7,0x83,0xFF, //z
0xFF,0xE3,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF, //0
0xFF,0xEF,0xE7,0xEF,0xEF,0xEF,0xEF,0xFF, //1
0xFF,0xC7,0xBB,0xBF,0xC7,0xFB,0x83,0xFF, //2
0xFF,0xC7,0xBB,0xCF,0xBF,0xBB,0xC7,0xFF, //3
0xFF,0xEF,0xF7,0xDB,0x83,0xDF,0xDF,0xFF, //4
0xFF,0x83,0xFB,0xC3,0xBF,0xBF,0xC3,0xFF, //5
0xFF,0xC3,0xFD,0xE1,0xDD,0xDD,0xE3,0xFF, //6
0xFF,0x83,0xBF,0xDF,0xEF,0xF7,0xFB,0xFF, //7
0xFF,0xC3,0xBD,0xC3,0xBD,0xBD,0xC3,0xFF, //8
0xFF,0xC7,0xBB,0x87,0xBF,0xBB,0xC7,0xFF, //9
} ;
#define RELAY1

GPIO_PIN_4 // D4

#define RELAY2

GPIO_PIN_0 // B0

#define RELAY1ON
GPIOPinWrite(GPIO_PORTD_BASE,RELAY1,RELAY1) //d4
#define RELAY1OFF GPIOPinWrite(GPIO_PORTD_BASE,RELAY1,0) //
d4
GVHD: Dương Thị Hằng

Page: 67

SVTH: Trịnh Đình Chương