Lời giới thiệu
Trong thời đại ngày nay máy tính điện tử đã góp phần không nhỏ đối với sự phát triển xã hội. Do yêu cầu của con người ngày càng cao, các thế hệ máy tính đã liên tục phát triển không ngừng. Ngay trong giai đoạn đầu các thế hệ vi xử lý 8 bit được dùng là Z80,8085, sau đó là các hệ vi xử lý 16 bit như 8086, 8088
Các hệ vi xử lý này đã góp phần quan trọng trong việc chương trình hóa các hoạt động của máy móc trong công nghiệp nhờ vào các phần mềm ứng dụng. Tại Việt nam, việc chương trình hóa các hệ thống đang được áp dụng ngày càng nhiều trong các nhà máy công nghiệp.
Kỹ thuật vi xử lý, vi điều khiển là kỹ thuật của tương lai, là chìa khóa đi vào công nghệ hiện đại. Đối với sinh viên chuyên ngành điện tử, đây là một lĩnh vực mới, hứa hẹn và mở ra nhiều triển vọng. Để góp phần tạo nền tảng ban đầu cho việc học tập, tìm hiểu kỹ thuật vi xử lý và cách truyền dữ liệu từ vi xử lý với các thiết bị bên ngoài, cũng như giao tiếp với máy tính, em đã thực hiện đề tài: “SỐ HOÁ BÀI THÍ NGHIỆM MẠCH ĐIỆN ”.
Nhờ có sự giúp đỡ của quý thầy cô và bạn bè, em đã cố gắng thực hiện đề tài được giao nhưng do kiến thức và thời gian có hạn nên đề tài không thể tránh khỏi thiếu sót nên rất mong sự đóng góp của quý thầy cô và bạn bè.
Em xin chân thành cảm ơn thầy LƯƠNG VĂN LĂNG đã tận tình giúp đỡ em hoàn thành đề tài này.
Em xin chân thành cảm ơn các bạn sinh viên đã tận tình giúp đỡ em hoàn thành tốt luận văn.
ỤC LỤC
PHẦN 1 : LÝ THUYẾT CHUNG
A. ĐẶT VẤN ĐỀ : 4
I. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI : 4
II. GIỚI HẠN CỦA ĐỀ TÀI : 4
III. SƠ ĐỒ KHỐI TỔNG QUÁT : 4
B. GIỚI THIỆU AT89C51: 5
I. TÓM TẮT PHẦN CỨNG : 5
1. Giới thiệu họ MCS51 : 5
2. Sơ lược về các chân của AT89C51 : 6
3. Tổ chức bộ nhớ : 9
4. Các thanh ghi chức năng đặc biệt : 13
5. Bộ nhớ ngoài : 17
6. Ngõ vào tín hiệu RESET: 21
II. HOẠT ĐỘNG CỦA BỘ ĐỊNH THÌ TIMER: 22
1. Giới thiệu : 22
2. Thanh ghi chế độ Timer (TMOD) : 23
3. Thanh ghi điều khiển timer (TCON) : 24
4. Chế độ timer : 25
5. Nguồn tạo xung nhịp : 27
6. Bắt đầu, dừng và điều khiển các Timer: 28
7. Khởi động và truy xuất các thanh ghi timer : 29
8. Các khoảng ngắn và các khoảng dài: 29
III. HOẠT ĐỘNG CỦA BỘ NGẮT (INTERRUPT): 30
1. Giới thiệu : 30
2. Tổ chức ngắt của AT89C51: 31
3. Các ngắt của CAT89C51: 31
4. Định thì interrupt: 32
IV. HOẠT ĐỘNG PORT NỐI TIẾP : 32
1. Giới thiệu : 32
2. Thanh ghi điều khiển port nối tiếp : 33
3. Các chế độ hoạt động : 35
4. Khởi động và truy xuất các thanh ghi cổng nối tiếp : 36
5. Truyền thông đa xử lý : 38
6. Tốc độ baud cổng nối tiếp : 38
V. TẬP LỆNH CỦA CAT89C51: 40
Các chế độ đánh địa chỉ : Trong tập lệnh có 8 chế độ đánh địa chỉ: 40
C. BIẾN ĐỔI A/D VÀ D/A : 44
I. GIỚI THIỆU ADC0809 : 44
1. Sơ đồ khối : 44
2. Sơ đồ chân : 45
3. Khả năng : 45
4. Đặc tính kỹ thuật : 45
5. Mô tả chức năng : 46
GIẢN ĐỒ THỜI GIAN : 46
II. GIỚI THIỆU DAC0808 : 48
1. Sơ đồ khối : 49
2. Sơ đồ chân : 49
3. Khả năng : 49
4. Trị số tối đa : 50
5. Hoạt động cơ bản : 50
D. CỔNG NỐI TIẾP RS 232 : 51
E. NGÔN NGỮ LẬP TRÌNH VISUAL BASIC VỚI TRUYỀN THÔNG NỐI TIẾP : 53
F. GIAO TIẾP VÀ HIỂN THỊ KẾT QUẢ ĐO : 54
G. KHUYẾCH ĐẠI THUẬT TOÁN (OPERATION AMPLIFIER) : 54
I. SƠ ĐỒ KHỐI VÀ PHÂN TÍCH MỘT MẠCH OP – AMP ĐƠN GIẢN : 55
II. IC KHUYẾCH ĐẠI THUẬT TOÁN (OP AMP) : 55
1. Các đặc tính cơ bản : 55
2. Op Amp lý tưởng : 57
3. Mạch đo dùng IC Op-Amp (mạch khuyếch đại thuật toán ) : 58
PHẦN 2 : THIẾT KẾ
A. THIẾT KẾ PHẦN CỨNG : 59
I. ĐO ÁP, DÒNG, TỤ, CẢM VÀ ĐIỆN TRỞ : 59
1. Đo điện áp : 59
2. Đo dòng điện : 60
3. Đo điện dung : 60
4. Đo điện cảm : 61
5. Đo điện trở : 62
II. ĐO TẦN SỐ, COS, CÔNG SUẤT : 63
1. Đo tần số : 63
2. Đo cos : 63
3. Đo công suất : 63
III. BỘ NGUỒN LẬP TRÌNH DAC : 64
B. GIỚI THIỆU CÁC IC TRÊN KIT : 64
1. µCAT89C51 : 64
2. Vi mạch MAX 232 : 64
3. ADC0809 : 65
4. DAC0808 : 65
5. LM741 và LF353 : 65
6. IC 74HC573 : Đệm dòng 66
7. Rơ le : 66
C. GIAO DIỆN TRÊN MÁY TÍNH VÀ SỬ DỤNG : 68
D. LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH VI XỬ LÝ : 74
I. LƯU ĐỒ GIẢI THUẬT : 74
1. Chương trình chính : 74
2. Chương trình con Inchar, Outchar: 84
3. Chương trình con đo độ rộng xung : 84
4. Chương trình con delay2ms : (delay 2.5 ms) 85
II. CHƯƠNG TRÌNH VI XỬ LÝ CHO AT89C51 : 86
III. MẠCH THIẾT KẾ : 99
Tài liệu tham khảo
1. Tài liệu Vi Xử Lý_______________________Giảng viên Hồ Trung Mỹ
2. The 8051 Microcontroller_________________I.Scott MacKenzie
3. Hướng dẫn thí nghiệm Vi Xử Lý.
4. Đo lường và điều khiển bằng máy tính______Ngô Diên Tập
5. Lập trình ghép nối máy tính trong Windows__Ngô Diên Tập
6. Kỹ thuật đo____________________________Nguyễn Ngọc Tân
7. Tài liệu hướng dẫn thí nghiệm mạch điện tử .
100 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2224 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Số hóa thiết bị mạch điện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
öôïc khôûi ñoäng laïi sau moãi laàn traøn. Moät löïa choïn khaùc laø caáp xung nhòp cho timer 1 töø ngoaøi duøng T1(P3.5). Vaø luoân luoân toác ñoä baud laø toác ñoä traøn cuûa timer 1 ñöôïc chia cho 32 (hoaëc chia 16 neáu SMOD=1).
Trong caùc cheá ñoä 1 vaø 3 : Toác ñoä baud = Toác ñoä traøn cuûa timer 1 / 32
Toång quaùt thì cho pheùp dung sai 5% trong truyeàn thoâng baát ñoàng boä (start/stop) . Coù theå coù ñöôïc toác ñoä baud chính xaùc duøng thaïch anh 11.095 MHz . Baûng 6 – 3 toùm taét caùc giaù trò naïp laïi cho caùc toác ñoä baud thoâng duïng nhaát , duøng thaïch anh 12MHz hoaëc 11.059MHz .
Baûng 6-3 : Toùm taét toác ñoä baud .
Toác ñoä baud
Taàn soá thaïch anh
SMOD
Giaù trò naïp laïi vaøo TH1
Toác ñoä baud thaät
Sai soá
9600
2400
1200
19200
9600
2400
1200
12.000MHz
12.000MHz
11.059MHz
11.059MHz
11.059MHz
11.059MHz
1
0
0
1
0
0
0
-7 ( F9H )
-13 ( F3H )
-26 ( E6H )
-3 ( FDH )
-3 (FDH )
-12 (F4H )
-24 (E8H)
8923
2404
1202
19200
9600
2400
1200
7%
0.16%
0.16%
0
0
0
0
TAÄP LEÄNH CUÛA mCAT89C51:
Taäp leänh cuûa mCAT89C51 goàm coù 225 leänh goàm 139 leänh moät byte, 92 leänh byte vaø 24 leänh 3 byte.
Caùc cheá ñoä ñaùnh ñòa chæ : Trong taäp leänh coù 8 cheá ñoä ñaùnh ñòa chæ:
Ñòa chæ thanh ghi (Register Addressing):
mC AT89C51 coù boán bank thanh ghi, moãi bank thanh ghi coù 8 thanh ghi ñaùnh töø R0 ñeán R7. Taïi moãi thôøi ñieåm chæ coù moät bank thanh ghi ñöôïc tích cöïc. Muoán choïn bank thanh ghi naøo ta chæ caàn gaùn caùc bit nhò phaân thích hôïp vaøo RSI(PSW.4) vaø PRO(PSW.3) trong thanh ghi traïng thaùi chöông trình (PSW).
Ngoaøi ra, moät thanh ghi coù chöùc naêng ñaëc bieät nhö 8 thanh ghi tích luõy, con troû döõ lieäu,…… cuõng ñöôïc xaùc ñònh trong caùc leänh neân khoâng caàn caùc bit ñòa chæ. Trong caùc leänh naøy thanh ghi tích luõy ñöôïc kyù hieäu laø”A”, con troû döõ lieäu laø”DTPR”, thanh ghi ñeám chöông trình “PC”, côø nhôù laø”C”, caëp thanh ghi tích luõy laø”A,B”.
Maõ leänh
n
n
n
Ñòa chæ thanh ghi.
Ñòa chæ tröïc tieáp (Direct Addressing):
Trong cheá ñoä naøy, caùc thanh ghi beân trong mCAT89C51 ñöôïc ñaùnh ñòa chæ tröïc tieáp baèng 8 bit ñòa chæ naèm trong byte thöù hai cuûa maõ leänh.
Ñòa chæ tröïc tieáp
Maõ leänh
Ñòa chæ tröïc tieáp
Duø vaäy trình töï hôïp dòch cho pheùp goïi teân caùc thanh ghi coù chöùc naêng ñaëc bieät (coù ñòa chæ tröïc tieáp töø 80H ñeán FFH). Ví duï, Port cho Port 0, TMOD cho thanh ghi cheá ñoä Timer,…
Ñòa chæ giaùn tieáp (Indirect Addressing):
RO vaø RI ñöôïc duøng ñeå chæ ñòa chæ oâ nhôù maø taùc ñoäng ñeán. Ngöôøi ta qui öôùc duøng daáu @ tröôùc RO vaø RI
Maõ leänh
i
Ñòa chæ giaùn tieáp
Ñòa chæ töùc thôøi: Ngöôøi ta duøng daáu # tröôùc toaùn haïng töùc thôøi.Caùc toaùn haïng ñoù coù theå laø moät haèng soá, moät kyù soá hay moät bieåu thöùc toaùn hoïc… Trình hôïp dòch seõ töï ñoäng tính toaùn vaø thay theá döõ lieäu tröïc tieáp vaøo maõ leänh.
Maõ leänh
Döõ lieäu töùc thôøi
Ñòa chæ töùc thôøi
Ñòa chæ töông ñoái (Relaytive Addessing):
Ñòa chæ töông ñoái ñöôïc duøng trong caùc leänh nhaûy. mC8031/8051 duøng giaù trò 8 bit coù daáu ñeå coäng thanh ñeám chöông trình (PC). Taàm nhaûy cuûa leänh naøy trong khoaûng töø –128 ñeán 127 oâ nhôù. Tröôùc khi coäng, thanh ghi PC seõ taêng ñeán ñòa chæ cuûa leänh nhaûy roài tính toaùn ñòa chæ offset caàn thieát ñeå nhaûy ñeán ñòa chæ yeâu caàu. Nhö vaäy ñòa chæ môùi laø ñòa chæ töông ñoái so vôùi leänh keá chöù khoâng phaûi leänh nhaûy. Thöôøng leänh naøy coù lieân quan ñeán nhaõn ñöôïc ñònh nghóa tröôùc.
Maõ leänh
offset töông ñoái
Ñòa chæ töông ñoái
f. Ñòa chæ tuyeät ñoái (Absolute Addessing):
Ñòa chæ tuyeät ñoái duøng trong caùc leänh ACALL vaø AJMP. Caùc leänh 2 Byte duøng ñeå reõ nhaùnh vaøo moät trang 2 Kbyte cuûa boä nhôù chöông trình baèng caùch caáp 11 bit ñòa chæ thaáp (A0..A10) ñeå xaùc ñònh ñòa chæ ñích trong trang maõ. Coøn 5 bit cao cuûa ñòa chæ ñích (A11..A15) chính laø 5 bit cao hieän haønh trong thanh ghi ñeám chöông trình. Vì vaäy, ñòa chæ cuûa leänh theo sau leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh caàn phaûi cuøng trang maõ 2KByte (coù cuøng 5 bit ñòa chæ cao).
Maõ leänh
offset töông ñoái
A10
A15
A11
A10
A0
Xaùc ñònh trang maõ
Xaùc ñònh ñòa chæ töông ñoái trong maõ
Ñòa chæ tuyeät ñoái
g. Ñòa chæ daøi (Long Addressing):
Ñòa chæ daøi duøng cho leänh LCALL vaø LJMP. Caùc leänh naøy chieám 3 byte vaø duøng 2 byte sau (byte 2 vaø byte 3) ñeå xaùc ñònh ñòa chæ ñích cuûa leänh (6bit). Öu ñieåm cuûa leänh naøylaø coù theå söû duïng trong toaøn vuøng nhôù 64KB. Tuy nhieân, leänh naøy chieám nhieàu byte vaø phuï thuoäc vaøo vò trí oâ nhôù.
Maõ leänh
A15-A8
A7-A0
Ñòa chæ daøi
h. Ñòa chæ tham chieáu:
Ñòa chæ tham chieáu duøng moät thanh ghi cô baûn (hoaëc thanh ghi ñeám chöông trình PC hoaëc thanh ghi con troû döõ lieäu DPTR) vaø ñòa chæ offset (trong thanh ghi tích luõy A) ñeå taïo ñòa chæ ñöôïc taùc ñoäng cho caùc leänh JMP hoaëc MOVC. Caùc baûng nhaûy vaø baûng tìm kieám deã daøng ñöôïc taïo ra ñeå söû duïng ñòa chæ tham chieáu.
PC hoaëc DPTR
ACC
Ñòa chæ ñöôïc taùc ñoäng
Offset
Ñòa chæ cô baûn
+
=
Ñòa chæ tham chieáu
* Caùc nhoùm leänh:
Leänh coù theå chia thaønh nhieàu nhoùm theo nhieàu caùch. Cusman ñeà nghò theo 4 caùch sau:
Nhoùm leänh xöû lyù döõ lieäu : taùc ñoäng leân döõ lieäu theo nhieàu caùch bao goàm: leänh soá hoïc ; leänh luaân lyù; leänh so saùnh ; leänh dòch ; leänh ñaëc bieät.
Nhoùm leänh truyeàn döõ lieäu : di chuyeån töø nôi naøy sang nôi khaùc trong maïch thieát keá maø khoâng laøm thay ñoåi döõ lieäu nhö sau : leänh truyeàn boä nhôù ; leänh xuaát nhaäp ; leänh ngaên xeáp.
Nhoùm leänh kieåm soaùt chöông trình: chuyeån ñieàu khieån töø nôi naøy sang nôi khaùc ñeå ñaït ñeán leänh mong muoán : leänh nhaûy khoâng ñieàu kieän ; leänh nhaûy coù ñieàu kieän ; leänh goïi chöông trình con ; leänh döøng vaø khoâng hoaït ñoäng.
Nhoùm leänh kieåm soaùt traïng thaùi: nhaèm thay ñoåi tình traïng cuûa maïch thieát keá maø khoâng aûnh höôûng ñeán döõ lieäu hay thöù töï thöïc hieän leänh.
BIEÁN ÑOÅI A/D VAØ D/A :
GIÔÙI THIEÄU ADC0809 :
Bieán ñoåi Analog – Digital laø thaønh phaàn caàn thieát trong vieäc xöû lyù thoâng tin vaø caùc chöùc naêng ñieåu khieån söû duïng phöông phaùp soá, tín hieäu thöïc teá thì ôû daïng Analog.
ADC0809 laø thieát bò chuyeån ñoåi analog sang digital 8 bit , multiplex 8 keânh vaø töông thích vôùi boä vi xöû lyù . ADC0809 söû duïng kyõ thuaät chuyeån ñoåi A/D xaáp xæ lieân tieáp .
Sô ñoà khoái :
Sô ñoà chaân :
Khaû naêng :
Giao tieáp deã daøng vôùi taát caû caùc boä vi xöû lyù .
Hoaït ñoäng vôùi thang ño tyû leä vôùi 5VDC hoaëc ñieän aùp chuaån coù theå ñieàu chænh .
Khoâng caàn chænh khoâng hay toaøn thang.
Multiplex 8 keânh vôùi ñòa chæ logic .
Taàm ñieän aùp vaøo 0 – 5V vôùi nguoàn cung caáp ñôn 5V .
Ngoõ ra phuø hôïp vôùi möùc ñieän aùp TTL .
Ñoä phaân giaûi 8 bit .
Sai soá khoâng ñieàu chænh ñöôïc toång coäng : ± 1 LBS .
Nguoàn cung caáp ñôn : 5VDC .
Coâng suaát thaáp: 15mW .
Thôøi gian chuyeån ñoåi : 100µs .
Ñaëc tính kyõ thuaät :
Kyù hieäu
Thoâng soá
Ñieàu kieän
Toái thieåu
Ñieån hình
Toái ña
Ñôn vò
VREF+
Ñieän aùp cao nhaát cuûa thang ño
Vcc
Vcc+0.1
V
VREF-
Ñieän aùp thaáp nhaát cuûa thang ño
-0.1
0
V
IIN
Doøng vaøo
fCLK=640KHZ
-2
±0.5
2
µA
VNT(1)
Ñieän aùp vaøo logic 1
VCC –1.5
V
VNI(0)
Ñieän aùp vaøo logic 0
1.5
V
VOUT(1)
Ñieän aùp ra logic 1
IOUT = -360µA
VCC –0.4
V
VOUT(0)
Ñieän aùp ra logic 0
IOUT = 1.6mA
0.45
V
fCLK
Taàn soá xung clock
10
640
1280
KHz
tEOC
Thôøi gian delay EOC
( Xem giaûn ñoà xung )
0
8 + 2µs
Chu kyø clock
tC
Thôøi gian bieán ñoåi
fCLK = 640KHz
90
100
116
µs
tWS
Ñoä roäng xung Start toái thieåu
(Xem giaûn ñoà thôøøi gian)
100
200
Ns
tALE
Ñoä roäng xung ALE toái thieåu
(Xem giaûn ñoà thôøi gian )
100
200
ns
Moâ taû chöùc naêng :
Maïch choïn keânh ( Multiplexer) :
Moãi keânh ngoõ vaøo rieâng bieät ñöôïc choïn baèng caùch giaûi maõ ñòa chæ theo baûng sau :
Keânh analog ñöôïc choïn
Ñòa chæ
A2
A1
A0
IN0
0
0
0
IN1
0
0
1
…
IN7
1
1
1
Ñòa chæ ñöôïc choát vaøo boä giaûi maõ beân trong taûi caïnh leân cuûa xung choát ñòa chæ ( ALE) .
Ñaëc tính chuyeån ñoåi :
Thanh ghi xaáp xæ lieân tieáp (SAR – Successive Approximation Register) cuûa boä bieán ñoåi A/D ñöôïc reset taïi caïnh leân cuûa xung Start ( baét ñaàu chuyeån ñoåi ) . Söïchuyeån ñoåi ñöôïc baét ñaàu taïi caïnh xuoáng cuûa xung start . Quaù trình chuyeån ñoåi seõ bò ngaét neáu nhaän moät xung Start môùi . Söï chuyeån ñoåi lieân tieáp coù theå thöïc hieän baèng caùch noái ngoõ ra EOC ( End Of Convert – Keát thuùc chuyeån ñoåi) vaøo ngoõ Start . Neáu söû duïng ôû cheá ñoä naøy , moät xung Start beân ngoaøi phaûi ñöôïc cung caáp sau khi baät nguoàn . Xung EOC seõ xuoáng möùc thaáp sau caïnh leân cuûa xung Start töø 0 ñeán 8 xung clock vaû leân möùc cao khi vieäc chuyeån ñoåi ñaõ xong .
Giaûn ñoà thôøi gian :
Bieåu thöùc chuyeån ñoåi :
Data ngoõ ra laø moät soá nguyeân N naèm trong taàm :
0
Giaûi thuaät ñieàu khieån :Chôø bieán ñoåi xong
( Taïo treã hoaëc chôø EOC = 1)
BEGIN
Khoâng cho pheùp ngoõ ra
(OE = 0 )
Choïn keânh analog vaøo
( Xaùc laäp ñòa chæ CBA )
Taïo xung ALE
Taïo xung Start
Cho pheùp ngoû ra
(OE =1)
Ñoïc data
END
GIÔÙI THIEÄU DAC0808 :
Hoï DAC0808 (DAC0808/DAC0807/DAC0806 )laø boä bieán ñoåi digital sang analog 8 bit , coù thôøi gian xöû lyù doøng ra toaøn thang laø 150ns , coâng suaát tieâu thuï chæ 33mW vôùi nguoàn ±5V .
Hoï DAC0808 giao tieáp tröïc tieáp vôùi caùc möùc logic thoâng duïng nhö TTL , DTL hoaëc CMOS .
Sô ñoà khoái :
Sô ñoà chaân :
Khaû naêng :
Ñoä chính xaùc töông ñoái : ± 0.19% (8 – bit) vôùi DAC0808
Ñoä chính xaùc 6 bit vaø 7 bit vôùi DAC0807 vaø DAC0806
Thôøi gian xöû lyù nhanh : 150ns
Ngoõ vaøo digital khoâng ñaûo töông thích TTL vaø CMOS
Toác ñoä queùt cao : 8mA/s
Taàm ñieän aùp cung caáp ±4.5V ñeán ± 18V
Coâng suaát tieâu thuï thaáp : 33 mW vôùi nguoàn ± 5V
Trò soá toái ña :
Nguoàn cung caáp : VCC = +18 VDC VEE = -18 VDC
Ñieän aùp ngoõ vaøo digital (V5 V12) : -10 VDC ñeán +18 VDC
Ñieän aùp ngoõ ra ñöôïc duøng (V0) : -11 VDC ñeán +18 VDC
Doøng chuaån (I14, I15) : VCC, VEE
Hoaït ñoäng cô baûn :
Doøng ñieän chuaån ñöôïc taïo ra baèng moät trong 2 caùch : chuaån döông hoaëc chuaån aâm .
VREF döông VREF aâm
Doøng ñieän vaøo chaån , I14, phaûi luoân luoân chaïy vaøo chaân 14 , baát chaáp caùch boá trí hoaëc cöïc tính nguoàn aùp chuaån . Caùch noái tieáp vôùi aùp döông nhö treân hình treân (H3.4) . Vôùi tín hieäu chuaån löôõng cöïc , R15 coù theå ñöôïc noái vôùi nguoàn aâm . Trò soá cuûa tuï buø phaûi taêng khi R14 taêng ñeå duy trì leà pha thích hôïp . Ví duï vôùi R14 laø 1, 2.5 vaø 5K thì trò toái thieåu cuûa tuï laø 15, 37 vaø 75pF . Tuï coù theå noái deán VEE hoaëc ñaát .
Aùp chuaån aâm coù theå ñöôïc söû duïng neáu R14 ñöôïc noái ñaát vaø chuaån ñöôïc noái ñeán R15 nhö hình treân. Phöông phaùp naøy coù thuaän lôïi chính laø toång trôû vaøo cao ( taïi chaân 15).
DAC0808 laø boä bieán ñoåi A/D taïo ra doøng ñieän coù trò soá tuyø theo giaù trò digital vaø doøng ñieän chuaån ngoõ vaøo . Doøng ñieän chuaån coù theå coù trò soá coá ñònh hoaëc thay ñoåi töø gaàn 0 ñeán 4 mA . Doøng ngoõ ra toaøn thang (IFS - Full scale ) laø moät haøm tuyeán tính cuûa doøng chuaån vaø cho bôûi :
Doøng ñieän ra :
R15 ( thoâng thöôøng baèng R14 ) ñöôïc söû duïng ñeå loaïi boû sai soá doøng phaân cöïc . R15 coù theå boû ñi , khi ñoù chæ taêng sai soá moät ít .
Khi duøng dieän aùp chuaån DC thì neân söû duïng tuï bypass xuoáng ñaát .
COÅNG NOÁI TIEÁP RS 232 :
Coång noái tieáp RS 232 laø giao dieän phoå bieán roäng raõi nhaát. Ngöôøi duøng maùy tính PC coøn goïi caùc coång naøy laø COM 1 (keát noái vôùi mouse ôû maùy tính ñôøi tröôùc), vaø COM 2 ñeå töï do cho caùc öùng duïng khaùc : gheùp noái vôùi modem, maùy in, hoaëc caùc thieát bò ño löôøng. Coång noái tieáp RS 232 ñöôïc söû duïng raát thuaän tieän cho muïc ñích ño löôøng vaø ñieàu khieån.
Vieäc söû duïng giao dieän noái tieáp mang laïi nhieàu öu ñieåm :
Khaû naêng choáng nhieãu cuûa caùc coång noái tieáp cao hôn so vôùi coång maùy in.
Thieát bò ngoaïi vi coù theå thaùo laép ngay caû khi maùy tính ñang ñöôïc caáp ñieän.
Caùc maïch ñieän ñôn giaûn coù theå nhaän ñöôïc ñieän aùp nguoàn nuoâi qua coång noái tieáp.
Vieäc trao ñoåi döõ lieäu qua coång noái tieáp trong caùc tröôøng hôïp thoâng thöôøng ñeàu qua ñöôøng daãn truyeàn noái tieáp TXD vaø ñöôøng daãn nhaän noái tieáp RXD. Taát caû caùc ñöôøng daãn coøn laïi coù chöùc naêng phuï trôï khi thieát laäp vaø khi ñieàu khieån cuoäc truyeàn döõ lieäu. Caùc ñöôøng daãn naøy goïi laø caùc ñöôøng daãn baét tay, coù öu ñieåm laø traïng thaùi cuûa chuùng coù theå ñaët hoaëc ñieàu khieån tröïc tieáp.
Vieäc truyeàn döõ lieäu : Möùc tín hieäu treân chaân ra RxD tuyø thuoäc vaøo ñöôøng daãn TxD, thöôøng naèm trong khoaûng -12 V (traïng thaùi High naèm giöõa -3 V vaø -12 V) ñeán +12 V (traïng thaùi Low naèm giöõa +3 V vaø +12 V).
ÔÛ traïng thaùi tónh, treân ñöôøng daãn coù ñieän aùp –12 V. Moät bit khôûi ñoäng (startbit) seõ môû ñaàu vieäc truyeàn döõ lieäu. Tieáp ñoù laø caùc bit döõ lieäu rieâng leû seõ ñeán, trong ñoù nhöõng bit giaù trò thaáp seõ ñöôïc göûi tröôùc tieân. Soá bit döõ lieäu töø 5 ñeán 8. ÔÛ cuoái moãi doøng döõ lieäu coù moät bit döøng (stopbit) ñeå ñaët trôû laïi traïng thaùi loái ra (-12 V).
Baèng toác ñoä baud ta thieát laäp toác ñoä truyeàn döõ lieäu. Khuoân maãu truyeàn döõ lieäu caàn phaûi ñöôïc thieát laäp nhö nhau caû ôû beân göûi cuõng nhö ôû beân nhaän.
Coång noái tieáp RS 232 coù 2 loaïi : loaïi coù 9 chaân vaø loaïi coù 25 chaân.
Chaân ( loaïi 9 chaân)
Chaân ( loaïi 25 chaân)
Chöùc naêng
1
2
3
4
5
6
7
8
9
8
3
2
20
7
6
4
5
22
DCD - Data carrier Detect Loái vaøo
RxD - Receive Data Loái vaøo
TxD - Transmit Data Loái ra
DTR - Data Terminal Ready Loái ra
GND - Noái ñaát Loái ra
DSR - Data Set Ready Loái vaøo
RTS - Request to Send Loái ra
CTS - Clear to Send Loái vaøo
RI - Ring Indicator Loái vaøo
Hình : Saép xeáp chaân cuûa coång noái tieáp ôû maùy tính PC.
Stopbit
12V
LOW
D0 D1 D2 D3 D4 D5 D6 D7
HIGH
-12V
1 1 0 1 0 0 1 0
104us
T=1/fBaud
1.04 ms
Startbit
Hình : Doøng döõ lieäu treân coång RS232 vôùi toác ñoä 9600 baud.
NGOÂN NGÖÕ LAÄP TRÌNH VISUAL BASIC VÔÙI TRUYEÀN THOÂNG NOÁI TIEÁP :
Visual Basic (VB) laø moät ngoân ngöõ laäp trình höôùng ñoái töôïng chaïy treân neàn Windows.Vôùi söï phaùt trieån ngaøy caøng taêng cuûa caùc öùng duïng truyeàn thoâng, VB cuõng hoã trôï cho vieäc laäp trình gheùp noái maùy tính qua coång noái tieáp, cho pheùp ngöôøi duøng taïo giao dieän söû duïng moät caùch deã daøng.
So vôùi caùc ngoân ngöõ khaùc nhö Visual C, Delphi, VB khoâng coù khaû naêng taùc ñoäng ñeán boä nhôù, thanh ghi, truy xuaát port, laäp trình söû duïng ngaét cuûa PC. Ñaây laø ñieåm haïn cheá cuûa ngoân ngöõ laäp trình naøy. Tuy nhieân, voán laø saûn phaåm cuûa nhaø saûn xuaát Microsoft, do ñoù VB ñöôïc hoã trôï bôûi nhöõng tieän ích cuûa Windows : caùc haøm saün coù trong caùc taäp tin *.dll (dynamic link library), ñaëc bieät laø trong winAPI (Application Programming Interface). Ñieàu naøy ñaõ laøm taêng söùc maïnh vaø môû roäng khaû naêng cuûa VB.
VB coù hoã trôï ngöôøi laäp trình söû duïng coång COM baèng ñieàu khieån MS Comm Control vôùi caùc ñaëc tính ñieàu khieån truyeàn thoâng chính sau :
CommPort : Ñaët vaø traû laïi soá coång truyeàn thoâng
Settings : Ñaët vaø traû laïi caùc tham soá truyeàn thoâng nhö : toác ñoä truyeàn
theo bit, chaün leû, soá caùc bit döõ lieäu.
PortOpen : Môû/ñoùng moät coång (tuyø thuoäc vaøo thoâng soá) vaø ñaët thoâng soá cho coång.
Input (nhaäp vaøo) : Traû laïi vaø loaïi boû caùc kyù töï khoûi boä ñeäm nhaän.
Output (xuaát ra) : Vieát moät xaâu kyù töï tôùi vaøo boä ñeäm truyeàn.
Baûng lieät keâ caùc giaù trò baud hôïp leä :
Thoâng soá toác ñoä Baud
110
300
600
1200
2400
9600 (maëc ñònh)
14400
19200
38400(döï tröõ)
56000(döï tröõ)
188000(döï tröõ)
256000(döï tröõ)
Baûng moâ taû caùc giaù trò chaün leû hôïp leä :
Giaù trò
Moâ taû
E
M
N
O
S
Even (chaün)
Mark (daáu)
None ( khoâng kieåm tra chaün leû – maëc ñònh)
Odd (leû)
Space (troáng)
Soá bit döõ lieäu hôïp leä trong moät laàn truyeàn (khung truyeàn) : 4, 5, 6, 7, 8 .
Soá bit stop hôïp leä : 1, 1.5, 2 .
Ngoaøi ra coøn moät soá ñaëc tính khaùc nhö : DTREnable, RTSEnable, CTSHolding, CommEvent …
GIAO TIEÁP VAØ HIEÅN THÒ KEÁT QUAÛ ÑO :
Taát caû maïch ñeäm coù nhieäm vuï thu thaäp caùc thoâng soá quaù trình khaùc nhau, qua boä bieán ñoåi A/D vaø chuyeån tieáp caùc giaù trò digital ñeán maùy tính PC. Vieäc trao ñoåi döõ lieäu qua coång noái tieáp ôû ñöôøng daãn truyeàn noái tieáp TXD vaø ñöôøng daãn nhaän noái tieáp RXD.
Coång gheùp noái söû duïng caùc thoâng soá truyeàn nhö sau :
Toác ñoä truyeàn : 19200 Baud
Ñoä daøi kyù töï : 8 bit
Bit chaün leû : khoâng
Bit döøng : 1.
Caùc soá lieäu ño ñöôïc chuyeån ñoåi vaø xöû lyù treân maùy tính, sau ñoù ñöôïc hieån thò ra maøn hình.
Veõ ñoà thò daïng soùng tính hieäu ño :
Chuùng ta caàn xaùc ñònh caùc ñieåm theo caùc ñaïi löôïng coù ñöôïc thoâng qua caùc pheùp ño, vaø veõ moät ñöôøng cong sao cho khoaûng caùch cuûa caùc ñieåm treân vôùi ñöôøng cong laø nhoû nhaát. Nguyeân nhaân khieán ñöôøng cong khoâng theå ñi qua taát caû caùc ñieåm treân laø :
Sai soá do thieát bò ño (nhieãu nhieät, nhieãu ñieän töø taùc ñoäng leân caùc linh kieän trong maïch ño), vaø giaù trò linh kieän treân maïch ñeäm .
Sai soá do suït aùp nguoàn cung caáp cho caùc IC khi ñoùng rô le hoaëc cho maïch ño daãn ñeán hoaït ñoäng cuûa Op Amp khoâng oån ñònh (giôùi haïn aùp ngoõ vaøo, ñieän aùp leäch offset, swing ñieän aùp ra bò giaûm) .
Nhöõng aûnh höôûng treân khieán giaù trò ño ñöôïc khoâng chính xaùc tuyeät ñoái, do ñoù ñöôøng cong khoâng theå ñi qua taát caû caùc ñieåm treân, nhöng ñöôøng cong naøy seõ gaàn gioáng vôùi daïng soùng tín hieäu nhaát .
Ñeå veõ daïng soùng tín hieäu ño ñöôïc, chuùng ta söû duïng phöông phaùp noäi suy Spline baäc ba .
KHUYEÁCH ÑAÏI THUAÄT TOAÙN (OPERATION AMPLIFIER) :
Khueách ñaïi thuaät toaùn laø caùc maïch vi ñieän töû IC döôïc cheá taïo ñeå duøng vaøo vieäc giaûi quyeát nhöõng phöông trình toaùn hoïc hoaëc caùc lónh vöïc khaùc nhö taïo tín hieäu , khueách ñaïi ñaëc duïng …
Vieäc söû duïng vi maïch KÑTTtrong hai lónh vöïc chính :
Tuyeán tính : goàm caùc boä khueách ñaïi AC , loïc chuû ñoäng , khueách ñaïi DC , khueách ñaïi log antilog …
Phi tuyeán : caùc maïch taïi soùng sine , vuoâng , tam giaùc , taïo haøm , so saùnh …
SÔ ÑOÀ KHOÁI VAØ PHAÂN TÍCH MOÄT MAÏCH OP – AMP ÑÔN GIAÛN :
Taàng nhaäp
Taàng trung gian
Taàng dòch möùc
Taàng ra
Op – Amp coù öu ñieåm laø gheùp taàng tröïc tieáp vaø coù ñoä lôïi voøng hôû raát cao . Caáu truùc beân trong goàm boán khoái nhö hình veõ coù theå ñöôïc giaûi thích nhö sau :
Taàng nhaäp : coù coâng duïng khueách ñaïi tín hieäu vi sai ngoõ vaøo ( hai ngoõ vaøo ñaûo vaø khoâng ñaûo ) coøn ngoõ ra cuûa taàng laø caân baèng . Ñaëc dieåm taàng naøy laø trôû khaùng cao vaø CMRR khaù lôùn .
Taàng trung gian cuõng laø maïch khueách ñaïi vi sai ñeå taêng cöôøng ñoä khueách ñaïi cho maïch , taàng naøy goàm hai ngoõ vaøo , ngoõ ra baát caân baèng .
Taàng ñònh möùc : vì möùc DC khi gheùp giöûa caùc taàng coù cheânh leäch do aûnh höôûng cuûa cheá doä gheùp tröïc tieáp neân taàng naøy duøng 9eå dònh möùc DC .
Taàng ra : Thöôøng laø maïch phaùt theo hay maïch khueách ñaïi ñaåy keùo boå phuï nhaèm taêng khaû naêng doøng ra vaø trôû khaùng ra nhoû .
IC KHUYEÁCH ÑAÏI THUAÄT TOAÙN (OP AMP) :
Caùc ñaëc tính cô baûn :
Ñieän aùp offset vaøo :
Ñieän aùp Vio taïi ngoõ vaøo laøm cho ngoõ ra Vo = 0Vdc laø ñieän aùp vaøo offset .
Vio coù theå coù giaù trò aâm hoaëc döông tuy nhieân giaù trò tuyeät ñoái caøng nhoû caøng toát .
Vo
Vio
Doøng offset vaøo : Doøng offset vaøo ñöôïc ñònh nghóa nhö sau : (trò tuyeät ñoái) taïi ngoõ vaøo khi ñieän theá ra laø 0V. giaù trò Iio caøng nhoû caøng toát
Vo
Doøng ñònh thieân vaøo : Doøng naøy ñöôïc ñònh nghóa laø doøng trung bình cuûa vaø : .
Ñieän trôû vaøo vi sai : Laø ñieän trôû ño taïi moät ñaàu vaø ñaàu kia noái ñaát, thoâng thöôøng giaù trò naøy raát cao töø vaøi traêm KW trôû leân ñeán khoaûng MW .
Ñieän dung vaøo : Ñöôïc ño taïi ñaàu coäng hoaëc ñaàu tröø cuûa Op Amp coøn ñaàu kia noái ñaát, giaù trò naøy khoaûng 1.4 pF cho 741C .
Taàm chænh ñieän aùp offset : Coù khaû naêng chænh offset zero. Döïa hình döôùi, khi chænh bieán trôû laøm thay ñoåi ñieän aùp offset vaøo, ñoái vôùi 741C taàm coù khaû naêng chænh laø .
Taàm ñieän aùp vaøo : Laø bieân ñoä ñieän aùp vaøo ñoàng pha lôùn nhaát ôû ngoõ vaøo khi maéc maïch nhö hình döôùi. Khaû naêng toái ña 741C laø .
CMRR : Laø tyû soá cuûa heä soá khuyeách ñaïi vi sai chia cho heä soá khuyeách ñaïi ñoàng pha nhö trong maïch vi sai : CMRR = Ad/Acm .
Vôùi Acm = Vocm/Vcm
Vocm laø aùp ra ñoàng pha
Vcm laø aùp vaøo ñoàng pha
Giaù trò raát lôùn, 741C coù CMRR = 120dB .
Tæ soá neùn nguoàn cung caáp : Söï thay ñoåi nguoàn cung caáp daãn ñeán söï thay ñoåi ñieän aùp offset Vio tyû soá ñaëc tröng laø SVRR (Supply Voltage Rejection Ratio) hoaëc laø PSRR (Power Supply Rejection Ratio) hoaëc PSS (Power Supply Sensitivity) .
Ñôn vò hoaëc dB
SVRR =
741C coù SVRR = .
Swing ñieän aùp ra : Thoâng thöôøng ñieän aùp ñænh ñænh thöôøng beù hôn +Vcc vaø -Vee
Ví duï : 741C = thì Swing aùp () .
Ñieän trôû ra : Ñieän trôû R0 laø ñieän trôû do töø ngoõ ra so vôùi ñaát, ñoái vôùi 741C laø 75 .
Doøng ngaén maïch ra : Laø doøng ngaén maïch lôùn nhaát ôû ngoõ ra. Ñoái vôùi 741C coù Isc = 25mA .
Slew rate : Laø suaát cöïc ñaïi cuûa söï thay ñoåi ñieän aùp ra ôû ñieàu kieän tín hieäu lôùn
.Eop.fp ,vôùi Eop :ñieän theá ra toái ña, fp :taàn soá ñaùp öùng toaøn boä coâng suaát .
Ñoái vôùi 741C raát thaáp khoaûng . Giaù trò naøy quan troïng vì noù quyeát ñònh choïn Op Amp laøm vieäc ôû taàn soá cao, so saùnh, chuyeån maïch .
Tích soá ñoä lôïi baêng thoâng : GBW laø baêng thoâng khi ñoä lôïi =1. Ñoái vôùi 741C laø 1MHz .
Op Amp lyù töôûng :
Moät Op Amp lyù töôûng phaûi ñöôïc thoaû maõn caùc ñieàu kieän sau :
Ñoä lôïi aùp = .
Ri = .
BW = 0 ñeán .
CMRR = .
SR = .
Ñöôøng cong truyeàn ñaït coù ñieän aùp offset laø zero .
Maïch ño duøng IC Op-Amp (maïch khuyeách ñaïi thuaät toaùn ) :
Ñaëc tính cô baûn :
Nhöõng tín hieäu ño löôøng thöôøng coù trò soá nhoû ( hoaëc raát nhoû ) , cho neân caàn phaûi khuyeách ñaïi nhöõng tín hieäu naøy tröôùc khi ño .
Nhöõng ñaëc tröng quan troïng cuûa maïch khuyeách ñaïi goàm :
Heä soá khuyeách ñaïi phaûi ñöôïc choïn löïa phuø hôïp vôùi ñoä chính xaùc vaø ñoä tuyeán tính cao.
Ngoõ vaøo vi sai coù khaû naêng toát nhaát ñeå coù heä soá truaát thaûi tín hieäu chung lôùn nhaát.
Ñoä oån ñònh cho heä soá khuyeách ñaïi ñoái vôùi söï thay ñoåi nhieät ñoä hoaït ñoäng .
Sai soá do söï troâi vaø ñieän aùp “offset” DC caøng nhoû caøng toát .
Maïch khuyeách ñaïi daïng vi sai :
Ecm : thaønh phaàn chung cuûa tín hieäu ño .
Ecm + E1
Ecm + E2
Es
PHAÀN 2 : THIEÁT KEÁ
THIEÁT KEÁ PHAÀN CÖÙNG :
Phöông aùn thieát keá :
Caùc tín hieäu ño ñeàu ñöôïc chuyeån ñoåi thaønh tín hieäu ñieän aùp töông öùng vôùi möùc logic ngoõ vaøo analog cuûa boä chuyeån ñoåi ADC0809. Vì vaäy caùc tín hieäu ño caàn ñöôïc ñöa qua maïch ñeäm tröôùc khi ñi vaøo boä chuyeån ñoåi ADC .
Caùc maïch ñeäm coù taùc duïng ñeå phoái hôïp trôû khaùng , laø maïch caùch ly veà ñieän vaø taïo ra möùc logic phuø hôïp vôùi möùc logic ngoõ vaøo cuûa ADC0809 (0 -> 5V). Tuyø theo moãi ñaïi löôïng ñieän caàn ño maø ta coù maïch ñeäm töông öùng.
Tín hieäu caàn ño ñöôïc choïn töø maùy tính, maùy tính seõ phaùt tín hieäu cho vi xöû lyù AT89C51 thoâng qua giao tieáp noái tieáp RS232. Vi xöû lyù coù nhieäm vuï ñôïi tín hieäu töø maùy tính sau ñoù seõ choïn keânh ño töông öùng vaø choïn taàm ño phuø hôïp baèng caùch ñoùng ngaét rô le töông öùng baèng port 1. Tín hieäu sau ñoù ñöôïc ñoïc veà vaø chuyeån ñeán maùy tính, vaø vi xöû lyù tieáp tuïc chu kyø ñôïi leänh töø maùy tính .
ÑO AÙP, DOØNG, TUÏ, CAÛM VAØ ÑIEÄN TRÔÛ :
Ño ñieän aùp :
Ñoái vôùi ñieän aùp DC , tín hieäu aùp DC ñöôïc ñöa qua maïch khuyeách ñaïi vi sai ( 1 :1 ) roài chia aùp xuoáng möùc logic thích hôïp tröôùc khi ñöa ñeán ngoõ vaøo analog cuûa ADC0809.
Ñeå ño ñieän aùp AC , ta chuyeån ñoåi ñieän aùp AC sang ñieän aùp DC baèng 3 phöông phaùp sau :
Phöông phaùp chænh löu duøng diod .
Phöông phaùp trò hieäu duïng thöïc .
Phöông phaùp trò ñænh .
Trong ñeà aùn naøy , em duøng phöông phaùp trò ñænh ñeå ño ñieän aùp AC . Tín hieäu aùp AC sau khi qua maïch khuyeách ñaïi vi sai (1 : 1) seõ ñeán maïch nhaân ñoâi ñieän aùp . Maïch bieán ñoåi trò soá tín hieäu ño coù thaønh phaàn xoay chieàu thaønh tín hieäu DC coù trò soá baèng trò ñænh. Tín hieäu naøy ñöôïc qua caàu phaân aùp ñeå coù möùc logic thích hôïp ñeå ñeán ngoõ vaøo analog cuûa ADC0809.
Vì ño ñieän aùp DC vaø AC ñeàu duøng chung maïch khuyeách ñaïi vi sai, neân em söû duïng rô le ñeå chuyeån keânh maïch ñeäm cho thích hôïp .
Hình : Maïch nhaân ñoâi ñieän aùp
Ño doøng ñieän :
Ño doøng DC :
Vieäc ño doøng ñieän ñöôïc tieán haønh baèng caùch aùp duïng ñònh luaät Ohm, trong ñoù ta ño suït aùp treân moät ñieän trôû do doøng ñieän ñi qua gaây neân.
Ta chuyeån doøng ñieän ño thaønh ñieän aùp ño baèng caùch cho doøng ñieän ño qua ñieän trôû shunt Rs , sau ñoù ñöa qua maïch khuyeách ñaïi vi sai ñeå ño aùp DC .
Phaân taàm ño doøng ñieän baèng caùch phaân aùp cho ñieän aùp ño ( taàm ño caøng lôùn thì ñieän trôû shunt caøng giaûm ) .
Ño doøng AC :
Ta chuyeån doøng ñieän AC thaønh ñieän aùp AC baèng ñieän trôû shunt Rs , sau ñoù chuyeån ñieän aùp ño AC thaønh ñieän aùp DC baèng nhöõng phöông phaùp ño ñieän aùp AC (ôû ñaây em duøng phöông phaùp trò ñænh) .
Maïch ño doøng ñieän:
Taàm ño thay ñoåi baèng caùch thay ñoåi ñieän trôû shunt. Trong maïch cöùng, Rs coù 2 giaù trò laø 1W (vôùi taàm ño nhoû hôn 0.1A) vaø 10W (vôùi taàm ño nhoû hôn 10 mA) .
Ño ñieän dung :
Nguyeân lyù :
Toång trôû cuaû ñieän dung Cx ñöôïc xaùc ñònh bôûi voân keá vaø ampe keá ( neáu söï hao maát do ñieän moâi cuûa tuï ñieän khoâng ñaùng keå ).
Suy ra :
Nguoàn tín hieäu cung caáp cho maïch ño phaûi laø tín hieäu hình sin coù ñoä meùo daïng nhoû hoaï taàn ñöôïc coi laø khoâng ñaùng keå ) . Bieân ñoä vaø taàn soá cuûa tín hieäu phaûi oån ñònh ( khoâng thay ñoåi ) . Neáu hoaï taàn cuûa tín hieäu lôùn thì seõ taïo ra sai soá ñaùng keå cho keát quaû ño .
Trong tröôøng hôïp maïch ño duøng theâm Watt – keá, ñieän trôû ræ Rx cuûa ñieän dung Cx ñöôïc xaùc ñònh bôûi bieåu thöùc sau .
Rx = P / I
Toång trôû cuûa ñieän dung :
Vaø ñieän dung caàn ño :
Ño ñieän caûm :
Nguyeân lyù :
Toång trôû cuûa ñieän caûm Lx ñöôïc xaùc ñònh :
Vaø ñieän caûm Lx ñöôïc xaùc ñònh :
Z ñöôïc xaùc ñònh bôûi voân keá vaø ampe keá , Rx ñöôïc xaùc ñònh tröôùc .
Trong luaän vaên, toång trôû Z ñöôïc xaùc ñònh bôûi bieåu thöùc theo ñieän aùp nguoàn 6V vôùi taàn soá 50Hz vaø ñieän aùp ño treân ñieän khaùng :
Vdo
Vdo
Giaù trò gaàn ñuùng laø : vaø , coù sai soá theo ñieän trôû roø Rx .
Trong maïch cöùng, vôùi R = 1K thì taàm ño cuûa tuï ñieän C laø : (2m ; 100m).
vaø taàm ño cuûa ñieän caûm laø : (5H ; 200H).
Ño ñieän trôû :
Coù nhieàu caùch ño ñieän trôû :
Ño ñieän trôû baèng voân keá vaø ampe keá , ñaây laø caùch xaùc ñònh “ phaàn töû ñieän trôû” ñang hoaït ñoäng(“ño noùng”) theo yeâu caàu . Khi ñoù ñieän trôû caàn ño Rx ñöôïc xaùc ñònh :
Trong maùy ño vaïn naêng , duøng ohm keá ñeå ño ñieän trôû thì traïng thaùi ño laø phaàn töû ñieän trôû ño (Rx) khoâng coù naêng löôïng ( ño “nguoäi”) , maïch ño seõ laø nguoàn naêng löôïng rieâng .
Maïch thay ñoåi taàm ño goàm coù caùc ñieän trôû chuaån noái tieáp vôùi Rx , taàm ño ñieän trôû caøng lôùn thì ñieän trôû chuaån caøng taêng .
Khi Rx = 0 W thì Vño = 0 V .
Khi Rx -> µ W thì Vño= Vng .
Tröôøng hôïp Rx baát kyø vôùi taàm ño töông öùng coù ñieän trôû chuaån R :
Trong ñeà taøi naøy , em duøng phöông phaùp ño “nguoäi” . Duøng maïch ño ñieän trôû daïng noái tieáp cuøng vôùi nguoàn naêng löôïng 12V , em chuyeån ñaïi löôïng ñieän trôû sang ñaïi löôïng ñieän aùp sau ñoù phaân taàm aùp thaønh möùc logic thích hôïp ñeå ñöa ñeán ngoõ vaøo analog cuûa ADC0809 .
Vôùi R1 = 1K, ta coù taàm ño R nhoû hôn 10K.
Vôùi R2 = 10K, ta coù taàm ño R nhoû hôn 100K.
Taàm ño ñöôïc choïn baèng caùch ñoùng ngaét rô le töø chaân port 1.
ÑO TAÀN SOÁ, COSj, COÂNG SUAÁT :
Ño taàn soá :
Tín hieäu caàn ño ñöôïc ñi qua maïch so saùnh ñeå laáy tín hieäu xung vuoâng, vaø ñöôïc chuyeån xuoáng möùc logic thích hôïp ôû chaân P1.7. Ta laàn löôït ño ñoä roäng xung T_on vaø T_off döïa vaøo timer 0, soá lieäu ñöôïc truyeàn veà maùy tính ñeå xöû lyù vaø hieån thò .
Ño cosj :
Ñeå ño heä soá coâng suaát cosj, ta caàn ño ñoä leäch pha giöõa tín hieäu aùp vaø doøng treân taûi. Tín hieäu aùp vaø doøng taûi ñöôïc ñöa qua maïch so saùnh ñeå ta coù ñöôïc tín hieäu xung vuoâng. Tín hieäu xung aùp ñöôïc ñöa ñeán chaân P1.6 cuûa AT89C51 vôùi möùc logic phuø hôïp, vi xöû lyù seõ ño ñoä roäng xung aùp vaø truyeàn veà maùy tính. Tín hieäu xung doøng ñöôïc ñöa qua coång logic AND cuøng vôùi tín hieäu xung aùp, khi ñoù ngoõ ra ta seõ coù tín hieäu xung leäch pha. Tín hieäu xung leäch pha ñöôïc ñöa ñeán chaân P1.5 vôùi möùc logic phuø hôïp, vi xöû lyù seõ ño ñoä roäng xung leäch pha vaø truyeàn veø maùy tính. Ñeå nhaän bieát sôùm hay treã pha, ta caàn xeùt tín hieäu xung leäch pha coù caïnh leân cuøng vôùi caïnh leân xung aùp hay coù treã hôn, ta duøng côø vaø truyeàn veà maùy tính. Maùy tính seõ laáy ñoä roäng xung aùp tröø ñi ñoä roäng xung leäch pha, ta coù ñöôïc thôøi gian leäch pha. Giaù trò cosj seõ ñöôïc maùy tính xöû lyù vaø hieån thò cuøng ghi chuù sôùm hay treã pha.
Xung aùp :
Xung doøng :
Xung leäch pha :
Ño coâng suaát :
Ñeå ño coâng suaát, ta caàn bieát tröôùc laø tín hieäu xoay chieàu hay moät chieàu. Khi ñoù maùy tính seõ baùo cho vi xöû lyù ñeå choïn keânh ño töông öùng.
Ñoái vôùi tín hieäu DC : vi xöû lyù seõ laàn löôït ñoïc giaù trò aùp vaø doøng DC sau khi qua maïch ño ñeán keânh töông öùng. Soá lieäu ñöôïc truyeàn veà maùy tính vaø ñöôïc xöû lyù ñeå hieån thò :
P = U * I .
Ñoái vôùi tín hieäu AC : vi xöû lyù seõ laàn löôït ño ñoä roäng xung aùp, ñoä roäng xung leäch pha vaø nhaän bieát sôùm, treã pha. Giaù trò aùp vaø doøng AC cuõng ñöôïc ñoïc veà. Taát caû soá lieäu ñeàu ñöôïc truyeàn veà maùy tính ñeå xöû lyù vaø hieån thò :
P = U*I*cosj .
Q = U*I*sinj .
BOÄ NGUOÀN LAÄP TRÌNH DAC :
Ngoaøi moät soá boä nguoàn cung caáp tín hieäu DC , AC coù bieân ñoä ñöôïc taïo saün treân maïch cöùng deå cung caáp cho maïch thí nghieäm, em coøn thieát keá theâm boä nguoàn coù taàn soá ñöôïc choïn töø maùy tính.
Maïch cöùng goàm 2 IC 8951 hoaït ñoäng ñoäc laäp, moät ñeå ñoïc caùc giaù trò ño theo yeâu caàu, moät keát hôïp DAC0808 taïo nguoàn theo yeâu caàu töø maùy tính.
Tín hieäu taïo töø DAC coù bieân ñoä töø 0V ñeán 5V ñöôïc qua maïch khuyeách ñaïi 2 laàn sau ñoù ñöôïc coäng vôùi –5V, ta seõ coù boä nguoàn AC hoaëc Dc theo yeâu caàu. Caùc tín hieäu nguoàn cung caáp laø sin, tam giac, xung vuoâng coù bieân ñoä vôùi taàn soá thay ñoåi ñöôïc, tín hieäu DC coù bieân ñoä thay ñoåi.
GIÔÙI THIEÄU CAÙC IC TREÂN KIT :
µCAT89C51 :
Boä xöû lyù chính laø IC AT89C51 vôùi taàn soá laøm vieäc laø 11.059 MHz. Chaân 18, 19 cuûa AT89C51 ñöôïc noái vôùi thaïch anh (cuõng coù theå thay theá thaïch anh baèng tín hieäu xung clock), chaân /EA ñöôïc maéc leân möùc cao. Boar maïch goàm 2 IC AT89C51, moät coù nhieäm vuï nhaän leänh töø maùy tính vaø thöïc hieän leänh choïn keânh, ñoïc tín hieäu töø ADC roài göûi veà maùy tính, coøn IC kia keát hôïp DAC0808 taïo boä nguoàn theo yeâu caàu maùy tính. Vi xöû lyù laøm vieäc truyeàn nhaän döõ lieäu vôùi maùy tính vôùi toác ñoä baud laø 19200 .
Vi maïch MAX 232 :
Vi maïch naøy nhaän möùc RS 232 ñöôïc göûi töø maùy tính PC vaø bieán ñoåi tín hieäu naøy thaønh tín hieäu TTL, sau ñoù daãn ñeán boä vi xöû lyù AT89C51. Tín hieäu töø boä vi xöû lyù ñeán Max 232 seõ ñöôïc bieán ñoåi thaønh möùc +12V/-12V vaø göûi tôùi maùy tính PC. Theo caùch naøy khoaûng caùch giöõa maùy tính vaø moâ ñun cô sôû coù theå ñaït ñeán treân 20m .
ADC0809 :
Boä chuyeån ñoåi tín hieäu töông töï sang tín hieäu soá naøy coù nhieäm vuï ñoïc tín hieäu analog ôû ngoõ vaøo ñöôïc choïn bôûi vi xöû lyù. Sau ñoù chuyeån ñoåi thaønh tín hieäu soá vaø xuaát ra ngoaøi ôû daïng song song 8 bit khi ngoõ cho pheùp ra (OE) tích cöïc .
DAC0808 :
DAC0808 keát hôïp vôùi AT89C51 taïo neân boä nguoàn coù bieân ñoä vaø taàn soá ñöôïc ñieàu khieån baèng maùy tính. Caùc tín hieäu soá 8 bit song song ñöôïc xuaát ra port 0 cuûa AT8951 ñi ñeán ngoõ vaøo 8 bit cuûa DAC0808 (töø D0 -> D7). Sau ñoù ñöôïc chuyeån ñoåi thaønh tín hieäu töông töï ôø ngoõ ra töông öùng vôùi tín hieäu soá ôû ngoõ vaøo .
LM741 vaø LF353 :
Ñaëc tính cheá taïo, caùc trò soá cöïc ñaïi cuûa LM741HC :
Nguoàn nuoâi :
Coâng suaát tieâu taùn beân trong : 500mW
Cheânh leäch aùp ngoõ vaøo :
Nhieät ñoä laøm vieäc : 0-700C
Caùc thoâng soá caàn thieát :
Doøng phaân cöïc ngoõ vaøo : 800nA
Toång trôû nhaäp : 0.3 – 2MW
Taàm ñieän aùp vaøo : , ñieån hình
Heä soá loaïi tröø caùch chung CMRR : 90dB, ñieån hình
Toång trôû ra : 75W
Doøng ngoõ ra ngaén maïch : 25mA
Doøng cung caáp : 2.8mA, ñieån hình
Ñoä lôïi aùp vaø : 15000
Coâng suaát tieâu thuï : 8.5mW, ñieån hình
Dao ñoäng ñieän aùp ngoõ ra , : , ñieån hình .
IC LF353 : Laø IC goàm 2 Op Amp ñôn, sô ñoà chaân nhö hình döôùi :
LM741HC LF353
Trong boar maïch, 2 loaïi IC naøy ñöôïc söû duïng vôùi chöùc naêng so saùnh (khi ño taàn soá), ñeäm phoái hôïp trôû khaùng vaø laøm maïch khuyeách ñaïi vi sai .
OC
C
Qi
1
X
HiZ
0
1
Di
0
0
Qio
IC 74HC573 : Ñeäm doøng
Qio : Giöõ nguyeân traïng thaùi tröôùc ñoù.
HiZ : Toång trôû cao (hôû maïch).
IC coù nhieäm vuï ñeäm doøng cho port 1 cuûa AT89C51 ñeå kích BJT cho pheùp ñoùng rô le ñeå chuyeån maïch. Ngoõ C ñöôïc noái leân Vcc, ngoõ OC ñöôïc noái mass .
Rô le :
Rô le laø khí cuï ñieän phaùt hieän möùc naêng löôïng cuûa maïch ñieän ñaàu vaøo vaø ñieàu khieån söï chuyeån maïch cuûa maïch ñieän ñaàu ra .
Coù nhieàu loaïi rô le :
Rô le ñieän töø ( rô le tieáp ñieåm ) .
Rô le maïch raén (khoâng tieáp ñieåm) .
Rô le ñaëc bieät (rô le böôùc) .
Rô le ñieän töø cô baûn goàm loõi saét vaø cuoän daây seõ thaønh nam chaâm ñieän khi coù doøng qua .
Chöùc naêng cuûa rô le ñieän töø :
Khuyeách ñaïi .
Cho pheùp noái cuoän daây vaø tieáp ñieåm ôû 2 maïch ñieän aùp khaùc nhau .
Ví duï : ñaàu vaøo laø aùp moät chieàu _ ñaàu ra laø aùp xoay chieàu vaø ngöôïc laïi .
Nhaân soá maïch ñieän ñaàu ra (ví duï : rô le cöïc keùp …).
Duøng laøm taùc ñoäng logic (vaø, hoaëc, khoâng) .
Ñeå môû roäng taàm caùc giaù trò ño, trong ñeà taøi naøy em ñaõ söû duïng loaïi rô le cöïc ñôn, haønh trình keùp, ngaét maïch ñôn, vôùi ñieän aùp chuyeån maïch ñònh möùc laø 12V. Maïch ñöôïc thieát keá nhö hình veõ döôùi .
Cuoän daây ñöôïc noái vôùi nguoàn 12V vaø transistor, trong ñoù transistor laøm nhieäm vuï ñoùng ngaét doøng töø nguoàn qua cuoän daây. Transistor ñöôïc kích daãn bôûi vi xöû lyù. Diod maéc ngöôïc leân nguoàn nhaèm xaû doøng veà nguoàn ñeå doøng qua cuoän khoâng thay ñoåi nhanh traùnh quaù aùp khi transistor ngöng daãn.
Khi transistor daãn, cuoän daây trôû thaønh nam chaâm ñieän huùt loõi theùp laøm chuyeån maïch :
= 0
GIAO DIEÄN TREÂN MAÙY TÍNH VAØ SÖÛ DUÏNG :
Coù theå choïn giao tieáp noái tieáp baèng COM 1 hoaëc COM 2 töø caùc option.
Caùc ñaëc tính khung truyeàn coá ñònh : 19200 baud, 0 bit chaün leû, 8 bit döõ lieäu, 1 bit döøng .
Phaàn cöùng coù thieát keá moät boä nguoàn laäp trình baèng vi xöû lyù keát hôïp vôùi DAC0808, vaø ñöôïc tuyø choïn töø maùy tính.
Choïn nguoàn DC, coù bieân ñoä thay ñoåi töøng möùc töø –5V -> +5V.
Choïn nguoàn AC, coù taàn soá 50Hz, 100Hz, 200Hz vôùi caùc daïng soùng sin, tam giaùc, raêng cöa, xung vuoâng coù bieân ñoä –5V, +5V.
Giaù trò ño ñöôïc hieån thò ôû treân. Ta coù theå ño hoaëc döøng ño baèng caùch kích vaøo nuùt leänh töông öùng.
Tín hieäu ño laø AC hoaëc DC .
Ñaïi löôïng caàn ño ñöôïc choïn : aùp (V), doøng (A), ñieän trôû ( R ), ñieän dung (C), ñieän caûm (L), coâng suaát vaø heä soá coâng suaát (P), taàn soá (f) .
Ñeå laáy soá lieäu baùo caùo, trong khi ño ta kích vaøo nuùt “Nhaän” ñeå ñöa soá lieäu vaøo danh saùch.
Daïng soùng tín hieäu ño ñöôïc veõ ra treân giaûn ñoà vôùi tyû leä thôøi gian hoaëc ñoä lôùn aùp treân 1 oâ tuyø choïn.
Ta coù theå ño hoaëc döøng khi kích treân cuøng moät nuùt leänh.
Baùo caùo goàm caùc giaù trò ño ñöôïc vaø daïng soùng tín hieäu ño, vaø ñöôïc in ra .
Sau ñaây laø moät soá ví duï veà keát quaû ño ñöôïc :
Soá lieäu laáy veà coù theå ñöôïc chuù thích theâm.
Daïng soùng coù theå theâm chuù thích.
Soá lieäu vaø daïng soùng ñöôïc xem thöû treân moät trang rieâng baèng nuùt preview , vaø ñöôïc in khi nhaán nuùt in.
LÖU ÑOÀ GIAÛI THUAÄT VAØ CHÖÔNG TRÌNH VI XÖÛ LYÙ :
LÖU ÑOÀ GIAÛI THUAÄT :
Baét ñaàu
Khôûi ñoäng coång noái tieáp laøm vieäc ôû cheá ñoä UART 8 bit, 19200 baud :
SCON ß #52H
TMOD ß #21H
TH1 ß #-3
Ñaët SMOD leân 1 .
Khôûi ñoäng timer 1 .
Ñôïi leänh (kyù töï) truyeàn töø maùy tính .
Kyù töï laø “ V “ ?
Kyù töï laø “ A “ ?
Kyù töï laø “ R “ ?
Kyù töï laø “ C “ ?
Kyù töï laø “ L “ ?
Kyù töï laø “ P “ ?
Kyù töï laø “ F “ ?
doV
doA
doR
doCL
doCL
doP
dof
1
Chöông trình chính :
Kyù töï laø “ S “ ?
Dsong
1
Löu ñoà ño coâng suaát :
(B) = 1
doP
Inchar
(A) = ‘d’
Ñoïc giaù trò aùp DC:
- Choïn keânh 2
- Ñoïc AD
Outchar
Ñoïc giaù trò doøng DC:
- Choïn keânh 0
- Ñoïc AD
Outchar
Ljmp Nhan
P1.6 = 1 ?
P1.6 = 0 ?
Setb TR0
Ño ñoä roäng xung aùp
P1.5 = 1 ?
(B) = 2
N
Y
Y
Y
N
N
Y
N
2
-(A)<- (R1)
- Outchar
- (A)<- (TH0)
- Outchar
-(A)<- (TL0)
- Outchar
2
P1.5 = 1
P1.5 = 0
Ño ñoä roäng xung leäch pha
-(A)<- (R1)
- Outchar
-(A)<- (TH0)
- Outchar
-(A)<- (TL0)
- Outchar
Ñoïc aùp xoay chieàu :
Choïn keânh 3
Ñoïc AD
Outchar
3
Y
Y
N
N
Ljmp Nhan
Outchar
Ñoïc doøng xoay chieàu :
Choïn keânh 1
Choïn taàm ño 1
Ñoïc AD
Ñoïc doøng xoay chieàu :
Choïn keânh 1
Choïn taàm ño 1
Ñoïc AD
Outchar
Ljmp Nhan
3
Löu ñoà ño aùp :
doV
Inchar
(A) = ‘d’
Ñoïc giaù trò aùp DC:
- Choïn keânh 2
- Setb P1.2
- delay2ms
- Ñoïc AD
Outchar
N
Y
Ñoïc aùp xoay chieàu :
- Choïn keânh 3
- Clr P1.2
- delay2ms
- Ñoïc AD
Outchar
Ljmp Nhan
Löu ñoà ño doøng :
4
doI
Inchar
(A)=”a”
- Setb P1.1
- delay2ms
- Choïn keânh 0.
- Clr P1.1
- delay2ms
- Choïn keânh 1.
Inchar
(A)=”1”
(A)=”2”
- Setb P1.0
- delay2ms
- Ñoïc AD.
- Clr P1.0
- delay2ms
- Ñoïc AD.
Outchar
Ljmp nhan
Outchar
Ljmp nhan
Ñoïc AD.
P1.0 = 1 ?
(A) #202
(A) #22
5
7
6
N
Y
N
Y
N
Y
N
Y
Y
N
4
Y
N
5
4
- Push Acc
- (A)<-‘2’
Outchar
- Pop Acc
- Outchar
Outchar
Ljmp nhan
- Clr P1.0
- delay2ms
- Ñoïc AD.
- Push Acc
- (A)<-‘1’
- Pop Acc
- Outchar
Ljmp nhan
7
- Push Acc
- (A)<-‘1’
Outchar
- Pop Acc
- Outchar
Ljmp nhan
6
Outchar
- Setb P1.0
- delay2ms
- Ñoïc AD.
- Push Acc
- (A)<-‘2’
- Pop Acc
- Outchar
Ljmp nhan
Löu ñoà ño ñieän trôû :
4
doR
Inchar
(A)=”1”
(A)=”2”
- Clr P1.4
- delay2ms
- Ñoïc AD.
- Setb P1.4
- delay2ms
- Ñoïc AD.
Outchar
Ljmp nhan
Outchar
Ljmp nhan
Ñoïc AD.
P1.4 = 1 ?
(A) #202
(A) #22
9
N
Y
N
Y
N
Y
N
Y
8
Y
N
- Push Acc
- (A)<-‘2’
Outchar
- Pop Acc
- Outchar
Ljmp nhan
- Push Acc
- (A)<-‘1’
Outchar
- Pop Acc
- Outchar
Ljmp nhan
8
Outchar
- Setb P1.4
- delay2ms
- Ñoïc AD.
- Push Acc
- (A)<-‘2’
- Pop Acc
- Outchar
Ljmp nhan
9
Outchar
- Clr P1.4
- delay2ms
- Ñoïc AD.
- Push Acc
- (A)<-‘1’
- Pop Acc
- Outchar
Ljmp nhan
Löu ñoà ño tuï, caûm :
doCL
- Choïn keânh 5
- Ñoïc AD.
Outchar
Ljmp nhan
Löu ñoà ño taàn soá :
dof
(R1) <- #0
(R2) <- #0
(TH0) <- #Hight(-50176)
(TL0) <- #Low(-50176)
P1.7 = 1
P1.7 = 0
Y
Y
N
N
- Setb TR0
- Acall Tf_on
- Acall Tf_off
R1 = 20 ?
- (A)<- #’y’
- Outchar
- (A)<- (R1)
- Outchar
- (A)<- (R4)
- Outchar
- (A)<- (R3)
- Outchar
- (A)<- (R5)
- Outchar
- (A)<- (R6)
- Outchar
- (A)<- (R2)
- Outchar
- (A)<-#’n’
- Outchar
Ljmp nhan
N
Y
Löu ñoà daïng soùng :
Dsong
- Choïnkeânh 2
- Setb p1.
- Delay 2.5 ms
Ñoïc AD
Outchar
R0 = 0 ?
R4 = 0 ?
R0 <- #3
R4 <- #250
Ljmp nhan
N
Y
Y
N
Chöông trình con Inchar, Outchar:
Outchar
TI = 0 ?
- Clr TI
-(SBUF)<- (A)
RET
N
Y
Inchar
RI = 0 ?
- Clr RI
- (A)<- (SBUF)
RET
N
Y
Chöông trình con ño ñoä roäng xung :
Baét ñaàu
TF0 = 0
- Clr TR0
- Clr TF0
- Inc R0
- (TH0) <- #Hight(-50176)
- (TL0) <- #Low(-50176)
- Setb TR0
P1.5 = 1
- Clr TR0
- Clr TF0
RET
N
Y
N
Y
Chöông trình con delay2ms : (delay 2.5 ms)
Baét ñaàu
R3 <- #10
R2 <- #125
Ret
R2 = R2 -1
R2 = 0 ?
R3 = 0 ?
R3 = R3 -1
N
Y
Y
N
CHÖÔNG TRÌNH VI XÖÛ LYÙ CHO AT89C51 :
;******************* Baét ñaàu chöông trình chính *************************
org 0h
main: mov scon,#52h ;Coång noái tieáp,mode 1
mov tmod,#21h ;Timer 0 mode 1, timer 1 mode 2
mov th1,#-3 ;Soá ñeám naïp laïi cho 9600 baud
mov a,87h ;Gaáp ñoâi toác ñoä baud
setb acc.7
mov 87h,a
setb tr1 ;Cho timer 1 chaïy cung caáp xung nhòp toác ñoä baud
clr p1.0
clr p1.1
clr p1.2
clr p1.3
clr p1.4
nhan: acall inchar
next1: cjne a,#'V',next2
ljmp doV
next2: cjne a,#'A',next3
ljmp doA
next3: cjne a,#'R',next4
ljmp doR
next4: cjne a,#'P',next5
ljmp doP
next5: cjne a,#'F',next6
ljmp doF
next6: cjne a,#'L',next7
ljmp doCL
next7: cjne a,#'C',next8
ljmp doCL
next8: cjne a,#'S',nhan
ljmp Dsong
sjmp nhan
;******************** Daïng soùng tín hieäu *******************************
Dsong: acall inchar
cjne a,#'4',ds0
mov r4,#240
sjmp ds3
ds0: cjne a,#'3',ds1
mov r4,#110
sjmp ds3
ds1: cjne a,#'2',ds2
mov r4,#65
sjmp ds3
ds2: sjmp ds4
ds3: clr p3.2 ;choïn keânh 2
setb p3.3
clr p3.4
setb p1.2 ;RL4
call delay2ms
mov dptr,#0000h
mov r0,#6
mov 30h,r4
tiep0: mov r4,30h
tiep1: movx @dptr,a ;taïo xung Start vaø ALE
mov r2,#60
djnz r2,$ ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
acall outchar
djnz r4,tiep1
djnz r0,tiep0
tiep3: ljmp nhan
ds4: mov r4,#110
mov r0,#10h
clr p3.2 ;choïn keânh 2
setb p3.3
clr p3.4
setb p1.2 ;RL4
call delay2ms
tiep4: mov r1,#50
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
mov r2,#60
djnz r2,$ ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
mov @r0,a
inc r0
djnz r1,$
djnz r4,tiep4
mov r0,#10h
mov r4,#110
tiep5: mov a,@r0
inc r0
acall outchar
djnz r4,tiep5
tiep6: ljmp nhan
;******************* Ño ñieän aùp *************************************
doV: acall inchar
cjne a,#'a',vdc
vac: setb p3.2 ;choïn keânh 3
setb p3.3
clr p3.4
clr p1.2 ;RL4
call delay2ms
jmp v
vdc:
clr p3.2 ;choïn keânh 2
setb p3.3
clr p3.4
setb p1.2 ;RL4
call delay2ms
v: mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
acall outchar ;;
ljmp nhan
;****************** Ño doøng ñieän ************************************
doA: acall inchar
cjne a,#'a',adc
aac: setb p3.2 ;choïn keânh 1
clr p3.3
clr p3.4
clr p1.1 ;RL2
call delay2ms
jmp a0
adc: clr p3.2 ;choïn keânh 0
clr p3.3
clr p3.4
setb p1.1 ;RL2
call delay2ms
a0: acall inchar ;Choïn taàm ño
cjne a,#'1',a2
a1: setb p1.0 ;RL1
call delay2ms
jmp a3
a2: cjne a,#'2',a4
clr p1.0 ;RL1
call delay2ms
a3: mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
acall outchar ;;
ljmp nhan
a4: mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
cjne a,#22,a5 ;(255*0.45/5)
a5: jc a6
jb p1.0,a7
mov r4,a
mov a,#'2'
acall outchar
mov a,r4
acall outchar
ljmp nhan
a6: jb p1.0,a81
setb p1.0
acall delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
sjmp a81
a7: cjne a,#202,a8 ;(255*4/5)
a8: jnc a9
a81: mov r4,a
mov a,#'1'
acall outchar
mov a,r4
acall outchar
sjmp a10
a9: clr p1.0
acall delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
mov r4,a
mov a,#'2'
acall outchar
mov a,r4
acall outchar
a10: ljmp nhan
;****************** Ño ñieän trôû ************************************
doR: clr p3.2 ;choïn keânh 6
setb p3.3
setb p3.4
acall inchar
cjne a,#'1',rr1
clr p1.4 ;RL5
call delay2ms
jmp rr3
rr1: cjne a,#'2',rr4
rr2: setb p1.4 ;RL5
call delay2ms
rr3:
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
acall outchar
ljmp nhan
rr4: mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
jb p1.4,rr8
cjne a,#202,rr6
rr6: jc rr7
setb p1.4
acall delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
mov r4,a
mov a,#'2'
acall outchar
mov a,r4
acall outchar
ljmp nhan
rr7: mov r4,a
mov a,#'1'
acall outchar
mov a,r4
acall outchar
ljmp nhan
rr8: cjne a,#22,rr9
rr9: jc rr10
mov r4,a
mov a,#'2'
acall outchar
mov a,r4
acall outchar
ljmp nhan
rr10: clr p1.4
acall delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
mov r4,a
mov a,#'1'
acall outchar
mov a,r4
acall outchar
ljmp nhan
;****************** Ño ñieän dung vaø caûm khaùng *************************
doCL: clr p1.3 ;Ño Z ,RL3
setb p3.2
clr p3.3 ;choïn keânh 5
setb p3.4
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;Ñoïc data
acall outchar
ljmp nhan
;****************** Ño coâng suaát vaø heä soá coâng suaát **********************
doP: mov r1,#0
mov r0,#0
acall inchar
cjne a,#'a',Pdc ;DC /AC
Xv: mov b,#1 ;sôùm pha
mov th0,#high(-50176)
mov tl0,#low(-50176)
jb p1.6,$ ;Ño ñoä roäng xung aùp
jnb p1.6,$
setb tr0
jb p1.5,c1 ;Neáu doøng sôùm pha thì b=1
mov b,#2 ;treã pha
c1: acall T1_on
mov a,r1
acall outchar
mov a, th0
acall outchar
mov a,tl0
acall outchar
mov th0,#high(-50176)
mov tl0,#low(-50176)
jb p1.5,$ ;Ño ñoä roäng xung leäch pha
jnb p1.5,$
setb tr0
acall T2_on
mov a,r0
acall outchar
mov a, th0
acall outchar
mov a,tl0
acall outchar
mov a,b
c2: acall outchar
Pac:
setb p3.2 ;choïn keânh 3 ,ño aùp xoay chieàu
setb p3.3
clr p3.4
clr p1.2
call delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;ñoïc data
push acc
setb p3.2 ;choïn keânh 1 ,ño doøng xoay chieàu
clr p3.3
clr p3.4
setb p1.0
call delay2ms
clr p1.1
call delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;ñoïc data
acall outchar ;Doøng xoay chieàu
pop acc
acall outchar ;AÙp xoay chieàu
jmp nhan
;-------------------------------------------------------------------------------
Pdc: clr p3.2 ;choïn keânh 2 ,ño aùp 1 chieàu
setb p3.3
clr p3.4
setb p1.2
call delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;ñoïc data
push acc
clr p3.2 ;choïn keânh 0 ,ño doøng moät chieàu
clr p3.3
clr p3.4
setb p1.0
setb p1.1
call delay2ms
mov dptr,#0000h
movx @dptr,a ;taïo xung Start vaø ALE
acall delay120us ;chôø EOC leân 1
movx a,@dptr ;ñoïc data
acall outchar ; Doøng moät chieàu
pop acc
acall outchar ; AÙp moät chieàu
ljmp nhan
;******************* Ño taàn soá *************************************
doF: mov r1,#0
mov r2,#0
mov th0,#high(-50176)
mov tl0,#low(-50176)
jb p1.7,$
jnb p1.7,$
setb tr0
acall Tf_on
acall Tf_off
cjne r1,#20,F1
mov a,#'n'
acall outchar
jmp F2
F1:
mov a,#'y'
acall outchar
mov a,r1 ; r1 chöùa boäi soá
acall outchar
mov a, r4 ; byte cao
acall outchar
mov a,r3 ; byte thaáp
acall outchar
mov a,r2 ; boäi soá
acall outchar
mov a, r6 ; byte cao
acall outchar
mov a,r5 ; byte thaáp
acall outchar
F2: ljmp nhan
;******************* Chöông trình con ********************************
inchar: jnb ri,$
clr ri
mov a,sbuf
ret
outchar:
jnb ti,$
clr ti
mov sbuf,a
ret
T1_on:
t10: jnb tf0,t11
clr tr0
clr tf0
inc r1
mov th0,#high(-50176)
mov tl0,#low(-50176)
setb tr0
t11: jb p1.6, t10
clr tr0
clr tf0
t12: ret
T2_on:
t20: jnb tf0,t21
clr tr0
clr tf0
inc r0
mov th0,#high(-50176)
mov tl0,#low(-50176)
setb tr0
t21: jb p1.5, t20
clr tr0
clr tf0
ret
Tf_on:
t22: jnb tf0,t23
clr tr0
clr tf0
inc r1 ; r1 chöùa boäi soá
mov th0,#high(-50176)
mov tl0,#low(-50176)
setb tr0
cjne r1,#20,t23 ;Neáu baèng 2s thì xem nhö 1 chieàu
jmp t26
t23: jb p1.7, t22
clr tr0
clr tf0
mov r3,tl0 ;byte thaáp
mov r4,th0 ;byte cao
t26: ret
Tf_off: mov th0,#high(-50176)
mov tl0,#low(-50176)
setb tr0
t24: jnb tf0,t25
clr tr0
clr tf0
inc r2 ; r2 chöùa boäi soá
mov th0,#high(-50176)
mov tl0,#low(-50176)
setb tr0
cjne r2,#20,t25
jmp t27
t25: jnb p1.7,t24
clr tr0
clr tf0
mov r6,th0 ;byte cao
mov r5,tl0 ;byte thaáp
t27: ret
delay120us:
mov r2,#60
delay: djnz r2,delay
ret
delay2ms:
mov r3,#10
lap: mov r2,#124
djnz r2,$ ;250us
djnz r3,lap
ret ;2.5ms
end
MAÏCH THIEÁT KEÁ :
Maïch vi xöû lyù giao tieáp maùy tính
Maïch ñeäm laáy tín hieäu töø ngoaøi veà vi xöû lyù