PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 09-09-2012, 11:16 PM   #2
letanphuc
Nhập môn đệ tử
 
Tham gia ngày: Sep 2011
Bài gửi: 2
:
[/CODE]
;................................................. ...........
;..................DEFINE......................... ...........
LIST P=PIC18F2550
include <p18f2550.inc>
; __CONFIG....
CONFIG WDT=OFF ; disable watchdog timer
; CONFIG MCLRE = ON ; MCLEAR Pin on
; CONFIG DEBUG = OFF ; Enable Debug Mode
; CONFIG LVP = OFF ; Low-Voltage programming disabled (necessary for debugging)
; CONFIG FOSC = INTOSCIO_EC ;Internal oscillator, port function on RA6
; REGISTER
W_TEMP EQU 0x08
STATUS_TEMP EQU 0x09
BSR_TEMP EQU 0x0A
COUNT1 EQU 0x0B
COUNT2 EQU 0x0C
COUNT EQU 0x0D

;================================================= ===========

ORG 0x00
GOTO SETUP
ORG 0x08
GOTO INTERUPT
ORG 0x12

;================================================= ===========
INTERUPT:
BCF INTCON,TMR0IF ; clear flag
MOVWF W_TEMP ; W_TEMP is in virtual bank
MOVFF STATUS, STATUS_TEMP ; STATUS_TEMP located anywhere
MOVFF BSR, BSR_TEMP ; BSR_TMEP located anywhere

;......................MAIN INT..............................
INCFSZ COUNT,1
GOTO ENDINT
BTG PORTA,2
;................................................. ...........
ENDINT:
MOVFF BSR_TEMP, BSR ; Restore BSR
MOVF W_TEMP, W ; Restore WREG
MOVFF STATUS_TEMP, STATUS ; Restore STATUS

RETFIE

;================================================= ===========

SETUP
;........SET UP PORT IS INPUT OR OUTPUT..................
MOVLW 0x00
MOVWF TRISA
CLRF PORTA
;................SET UP TIMER0 ...........................
;MOVLW b'00000000' ;USE INTERNAL CLK AND DIV 2
;MOVWF T0CON
;MOVLW 0x00
;MOVWF TMR0H
;MOVWF TMR0L ;65000
CALL INIT_TIMER0
;................SET UP INT ..............................
;MOVLW b'10100000'
;MOVWF INTCON

;....START TIMER0
;BSF T0CON,7
CLRF COUNT



;================================================= ===========
LOOP
GOTO LOOP
;================================================= ===========




;================================================= ===========
;........................SUB FUNCTION..........................
;FUNCTION DELAY
DELAY
DELAY2
DECFSZ COUNT1,1
GOTO DELAY2
DECFSZ COUNT2,1
GOTO DELAY2
MOVLW 0F0h
MOVWF COUNT1
MOVWF COUNT2
RETURN


;================================================= ===========
;TURN LED ON/OFF
LEDON
; turn the led on
MOVLW 01h
MOVWF PORTA
RETURN
LEDOFF
; turn the led off
MOVLW 00h
MOVWF PORTA
RETURN
LEDTOG
; turn the led ON/OFF
MOVLW 01h
XORWF PORTA,0
MOVWF PORTA
RETURN
;================================================= ===========
INIT_TIMER0
BSF RCON,IPEN ;enable priority interrupts.
BCF INTCON2,TMR0IP
BSF INTCON,TMR0IF
BSF INTCON,TMR0IE

BSF INTCON,GIEH ;set the global interrupt enable bits
BSF INTCON,GIEL

CLRF T0CON
MOVLW 0x3c
MOVWF TMR0H
MOVLW 0xAF
MOVWF TMR0L
BSF T0CON,TMR0ON
RETURN
;================================================= ===========

END
[/CODE]
NHỜ MỌI NGƯỜI COI DÙM EM!
letanphuc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:53 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam