Đồ án thiết kế hệ thống điều khiển tốc độ và đảo chiều động cơ điện một chiều sử dụng vi điều khiển PIC 16F877A, do các sinh viên khoa Điện trường đại học Bách Khoa Đà Nẵng. Đồ án đã được hướng dẫn bởi thầy Lê Tiến Dũng_phó khoa Điện của trường Đại học Bách Khoa Đà nẵng
Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng LỜI MỞ ĐẦU Với phát triển không ngừng khoa học kỹ thuật, đặc biệt ngành điện tử ứng dụng nhiều công nghiệp Trong lĩnh vực điều khiển, từ công nghệ chế tạo loại vi mạch lập trình phát triển đem đến kỹ thuật điều khiển đại có nhiều ưu điểm so với việc sử dụng mạch điều khiển lắp ráp linh kiện rời kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy, công suất tiêu thụ nhỏ Ngày nay, lĩnh vực điều khiển ứng dụng rộng rãi thiết bị, sản phẩm phục vụ cho nhu cầu sinh hoạt ngày người máy giặt, đồng hồ báo giờ, cân điện tử… giúp cho đời sống ngày đại tiện nghi Truyền động điện chiều sử dụng cho máy có yêu cầu cao điều tốc độ moomen Về phương diện điều chỉnh tốc độ, đông điện chiều có nhiều ưu việt so với loại động khác, có khả điều chỉnh tốc độ dễ dàng mà cấu trúc mạch lực, mạch điều khiển đơn giản đồng thời lại đạt chất lượng điều chỉnh cao dải điều chỉnh tốc độ rộng Vì với điều tài đồ án môn học “Điều khiển tốc độ đảo chiều động điện chiều” hướng dẫn tận tình thầy Lê Tiến Dũng đa dạng phong phú, có nhiều loại hình khác dựa vào công dụng độ phức tạp Do tài liệu tham khảo Tiếng Việt nhiều hạn chế, trình độ có hạn kinh nghiệm thực tế chưa cao, nên đề tài chắn nhiều thiếu sót Vì mong nhận ý kiến đóng góp, giúp đỡ chân thành thầy cô Chúng em xin chân thành cảm ơn! MỤC LỤC Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng Phần I: Giới Thiệu Chung………………………………………… Phần II: Nội Dung Thiết Kế………………………………………… Chương 1: Nguyên lý hoạt động hệ thống vi điều khiển I II Xây dựng mục tiêu sơ đồ khối hệ thống dung vi điều khiển Pic Nguyên lí hoạt động cảu hệ thống Chương 2:Tính chọn linh kiện sử dụng hệ thống vi điều khiển I Giới thiệu tính toán chọn linh kiện hệ thống Chương 3: Mô hệ thống I II Thiết kế mạch nguyên lý Chạy mô mạch phần mềm ứng dụng Proteus Chương 4: Chế tạo mạch thực tế I II III Thiết kế mạch in Lắp đặt thiết bị hoàn thiện mạch Chạy mạch đánh giá kết Phần III: Kết Luận…………………………………………………… Tài liệu tham khảo: -Giáo trình giảng dạy Vi Xử Lý Và Vi Điều Khiển thầy Trần Thái Anh Âu - v.v…………………… Phần I: Giới Thiệu Chung Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng I.Tổng quan Trong trính làm việc, tốc độ động thường bị thay đổi biến thiên tải, nguồn gây sai lệch tốc độ thực với tốc độ đặt, làm giảm suất máy sản xuất Chính việc điều khiển tốc độ động yêu cầu cần thiết tất yếu máy sản xuất Như ta biết hầu hết máy sản xuất đòi hỏi có nhiều tốc độ, tuỳ theo công việc, điều kiện làm việc mà ta lựa chọn tốc độ khác Muốn có tốc độ khác máy, ta thay đổi cấu trúc học máy tỉ số truyền thay đổi tốc độ động truyền động chính… Nhưng khảo sát theo phương pháp thay đổi tốc độ động truyền động.Ở động chiều, việc điều chỉnh tốc độ động có nhiều ưu việt so với loại động khác Động chiều có khả điều chỉnh tốc độ dễ dàng mà cấu trúc mạch lạc, mạch điều khiển lại đơn giản loại động khác đạt chất lượng điều chỉnh cao dải điều chỉnh rộng Do đông chiều quan trọng sống phổ biến sống lên học kỳ chúng em làm đồ án ‘’ Điều khiển đông chiều vi điều khiển’’ Có thể nói động chiều có vai trò lớn ngành điều khiển tự động Để điều khiển động chiều,hay nói cách khác điều chỉnh tốc độ động điện chiều có nhiều cách khác như: - Điều khiển tốc độ động cách thay đổi giá trị điện trở mạch phần ứng - Điều khiển tốc độ động cách thay đổi từ thông cuộn dây kích từ - Điều khiển tốc độ động cách thay đổi giá trị điện áp phần ứng Tuy nhiên cách việc điều khiển tốc độ động trở lên khó khăn hiệu thấp Do chúng em sử dụng phương pháp điều xung (tức thay đổi độ rộng xung), sử dụng vi điều khiển PIC16F877A, độ rộng xung lớn động quay nhanh Để điều khiển động theo phương pháp cần nhiều bước khác nhau, từ việc thiết lập phần cứng điều khiển đến cấu trúc chương trình điều khiển phải hợp logic Nếu việc thiết lập phần cứng chương trình điều khiển không phù hợp không điều khiển động Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng Đặc điểm, yêu cầu đồ án Với khẳ có hạn thời gian hạn chế, sâu vào nghiên cứu loại vi điều khiển có ứng dụng thực tế cao phổ biến vi điều khiển PIC 16F877A, đồ án phải đạt yêu cầu đặc điểm sau: Có thể điều khiển động điện chiều Có tính an toàn, thẩm mỹ có tính ứng dụng thực tế cao Dễ dàng mở rộng vấn đề cho đề tài Phương pháp thiết kế Từ yêu cầu, đặc điểm đề tài, chúng em chọn phương án thực sau: - Tham khảo ý kiến giáo viên hướng dẫn, bạn bè thu thập tài liệu liên quan - Đề phương án thi công có tính khả thi xét mặt kinh tế kĩ thuật Thực theo phương án kế hoạch đạo giáo viên hướng dẫn Phương pháp thu thập liệu - - Sử dụng tài liệu, vấn đề giáo viên hướng dẫn cung cấp - Tham khảo ý kiến giáo viên khoa bạn bè - Thu thập thông tin cần thiết mạng internet(một số trang wed : diendandientu.com,PICvietnam.com,…) Trình tự thiết kế: Sau bắt tay vào thực đề tài, chúng em tuân thủ bước thiết kế sau : - Thu thập liệu - Phân tích liệu - Đề phương án lựa chọn phương án tối ưu - Thi công - Kiểm tra đưa kết luận Phần II: Nội Dung Thiết Kế Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng Chương 1: Nguyên lý hoạt động hệ thống vi điều khiển 1.1 Xây dựng mục tiêu sơ đồ khối hệ thống dung vi điều điều khiển Pic - Mục tiêu đề tài là: tạo mô hình điều khiển cho động chiều, mô hình điều khiển làm mô hình thí nghiệm cho sinh viên nghiên cứu để tìm hiểu cấu tạo, nguyên lý hoạt động phương pháp điều khiển hoạt động cho động Đặc biệt việc điều khiển cho động chiều sử dụng vi điều khiển PIC16F877A - Sơ đồ khối hệ thống vi điều khiển: BUTTON ĐIỀU CHỈNH KHỐI ĐIỀU KHIỂN TRUNG TÂM(VI ĐIỀU KHIỂN PIC16F877A) KHỐI NGUỒN Đảo chiều PWM KHỐI ĐIỀU KHIỂN CÔNG SUẤT ĐỘNG CƠ LED HIỂN THỊ Hình 1.1: Sơ đồ khối hệ thống điều khiến sử dụng vi điều khiển Pic - Khái quát chức khối: Khối Phím Nhấn(button): có nút bấm dung để thực chức điều khiển động quay thuận, quay nghịch, tăng tốc độ, giảm tốc độ, dừng Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng Khối Vi Xử Lý: phần mạch điều khiển gồm IC 16F877A, với linh kiện phụ khác tạo dao động thạch anh - Phần mạch công suất : trực tiếp điều khiển cuộn dây động cơ, gồm có trantor H1061 kích xung điều khiển cho IRF9540 hoạt động, transistor trường chịu dòng ngược cao FET IRF540 - Phần nguồn: gồm cấp điện áp: nguồn cấp cho vi điều khiển, nguồn cấp cho khối công suất để chuyển tới động cơ, để đảm bảo an toàn ta dùng hai nguồn riêng cách ly chúng - Động 1.2 Nguyên lý hoạt động hệ thống - -Nguyên lý hoạt động hệ thống: khối điều khiển trung tâm dùng VĐK PIC 16F877A nhận tín hiệu từ nút nhấn, sau xử lý tín hiệu xuất xung điều khiển PWM để tăng giảm tốc độ đảo chiều động DC.Trong lúc Encoder thực hiên công việc đo tốc độ động cơ, tín hiệu từ encoder tạo dạng xung vuông có tần số thay đôi phụ thuộc vào tốc độ động Do xung vuông đưa vào vi xử lý để đếm số xung khoảng thời gian cho phép từ ta tính giá trị vận tốc động cơ.những giá trị tốc hiển thị hình LCD Đây phương pháp mà người ta sử dụng để ổn định tốc độ động hay điều khiển nhanh chậm Chương 2:TÍNH CHỌN LINH KIỆN ******************************* Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng 2.1 Giới thiệu linh kiện hệ thống II.1.1 Vi điều khiển PIC16F877A 2.1.1.1 Khái quát vi điều khiển PIC16F877A PIC viết tắt “Programable Intelligent Computer”, tạm dịch “máy tính thông minh khả trình” hãng Genenral Instrument đặt tên cho vi điều khiển họ: PIC1650 thiết kế để dùng làm thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển sau nghiên cứu phát triển thêm từ hình thành nên dòng vi điều khiển PIC ngày Lý sử dụng vi điều khiển PIC cho đề tài Hiện thị trường có nhiều họ vi điều khiển 8051, Motorola 68HC, AVR, ARM, Ngoài họ 8051 hướng dẫn cách môi trường đại học, thân người viết chọn họ vi điều khiển PIC để mở rộng vốn kiến thức phát triển ứng dụng công cụ nguyên nhân sau: Họ vi điều khiển tìm mua dễ dàng thị trường Việt Nam Giá thành không đắt Có đầy đủ tính vi điều khiển hoạt động độc lập Là bổ sung tốt kiến thức ứng dụng cho họ viđiều khiển mang tính truyền thống: họ vi điều khiển 8051 - Đồ án Vi Xử Lý-Vi Điều Khiển - GVHD: Ts.Lê Tiến Dũng Số lượng người sử dụng họ vi điều khiển PIC Hiện Việt Nam giới, họ vi điều khiển sử dụng rộng rãi Điều tạo nhiều thuận lợi trình tìm hiểu phát triển ứng dụng như: số lượng tài liệu, số lượng ứng dụng mở phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm dẫn gặp khó khăn,… Sự hỗ trợ nhà sản xuất trình biên dịch, công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,… Các tính đa dạng vi điều khiển PIC, tính nà không ngừng phát triển 2.1.1.2 Sơ đồ a.Sơ đồ chân Hình 2.1: Sơ đồ chân PIC 16F877A Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng 2.1.1.3 Một vài thông số vi điều khiển Pic16F877a Đây vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh thực thi chu kì xung clock Tốc độ hoạt động tối đa cho phép 20 MHz với chu kì lệnh 200ns Bộ nhớ chương trình 8Kx14 bit, nhớ liệu 368x8 byte RAM nhớ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O với 33 pin I/O 2.1.1.4 Tổ chức nhớ Cấu trúc nhớ vi điều khiển PIC16F877A gồm có nhớ chương trình (program memory) nhớ liệu(data memory) - a Bộ nhớ chương trình - Bộ nhớ chương trình vi điều khiển PIC16F877A nhớ flash, dung lượng nhớ 8K word (1 word = 14- bit) phân thành nhiều trang (từ page0 đến page 3) Như nhớ chương trình có khả chứa 8*1024 = 8192 lệnh (vì lệnh sau mã hóa có dung lượng word (14bit) Để mã hóa địa 8K word nhớ chương trình, đếm chương trình có dung lượng 13 bit (PC) Khi vi điều khiển reset, đếm chương trình đến địa 0000h (Reset vector) Khi có ngắt xảy ra, đếm chương trình đến địa 0004h (Interrupt vector) - Bộ nhớ chương trình không bao gồm nhớ stack không địa hóa đếm chương trình.Bộ nhớ stack đề cập cụ thể phần sau b.Bộ nhớ liệu Bộ nhớ liệu PIC nhớ EEPROM chia làm nhiều bank Đối với PIC16F877A nhớ liệu chia làm bank Mỗi Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng bank có dung lượng 128 byte, bao gồm ghi có chức đặc biệt SFG (Special Function Register) nằm vùng địa thấp ghi mục đích chung GPR (General Purpose Register) nằm vùng địa lại bank Các ghi SFR thường xuyên sử dụng (ví dụ ghi STATUS) đặt tất cà bank nhớ liệu giúp thuận tiện trình truy xuất làm giảm bớt lệnh chương trình Sơ đồ cụ thể nhớ liệu PIC1 2.1.2 Động điện chiều a Khái niệm động điện chiều Động điện chiều động điện hoạt động với dòng điện chiều Động điện chiều ứng dụng rộng rãi ứng dụng dân dụng công nghiệp Thông thường động điện chiều chạy tốc độ nối với nguồn điện, nhiên điều khiển tốc độ chiều quay động với hỗ trợ mạch điện tử phương pháp PWM Hình 2.2: Động điện chiều có gắn encoder c.Nguyên lý làm việc động điện chiều Động điện phải có hai nguồn lượng : a.Nguồn kích từ cấp vào cuộn kích từ đẻ sinh từ thông kích từ b Nguồn phần ứng đưa vào hai chổi than để đưa vào hai cổ góp phần ứng Khi cho điện áp chiều vào hai chổi điện dây quấn phần ứng có điện Các dẫn có dòng điện nằm từ trường chịu lực tác dụng làm rôto quay Chiều lực xác định qui tắc bàn tay trái 10 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng x ENDC ; -KHAI BAO NGAT W_save STATUS_save PCLATH_save FSR_save EQU 0x35 EQU 0x36 EQU 0x37 EQU 0x38 ; CHUONG TRINH NGAT -ORG 0X0004 GOTO NGAT NGAT MOVWF W_save SWAPF STATUS,W ghi STATUS ; W= 00110000 CLRF STATUS MOVWF STATUS_save MOVF PCLATH,W MOVWF PCLATH_save CLRF PCLATH MOVF FSR,W MOVWF FSR_save ;W_save = W ; Dao bit cao va bit cua ; -KIEM TRA NGAT -BTFSS PIR1,TMR1IF TIMER1 GOTO KTRA GOTO TIMER1 KTRA GOTO THOAT_NGAT GOTO NGAT_NGOAI NGOAI 33 ;Kiem tra co ngat cua ;Sai thuc hien NGAT Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng ; cac thao tac ngat TIMER1 TIMER1 BCF INTCON,GIE ;Cam NGAT TOAN CUC BCF T1CON,TMR1ON ;Dung, tat TIMER1 de cai dat lai CLRF TMR1L CLRF TMR1H MOVLW 0x85 ;Ti le chia 1:4 OSC =20MHz nen MOVWF TMR1H ;Voi t=25ms MOVLW 0Xee ;65536-25000/(4*0.2)=34286=85EE MOVWF TMR1L BSF T1CON,TMR10N ;Bat TIMER1 BCF PIR1,TMR1IF ;Xoa co ngat de dem lai ; TINH VAN TOC v=xung/10=t (vong/giay) MOVF t,w MOVWF v ;Gan v = t CLRF t ;Xoa t de dem lai CLRF XUNG ;Dem lai xung vao RBO GOTO THOAT_NGAT ; NGAT NGOAI chan RBO NGAT_NGOAI BCF INTCON,INTF ;Xoa co NGAT NGOAI BCF INTCON,GIE ;Tat NGAT TOAN CUC INCF XUNG,F ;xung = xung +1 MOVF XUNG,W ;So sanh XUNG voi 10 XORLW D’10’ BTFSS STATUS,Z ;Z=1 neu XUNG=10 GOTO THOAT_NGAT INCF t,f ;t+1 XUNG =10 CLRF XUNG ;Dem lai XUNG =0 GOTO THOAT_NGAT ; 34 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng THOAT_NGAT BSF NTCON,GIE MOVF FSR_save,W MOVWF FSR MOVF PCLATH_save,W MOVWF PCLATH SWAPF STATUS_save,W MOVWF STATUS SWAPF W_save,1 SWAPF W_save,0 RETFIE ;Cho phep NGAT TOAN CUC ; -BAT DAU CHUONG TRINH CHINH -ORG 0X00 GOTO START ORG 0X050 ; -START BCF STATUS,6 BSF STATUS,5 ;Chon BANK1 MOVLW 0x06 MOVWF ADCON1 ;Tat ADC MOVLW B’00001111’ ;Chan RA0-RA3 la Input MOVWF TRISA MOVLW D’155’ ;T=(PR2+1)*4*(1/20MHz)*TLC MOVWF PR2 ;Tan so F=2kHz nen PR2=155 CLRF TRISC CLRF TRISD BSF TRISB,0 ;Chan RB0 la Input BCF STATUS,5 ;Tro ve BANK0 ; -KHOI TAO BIEN ; CLRF XUNG CLRF t CLRF v 35 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng CLRF x BSF PORTC,2 ;RC2=CCP1 la dau PWM ; KHOI TAO LCD CALL LCDINIT ;Goi khoi tao LCD NOP ; -KHOI TAO TIMER1 ; CLRF T1CON CLRF INTCON CLRF TMR1H CLRF TMR1L BSF STATUS,5 ; Chon BANK1 CLRF PIE1 ; BSF PIE1,TMR1IE ;Cho phep ngat TIMER1 BCF STATUS,5 ;Tro v BANK0 CLRF PIR1 ;Xoa co ngat TIMER1 MOVLW 0X20 ;Cai dat che DINH THOI MOVWF T1CON ;TI le ¼ , tat TIMER1 MOVLW 0X85 ;Gan gia tri ban dau MOVWF TMR1H MOVLW 0XEE MOVWF TMR1L BSF T1CON,TMR1ON ;Bat TIMER1 ; -Khai bao ngat RB0 BSF STATUS,5 BSF OPTION_REG,INTEDG ;Chon suon ngat RB0 muc len BCF OPTION_REG,NOT_RBPU ;Bat chuc nang pull-up cua PORTB BCF STATUS,5 BSF INTCON,PEIE ;Cho phep NGAT NGOAI VI BSF INTCON,INTE ;Cho phep NGAT RB0 BSF INTCON,GIE ;Cho phep NGAT TOAN CUC ; Thiet lap PWM -MOVLW B’00000110’ ;TMR2ON=1 MOVWF T2CON ;Ti le chia 1:16 BSF CCP1CON,2 BSF CCP1CON,3 ;Cho phep CCP o che PWM 11xx CALL UPDATE 36 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng ; Hien thi LCD CLRF COUNT ;COUNT=0 LCD_DONG1 MOVF COUNT,W ;W=COUNT CALL Text ;Lay ki tu thu COUNT TEXT XORLW 0x00 ;So sanh w voi 0x00 BTFSC STATUS,Z ;W=0x00 thi Z=1 GOTO LINE2 ;Z=1 den dong CALL LCDSEND ;Z=0 goi ki tu LCD INCF COUNT,f ;Tang COUNT don vi GOTO LCD_DONG1 LINE2 CLRF COUNT ;Tuong tu nhu tren LCD-DONG2 MOVF COUNT,W CALL LCDADD2 ;Nhay den dong cua LCD MOVF COUNT,W CALL Text2 XORLW 0x00 BTFSC STATUS, Z GOTO LOOP CALL LCDSEND INCF COUNT,f GOTO LCD_DONG2 LOOP MOVF V,W CALL chia10 ;Lay gia tri HC,HDV ; Hien thi so HC -MOVLW D’4’ CALL LCDADD2 MOVLW 0X30 ADDWF HC, W CALL LCDSEND ; -Hien thi so HDV -MOVLW D’5’ CALL LCDADD2 37 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng MOVLW 0x30 ;Hien thi HDV ADDWF HDV, W CALL LCDSEND CALL NUTBAM ;Kiem tra nut bam GOTO LOOP ; -Chuong trinh -NUTBAM TANG BTFSC PORTA,0 GOTO GIAM BTFSS portA,0 MOVF X,W ;W=X SUBLW D’124’ ;W=124-W BTFSS STATUS,C GOTO $+3 MOVLW D’31’ ADDWF X,f ;X=X+31 CALL UPDATE GIAM BTFSC PORTA,1 GOTO THOATBAM BTFSS PORTA,1 GOTO $-1 MOVF X, W ;W= X SUBLW D’30’ ;W=124-W BTFSC STATUS,C GOTO $+3 MOVLW D’31’ SUBWF X,f ;X=X-31 CALL UPDATE THOATBAM RETURN ; -THIET LAP DO RONG XUNG -; UPDATE MOVF X, W MOVWF CCPR1L 38 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng BCF CCP1CON,4 BCF CCP1CON,5 RETURN ; -; TEXT ADDWF PCL,F RETLW ‘T’ RETLW ‘O’ RETLW ‘C’ RETLW ‘‘ RETLW ‘D’ RETLW ‘O’ RETLW ‘‘ RETLW ‘D’ RETLW ‘O’ RETLW ‘N’ RETLW ‘G’ RETLW ‘‘ RETLW ‘C’ RETLW ‘O’ RETLW ‘:’ RETLW 0x00 ; Text2 ADDWF PCL,F RETLW ‘ ‘ RETLW ‘W’ RETLW ‘=’ RETLW ‘ ‘ RETLW ‘ ‘ RETLW ‘ ‘ RETLW ‘ ‘ RETLW ‘ ‘ RETLW ‘V’ RETLW ‘O’ RETLW ‘N’ 39 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng RETLW ‘G’ RETLW ‘/’ RETLW ‘S’ RETLW ‘‘ RETLW 0x00 ; -CHIA10: CLRF CLRF MOVWF HC HDV SO TRU MOVLW D’10’ SUBWF SO,F BTFSC STATUS,C GOTO SAI DUNG MOVLW D’10’ ADDWF SO,0 MOVWF HDV GOTO THOAT SAI INCF HC,F GOTO TRU THOAT RETURN DELAY_1ms NOP NOP CK lenh MOVLW D’123’ MOVWF vong1 MOVLW D’7’ MOVWF vong2 ;Thoi gian CK lenh=0,2us ;t=1000us=5000 CK lenh ;T=vong1*3+vong2*770-761=5000 40 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng DECFSZ vong1,f GOTO $-1 DECFSZ vong2,f GOTO $-3 RETURN ; Delay ;Delay W ms MOVWF vong1 dly_loop CALL delay_1ms DECFSZ vong1,F GOTO dly_loop RETURN ; LCDINIT ; -THIET LAP CAC GIA TRI CHINH XAC CHO TRIS LCD BSF STATUS, ;Bank BCF LCD_RS BCF LCD_E BCF LCD_D4 BCF LCD_D5 BCF LCD_D6 BCF LCD_D7 BCF STATUS, ;Bank MOVLW 0x64 ;delay luc dau, co the khong can CALL delay ; CAC BUOC KHOI TAO LCD BCF LCD_RS ;SET CHO DO LAM VIEC BCF LCD_E BCF LCD_D4 BCF LCD_D5 BCF LCD_D6 BCF LCD_D7 CALL PULSE 41 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng MOVLW 0x05 CALL delay CALL PULSE CALL delay_1ms CALL PULSE ;Send the command to select 4-bit mode first BCF LCD_D4 ;GUI LENH DE CHON BIT DAU TIEN DL=0 CALL PULSE ;Function set ;Format: xxxDNFxx D: 1=8-bit, 0=4-bit (use 4-bit!) MOVLW b’00101000’ ;N: 1= lines, 0= line CALL LCDSEND ; F: 1= 5x10 font, 5x8 font ;Display control D: Display on(1)/0ff(0) MOVLW b’00001100’ ;C: Cursor on(1)/0ff(0) CALL LCDSEND ; B: Blink on(1)/0ff(0) ;Entry mode set ;Format: xxxxxxIS I: 1= Increment counter, 0= Decremet counter MOVLW b’00000110’ ;S: 1= “Accompanies display shift” CALL LCDSEND ;Cursor or display shift ;Format: xxxxSRxx S: 1= Display shift, 0= Cursor move MOVLW b’00010000’ ;R: 1= Shift right, 0= Shift left CALL LCDSEND MOVLW b’00000001’ ;Clear screen CALL LCDSEND BSF LCD_RS ;Set data mode RETURN ;**************************************************************** ****** ;Moves “cursor” ;**************************************************************** ****** 42 Đồ án Vi Xử Lý-Vi Điều Khiển LCDADD BCF LCD_RS IORLW 0x80 CALL LCDSEND BSF LCD_RS CALL delay-1ms RETURN LCDADD2 BCF LCD_RS IORLW 0Xc0 CALL LCDSEND BSF LCD_RS CALL delay_1ms RETURN GVHD: Ts.Lê Tiến Dũng ;Command mode ;Goto DDRAM adress ;Data mode ;Takes a couple of ms ;Command mode ;Goto DDRAM adress ; Data mode ; Takes a coule of ms ;**************************************************************** ********** ;Sends contens of W to display ;**************************************************************** ********** LCDSEND ;Sends character in W to lcd Does not alter RS line! MOVWF LCDTmp BCF LCD_D4 BCF LCD_D5 BCF LCD_D6 BCF LCD_D7 BTFSC BSF BTFSC BSF BTFSC BSF BTFSC BSF LCDTmp, LCD_D7 LCDTmp,6 LCD_D6 LCDTmp, LCD_ D5 LCDTmp, LCD_D4 43 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng CALL PULSE BCF BCF BCF LCD_D4 LCD_D5 LCD_D6 BCF LCD_D7 BTFSC LCDTmp, BSF LCD_D7 BTFSC LCDTmp, BSF LCD_D6 BTFSC LCDTmp, BSF LCD_D5 BTFSC LCDTmp, BSF LCD_D4 CALL PULSE RETURN ;**************************************************************** ************** ;Pulse enable line ;**************************************************************** ************** PULSE ; Pulse Enable BSF LCD_E NOP ;Increase the delay here if you get NOP ;Problem with high clock speed NOP ;Probably not needed since NOP ;1 instruction @20MHz = 200ns BCF LCD_E CALL delay_1ms CALL delay_1ms RETURN ;**************************************************************** 44 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng ;Clears display ;**************************************************************** LCDCLR ; clears the entire display BCF LCD_RS ;Set command mode MOVLW b’00000001’ ;Clear sceen CALL LCDSEND BSF LCD_RS ;Set data mode RETURN ;**************************************************************** END Phần III :Kết Luận Và Hướng Phát Triển Của Đề Tài I Kết Luận 45 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng Sau thời gian tìm hiểu, nghiên cứu, hướng dẫn nhiệt tình thầy Lê Tiến Dũng, thầy cô giáo bạn sinh viên, chúng em hoàn thành đồ án Nội dung thuyết minh đồ án chúng em gồm ba phần chính: 1: Giới thiệu chung :Nội dung -Tìm hiểu linh kiện điện tử sử dụng mạch điều khiển -Tìm hiểu vi điều khiểnPic16F877a -Mạch điều khiển -Chương trình điều khiển : Kết luận hướng phát triển đề tài Do trình làm nhiều vướng mắc, sai sót, trình độ kiến thức chúng em có hạn Mong thầy cô thông cảm Một lần chung em xin chân thành cảm ơn thầy cô giáo giúp đỡ chúng em để chúng em hoàn thành dược đồ án II Hướng phát triển đề tài: Ở chúng em điều khiển động với công suất cỡ nhỏ, sản phẩm mức độ mô hình nhỏ Tuy nhiên với đề tài hoàn toàn phát triển để điều khiển động chiều với công suất lớn sử dụng công nghiệp điều khiển băng tải, hệ thống điều khiển khác cần thay đổi tốc độ động cần đảo chiêu động Do làm mô hình nhỏ nên động chúng em điều khiển với mức tốc độ khác có đảo chiều, nhiên với vi điều khiển điều khiển tốc độ động nhiều mức khác nhau, đáp ứng cho sản suất công nghiệp.Ở để thực đảo chiều động chúng em sử dụng phương pháp mạch cầu H Tuy nhiên để đảo chiều động dung rơle Dù đảo chiều động theo cách có ưu nhược điểm khác Tùy toán mà ta sử dụng phương pháp cho phù hợp 46 Đồ án Vi Xử Lý-Vi Điều Khiển GVHD: Ts.Lê Tiến Dũng 47