Thứ Bảy, 8 tháng 2, 2014

Truyền dữ liệu lưu lượng nước bằng SMS phần 2

DANH MỤC HÌNH ẢNH, BẢNG GIÁ TRỊ ….
Trang
Hình 1.1 Các dòng AVR: tiny, AVR và ATmega 3
Hình 1.2 Cấu trúc bên trong AVR 4
Hình 1. 3 Cấu trúc chân của AVR 8
Hình 1. 4 Sơ đồ một cổng vào ra 9
Hình 1. 5 Bộ nhớ chương trình có và không có sử dụng boot loader 11
Hình 1. 6 Giao diện chương trình Bascom AVR. 14
Hình 1.7 Giao diện Visual Basic 16
Hình 1.8 Menu Bar 16
Hình 1.9 Add –ins manager 17
Hình 1.10 Toolbars 17
Hình 1.11 Toolbox 18
Hình 1.12 Properties 19
Hình 1.13 Form layout 20
Hình 1.14 Designer 20
Hình 1.15 Giao diện viết code 21
Hình 1.16 Properties Window và Form Layout 22
Hình1.17 Cảm biến áp lực 24
Hình 1.18 Sơ đồ Kết nối điện 25
Hình1.19 GPRS Modem G2403R 26

Hình 3.1: Sơ đồ khối hệ thống 30
Hình 3.2 Mạch nguồn 5V 31
Hình 3.3 Mạch nguồn ± 15V 32
Hình 3.4 Sơ đồ chỉnh lưu 34
Hình 3.5 Dạng điện áp sau khi qua bộ lọc 35
Hình 3.6 LM78xx 35
Hình 3.7 Sơ đồ nguyên lý mạch RCV420 36

Hình 3.8 Mạch RCV420 36
Hình 3.9 Sơ đồ nguyên lý mạch nạp AVR 37
Hình 3.10 Mạch nạp AVR 38
Hình 3.11 Sơ đồ nguyên lý mạch ứng dụng AVR 38
Hình 3.12 Mạch AVR 39
Hình 3.12 Giao diện với máy tính 1 60
Hình 3.13 Giao diện với máy tính 2 74

Bảng 1.1 Bảng so sánh những đặc tính giữa ATmega32 với họ AT89C51 6
Bảng1.2 Cấu hình cho các chân cổng 8
Bảng 1.3 Địa chỉ của tất cả các port 12









LỜI MỞ ĐẦU
Ngày nay công nghệ không dây phát triển rất mạnh. Vì các thiết bị không
dây ngày càng hiện đại cho phép người sử dụng thõa mản trong giải trí cũng như
trong điều khiển sản xuất mà không cần dây nối. Nó thật sự tiện ít và tạo cảm giác
thoải mái cho người sử dụng. Truyền tín hiệu không dây là một đề tài có nhiều
ứng dụng thực tế, nhất là trong lĩnh vực điều khiển từ xa và truyền số
liệu.
Bên cạnh đó những ứng dụng của vi điều khiển đã đi sâu vào đời sống sinh
hoạt và sản xuất của con người. Thực tế hiện nay là hầu hết các thiết bị điện dân
dụng đều có sự góp mặt của vi điều khiển và vi xử lí. Trên thị trường có rất nhiều
họ vi điều khiển: họ 8051 của Intel, 68HC11 của Motorola, PIC c
ủa hãng
Microchip, H8 của Hitachi, AVR của hãng Atmel Ứng dụng vi điều khiển trong
thiết kế hệ thống làm giảm chi phí thiết kế và giá thành sản phẩm, đồng thời nâng
cao tính ổn định của thiết bị và hệ thống.











Chương 1: CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu sơ lược về vi điều khiển AVR .
1.1.1. Giới thiệu:
AVR là họ Vi điều khiển khá mới trên thị trường cũng như đối với người sử
dụng. Đây là họ vi điều khiển được chế tạo theo kiến trúc RISC (Reduced
Instruction Set Computer) có cấu trúc khá phức tạp. Ngoài các tính năng như các
họ vi điều khiển khác, nó còn tích hợp nhiều tính năng mớ
i rất tiện lợi cho người
thiết kế và lập trình.
Sự ra đời của AVR bắt nguồn từ yêu cầu thực tế là hầu hết khi cần lập trình
cho vi điều khiển, chúng ta thường dùng những ngôn ngữ bậc cao HLL (Hight
Level Language) để lập trình ngay cả với loại chip xử lí 8 bit. Tuy nhiên khi biên
dịch thì kích thước đọan mã sẽ tăng nhiều so với dùng ngôn ngữ Assembly. Hãng
Atmel nhận thấy rằng cần phải phát triển m
ột cấu trúc đặc biệt để giãm thiểu sự
chênh lệch kích thước mã đã nói trên. Và kết quả là họ vi điều khiển AVR ra đời
với việc làm giãm kích thước đoạn mã khi biên dịch và thêm vào đó là thực hiện
lệnh đúng chu kỳ máy với 32 thanh ghi tích lũy và đạt tốc độ nhanh hơn các họ vi
điều khiển khác từ 4 đến 12 lần. Vì thế nghiên cứu AVR là một đề tài khá lý thú
và giúp cho sinh viên biết thêm một họ
vi điều khiển vào loại mạnh nhất hiện nay.
Vi điều khiển AVR do hãng Atmel ( Hoa Kì ) sản xuất được gới thiệu lần đầu
năm 1996.
Họ vi điều khiển AVR là một họ vi điều khiển có cấu trúc hiện đại (so với
8051).




Có ba loại trong họ này đó là :
* Tinyavr.
* AVR(loại AVR).
* MegaAVR.


Hình 1.1 Các dòng AVR: tiny, AVR và AT mega.
Tất cả các thiết bị trong họ AVR đều có chung một tập lệnh, và tổ chức bộ
nhớ giống nhau. Nhưng khi chúng ta chuyển nghiên cứu từ một vi điều khiển
AVR này sang loại khác thì thật là đơn giản. Cấu tạo AVR bao gồm: SRAM,
EEPROM và giao tiếp SRAM mở rộng, bộ chuyển đổi tương tự số (ADC), cấu
trúc nhiều tuyến, UART, USART…
1.1.2. ATmega32:
ATmega 32 là bộ vi điều khiể
n CMOS 8 bit tiêu thụ điện năng thấp dựa trên
kiến trúc RISC. Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì
nhịp xung, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số
1 Mhz. Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá mức độ tiêu
thụ năng lượng mà vẫn đảm bảo tốc độ xử lí.
Phần cốt lõi của AVR kết hợp tập lệnh phong phú về số lượng với 32 thanh
ghi làm việc đa năng. Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU
(Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì
xung nhịp. Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng
CISC thông thường.

Hình 1.2 Cấu trúc bên trong AVR.
1.1.3. Đặc tính của ATmega32:
• Được chế tạo theo kiến trúc RISC.
• Bộ lệnh gồm 118 lệnh, hầu hết đều thực thi chỉ trong một chu kì xung
nhịp
• 32x8 thanh ghi làm việc đa dụng.
• 32 KB Flash ROM lập trình được ngay trên hệ thống.
• Giao diện nối tiếp SPI cho phép lập trình ngay trên hệ thống.
• Cho phép 1000 lần ghi / xoá.
• Bộ EEPROM 1024 byte .
• Cho phép 100.000 ghi / xoá.
• Bộ nhớ SRAM 2 Kbyte.
• Bộ biến đổi ADC 8 kênh, 10 bit .
• 32 ngõ I/O lập trình được.
• Bộ truyền nối tiếp bất đồng bộ vạn năng UART.
• Vcc = 2.7V đến 6V.
• Tốc độ làm việc: 0 đến 16 Mhz.
• Tốc độ xử lí lệnh 16 MIPS ở 16 MHz ( 16 triệu lệnh trên giây).
• Bộ đếm thời gian thực (RTC) v
ới bộ dao động và chế độ đếm tách
biệt.
• 2 bộ Timer 8 bit và 2 bộ Timer 16 bit với chế độ so sánh và chia tần số
tách biệt và chế độ bắt mẫu.
• Bốn kênh điều chế độ rộng xung PWM.
• Bộ định thời Watchdog lập trình được. Tự động reset khi treo máy.
• Bộ so sánh tương tự.
• Sáu chế độ ngủ : chế độ rỗi (Idle), tiết ki
ệm điện ( Power save), chế độ
Power Down, chế độ ADC Noise Reduction, chế độ Standby và chế
độ Extended Standby.




Bảng 1.1 Bảng so sánh những đặc tính giữa ATmega32 với họ AT89C51.
Đặc tính Atmega 32 AT89C51
Flash ROM 32KB 4 KB
EEPROM 1024 byte Không
RAM nội - 2 Kbyte SRAM 128 byte RAM
Bộ Timer
- 2 bộ timer 8 bit
- 2 bộ timer 16 bit
- 1 bộ watchdog timer
- 2 bộ timer 16 bit
Bộ ADC - 1 bộ ADC 8 kênh 10 bit không
Giao thức truyền nối
tiếp chủ/tớ
có có
Bộ PWM có không
Bộ truyền nối tiếp
UART
- Có 2 chế độ - Có 4 chế độ
Bộ so sánh tương tự Có không
Tần số hoạt động 0 ÷16 Mhz 0 ÷2 Mhz
Điện áp tiêu thụ
Thạch anh 4 Mhz ,
VCC=3V:
- Trạng thái tích cực:1.1mA
- Trạng thái rỗi :0.35 mA
- Trạng Power Down : < 1
uA
Thạch anh 12Mhz,
VCC=3V:
-Trạng thái tích cực : 20 mA
-Trạng thái rỗi : 5 mA
-Trạng Power Down : < 40
uA
Giá thành ( tại thị 60.000đ 17.000đ
trường Việt Nam)
Qua bảng so sánh có thể thấy rằng ATmega32 không những thừa kế những
ưu điểm của AT89C51 mà còn có những đặc tính mới khá hoàn thiện, hiệu suất và
tốc độ xử lí cao hơn.
1.1.3.1. Cổng vào ra:
Cổng vào ra là một trong số các phương tiện để vi điều khiển giao tiếp với
các thiết bị ngoại vi. Atmega32 có 4 cổng ( port ) vào ra 8 bit là : PortA, PortB,
PortC, PortD tương ứng với 32 đường vào ra. Các cổng vào ra của AVR là cổng
vào ra hai chiều có th
ể định hướng, tức có thể chọn hướng của cổng là hướng vào
(input ) hay hướng ra (output ). Tất các các cổng vào ra của AVR điều có tính
năng Đọc – Chỉnh sửa – Ghi ( Read – Modify – write ) khi sử dụng chúng như là
các cổng vào ra số thông thường. Điều này có nghĩa là khi ta thay đổi hướng của
một chân nào đó thì nó không làm ảnh hưởng tới hướng của các chân khác. Tất cả
các chân của các cổng ( port ) điều có điện trở kéo lên ( pull-up ) riêng, ta có th

cho phép hay không cho phép điện trở kéo lên này hoạt động.
• Cách hoạt động :

Khi khảo sát các cổng như là các cổng vào ra số thông thường thì tính chất
của các cổng ( PortA, PortB, PortC, PortD ) là tương tự nhau, nên ta chỉ cần khảo
sát một cổng nào đó trong số 4 cổng của vi điều khiển là đủ.
Mỗi một cổng vào ra của vi điều khiển được liên kết với 3 thanh ghi:
PORTx, DDRx, PINx. ( ở đây x là để thay thế cho A, B, C, D ). Ba thanh ghi này
sẽ được phối hợp với nhau để điều khiển ho
ạt động của cổng, chẳn hạn thiết lập
cổng thành lối vào có sử dụng điện trở pull-up, v.v


Hình 1. 3 Cấu trúc chân của AVR
Cấu trúc chân của AVR có thể phân biệt rõ chức năng (vào ra) trạng thái (0
1) từ đó ta có 4 kiểu vào ra cho một chân của AVR. Khác với AT89C51 là chỉ có 2
trạng thái duy nhất (0 1)
Để điều khiển các chân này chúng ta có 2 thanh ghi
Æ PORTx: giá trị tại từng chân (0 – 1) có thể truy cập tới từng bit PORTx.n
Æ DDRx: thanh ghi chỉ trạng thái của từng chân , vào hoặc là ra .
Bảng1.2 Cấu hình cho các chân cổng
DDRxn PORTxn PUD(trong
thanh ghi SFIOR)
I/O Pull - up Ghi Chú
0 0 x Input không Cao trở
0 1 0 Input có Như 1 nguồn
dòng
0 1 1 Input không Cao trở

Không có nhận xét nào:

Đăng nhận xét