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 ...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-04-2007, 04:06 AM   #1
atclub
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Mong giúp đỡ

Em mới học pic và bắt đầu với con 16f877a, có làm bài test port B với code như sau:
processor 16f877a ; khai báo vi điều khiển
include <p16f877a.inc> ; header file dính kèm
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF ; khai báo “configuration bit”

;---------------- Chuong trình chính ---------------------------

ORG 0x00
GOTO start
start
BCF STATUS,RP1
BSF STATUS,RP0 ; chọn BANK 1
CLRF TRISB ; khởii tạo PORTB - PORTB là cổng xuất dữ liệu
CLRF STATUS ; chọn BANK 0
MOVLW 0X00 ;
MOVWF PORTB ; PORTB = 0
loop
GOTO loop
END


Phần mềm dùng MPLab IDE 7.40, ấn CLTR F10 thì được file hex nhưng khi nạp vào Pic thì PortB vẫn ở mức 5v trong khi đó em làm bằng C để test port (dùng CCSC_3.249 ) thì lại được. Mạch test của em làm giống như bác ntc đã chỉ dẫn! Mong mọi người giúp đỡ.
atclub vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2007, 05:40 PM   #2
atclub
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Sau khi hỏi Bác Falleaf đã nhận đc câu trả lời:

" Sửa lại CLRF STATUS = BCF STATUS, RB0; chọn bank 0

Sửa 2 cái MOVLW..., MOVWF...
thành CLRF PORTB

Thử lại.

Bạn chuyển cái này lên diễn đàn nhé. Mình không trả lời riêng. "

Mong bác Falleaf thông cảm vì chờ mãi không thấy ai trả lời nên mạn phép hỏi riêng. Cám ơn bác nhiều!
__________________
atclub vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2007, 05:48 PM   #3
atclub
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Bác Falleaf ơi, em làm đúng như bác bảo nhưng vẫn không được, PortB xuất ra toàn 5V thôi, tại sao thế nhỉ? Hay tại phần mềm không đúng?
atclub vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2007, 06:00 PM   #4
atclub
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Lập trình theo đúng như Linhnc hướng dẫn ở trong CCS thì Test portB ngon lành thế nhưng khi làm ở MPLab IDE 7.40 như bài trên đã viết và sửa lại theo đúng như bác Falleaf bảo lại không được, mong mọi người giúp đỡ với!!

Code:
#include <16f877a.h>
#include <def_877a.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
// Thiet lap che do cho PORTB
TRISB = 0x00; // Tat ca PORTB deu la cong xuat du lieu
PORTB = 0xFF; // Tat het cac LED
While(1)
{
PORTB = 0; // Cho các LED sáng
delay_ms(250); // Tạo thời gian trễ 250ms
PORTB = 0xFF;
delay_ms(250);
}
}

thay đổi nội dung bởi: namqn, 21-04-2007 lúc 06:57 PM.
atclub vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2007, 07:01 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Code trong MPLAB của bạn bật LVP, còn code trong CCS C thì tắt LVP. Bạn sửa lại code trong MPLAB cho giống code bên CCS C rồi thử lại xem. Ngoài ra, nếu bạn dùng thạch anh tốc độ tương đối cao (>= 8 MHz) thì nên chỉnh _XT_OSC thành _HS_OSC bên phần code trong MPLAB.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-04-2007, 07:13 PM   #6
atclub
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Đã thử lại như bác Namqn chỉ dẫn và đã thành công; cám ơn bác nhiều nha!

namqn: sau này bạn có thể dùng nút 'Cảm ơn'.
atclub vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 02:01 PM.


Đượ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