PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

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

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 25-12-2010, 09:05 PM   #1
ductantruong
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 3
:
Thumbs up chương trình ngắt cho led

em đang viết chương trình ngắt cho 8 led chạy sáng đuổi nhau,khi ta ngắt chân RP7 hoặc RP6 hoặc RP5,RP4 thì chương trình sẽ thực hiện ngắt,em mới học nên loay hoay viết không được,mong các anh giúp đỡ em!!!

;================================================= =======
; Ten chuong trinh : Mach chay led sang duoi
; Nguoi thuc hien : ductan
; Ngay thuc hien : 22/12/2010
; Phien ban : 1.0
; Mo ta phan cung : Dung PIC16F628A - thach anh 4MHz
; : LED giao tiep voi PORTB
; : Cuc am cua LED noi voi GND
; : RB0 - RB7 la cac chan output
;----------------------------------------------------------------
; Ngay hoan thanh :
; Ngay kiem tra :
; Nguoi kiem tra :
;----------------------------------------------------------------
; Chu thich :
; :
; :
; :
; :
; :
;================================================= =======

processor 16f877a
include <p16f877a.inc>
__CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_ON&_XT_OSC&_WRT _OFF&_LVP_OFF&_CPD_OFF

count1 equ 0x20
counta equ 0x21
countb equ 0x22
count equ 0x23

W_SAVE EQU 0X24
PCLATH_SAVE EQU 0X25
STATUS_SAVE EQU 0X26
FSR_SAVE EQU 0X28


ORG 0X0004
GOTO ISR
ISR

MOVWF W_SAVE
SWAPF STATUS,W
CLRF STATUS
MOVWF STATUS_SAVE

MOVF PCLATH,W
MOVWF PCLATH_SAVE
CLRF PCLATH
MOVF FSR,W
MOVWF FSR_SAVE
;-------------------------------------------
;chuong trinh chinh
;-------------------------------------------------
BTFSS INTCON,INTE
GOTO exit_int
BCF INTCON,INTE
BSF INTCON,7
BSF INTCON,6












exit_int

MOVF FSR_SAVE,W
MOVWF FSR
MOVF PCLATH_SAVE,W
MOVWF PCLATH
SWAPF STATUS_SAVE,W
MOVWF STATUS
SWAPF W_SAVE,F
SWAPF W_SAVE,W

RETFIE


org 0x0000
goto start
ORG 0X0050
start
bcf STATUS,RP1
bcf STATUS,RP0
clrf PORTB
bsf STATUS,RP0
movlw 0X00
movwf TRISB
bcf STATUS,RP0
loop1
clrf count
loop2
movf count,0
call table
movwf PORTB
call delay100ms
incf count,0
xorlw d'8'
btfsc STATUS,Z
goto loop1
incf count,1
goto loop2
table
ADDWF PCL,1
retlw b'10000000'
retlw b'01000000'
retlw b'00100000'
retlw b'00010000'
retlw b'00001000'
retlw b'00000100'
retlw b'00000010'
retlw b'00000001'
delay100ms
movlw d'100'
movwf count1
d1 movlw 0xc7
movwf counta
movlw 0x01
movwf countb
delay_0
decfsz counta,1
goto $+2
decfsz countb,1
goto delay_0
decfsz count1,1
goto d1
return
end
ductantruong 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à 07:43 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