Số hóa bài thí nghiệm mạch điện

94 16 0
Số hóa bài thí nghiệm mạch điện

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ *********** LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI : SỐ HỐ BÀI THÍ NGHIỆM MẠCH ĐIỆN GVHD: LƯƠNG VĂN LĂNG SVTH : TRIỆU QUANG MINH MSSV : 49700897 MỤC LỤC PHẦN : LÝ THUYẾT CHUNG A ĐẶT VẤN ĐỀ : I MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI : II GIỚI HẠN CỦA ĐỀ TÀI : III SƠ ĐỒ KHỐI TỔNG QUÁT : B GIỚI THIỆU AT89C51: I TÓM TẮT PHẦN CỨNG : Giới thiệu họ MCS51 : .5 Sơ lược chân AT89C51 : Tổ chức nhớ : Các ghi chức đặc biệt : .13 Bộ nhớ : 17 Ngõ vào tín hiệu RESET: 21 II HOẠT ĐỘNG CỦA BỘ ĐỊNH THÌ TIMER: .22 Giới thiệu : 22 Thanh ghi chế độ Timer (TMOD) : .23 Thanh ghi điều khiển timer (TCON) : 24 Chế độ timer : 25 Nguồn tạo xung nhịp : 27 Bắt đầu, dừng điều khiển Timer: .28 Khởi động truy xuất ghi timer : .29 Các khoảng ngắn khoảng dài: 29 III HOẠT ĐỘNG CỦA BỘ NGẮT (INTERRUPT): 30 Giới thiệu : 30 Tổ chức ngắt AT89C51: 31 Các ngắt CAT89C51: 31 Định interrupt: 32 IV HOẠT ĐỘNG PORT NỐI TIẾP : 32 Giới thiệu : 32 Thanh ghi điều khiển port nối tiếp : 33 Các chế độ hoạt động : 35 Khởi động truy xuất ghi cổng nối tiếp : 36 Truyền thông đa xử lý : 38 Tốc độ baud cổng nối tiếp : 38 V TẬP LỆNH CỦA CAT89C51: .40  Các chế độ đánh địa : Trong tập lệnh có chế độ đánh địa chỉ: 40 C BIẾN ĐỔI A/D VÀ D/A : .44 I GIỚI THIỆU ADC0809 : 44 Sơ đồ khối : .44 Sơ đồ chân : 45 Khả : 45 Đặc tính kỹ thuật : 45 Mô tả chức : 46  GIẢN ĐỒ THỜI GIAN : .46 II GIỚI THIỆU DAC0808 : 48 Sơ đồ khối : .49 Sơ đồ chân : 49 Khả : 49 Trị số tối đa : 50 Hoạt động : 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 Các đặc tính : 55 Op Amp lý tưởng : 57 Mạch đo dùng IC Op-Amp (mạch khuyếch đại thuật toán ) : .58 PHẦN : 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 Đo điện áp : .59 Đo dòng điện : 60 Đo điện dung : 60 Đo điện cảm : 61 Đo điện trở : 62 II ĐO TẦN SỐ, COS, CÔNG SUẤT : 63 Đo tần số : .63 Đo cos : 63 Đ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 µCAT89C51 : .64 Vi mạch MAX 232 : 64 ADC0809 : 65 DAC0808 : 65 LM741 LF353 : .65 IC 74HC573 : Đệm dòng 66 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 Chương trình : 74 Chương trình Inchar, Outchar: 84 Chương trình đo độ rộng xung : 84 Chương trình 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 Tài liệu Vi Xử Lý _Giảng viên Hồ Trung Mỹ The 8051 Microcontroller _I.Scott MacKenzie Hướng dẫn thí nghiệm Vi Xử Lý Đo lường điều khiển máy tính Ngơ Diên Tập Lập trình ghép nối máy tính Windows Ngô Diên Tập Kỹ thuật đo Nguyễn Ngọc Tân Tài liệu hướng dẫn thí nghiệm mạch điện tử PHẦN : LÝ THUYẾT CHUNG A ĐẶT VẤN ĐỀ : Ngày với phát triển ngành khoa học kỹ thuật, kỹ thuật điện tử ma øtrong việc ứng dụng máy vi tính vào kỹ thuật đo lường điều khiển đem lại kết đầy tính ưu việt Để tiến hành điều khiển giám sát, đo lường trình thực máy tính, trước hết phải có mối liên hệ cần thiết máy tính giới bên ngồi Với phát triển mạnh nghành kỹ thuật số đặc biệt cho đời họ vi xử lí vi điều khiển đa chức việc dùng kỹ thuật vi xử lí, kỹ thuật vi điều khiển kết hợp với máy tính giải bế tắc kinh tế mà phương pháp dùng IC rời kết nối lại không thực Các thiết bị, hệ thống đo lường điều khiển ghép nối với máy tính có độ xác cao, thời gian thu thập số liệu ngắn, điều đáng quan tâm mức độ tự động hoá việc thu thập xử lý kết đo, kể việc lập bảng thống kê in kết I Mục đích yêu cầu đề tài : Trong luận văn này, em thiết kế mơ hình thí nghiệm mạch điện đo đại lượng điện, có giao diện nối tiếp với máy tính để hiển thị vẽ dạng tín hiệu đo lên hình Mạch vi xử lý nhận giá trị đại lượng điện (điện áp, dòng điện, điện trở, điện dung, cảm kháng tần số, công suất) sau qua mạch đệm chuyển thành điện áp thích hợp tương ứng với ngõ vào analog biến đổi ADC Các giá trị đo truyền máy tính để xử lý thị lên hình Yêu cầu : -Giá trị đo phải xác, thay đổi tầm đo cách linh hoạt -Mạch điện không phức tạp, bảo đảm an tồn, dễ sử dụng -Giá thành khơng mắc II Giới hạn đề tài : Do mạch thiết kế đo đại lượng điện mạch thí nghiệm điện nên bị giới hạn giá trị đo áp (tối đa 12 V DC, 24 Vpp AC), dòng (0.1 A), giá trị điện kháng, tần số, công suất bị giới hạn tầm đo Ta mở rộng để đo giá trị lớn thơng qua biến dịng, biến áp, mạch phân tầm đo với tỷ số biến đổi thích hợp III Sơ đồ khối tổng quát : Khối mạch đệm Khối xử lý B GIỚI THIỆU AT89C51: I TÓM TẮT PHẦN CỨNG : Máy tính & chuyển đổi Giới thiệu họ MCS51 : MCS51 họ IC vi điều khiển (microcontroller) hãng Intel sản xuất Các IC tiêu biểu cho họ MCS51 8031 8051 Cùng với thời gian, người cho đời nhiều loại vi xử lí từ bit đến 64 bit với cải tiến ngày ưu việt tùy theo mục đích sử dụng mà vi xử lí bit tồn Trong luận văn, em sử dụng vi điều khiển AT89C51 AT89C51 vi xử lí bit có chứa nhớ bên có thêm định thời, ngồi giao tiếp nối tiếp trực tiếp với máy tính Với nhớ trong, AT89C51 thích hợp cho chương trình có quy mơ nhỏ, nhiên AT89C51 kết hợp với nhớ ngồi cho chương trình có quy mơ lớn Sau giới thiệu em vi điều khiển AT89C51 có đặc điểm chung sau :  Kbyte ROM  128 byte RAM  port I/O bit  định thời 16 bit  Giao tiếp nối tiếp  64 K khơng gian nhớ chương trìng mở rộng  64 K không gian nhớ liệu mở rộng  Một xử lý luận lý (thao tác bit đơn )  210 bit địa hoá  Bộ nhân/chia s INT1\ INT0\ SERIAL PORT TEMER0 TEMER1 TEMER2 8032\8052 128 byte RAM 8032\8052 INTERRUPT CONTROL OTHER REGISTER ROM 0K: 8031\8032 4K: 8031 8K:8052 128 byte RAM TEMER2 8032\8052 TEMER1 TEMER1 CPU BUS CONTROL SERIAL PORT I/O PORT OSCILATOR ALE\ PSEN\ EA\ RST P0 P P P Address\Data TXD RXD Sơ đồ khối AT89C51 Sơ lược chân AT89C51 : AT89C51 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có cơng dụng kép, đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa Sơ đồ chân AT89C51 : 40 Vcc 30pF 19 XTAL1 P0.7 P0.6 32 33 AD7 AD6 12MHz 18 XTAL2 30pF P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 34 35 36 37 38 39 28 27 26 25 24 23 22 21 AD5 AD4 AD3 AD2 AD1 AD0 AT89C51 RST P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 17 16 15 14 13 12 11 10 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 29 O PSEN 30 ALE 31 O EA RD WR T1 T0 INT1 INT0 TXD RXD Vss A15 A14 A13 A12 A11 A10 A9 A8 a Port : Port port có hai chức chân 32 – 39 Trong thiết kế cỡ nhỏ ( không dùng nhớ mở rộng ) có chức đường I/O Đối với thiết kế lớn với nhớ mở rộng, hợp kênh bus địa bus liệu b Port : Port port I/O chân – Các chân ký hiệu P1.0 , P1.1, P1.2 , … dùng cho giao tiếp với thiết bị cần Port khơng có chức khác, chúng dùng cho giao tiếp với thiết bị c Port : Port port có công dụng kép chân 21 – 28 dùng đường xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng d Port : Port port công dụng kép chân 10 – 17 Các chân port có nhiều chức năng, cơng dụng chuyển đổi có liên hệ với đặc tính đặc biệt AT89C51 bảng sau : Bit Tên Chức chuyển đổi P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu phát cho port nối tiếp P3.2 INT0 Ngắt bên P3.3 INT1 Ngắt bên P3.4 T0 Ngõ vào timer/counter P3.5 T1 Ngõ vào timer/counter P3.6 WR Xung ghi nhớ liệu P3.7 RD Xung đọc nhớ liệu e PSEN ( Program Store Enable ) : AT89C51 có tín hiệu điều khiển PSEN tín hiệu chân 29 Nó tín hiệu điều khiển phép nhớ chương trình mở rộng thường nối đến chân OE (Output Enable ) EPROM phép đọc byte mã lệnh PESEN mức thấp thời gian lấy lệnh Các mã nhị phân chương trình đọc từ EPROM qua bus liệu chốt vào ghi lệnh AT89C51 để giải mã lệnh Khi thi hành chương trình ROM nội ( AT89C51 ) PSENsẽ mức thụ động ( mức cao ) f ALE (Adress Latch Enable ) : Tín hiệu ALE chân 30 tương hợp với thiết bị làm việc với vi xử lý 8085, 8086, 8088 AT89C51 dùng ALE cách tương tự cho việc giải kênh bus địa liệu Khi port dùng chế độ chuyển đổi : vừa bus liệu vừa byte thấp bus địa chỉ, ALE tín hiệu để chốt địa vào ghi bên đầu chu lỳ nhớ Sau đường port dùng đểxuất nhập liệu nửa sau chu kỳ nhớ Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động chip dùng làm nguồn xung nhịp cho phần khác hệ thống Nếu xung nhịp AT89C51 12 MHz ALE có tần số MHz Chỉ ngoại trừ hình thành lệnh MOVX , xung ALE bị Chân làm ngõ vào cho xung lập trình cho EPROM AT89C51 g EA (External Access): Tín hiệu vào EA chân 31 thường mắc lên mức cao (+5V )hoặc mức thấp (GND ) Nếu mức cao, AT89C51 thi hành chương trình từ ROM nội khoảng địa thấp ( 4K) Nếu mức thấp, chương trình thi hành từ nhớ mở rộng Khi dùng 8031, EA nối mức thấp khơng có nhớ chương trình chip Nếu EA nối mức thấp nhớ bên chương trình AT89C51 bị cấm chương trình thi hành từ EPROM mở rộng Người ta dùng EA làm chân cấp điện áp 21V lập trình cho EPROM AT89C51 h RST ( Reset ): Ngõ vào RST chân ngõ reset AT89C51 Khi tín hiệu đưa lên mức cao ( chu kỳ máy ) , ghi bên AT89C51 tải giá trị thích hợp để khởi động hệ thống i Các ngõ vào dao động chíp : Như thấy hình , AT89C51 có dao động chip Nó thường nối với thạch anh hai chân 18 19 Các tụ giữ cần thiết vẽ Tần số thạch anh thông thường 12 MHz j Các chân nguồn : AT89C51 vận hành với nguồn đơn +5V V cc nối vào chân 40 V ss (GND) nối vào chân 20 Tổ chức nhớ : AT89C51 có nhớ theo cấu trúc Harvard : có vùng nhớ riêng biệt cho chương trình liệu Như nói , chương trình liệu bên ( AT89C51); dù chúng mở rộng thành phần lên đến tối đa 64 Kbyte nhớ chương trình 64 Kbyte nhớ liệu Bộ nhớ bên bao gồm ROM RAM chip , RAM chip bao gồm nhiều thành phần : phần lưu trữ đa dụng , phần lưu trữ địa hoá bit , bank ghi ghi chức đặc biệt II CHƯƠNG TRÌNH VI XỬ LÝ CHO AT89C51 : ;******************* Bắt đầu chương trình ************************* org 0h main: mov scon,#52h ;Cổng nối tiếp,mode mov tmod,#21h ;Timer mode 1, timer mode mov th1,#-3;Số đếm nạp lại cho 9600 baud mov a,87h ;Gấp đôi tốc độ baud setb acc.7 mov 87h,a setb tr1 ;Cho timer chạy cung cấp xung nhịp tốc độ 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 ;******************** Dạng sóng tín hiệ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 ;chọn kênh 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 ;tạo xung Start ALE mov r2,#60 djnz r2,$ ;chờ EOC lên movx a,@dptr ;Đọc data acall outchar djnz r4,tiep1 djnz r0,tiep0 tiep3: ljmp nhan ds4: mov r4,#110 mov r0,#10h clr p3.2 ;chọn kênh setb p3.3 clr p3.4 setb p1.2 ;RL4 call delay2ms tiep4: mov r1,#50 mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE mov r2,#60 djnz r2,$ ;chờ EOC lên movx a,@dptr ;Đọc data mov @r0,a inc r0 djnz r1,$ djnz r4,tiep4 tiep5: tiep6: mov r0,#10h mov r4,#110 mov a,@r0 inc r0 acall outchar djnz r4,tiep5 ljmp nhan ;******************* Đo điện áp ************************************* doV: acall inchar cjne a,#'a',vdc vac: setb p3.2 ;chọn kênh setb p3.3 clr p3.4 clr p1.2 ;RL4 call delay2ms jmp v vdc: clr p3.2 ;chọn kênh setb p3.3 clr p3.4 setb p1.2 ;RL4 call delay2ms v: mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;Đọc data acall outchar ;; ljmp nhan ;****************** Đo dòng điện ************************************ doA: acall inchar cjne a,#'a',adc aac: setb p3.2 ;chọn kênh clr p3.3 clr p3.4 clr p1.1 ;RL2 call delay2ms jmp a0 adc: clr p3.2 ;chọn kênh clr p3.3 clr p3.4 setb p1.1 ;RL2 call delay2ms a0: acall inchar ;Chọn tầm đo cjne a,#'1',a2 a1: a2: a3: a4: a5: a6: a7: a8: a81: a9: setb p1.0 call delay2ms jmp a3 cjne a,#'2',a4 clr p1.0 call delay2ms mov dptr,#0000h movx @dptr,a acall delay120us movx a,@dptr acall outchar ljmp nhan mov dptr,#0000h movx @dptr,a acall delay120us movx a,@dptr cjne a,#22,a5 jc a6 jb p1.0,a7 mov r4,a mov a,#'2' acall outchar mov a,r4 acall outchar ljmp nhan jb p1.0,a81 setb p1.0 acall delay2ms mov dptr,#0000h movx @dptr,a acall delay120us movx a,@dptr sjmp a81 cjne a,#202,a8 jnc a9 mov r4,a mov a,#'1' acall outchar mov a,r4 acall outchar sjmp a10 clr p1.0 acall delay2ms mov dptr,#0000h movx @dptr,a ;RL1 ;RL1 ;tạo xung Start ALE ;chờ EOC lên ;Đọc data ;; ;tạo xung Start ALE ;chờ EOC lên ;Đọc data ;(255*0.45/5) ;tạo xung Start ALE ;chờ EOC lên ;Đọc data ;(255*4/5) ;tạo xung Start ALE a10: acall delay120us movx a,@dptr mov r4,a mov a,#'2' acall outchar mov a,r4 acall outchar ljmp nhan ;chờ EOC lên ;Đọc data ;****************** Đo điện trở ************************************ doR: clr p3.2 ;chọn kênh 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 ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;Đọc data acall outchar ljmp nhan rr4: mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;Đọc data jb p1.4,rr8 cjne a,#202,rr6 rr6: jc rr7 setb p1.4 acall delay2ms mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;Đọc data mov r4,a mov a,#'2' acall outchar mov a,r4 acall outchar rr7: rr8: rr9: rr10: ljmp nhan mov r4,a mov a,#'1' acall outchar mov a,r4 acall outchar ljmp nhan cjne a,#22,rr9 jc rr10 mov r4,a mov a,#'2' acall outchar mov a,r4 acall outchar ljmp nhan clr p1.4 acall delay2ms mov dptr,#0000h movx @dptr,a acall delay120us movx a,@dptr mov r4,a mov a,#'1' acall outchar mov a,r4 acall outchar ljmp nhan ;tạo xung Start ALE ;chờ EOC lên ;Đọc data ;****************** Đo điện dung cảm kháng ************************* doCL: clr p1.3 ;Đo Z ,RL3 setb p3.2 clr p3.3 ;chọn kênh setb p3.4 mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;Đọc data acall outchar ljmp nhan ;****************** Đo công suất hệ số công suất ********************** doP: mov r1,#0 mov r0,#0 acall inchar cjne a,#'a',Pdc ;DC /AC Xv: mov b,#1 ;sớm pha c1: c2: Pac: mov th0,#high(-50176) mov tl0,#low(-50176) jb p1.6,$ jnb p1.6,$ setb tr0 jb p1.5,c1 mov b,#2 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,$ 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 acall outchar setb p3.2 setb p3.3 clr p3.4 clr p1.2 call delay2ms mov dptr,#0000h movx @dptr,a acall delay120us movx a,@dptr push acc setb p3.2 clr p3.3 clr p3.4 setb p1.0 call delay2ms clr p1.1 call delay2ms ;Đo độ rộng xung áp ;Nếu dòng sớm pha b=1 ;trễ pha ;Đo độ rộng xung lệch pha ;chọn kênh ,đo áp xoay chiều ;tạo xung Start ALE ;chờ EOC lên ;đọc data ;chọn kênh ,đo dòng xoay chiều mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;đọc data acall outchar ;Dòng xoay chiều pop acc acall outchar ;Áp xoay chiều jmp nhan ; Pdc: clr p3.2 ;chọn kênh ,đo áp chiều setb p3.3 clr p3.4 setb p1.2 call delay2ms mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;đọc data push acc clr p3.2 ;chọn kênh ,đo dòng chiều clr p3.3 clr p3.4 setb p1.0 setb p1.1 call delay2ms mov dptr,#0000h movx @dptr,a ;tạo xung Start ALE acall delay120us ;chờ EOC lên movx a,@dptr ;đọc data acall outchar ; Dòng chiều pop acc acall outchar ; Áp chiều ljmp nhan ;******************* Đo tần số ************************************* 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: F2: mov a,#'y' acall outchar mov a,r1 acall outchar mov a, r4 acall outchar mov a,r3 acall outchar mov a,r2 acall outchar mov a, r6 acall outchar mov a,r5 acall outchar ljmp nhan ; r1 chứa bội số ; byte cao ; byte thấp ; bội số ; byte cao ; byte thấp ;******************* Chương trình ******************************** inchar: jnb ri,$ clr ri mov a,sbuf ret outchar: jnb ti,$ clr ti mov sbuf,a ret T1_on: t10: t11: t12: T2_on: t20: t21: Tf_on: t22: jnb tf0,t11 clr tr0 clr tf0 inc r1 mov th0,#high(-50176) mov tl0,#low(-50176) setb tr0 jb p1.6, t10 clr tr0 clr tf0 ret jnb tf0,t21 clr tr0 clr tf0 inc r0 mov th0,#high(-50176) mov tl0,#low(-50176) setb tr0 jb p1.5, t20 clr tr0 clr tf0 ret jnb tf0,t23 clr tr0 clr tf0 inc r1 ; r1 chứa bội số mov th0,#high(-50176) mov tl0,#low(-50176) setb tr0 t23: t26: Tf_off: t24: t25: t27: cjne r1,#20,t23 jmp t26 jb p1.7, t22 clr tr0 clr tf0 mov r3,tl0 mov r4,th0 ret ;Nếu 2s xem chiều ;byte thấp ;byte cao mov th0,#high(-50176) mov tl0,#low(-50176) setb tr0 jnb tf0,t25 clr tr0 clr tf0 inc r2 ; r2 chứa bội số mov th0,#high(-50176) mov tl0,#low(-50176) setb tr0 cjne r2,#20,t25 jmp t27 jnb p1.7,t24 clr tr0 clr tf0 mov r6,th0 ;byte cao mov r5,tl0 ;byte thấp ret delay120us: delay: mov r2,#60 djnz r2,delay ret delay2ms: lap: end mov r3,#10 mov r2,#124 djnz r2,$ djnz r3,lap ret ;250us ;2.5ms III MẠCH THIẾT KẾ : +5V P35 P34 P33 P32 SW4 15 14 13 12 30p C18 15k 40 RESET CLK12 18 X2 12M GND 30p 31 X1 EA/VP VSS 19 +5V C5 1u 1u JP10 C2- 15 GND V- SGA15 A14 A13 MAX232 32 33 34 35 36 37 38 39 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 C19 GND C6 JP15 +5V GND -5V 1u D7 D6 D5 D4 D3 D2 D1 D0 +12V GND -12V +5V 25 24 23 GND U20A /WR A CLR GND CLK12 +12V -12V U43 74LS393 ADC0809 +5V VREF /CS0 /RD U20B /CS0 C37 +12V 2k7 -12v +5V JP17 R2OUT T1IN 10 11 12 13 14 15 16 17 29 30 20 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 PSEN 19 18 XTAL1 XTAL2 RST ALE/PROG GND DA8 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA1 DA2 DA3 DA4 DA5 DA6 DA7 DA8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 14 15 31 EA/VPP R85 IOUT IOUT 16 COMP JP19 VR- VV+ -12v C23 0.1u -5V C24 +5V R79 R JP18 +12v +5V C15 SW3 CAP 1 +5V +5V R58 4K7 JP2 3 13 C21 0.1u 30p LM741 C22 0.01u VR+ DAC0808 R56 2k7 30p +5V A8 A7 A6 A5 A4 A3 A2 A1 C25 12M Y3 AT89C51 JP12 R57 2k7 U19 12 11 10 39 38 37 36 35 34 33 32 JP13 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 VCC U26 40 U17 D20 74LS02/SO R59 21 22 23 24 25 26 27 28 2 74LS138 JP22 R86 R R87 74LS02/SO LM741_0 JP1 /CS0 14 VCC 13 15 14 13 12 11 10 QA QB QC QD G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 14 16 A B C OE EOC +5V U15A VREF HEADER 3X2 +5V U11 VCC GND A13 A14 A15 3 10 CLK HEADER 3X2 JP14 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 12 16 REF+ REF- START ALE +5V JP20 VCC A0 A1 A2 22 +5V 26 27 28 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 P32 P33 P34 D0 D1 D2 D3 D4 D5 D6 D7 R80 R GND Mạch vi xử lý giao tiếp máy tính HEADER JP26 +12V GND -12V 17 14 15 18 19 20 21 +12V GND -12V 14 D0 D1 D2 D3 D4 D5 D6 D7 11 U14 4K7 JP5 +5V GND -5V HEADER 3X2 JP21 20 R84 JP25 +5V GND -5V -5V HEADER 3X2 8051 +5V +5V GND P1 DCD DSR RXD RTS TXD CTS DTR RI C7 + /WR /RD 28 27 26 25 24 23 22 21 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 12 10 JP16 - 10 11 30 29 16 17 RXD TXD ALE/P PSEN WR RD T1 T0 INT1 INT0 10u P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 R2OUT T1OUT RXD TXD TXD T1IN - 100 R55 10 12 14 16 14 13 11 R2OUT T1OUT T2OUT R1IN R2IN T1IN V+ C1R1OUT T2IN C2+ P10 P17 P16 P15 P14 P13 P12 P11 P10 VCC 11 13 15JP8 C+ C4 1u + P17 P16 P15 P14 P13 P12 P11 +5V U8 JP7 U9 VCC 16 +5V 4 +12V GND -12V C13 R75 +12V D18 +12V 2 R72 R41 10R U2 - + LM741_0 C26 D15 RELAY SPDT I+ D16 R87 R88 R R RELAY SPDT D11 R74 R RL3 R64 R89 R R RL4 Q5 D44TD3 +12V R63 R37 1K 2 U39A C29 D20 + C R +12V LF353 R17 U29 JH1 R103 + P17 OP07_0 + R93 R 1 U31 74LS373 13 14 17 18 D0 D1 D2 D3 D4 D5 D6 D7 OC G P10 P11 P12 P13 P14 11 R R102 R +12V + IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 P15 P16 P17 11 13 15 10 12 14 16 P10 P11 P12 P13 P14 P15 P16 P17 HEADER 8X2 U4B R100 JP6 11 13 15 10 12 14 16 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 HEADER 8X2 +12V GND -12V JP5 +5V -12V -12V XAP JP7 +12V GND -12V HEADER 3X2 LF353_0 C28 C 1N1183A U+ - IN3 D21 -12V Q0 Q1 Q2 12 Q3 15 Q4 16 Q5 19 Q6 Q7 R94 1N1183A U3B R19 P15 SN7408 LF353_2 +12V RL0 RL1 RL2 RL3 RL4 GND - XAP P16 14 20 RELAY SPDT K4 XDO 10 +5V - R81 -12V -12V IN6 OP07_0 +5V R92 R R18 U4A R54 - IN2 R +12V U7 + R91 Q3 R77 R HEADER 2X2 HEADER 2X2 +12V LF353 R R16 +12V R85 R39 10K JP11 RL2 IN4 R 2 D13 LF353_0 RELAY SPDT K5 XDO R R97 - R82 R90 - +12V JP10 U38 R U8B + +12V OP07_0 U3A +12V D17 -12V + Q4 R +12V + R C30 C 1N1183A -12V IN5 R D23 R 3 C -12V + -12V R98 1N1183A +12V R86 C -12V LF353 U- LF353_0 - R -12V IN1 C27 D22 - R C U1B 10K 220n +12V C14 R73 R40 1R +12V R61 C31 -12V R44 10K LM741_0 R K2 U8A + LF353 K3 + R +12V - R 3 R49 VCC R U5 - K1 U1A + R84 +12V R83 +12V 10K IN0 R43 10K R76 R +12V R60 R71 I- Q2 R80 1K RL1 RL0 1 RELAY SPDT HEADER 2X2 R79 Q1 1 1K 10K D19 JP9 JP12 R101 220n R R99 R -12V +5V GND -5V JP8 HEADER 3X2 Mạch đệm lấy tín hiệu từ ngồi vi xử lý +5V GND -5V R95 R R96 R ... nghiệm mạch điện đo đại lượng điện, có giao diện nối tiếp với máy tính để hiển thị vẽ dạng tín hiệu đo lên hình Mạch vi xử lý nhận giá trị đại lượng điện (điện áp, dòng điện, điện trở, điện dung,... tầm đo cách linh hoạt -Mạch điện không phức tạp, bảo đảm an tồn, dễ sử dụng -Giá thành khơng q mắc II Giới hạn đề tài : Do mạch thiết kế đo đại lượng điện mạch thí nghiệm điện nên bị giới hạn giá... VÀ ĐIỆN TRỞ : 59 Đo điện áp : .59 Đo dòng điện : 60 Đo điện dung : 60 Đo điện cảm : 61 Đo điện trở : 62 II ĐO TẦN SỐ,

Ngày đăng: 27/02/2022, 10:00

Mục lục

  • LUẬN VĂN TỐT NGHIỆP

  • A. ĐẶT VẤN ĐỀ :

    • I. Mục đích u cầu của đề tài :

    • II. Giới hạn của đề tài :

    • III. Sơ đồ khối tổng qt :

    • B. GIỚI THIỆU AT89C51:

      • I. TĨM TẮT PHẦN CỨNG :

        • 1. Giới thiệu họ MCS51 :

        • 2. Sơ lược về các chân của AT89C51 :

        • 3. Tổ chức bộ nhớ :

        • 4. Các thanh ghi chức năng đặc biệt :

        • 6. Ngõ vào tín hiệu RESET:

        • 2. Thanh ghi chế độ Timer (TMOD) :

        • 3. Thanh ghi điều khiển timer (TCON) :

        • 4. Chế độ timer :

          • ​ a. Chế độ 0 – Chế độ TIMER 13 bit :

          • ​ b. Chế độ 1 – Chế độ TIMER 16 bit :

          • ​ c. Chế độ 2 – Chế độ tự động nạp lại 8 bit:

          • ​ d. Chế độ 3 – Chế độ tách timer:

          • 5. Nguồn tạo xung nhòp :

          • 6. Bắt đầu, dừng và điều khiển các Timer:

          • 7. Khởi động và truy xuất các thanh ghi timer :

          • 8. Các khoảng ngắn và các khoảng dài:

          • 2. Tổ chức ngắt của AT89C51:

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan