MOVWF d2 MOVLW MOVWF MOVLW MOVWF delay_1 DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN chuyen_ma_gio pdf

8 106 0
MOVWF d2 MOVLW MOVWF MOVLW MOVWF delay_1 DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN chuyen_ma_gio pdf

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

Thông tin tài liệu

MOVWF count1 d2 MOVLW 0xC7 MOVWF counta MOVLW 0x01 MOVWF countb delay_1 DECFSZ counta,1 GOTO $+2 DECFSZ countb,1 GOTO delay_1 DECFSZ count1,1 GOTO d2 RETURN chuyen_ma_gio ; chương trình con dùng để tách rời giá trò hàng MOVF gio,0 ; chục và hàng đơn vò của thanh ghi chưa giá trò MOVWF display_reg ; giờ và chuyển sang mã thập phân ANDLW 0x0F ; Kết quả chuyển đổi được lưu trong thanh ghi MOVWF hang_don_vi_gio ; hang_don_vi_gio và hang_phut_gio MOVLW 0xF0 ANDWF display_reg,0 MOVWF hang_chuc_gio SWAPF hang_chuc_gio,1 MOVF hang_don_vi_gio,0 CALL chuyen_ma MOVWF hang_don_vi_gio BTFSC xx1,0 INCF hang_chuc_gio,1 MOVF hang_chuc_gio,0 CALL chuyen_ma MOVWF hang_chuc_gio RETURN chuyen_ma ; chương trình con chuyển từ mã HEX sang MOVWF xx ; mã thập phân MOVLW 0x00 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x01 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x02 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x03 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x04 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x05 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x06 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x07 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x08 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x09 XORWF xx,0 BTFSC STATUS,Z GOTO nho_hon_10 MOVLW 0x0A XORWF xx,0 BTFSC STATUS,Z GOTO bang_10 MOVLW 0x0B XORWF xx,0 BTFSC STATUS,Z GOTO bang_11 MOVLW 0x0C XORWF xx,0 BTFSC STATUS,Z GOTO bang_12 MOVLW 0x0D XORWF xx,0 BTFSC STATUS,Z GOTO bang_13 MOVLW 0x0E XORWF xx,0 BTFSC STATUS,Z GOTO bang_14 MOVLW 0x0F XORWF xx,0 BTFSC STATUS,Z GOTO bang_15 nho_hon_10 MOVLW 0x00 MOVWF xx1 MOVF xx,0 RETURN bang_10 MOVLW 0x01 MOVWF xx1 RETLW 0x00 bang_11 MOVLW 0x01 MOVWF xx1 RETLW 0x01 bang_12 MOVLW 0x01 MOVWF xx1 RETLW 0x02 bang_13 MOVLW 0x01 MOVWF xx1 RETLW 0x03 bang_14 MOVLW 0x01 MOVWF xx1 RETLW 0x04 bang_15 MOVLW 0x01 MOVWF xx1 RETLW 0x05 END ; Kết thúc chương trình Thực ra ta có nhiều phương pháp khác để tạo thời gian đònh thời 1s bằng cách sử dụng các đặc tính của Timer1, chẳng hạn ta có thể sử dụng oscillator ngoại vi khác cho Timer1 mà không cần dùng chung với oscillator của vi điều khiển. Ta cũng có thể sử dụng các Timer khác cho ứng dụng này và tùy theo đặc điểm cấu tạo của từng Timer ta có thể xác đònh được các giá trò thích hợp để tạo thời gian đònh thời 1s. Tuy nhiên dù sử dụng phương pháp nào đi nữa ta cũng không thể tạo ra đồng hồ điện tử có độ chính xác tuyệt đối khi sdử dụng vi điều khiển do thời gian thực thi lệnh của vi điều khiển sau mỗi thời gian đònh thời không thể được xác đònh một cách chính xác. Tuy nhiên đây cũng là ứng dụng hoàn chỉnh nhất và mang tính thực tiễn nhiều nhất so với các ứng dụng trước. PHỤ LỤC 1 SƠ ĐỒ KHỐI CÁC PORT CỦA VI ĐIỀU KHIỂN PIC16F877A P1.1 PORTA Sơ đồ khối RA3:RA0 Sơ đồ khối RA4. Sơ đồ khối RA5 P1.2 PORTB Sô ñoà khoái RB3:RB0 Sô ñoà khoái RB7:RB4 P1.3 PORTC Sô ñoà khoâi RC7:RC5 vaø RC2:RC0 Sô ñoà khoái RC4:RC3 P1.4 PORTD P1.5 PORTE Sô ñoà khoái RD7:RD0 Sô ñoà khoái RE2:RE0 . MOVWF count1 d2 MOVLW 0xC7 MOVWF counta MOVLW 0x 01 MOVWF countb delay_ 1 DECFSZ counta ,1 GOTO $+2 DECFSZ countb ,1 GOTO delay_ 1 DECFSZ count1 ,1 GOTO d2 RETURN chuyen_ ma_ gio. RETURN bang _10 MOVLW 0x 01 MOVWF xx1 RETLW 0x00 bang _11 MOVLW 0x 01 MOVWF xx1 RETLW 0x 01 bang _12 MOVLW 0x 01 MOVWF xx1 RETLW 0x02 bang _13 MOVLW 0x 01 MOVWF xx1 RETLW. hang_don_vi _gio BTFSC xx1,0 INCF hang_chuc _gio ,1 MOVF hang_chuc _gio, 0 CALL chuyen_ ma MOVWF hang_chuc _gio RETURN chuyen_ ma ; chương trình con chuyển từ mã HEX sang MOVWF xx ; mã

Ngày đăng: 20/06/2014, 17:20

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

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

Tài liệu liên quan