Số hóa bài tn mạch điện

MỤ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

doc100 trang | Chia sẻ: banmai | Lượt xem: 2117 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Số hóa bài tn 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ù

Các file đính kèm theo tài liệu này:

  • docThesis.DOC
  • docComment.DOC
  • docCover.DOC