1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỀ tài ỨNG DỤNG MẠNG VI xử lí điều KHIỂN dây TRUYỀN sản XUẤT

106 283 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 106
Dung lượng 1,3 MB

Nội dung

LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA LỜI CẢM ƠN! Em xin chân thành cảm ơn q thầy cô Trường Đại Học Bách Khoa TP Hồ Chí Minh truyền đạt cho em nhiều kiến thức q báu suốt thời gian học tập Em xin chân thành cảm ơn thầy Nguyễn Chí Nghóa tận tình hướng dẫn,truyền đạt cho em nhiều kiến thức kinh nghiệm thực tiễn trình thực luận văn tốt nghiệp Xin cảm ơn gia đình bạn bè động viên, giúp đỡ suốt trình hoàn thành luận văn TP HỒ CHÍ MINH THÁNG 1/2002 Sinh viên : PHẠM NGỌC CƯỜNG SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA LỜI GIỚI THIỆU Cùng với phát triển khoa học kỹ thuật công nghệ,việc ứng dụng thành tựu khoa học kỹ thuật vào sản xuất ngày mở rộng Ở nước ta ngành điều khiển tự động mẻ bước ứng dụng vào nhiều ngành sản xuất Với đề tài này, em sâu vào tìm hiểu ứng dụng Mạng Vi Xử Lí - Bus I2C ( Rom nối tiếp Seeprom AT24C0X) kết nối PC để thu thập - xử lí số liệu từ điều khiển dây chuyền sản xuất tự động Vì thời gian có hạn đề tài chắn nhiều thiếu sót Rất mong góp ý bổ sung để hoàn thiện thêm Sinh viên thực PHẠM NGỌC CƯỜNG SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA Nhận Xét Của Giáo Viên Hướng Dẫn MỤC LỤC SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA Trang Chương I : Vi Điều Khiển 89C51 Chương II : Chuẩn Truyền Thông RS-485 Adapter Chuyển Đổi RS232 – RS485 Chương III : Bus I2C - Seeprom AT24C0X Chương IV : Giới Thiệu Dây Chuyền Sản Xuất Chương V : Sơ Đồ Giải Thuật Chương Trình Điều Khiển Báo Cáo Kết Quả Thi Công Chương I : Vi Điều Khiển SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA I VI ĐIỀU KHIỂN HỌ MCS-51 MCS-51TM họ vi điều khiển hãng INTEL sản xuất vào đầu năm 80 ngày trở thành chuẩn công nghiệp Bắt đầu từ IC tiêu biểu 8051 cho thấy khả thích hợp với ứng dụng mang tính điều khiển Việc xử lí byte phép toán số học cấu trúc liệu nhỏ thực nhiều chế độ truy xuất liệu nhanh RAM nội Tập lệnh cung cấp tiện dụng lệnh số học bit gồm lệnh nhân lệnh chia Nó cung cấp hỗ trợ mở rộng on-chip dùng cho biến bit kiểu liệu riêng cho phép quản lí kiểm tra bit trực tiếp điều khiển hệ thống logic đòi hỏi xử lí luận lí Sau bảng so sánh IC họ MCS-51TM : TÊN LINH KIỆN 8051 8031 8751 8951 8052 8032 8752 8952 BỘ NHỚ CHƯƠNGùBỘ NHỚ DỮ LIỆU TIMER TRÌNH ON CHIP ON CHIP KB MROM 128 Bytes KB 128 Bytes KB EPROM 128 Bytes KB Flash ROM 128 bytes KB MROM 256 Bytes KB 256 Bytes KB EPROM 256 Bytes KB Flash ROM 256 Bytes II VI ĐIỀU KHIỂN AT89C51 Do họ MCS-51TM trở thành chuẩn công nghiệp nên có nhiều hãng sản xuất nó, điển hình ATMEL Corporation Hãng kết hợp nhiều tính dựa tảng kỹ thuật để tạo vi điều khiển tương thích với MCS-51TM mạnh mẽ AT89C51 vi điều khiển bit ATMEL sản xuất, chế tạo theo công nghệ CMOS, có chất lượng cao, công suất thấp với KB Flash (flash programmable and erasable read only memory) Thiết bò chế tạo cách sử dụng kỹ thuật nhớ không bốc mật độ cao ATMEL tương thích với chuẩn công nghiệp MCS-51TM tập lệnh chân Flash on-chip cho phép nhớ lập trình lập trình hệ thống lập trình viên bình thường Bằng cách nối CPU bit với Flash chip đơn, AT89C51 vi điều khiển mạnh (có công suất lớn), cung SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA cấp linh động cao giải pháp giá nhiều ứng dụng vi điều khiển Các đặc điểm chủ yếu AT89C51 : TM  Tương thích hoàn toàn với họ MCS-51 Intel  Bộ nhớ chương trình 4K Byte thuộc loại Flash Memory  64 K không gian nhớ chương trình mở rộng  64 K không gian nhớ liệu mở rộng  Độ bền : 1000 lần ghi/xóa  Tần số hoạt động : Hz đến 24 MHz  chế độ khóa nhơ ù chương trình  128 x 8-Bit RAM nội  32 đường I/O lập trình (4 port)  timer/counter 16-bit  nguồn ngắt  Đường truyền nhận nối tiếp lập trình  Chế độ hạ nguồn chế độ lười tiêu tốn công suất thấp  Xử lí Boolean (hoạt động bit đơn)  210 vò trí nhớ đònh vò bit  µs cho hoạt động nhân chia Cấu tạo chân Tùy theo khả (về kinh tế, kỹ thuật, …) mà nhà sản xuất sản phẩm ứng dụng chọn kiểu chân ATMEL đưa SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA Sơ đồ khối Mô tả chức chân Vcc : áp nguồn GND : đất Port : port I/O 8-bit hai chiều, cực máng hở Khi xuất ra, chân port lái đầu vào TTL Nếu ghi mức chân port chân dùng đầu vào trở kháng cao Port cấu hình thành bus multiplex đòa thấp liệu truy cập chương trình hay liệu từ bên Trong chế độ này, port có điện trở pullup nội Port nhận byte mã chương trình lập trình Flash xuất mã chương trình kiểm tra, cần có điện trở pullup bên SVTH : PHẠM NGỌC CƯỜNG lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Port : port I/O 8-bit hai chiều có pullup nội Đầu port lái đầu vào TTL Khi viết mức chân port chúng kéo lên có điện trở nội dùng làm đầu vào Khi vai trò cổng nhập, chân port bò kéo xuống thấp đổ dòng có nội trở kéo lên Port nhận byte đòa thấp lập trình Flash kiểm tra Flash Port : port I/O 8-bit hai chiều có pullup nội Đầu port lái đầu vào TTL Khi viết mức chân port chúng kéo lên có điện trở nội dùng làm đầu vào Khi vai trò cổng nhập, chân port bò kéo xuống thấp đổ dòng có nội trở kéo lên Port phát byte đòa cao nhận lệnh từ nhớ chương trình lúc truy xuất đến nhớ liệu mà có sử dụng đòa 16 bit (MOVX A, @DPTR) Trong ứng dụng dùng điện trở nội kéo lên mạnh xuất Khi truy xuất nhớ liệu dùng đòa bit, port phát nội dung ghi P2 Port nhận byte đòa cao lúc lập trình Flash lúc kiểm tra Flash Port : port I/O 8-bit hai chiều có pullup nội Đầu port lái đầu vào TTL Khi viết mức chân port chúng kéo lên có điện trở nội dùng làm đầu vào Khi vai trò cổng nhập, chân port bò kéo xuống thấp đổ dòng có nội trở kéo lên Port port có công dụng kép , chân port có nhiều chức đặc biệt họ MSC-51 liệt kê bảng sau: BIT P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 TÊN ĐỊA CHỈ BITCHỨC NĂNG THAY THẾ RXD B0H Nhận dừ liệu cho port nối tiếp TXD B1H Truyền dừ liệu cho port nối tiếp INT0 B2H Ngắt INT1 B3H Ngắt T0 B4H Ngõ vào từ bên cho timer/counter T1 B5H Ngõ vào từ bên cho timer/counter WR B6H Xung ghi nhớ liệu RD B7H Xung đọc nhớ liệu Port nhận vài tín hiệu điều khiển lúc lập trình Flash lúc kiểm tra Flash SVTH : PHẠM NGỌC CƯỜNG 31 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA RST : ngõ vào Reset Khi ngõ đưa lên cao (trong hai chu kì máy), ghi bên AT89C51 tải giá trò thích hợp để khởi động hệ thống ALE/PROG (Address Latch Enable) : ALE xung xuất cho phép chốt byte đòa thấp truy cập nhớ Chân ngõ vào xung lập trình (PROG) lập trình Flash Trong hoạt động bình thường, ALE phát xung với tần số 1/6 tần số dao động on-chip dùng xung thời gian chuẩn bên Tuy nhiên, cần ý xung ALE bò truy cập nhớ Có thể hủy bỏ chức ALE cách set bit ghi vò trí 8EH Một bit set, ALE tích cực có lệnh MOVX MOVC Nếu lệnh ALE mức cao Việc set bit ghi vò trí 8EH không làm ảnh hưởng đến vi điều khiển truy cập nhớ PSEN (Program Store Enable) : PSEN xung strobe báo hiệu việc đọc nhớ chương trình ngoài, PSEN tích cực hai lần (mức thấp) chu kì máy, ngoại trừ hai xung PSEN bò truy xuất liệu Khi thi hành chương trình RAM nội, PSEN mức thụ động (mức cao) EA/VPP (External Access) : EA ngõ vào phép truy xuất nhớ chương trình từ bên nối với GND Khi EA treo lên nguồn VCC, chương trình thực thi ROM nội Chân nhận điện áp 12v (VPP) lập trình Flash XTAL1 : Đầu vào khuếch đại dao động đảo đầu vào đến mạch tạo xung clock nội XTAL2 : Đầu khuếch đại dao động đảo Tổ chức nhớ : Bộ nhớ bên AT89C51 gồm có : 4K ROM chương trình và128 byte nhớ RAM on-chip Trong đó, 128 byte bao gồm nhiều thành phần :phần lưu trữ đa dụng ,phần lưu trữ đòa hoá tưng bit ,các bank ghi ghi chức đặc biệt FFFF FF 00 SVTH : PHẠM NGỌC CƯỜNG CODE Memory Enable via PSEN FFFF DATA Memory Enable via RD & WR 32 lUẬN VĂN TỐT NGHIỆP On - Chip Memory 0000 gVHD : nGUYỄN CHÍ NGHĨA 0000 External Memory SVTH : PHẠM NGỌC CƯỜNG 33 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA ANL A,#128 ;CHE BIT RR A ;SAU BIT (SDA) ADD A,#3FH MOV P1,A SETB P1.7 CLR P1.7 MOV A,MEM20 RL A ;BIT TIEP THEO MOV MEM20,A DJNZ MEM19,LAP ;BO DEM GIAM SETB P1.6 CLR P1.7 SETB P1.6 SETB P1.7 CLR P1.7 RET DOCVAO: SETB P1.6 ;SDA = CLR P1.7 ;SCL = MOV MEM20,#0 MOV MEM19,#8 LAP1: SETB P1.7 ;SCL = MOV A,MEM20 RL A MOV B,A MOV A,P1 ANL A,#64 ;DOC SDA RL A RL A ;BIT ADD A,B MOV MEM20,A ;LUU TRU CLR P1.7 ;SCL = DJNZ MEM19,LAP1 ;8 LAN RET DOCROM: ACALL I2CSTART MOV A,#10100000B ;DIA CHI AT24C02,VIET SVTH : PHẠM NGỌC CƯỜNG 115 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA ACALL XUATRA MOV A,#0 ;DIA CHI BAT DAU ACALL XUATRA ACALL I2CSTOP ACALL I2CSTART MOV A,#10100001B ;DIA CHI AT24C02,DOC ACALL XUATRA ACALL DOCVAO ACALL NACK ACALL I2CSTOP RET DELAY100MS: PUSH B MOV B,#2 LAP2: MOV TL0,#LOW(-50000) MOV TH0,#HIGH(-50000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ B,LAP2 POP B RET END SVTH : PHẠM NGỌC CƯỜNG 116 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA CHƯƠNG TRÌNH VISUAL BASIC Option Explicit Dim data(1 To 12) As Byte Dim Memout(1 To 4) As Byte Dim Memin(1 To 4) As Byte Dim Mem(1 To 12) As Byte Dim Datain() As Byte Dim Dataout(0) As Byte Dim Bufferin As Variant Dim Bufferout As Variant Dim lap As Boolean Private Sub cmddisplay_Click() Load Form2 Form2.Show End Sub Private Sub cmdStart_Click() Dim i, j, k As Integer Dim x, y, z As Integer Dim CY As Boolean For i = To 12 Mem(i) = i Next i For i = To 12 data(i) = Datacd(i) = Next i x=0 y=0 z=0 'Vong lap chuong trinh chinh lap = True SVTH : PHẠM NGỌC CƯỜNG 117 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Do 'Cho tin hieu co bang tai tu VXL4 Do CY = False DoEvents If (MSComm1.InBufferCount >= 1) Then Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) = &H44 Then CY = True End If End If Loop Until CY = True Beep For i = To 12 Mem(i) = Mem(i) - If Mem(i) = Then Mem(i) = 12 End If Next i Memin(1) = Mem(1) Memout(1) = Mem(2) Memin(2) = Mem(4) Memout(2) = Mem(5) Memin(3) = Mem(7) Memout(3) = Mem(8) Memin(4) = Mem(10) Memout(4) = Mem(11) 'Hien thi 12 san pham For i = To 12 If data(Mem(i)) Then Frame1(i - 1).Visible = True Text1(i - 1).Text = Mem(i) SVTH : PHẠM NGỌC CƯỜNG 118 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Text2(i - 1).Text = data(Mem(i)) If (Datacd(data(Mem(i))) And &H1) = &H1 Then Check1(i - 1).Value = Else: Check1(i - 1).Value = End If If (Datacd(data(Mem(i))) And &H2) = &H2 Then Check2(i - 1).Value = Else: Check2(i - 1).Value = End If If (Datacd(data(Mem(i))) And &H4) = &H4 Then Check3(i - 1).Value = Else: Check3(i - 1).Value = End If Else: Frame1(i - 1).Visible = False End If Next i For i = To 12 If data(Mem(i)) Then Shape3(i - 1).Visible = True Else: Shape3(i - 1).Visible = False End If Next i 'Dieu khien vao cong doan If data(Memin(1)) Then 'Co san pham 'Cong doan lam chua If (Datacd(data(Memin(1))) And &H1) &H1 Then Dataout(0) = &H11 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = SVTH : PHẠM NGỌC CƯỜNG 119 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) &H41 Then data(Memin(1)) = x=x+1 If x > Then x=4 End If End If End If End If 'Dieu khien vao cong doan If data(Memin(2)) Then 'Co san pham 'Cong doan lam chua If (Datacd(data(Memin(2))) And &H2) &H2 Then Dataout(0) = &H12 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) &H42 Then data(Memin(2)) = y=y+1 If y > Then y=4 SVTH : PHẠM NGỌC CƯỜNG 120 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA End If End If End If End If 'Dieu khien vao cong doan If data(Memin(3)) Then 'Co san pham 'Cong doan lam chua If (Datacd(data(Memin(3))) And &H4) &H4 Then Dataout(0) = &H13 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) &H43 Then data(Memin(3)) = z=z+1 If z > Then z=4 End If End If End If End If 'Dieu khien vao cong doan If data(Memin(4)) Then 'Co san pham 'San pham lam xong cong dan chua ? If (Datacd(data(Memin(4))) And &H7) = &H7 Then Dataout(0) = &H14 Bufferout = Dataout() MSComm1.Output = Bufferout SVTH : PHẠM NGỌC CƯỜNG 121 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = data(Memin(4)) = End If End If 'Dieu khien cong doan If data(Memout(1)) = Then 'Khong co san pham Dataout(0) = &H21 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) = &H31 Then data(Memout(1)) = Datain(2) Datacd(data(Memout(1))) = Datacd(data(Memout(1))) Or &H1 x=x-1 If x < Then x=0 End If End If End If 'Dieu khien cong doan If data(Memout(2)) = Then 'Khong co san pham SVTH : PHẠM NGỌC CƯỜNG 122 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Dataout(0) = &H22 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) = &H32 Then data(Memout(2)) = Datain(2) Datacd(data(Memout(2))) = Datacd(data(Memout(2))) Or &H2 y=y-1 If y < Then y=0 End If End If End If 'Dieu khien cong doan If data(Memout(3)) = Then 'Khong co san pham Dataout(0) = &H23 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) = &H33 Then data(Memout(3)) = Datain(2) Datacd(data(Memout(3))) = Datacd(data(Memout(3))) Or &H4 SVTH : PHẠM NGỌC CƯỜNG 123 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA z=z-1 If z < Then z=0 End If End If End If 'Dieu khien cong doan If data(Memout(4)) Then 'Co san pham Dataout(0) = 79 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Else: 'Khong co san pham Dataout(0) = &H24 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = Do DoEvents Loop Until MSComm1.InBufferCount >= Bufferin = MSComm1.Input Datain() = Bufferin MSComm1.InBufferCount = If Datain(0) = &H34 Then data(Memout(4)) = Datain(2) Datacd(data(Memout(4))) = End If Dataout(0) = 79 Bufferout = Dataout() MSComm1.Output = Bufferout MSComm1.OutBufferCount = End If 'Hien thi 12 san pham sau da dieu khien Vao va Ra For i = To 12 SVTH : PHẠM NGỌC CƯỜNG 124 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA If data(Mem(i)) Then Frame1(i - 1).Visible = True Text1(i - 1).Text = Mem(i) Text2(i - 1).Text = data(Mem(i)) If (Datacd(data(Mem(i))) And &H1) = &H1 Then Check1(i - 1).Value = Else: Check1(i - 1).Value = End If If (Datacd(data(Mem(i))) And &H2) = &H2 Then Check2(i - 1).Value = Else: Check2(i - 1).Value = End If If (Datacd(data(Mem(i))) And &H4) = &H4 Then Check3(i - 1).Value = Else: Check3(i - 1).Value = End If Else: Frame1(i - 1).Visible = False End If Next i For i = To 12 If data(Mem(i)) Then Shape3(i - 1).Visible = True Else: Shape3(i - 1).Visible = False End If Next i 'Hien thi so san pham tai cong doan Select Case x Case For i = To Shape4(i).Visible = False Next i SVTH : PHẠM NGỌC CƯỜNG 125 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA Case Shape4(0).Visible = True Shape4(1).Visible = False Shape4(2).Visible = False Shape4(3).Visible = False Case Shape4(0).Visible = True Shape4(1).Visible = True Shape4(2).Visible = False Shape4(3).Visible = False Case For i = To Shape4(i).Visible = True Next i Shape4(3).Visible = False Case For i = To Shape4(i).Visible = True Next i End Select 'Hien thi so san pham tai cong doan Select Case y Case For i = To Shape5(i).Visible = False Next i Case Shape5(0).Visible = True Shape5(1).Visible = False Shape5(2).Visible = False Shape5(3).Visible = False Case Shape5(0).Visible = True Shape5(1).Visible = True Shape5(2).Visible = False Shape5(3).Visible = False Case SVTH : PHẠM NGỌC CƯỜNG 126 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA For i = To Shape5(i).Visible = True Next i Shape5(3).Visible = False Case For i = To Shape5(i).Visible = True Next i End Select 'Hien thi so san pham tai cong doan Select Case z Case For i = To Shape6(i).Visible = False Next i Case Shape6(0).Visible = True Shape6(1).Visible = False Shape6(2).Visible = False Shape6(3).Visible = False Case Shape6(0).Visible = True Shape6(1).Visible = True Shape6(2).Visible = False Shape6(3).Visible = False Case For i = To Shape6(i).Visible = True Next i Shape6(3).Visible = False Case For i = To Shape6(i).Visible = True Next i End Select 'Kiem tra Error (neu co nhieu san pham cung ma Rom tren bang tai) SVTH : PHẠM NGỌC CƯỜNG 127 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA k=2 For i = To 11 For j = k To 12 If (data(i) = data(j)) And data(i) Then MsgBox "Co san pham cung ma Rom", , "Error" End If Next j k=k+1 Next i Loop Until lap = False End Sub Private Sub cmdStop_Click() lap = False Unload Form1 End Sub Private Sub Form_Load() MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen = MSComm1.InputMode = comInputModeText MSComm1.CommPort = MSComm1.PortOpen = True End Sub Private Sub Unload_form() MSComm1.PortOpen = False End Sub SVTH : PHẠM NGỌC CƯỜNG 128 lUẬN VĂN TỐT NGHIỆP gVHD : nGUYỄN CHÍ NGHĨA BÁO CÁO KẾT QUẢ THI CÔNG * Chương trình viết đọc Seeprom AT24C02 : Viết đọc giá trò * Chương trình điều khiển dây chuyền sản suất : Chương trình điều khiển chạy yêu cầu đặt ban đầu dây chuyền sản xuất SVTH : PHẠM NGỌC CƯỜNG 129 [...]... Instruction): 8951 chứa một bộ xử lí luận lý đầy đủ cho các hoạt động bit đơn, đây là một điểm mạnh của họ vi điều khiển MSC-51 mà các họ vi điều khiển khác không có RAM nội chứa 128 bit đơn vò và các vùng nhớ các thanh ghi chức năng đặc biệt cấp lên đến 128 đơn vò khác Tất cả các đường Port là bit đònh vò, mỗi đường có thể được xử lí như Port đơn vò riêng biệt Cách truy xuất các bit này không chỉ các... như là chuỗi giao tiếp truyền thong giữa máy tính và một thiết bò ngoại vi ( modem , máy tính khác , máy vẽ , mouse …)  Cổng giao tiếp RS-232C là giao diện phổ biến rộng rãi nhất Máy tính PC thường dùng chuột cho cổng COM1 , COM2 để trống cho các ứng dụng khác Cùng với cổng máy in , cổng nối tiếp RS-232C được sử dụng rất thuận tiện cho mục đích đo lường và điều khiển  Vi c truyền dữ liệu qua RS-232C... RS485 đáp ứng các yêu cầu này Chuẩn RS485 cho phép 32 mạch truyền và mạch nhận cùng nối vào đường dây bus đơn (với bộ repeater tự động và các bộ truyền / nhận trở kháng cao, giới hạn này có thể mở rộng lên đến hàng trăm node trên một mạng) Bên cạnh đó , RS485 còn có thể chòu được các xung đột data(data collision) và các điều kiện lỗi trên đường dây bus Để giải quyết vấn đề xung đột data thường xuất hiện... ngoại vi vẫn còn tích cực Chế độ này được tạo ra bằng phần mềm Nội dung của RAM on-chip và giá trò của các SFR vẫn được giữ nguyên Kết thúc chế độ lười bằng cách kích hoạt một ngắt hoặc reset phần cứng Chú rằng khi kết thúc chế độ lười bằng cách reset phần cứng thì thông thường vi điều khiển sẽ gọi lại chương trình mà nó vừa thoát, cho đến hai chu kỳ máy trước khi thuật toán reset chiếm quyền điều khiển. .. Vấn đề này làm giới hạn chiều dài đường truyền Với tốc độ truyền 19200 baud ta có thể truyền xa nhất là 50ft ( khoảng 15m)  Một trong những vấn đề quan trọng cần chú ý khi sử dụng RS-232C là mạch thu phát không cân bằng ( đơn cực ) Điều này có nghóa là tín hiệu vào ra được so với đất Vì vậy , nếu điện thế tại hai điểm đất của hai mạch thu phát không bằng nhau thì sẽ có dòng điện chạy trên trên dây. .. hạn đường truyền III RS-422/485 : Khi thực hiện thông tin ở tốc độ cao , hoặc qua một khoảng cách lớn trong môi trường thực , phương pháp đơn cực (single-ended) thường không thích hợp Vi c truyền dẫn dữ liệu vi sai ( hay tín hiệu vi sai cân bằng) cho kết quả tốt hơn trong phần lớn trường hợp Tín hiệu vi sai có thể loại bỏ ảnh hưởng do sự thay đổi trong vi c nối đất và giảm nhiễu có thể xuất hiện... register): - Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển cho Timer 0 và Timer 1 Thanh ghi TCON có bit đònh vò Hoạt động của từng bit được tóm tắt như sau : Bit Symbol TCON.7 TF1 Bit Address 8FH TCON.6 TR1 8EH TCON.5 TF0 8DH SVTH : PHẠM NGỌC CƯỜNG Description Cờ tràn Timer 1 được set bởi phần cứng ở sự tràn, được xóa bởi phần mềm hoặc bởi phần cứng khi các vectơ xử lí đến thủ tục phục... bit được điều khiển bởi các bit của Timer 0 TH0 tương tự nhưng được điều khiển bởi các bit của mode Timer 1 Timer 1 : Được ngừng lại - TMOD không có bit đònh vò, nó thường được LOAD một lần bởi phần mềm ở đầu chương trình để khởi động mode Timer Sau đó sự đònh giờ có thể dừng lại, được khởi động lại như thế bởi sự truy xuất các thanh ghi chức năng đặc biệt của Timer khác b Thanh ghi điều khiển timer... SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở điạ chỉ 99H nhận dữ liệu để thu hoặc phát Thanh ghi điều khiển port nối tiếp (SCON) ở điạ chỉ 98H là thanh ghi có điạ chỉ bit chứa các bit trạng thái và các bit điều khiển Các bit điều khiển đặt chế độ hoạt động cho port nối tiếp, và các bit trạng thái Báo cáo kết thúc vi c phát hoặc thu ký tự Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể... (A3A0)(A7A4) (An + 1) (An); n = 06 (C) (A7) (A0) (C) : Đổi chổ 4 bit thấp và 4 bit cao của A cho c Các lệnh rẽ nhánh: Có nhiều lệnh để điều khiển lên chương trình bao gồm vi c gọi hoặc trả lại từ chương trình con hoặc chia nhánh có điều kiện hay không có điều kiện Tất cả các lệnh rẽ nhánh đều không ảnh hưởng đến cờ Ta có thể đònh nhản cần nhảy tới mà không cần rõ đòa chỉ, trình biên dòch sẽ đặt đòa chỉ nơi cần ... nghệ ,vi c ứng dụng thành tựu khoa học kỹ thuật vào sản xuất ngày mở rộng Ở nước ta ngành điều khiển tự động mẻ bước ứng dụng vào nhiều ngành sản xuất Với đề tài này, em sâu vào tìm hiểu ứng dụng Mạng. .. hiểu ứng dụng Mạng Vi Xử Lí - Bus I2C ( Rom nối tiếp Seeprom AT24C0X) kết nối PC để thu thập - xử lí số liệu từ điều khiển dây chuyền sản xuất tự động Vì thời gian có hạn đề tài chắn nhiều thiếu... Chương Trình Điều Khiển Báo Cáo Kết Quả Thi Công Chương I : Vi Điều Khiển SVTH : PHẠM NGỌC CƯỜNG LUẬN VĂN TỐT NGHIỆP GVHD : NGUYỄN CHÍ NGHĨA I VI ĐIỀU KHIỂN HỌ MCS-51 MCS-51TM họ vi điều khiển hãng

Ngày đăng: 20/11/2015, 00:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w