Đánh giá chủ đề:
  • 20 Vote(s) - Trung bình 2.95
  • 1
  • 2
  • 3
  • 4
  • 5
Xin giup viet code asm msp430
Bài viết: #1
mình viết code asm cho msp430g2553 nhưng không thể viết chương trình con
viết xong không chạy được. mong mọi người giúp đỡ:

#include "msp430g2553.h" ; #define controlled include file
;-------------------------------------------------------------------------------
ORG 0C000h ; Program Reset
;-------------------------------------------------------------------------------
RESET mov.w #03FEh,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT

SetupP1 bis.b #001h,&P1DIR ; P1.0 output
bic.b #001h,&P1OUT ; p1.0 = 0
MOV.B &CALBC1_1MHZ,&BCSCTL1 ; Set range
MOV.B &CALDCO_1MHZ,&DCOCTL ; Set DCO step + modulation



bis.b #040h,&P1DIR ; P1.6 output
bis.b #040h,&P1OUT ; p1.6 = 1

bis.b #008h,&P1OUT ; P1.3 set
bis.b #008h,&P1REN ; P1.3 pullup
bic.b #008h,&P1DIR ; p1.3 input
bis.b #008h,&P1IE ; P1.3 Interrupt enabled
bic.b #008h,&P1IES ; P1.3 high edge
bic.b #008h,&P1IFG ; P1.3 IFG Cleared
back: call DELAY
xor.b #001h,&P1OUT ; P1.0 = toggle
jmp back ;
;Mainloop bis.w #LPM4+GIE,SR ; LPM4, enable interrupts
; nop ; Required only for debugger
;

;-----------------------------------------------------------------------
DELAY ;jmp $
MOV.W #0FFh,R15 ; Delay
L2: DEC.W R15 ;
/* nop
MOV.W #0FFh,R14 ; Delay
L1: DEC.W R14 ;
nop
nop
nop
nop
nop
JNZ L1

nop
nop
nop
nop*/
JNZ L2 ;
ret
;-------------------------------------------------------------------------------
P1_1_ISR; Toggle P1.0 Output
;-------------------------------------------------------------------------------
xor.b #001h,&P1OUT ; P1.0 = toggle
xor.b #040h,&P1OUT ; P1.6 = toggle
bic.b #008h,&P1IFG ; P1.3 IFG Cleared
reti ; Return from ISR
;
;-------------------------------------------------------------------------------
; Interrupt Vectors
;-------------------------------------------------------------------------------
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFE4h ; P1.x Vector
DW P1_1_ISR ;
END
Trả lời
Bài viết: #2
bien dich thi ok, den khi chay mo phong thi gap loi o chuong tring con, may bao loi:
user error illegal opcode found on address 0x40A2
Trả lời
Bài viết: #3
đa số các thành viên trong diễn đàn đều dùng ngôn ngữ C.
Trả lời
Bài viết: #4
Đúng rồi nếu đây là lần đầu tiếp xúc vi điều khiển bạn nên lập trình với 89 vì các tập lệnh ít dễ sử dụng, các dòng vxl sau này rất nhiều thanh ghi, nhiều địa chỉ trình với asm cực lắm bạn à.
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #5
minh da giai quyet duoc roi, gap kho khan buoc dau thoi, sau roi ok het
Trả lời


Đi tới chuyên mục:


Thành viên đang xem chủ đề: 1 Khách