3.2.1.1 Thành phần
a, khối nguồn
Hình 3.7 khối nguồn
Hình 3.8 IC7805
Chức năng chuyển điện áp 12VDC từ sác quy sang 5 VDC là nguồn nuôi linh kiện trong mạch.
31
Hình 3.9 Tụ điện
Chức năng lọc điện áp giúp điện áp phẳng hơn , mạch chạy ổn định hơn. Led báo
Hình 3.10 led
Chức năng báo hiệu cho điện áp cấp vào trong mạch
Chức năng Khối nguồn có chức năng biến đổi điện áp từ 12v sang 5v và làm nguồn ổn định hơn cung cấp cho mạch hoạt động.
Cung cấp điện áp cho bộ thu phát RF b, Khối vi điều khiển AT89s52
32
c, Khối công suất
IC L298 là mạch tích hợp đơn chíp có kiểu vỏ công suất 15 chân và powerSO20 (linh kiện dán công suất). Là IC mạch cầu đôi có khả năng hoạt động ở điện thế cao, dòng cao. Nó được tương thích chuẩn TTL và lái tải cảm kháng như relay, cuộn solenoid, động cơ DC và động cơ bước. Nó có hai chân enable để cho phép/không cho phép IC hoạt động, độc lập với các chân tín hiệu vào. Cực phát (emitter) của transistor dưới của mỗi mạch cầu được nối với nhau và nối ra chân ngoài để nối với điện trở cảm ứng dòng khi cần.
Hình 3.12 Sơ đồ chân IC L298
Chức năng các chân
MW 15 Power SO Tên Chức năng
1;15 2;19 SenseA;
Sense B
Nối chân này qua điên trở cảm ứng dòng xuống GND để điều khiển dòng tải
2;3 4;5 Out 1;
Out2
Ngõ ra cảu cầu A. Dòng cảu tải mắc giữa hai chân này được quy định bởi chân 1
4 6 VS
Chân cấp nguồn cho tần công suất. cần có một tụ điện không cảm khang 100nF nối giữa chân này và GND
5;7 7;9 Input 1
Input 2
Chân ngõ vào của cầu A, tương thích chuẩn TTL
6;11 8;14 Enable
Enable
Chân ngõ vào enable tương thích chuẩn TTL. Mức thấp ở chân này xẽ cấm(disable) Ngõ ra cầu A(đối với chân enableA) hoặc cầu B (đối với chân enableB)
33
8 1;10;11;20 GND Chân đất Ground
9 12 VSS Chân cấp nguồn cho khối logic. Cần có tụ
điện 100nF nối giữa chân này với GND
10;12 13;15 Input 3
Input 4
Các chân logic ngõ vào cảu cầu B
13;14 16;17 Out 3
Out 4
Ngõ ra cảu cầu B, dòng của tải mắc giữa hai chân này được quy định bởi chân 15
3;18 N.C Không kết nối(bỏ trống)
3.2.1.2 Module thu phát DRF7020D13
Đây là một module thu phát 2 chiều nhỏ gọn rất tiện dụng có thể truyền dữ liệu với khoảng cách max 700m. Truyền với khoảng cách xa như vậy khả năng chống nhiễu của nó cực tốt
Hình 3.13 Module thu phát DRF7020D13
DRF7020D13 là một loại thu phát tích hợp cao , tiêu thụ điện năng thấp dựa trên ic ADF7020 RF. Đối với công nghệ mã hóa EDAC được sử dụng để đảm bảo việc truyền nhân dữ liễu và khoảng cách xa hơn so với công nghẹ mã hóa thường.
Module này bình thường giao tiếp với máy tính thông qua cổng COM,nhưng như vậy sẽ không tiện cho việc kết nối,do hiên nay có nhiều loại máy tính không có cổng COM. Tuy nhiên,cổng COM sang USB để thuận lợi cho việc giao tiếp và điều khiển.
34
-Sử dụng phương thức điều tần Dải tần 418MHz tới 455MHz
Tốc độ truyền dữ liệu FSK: 1.2,2.4,4.8,9.6,38.4,57.6 Kbps -Đa kênh
-Công suất đầu ra 13dBm(0.02W) -256 byte bộ đếm dữ liệu
-Dòng chờ < 5Ua
-Nguồn cấp 3.4 tới 5.5 V
-Có thể ứng dụng trong nhà thông minh, còi bảo vệ, điều khiển động cơ từ xa..
Số chân
Tên Chức năng I/O
1 GND Nối mass -
2 VCC Nguồn -
3 EN Chân cho phép(>1.6v) I
4 RXD Đầu vào UART(TTL) I
5 TXD Đầu vào UART(TTL) O
6 AUX Dẫn dữ liệu I/O O
7 SET Chân cài đặt giá trị I
Tổng số giới hạn
Tên Chức năng Min Max Đơn vị
VCC Nguồn cấp -0.3 5.5 V
VI Điện áp vào -0.3 VCC+0.3 V
VO Điện áp ra -0.3 VCC+0.3 V
35 Khối RF Hình 314 Bộ thu phát RF Hình 3.15 Sơ đồ mạch nguyên lý mạch phát
36
Là một modul kép tích sẵn có nhiệm vụ thu và phát tín hiệu bằng sóng radio . -Một số đặc điểm của modul thu phát:
+ Hoạt động ổn định có khả năng chống nhiễu . + Modul có 2 khối.
+Khối phát tín hiệu, giao tiếp với máy tính thông qua cổng USB . +Khối nhận tín hiệu giao tiếp với vi điều khiển sử dụng chuẩn UART. + Sử dụng chuẩn giao tiếp UART.
+ Khoảng cách truyền:50m + Số lượng chân:7
+ Điện áp hoạt động: 5v. + Băng tần:433MHz. + Tốc độ truyền 9.6 Kbps.
3.2.1.3 Sơ lược về vi điều khiển
A, Cấu trúc phần cứng
AT89S2 là bộ vi điều khiển thuộc họ 8051. Là một trong những họ vi điều khiển thông dụng nhất. Đây là họ vi điều khiển 8bits, được chế tạo theo công nghệ CMOS.
Một số loại vi điều khiển thuộc họ 8051 thông dụng là:AT89C2051(20 chân),AT89C4051(20 chân),AT89C51(40 chân),AT89C52(40 chân)…
Các khối chức năng của AT89s52 Gồm:
-CPU(Centralprocessing unit): +thanh ghi tích lũy A
+thanh ghi tích lũy phụ B,dùng cho phép nhân và phép chia +đơn vị logic học(ALU:Arithmetic Logical Unit)
+thanh ghi trạng thái chương trình(PSW:Prorgam Status Word) +bốn băng thanh ghi
37
+con trỏ ngăn xếp
-Bộ nhớ chương trình(bộ nhớ ROM) gồm 8kbyte Flash -Bộ nhớ dữ liệu(bộ nhớ RAM) gồm 256byte
-Bộ UART(Universal Ansynchronous Receiver and Transmitter) có chức năng truyền nhận nối tiếp,AT89S52 có thể giao tiếp với cổng nối tiếp của máy tính thông qua bộ UART
-3 bộ Timer/Counter 16bit thực hiện các chức năng định thời và đếm sự kiện -WDM
-Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.
-Bộ lập trình (ghi chương trinh lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình chíp mà không cần các bộ nạp chuyên dụng
-Bộ chia tần số với hệ số chia 12 -4 port xuất nhập với 32 chân
Sơ đồ khối 8051.
Hìn3.17.Sơ Đồ Khối Của Bộ Vi Điều Khiển
38
Hình 3.18.Sơ Đồ Chân của AT89S52
1. Port 0(P0.0-P0.7).
Port 0 gồm 8 chân, ngoài chức năng xuất nhập, Port 0 còn là bus đa hợp dữ liệu và địa chỉ(AD0-AD7), chức năng này sẽ được sử dụng khi 8051 giao tiếp với các thiết bị ngoài có kiến trúc bus như các vi mạch nhớ, mạch PIO…
2. Port 1(P1.0-P1.7).
Đối với 8051,chức năng duy nhất của Port 1là chức năng xuất nhập cũng như các port khác, port 1 có thể xuất nhập theo bit và theo bytes
Riêng dòng 89Sxx,4 chân P1.4, P1.5, P1.6 và P1.7 được dùng để nạp ROM cho chuẩn ISP, 2 chân P1.0,P1.1 được dùng cho bộ timer 2
3. Port 2.
Port 2 ngoài chức năng là cổng vào/ra như port 0 và port 1 còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài
4. Port 3.
Mỗi chân của port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thể như sau :
39
Bit Tên Chức năng
P3.0 RXD dữ liệu nhận cho cổng nối tiếp
P3.1 TXD dữ liệu truyền cho cổng nối tiếp
P3.2 INT0 ngắt bên ngoài 0
P3.3 INT1 ngắt bên ngoài 1
P3.4 T0 ngõ vào của Timer/Counter 0
P3.5 T1 ngõ vào của Timer/Counter 1
P3.6 /WR xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD xung đọc bộ nhớ dữ liệu ngoài
5. Chân /PSEN
Chân /PSEN là chân điều khiển đọc chương trình ở bộ nhớ ngoài,nó được nối với chân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài. /PSEN sẽ ở mức thấp trong thời gian đọc mã lệnh.Mã lệnh được đọc từ bộ nhớ ngoài qua bus dữ liệu (port 0) thanh ghi lệnh để được giải mã.
Khi thực hiện chương trình trong ROM nội thì /PSEN ở mức cao.
6. Chân ALE
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển.Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 74373,74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ/dữ liệu(port 0)
7. Chân /EA
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là trong hay ngoài vi điều khiển.Nếu /EA ở mức cao (nối VCC),thì vi điều khiển thi hành cho RoM nội và ngược lại
40
Ngõ vào RST trên chân 9 là ngõ reser của 8051.Khi tín hiệu được đưa lên mức cao(trong ít nhất 2 chu kỳ máy) các thanh ghi trong bộ vi điều khiển được tải những giá trị thích hợp để khởi động hệ thống.
9. Chân XTAL,XTAL2
AT89S52 có một bộ dao động trên chíp, nó thường được nối với dao động thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.
10.Chân Vcc, GND
AT89S52 dùng nguồn một chiều có dải điện áp từ 4V đến 5V được cấp cho chân 20,40.
B, Hoạt động của bộ định thời 1.Giới thiệu chung
Các bộ định thời(Timer) được sử dụng rộng rãi trong các ứng dụng đo lường và điều khiển.Có thể coi một bộ định thời n bit là bộ đếm n bit được tạo ra bởi n flip_flop mắc nối tiếp với nhau.Đầu của bộ định thời chính là đầu vào của flip_flop đầu tiên...
AT89S52 có 3 bộ định thời 16 bit trong đó hai bộ Timer 0,Timer 1 có 4 chế độ hoạt động.Timer 2 có 3 chế độ hoạt động.Các bộ định thời dùng để định khoảng thời gian(hẹn giờ),đếm sự kiện xảy ra bên ngoài bộ vi điều khiển hoặc tạo tốc độ baud cho cổng nối tiếp.
2.Các thanh ghi của bộ định thời
Các thanh ghi của Timer0,Timer1.
-Thanh ghi chế độ định thời(TMOD)
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer0 và Timer1:
7 6 5 4 3 2 1 0
41
Thanh ghi TMOD:
Bit Timer Tên Mô tả
7 Gate1 1 bit mở cổng cho timer1…
6 C/#T1 1 bit chọn chế độ Counter/Timer 1
1=bộ đếm sự kiện
0=bộ định khoảng thời gian3
5 M1 1 bit 1 chọn chế độ của Timer1
4
M0
1 bit 0 chọ chế độ của Timer1
00:chế độ 0-Timer 13bit 01:chế độ 1-Timer 16bit 10:chế độ 2-8 bit tự động nạp lại 11:chế độ 3-tách timer 3 Gate
0 bit mở cổng timer 0,khi được đặt
bằng 1 thì
Timer0 chỉ chạy khi chân INT0 ở mức cao
2 C/#T1 0 bit chọn chế độ counter/timer của
Timer0
1 M1 0 bit 1 chọn chế độ của Timer0
0 M0 0 bit 0 chọn chế độ của Timer0
-Thanh ghi điều khiển Timer(TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển Timer0 và Timer1. TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
42
3.Các chế độ hoạt động của timer Chế độ 1(chế độ 16 bit).
Hoạt động như Timer 16bit đầy đủ.Cờ báo tràn là TFx trong TCON có thể đọc hoặc ghi bằng phần mềm.
MSB của gái trị trong các thanh ghi timer là bit 7 của THx và LSB là bit 0 của TLx.Các thanh ghi timer có thể đọc hoặc ghi bất cứ lúc nào bằng phần mềm
Chế độ 2(chế độ tự động nạp lại).
Trong chế độ 2, bộ Timer dùng TL để chứa giá trị đếm và TH chứa giá trị nạp lại vì vậy chế độ này được gọi là chế độ tự động nạp lại 8 bit. Sau khi đếm quá giá trị 255 sẽ xảy ra tràn,khi đó TF được đặt bằng 1 đồng thời giá trị Timer tự động nạp lại bằng nội dung của TH.
C. Nguồn xung clock
Nguồn xung clock cấp cho các bộ định thời có thể lấy từ ngoài qua các chân T0,T1,T2 lần lượt cho các bộ Timer0,Timer1,Timer2 hoặc lấy từ bộ chia tần trên chíp với tần số là 1/12 tần số của bộ dao động thạch anh tùy thuộc vào bit
Bit Kí hiệu Địa chỉ Mô tả
TCON.7 TF1 8f Cờ báo tràn của T1,được đặt bởi
phần
cứng khi có tràn,được xóa bởi phần mềm hoặc bởi phần cứng khi bộ
VXL chỉ đến chương trình phục vụ ngắt
TCON.6 TR1 8eh Bit điều khiển T1 hoạt động được
đặt xóa bởi phần mềm để điều khiển ch0
timer chạy/dừng
TCON.5 TF0 8dh Cờ báo tràn T0
TCON.4 TR0 8ch Bit điều khiển T0 hoạt động
TCON.3 IT1 8bh Cờ ngắt do T1
TCON.2 IE1 8ah Cờ ngắt ngoài 1
TCON.1 IT0 89h Cờ ngắt do T0
43
C/#T.Nhìn chung với các ứng dụng định thời thì nguồn xung clock thường được lấy ngay trên chip còn với ứng dụng đếm thì nguồn xung được lấy từ ngoài qua các chân T0,T1,T2.
D.Cổng nối tiếp
1. Giới thiệu chung
AT89S52 có một cổng nối tiếp trên chip có thể hoạt động ở nhiều chế độ khác nhau với các tốc độ khác nhau. Chức năng chủ yếu của cổng nối tiếp là thực hiện chuyển đổi song song sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập để có thể giao tiếp với máy tính qua cổng nối tiếp hoặc các thiết bị tương tự.
Hình 3.19.Sơ đồ khối cổng nối tiếp của 8051
2. Các thanh ghi của cổng tiếp
Có hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến cổng nối tiếp là SBUF và SCON.
44
Thanh ghi điều khiển cổng nối tiếp (SCON) ở địa chỉ 98H là thanh ghi có định địa chỉ bit, chứa các bit trạng thái và các bit điều khiển liên quan tới cổng nối tiếp.Các bit điều khiển đặt chế độ hoạt động cho cổng nối tiếp, các bit trạng thái báo cáo kết thúc việc phát thu một kí tự. Các bit trang thái có thể được kiểm tra bằng phần mềm hoặc có thể được lập trình tạo ngắt.
SCON
REN : Bit cho phép cổng được phép nhận dữ liệu
TB8: Bit dữ liệu truyền thứ 9 khi cổng làm việc ở chế độ truyền và nhận 9bit RB8: Bit dữ liệu nhận thứ 9 khi cổng làm việc ở chế độ truyền và nhận 9bit
TI : Cờ báo ngắt khi hoan thanh quá trinh truyền 1byte dữ liệu, cờ phải được xóa bởi phần mềm
RI : Cờ báo ngắt khi 1 byte dữ liệu được nhận về đầy đủ, cờ phải được xóa bởi phần mềm
SM2: Bit cho phép chế độ truyền thông giữa nhiều vi điều khiển với nhau (Mode 2 và 3)
Các bit SM0,SM1 để chọn chế độ truyền thông
SM1 SMO Mode Mô tả
0 0 1 1 0 1 0 1 0 1 2 3 Chế độ thanh ghi dịch Chế độ truyền, nhận 8bit Chế độ truyền, nhận 9bit Chế độ truyền, nhận 9bit 3. Các chế độ hoạt động Chế độ 0
Đặt port nối tiếp vào thanh ghi dịch 8 bit.Dữ liệu nối tiếp được thu và phát thông qua chân RxD (P3.0,chân số 10), chân TxD (P3.1,chân số 11) xuất xung clock dịch bit.Bit thấp được thu va phát trước. Tốc độ baud cố định bằng 1/12 tần số của mạch dao động trên chip. Mỗi một bit hợp lệ được truyền đi trong một chu ki máy. Việc phát dữ liệu được khởi động bằng một lệnh ghi dữ liệu vào SBUF.Trong mỗi chu kì máy,xung clock dịch bit đổi thành mức thấp ở S3P1 và trở lại mức cao ở S6P1.Việc thu dữ liệu được khởi động khi bit cho phép thu REN ở logic 1 và cờ
45
ngắt thu Ri ở logic 0.Việc dich dữ liệu vào port nối tiếp xảy ra ở cạnh dương của TxD.
Giản đồ thời gian phát dữ liệu ở chế độ 0 One machine cycle: một chu kì máy
Osc: xung clock của mạch dao động ALE: xung ALE
Data out: dữ liệu xuất
Valid data bit: bit dữ liệu hợp lệ Shift CLOCK: xung clock dịch bit WRITE to SBUF: ghi vao SBUF
46
Giản đồ thời gian thu dữ liệu chế độ 0 Chế độ 1.
Trong chế độ 1, port hoạt động như một bộ thu phát không đồng bộ. Mỗi kí tự dữ liệu được đứng trước bởi một bit start (logic 0) và kết thúc bằng một bit stop (logic 1), có thể có thêm bit chẳn lẻ. Hoạt động của UART là chuyển dữ liệu phát từ song song sang nối tiếp và chuyển dữ liệu thu từ nối tiếp thành song song.Chân RxD sẽ làm nhiệm vụ thu, và chân TxD sẽ làm nhiệm vụ phát. Khi hoạt động thu, bit stop sẽ được đưa đến bit RB8 của SCON.Với 8051, tốc độ baud được thiết lập bởi tốc độ tràn của bộ định thời 1 với bộ đếm 16 bit.Việc phát được khởi động bằng cách ghi vào SBUF, và bắt đầu khi bộ đếm 16 bit tràn ở lần kế. Dữ liệu được dịch bit để