PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

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

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 01-03-2009, 04:37 PM   #1
vhg
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 12
:
I/O Ports

Các bác cho em hỏi:em dùng dsPic30f6010a, port C và Port E em có thể đọc vào từng bít được mà sao em không thể đọc được bất cứ bít nào của Port B vậy?em đã khai báo hướng của cổng rất chính xác rồi.Các bít vào em đều treo lên Vcc qua trở 4,7k rồi.Riêng Port B em đặt các bít đều là hướng vào hết.Nhưng nếu e đặt 1 bít của Port B là hướng ra thì em có thể đặt nó bằng 0 hoặc bằng 1 bình thường. Các bác giải thích cho em với ạ.em mới làm việc với dspic nên còn nhiều điều bỡ ngỡ quá.
vhg vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 05:09 PM   #2
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
Trích:
Nguyên văn bởi vhg View Post
Các bác cho em hỏi:em dùng dsPic30f6010a, port C và Port E em có thể đọc vào từng bít được mà sao em không thể đọc được bất cứ bít nào của Port B vậy?em đã khai báo hướng của cổng rất chính xác rồi.Các bít vào em đều treo lên Vcc qua trở 4,7k rồi.Riêng Port B em đặt các bít đều là hướng vào hết.Nhưng nếu e đặt 1 bít của Port B là hướng ra thì em có thể đặt nó bằng 0 hoặc bằng 1 bình thường. Các bác giải thích cho em với ạ.em mới làm việc với dspic nên còn nhiều điều bỡ ngỡ quá.
Sơ đồ mạch và code của bạn ra sao?

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 01-03-2009, 05:39 PM   #3
vhg
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 12
:
code của em đây:
Code:
int main(void)
{
//TRISA=0xFFFF;
TRISB=0xFFFC;
TRISC=0x800A;
TRISD=0x00;
TRISE=0x03E0;
TRISF=0;
TRISG=0x03C0;
_RD6=1;
//_RD14=1;
//UART_init();
Timer1_init();
//_RD14=_RE5;
delay();
_LATD2=_RG6;
if(_RB7==1) _LATD10=1;if(_RB7==0) _LATD10=0;
//_LATB9=0;
_LATD14=_RE5;
_LATD15=_RE6;
_LATC14=0;
_LATF4=_RC3;
_LATF5=_RC1;
while(1)
   {
      for(j=1;j<55;j++)
         {
             if(i==50) _LATD6=1;
             if(i==180) _LATD6=0;
             
         }
       i++;
      __asm__ ("CLRWDT");
   }
}
File Kèm Theo
File Type: doc Doc1.doc (44.5 KB, 19 lần tải)

thay đổi nội dung bởi: namqn, 01-03-2009 lúc 05:50 PM.
vhg vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 06:08 PM   #4
vhg
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 12
:
nếu em gán _LATD10=_RE5 hoặc _RC1 hay bất cứ chân vào nào của Port E, C, G thì PortD10 đều lên 1, còn nếu em gán _LATD10 bằng bất cứ bít nào của Port B thì đều đo được mức 0.Trong khi em vẫn để tất cả các đầu vào này bằng 1.Bác xem hô e với ạ!
vhg vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 06:24 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
Trích:
Nguyên văn bởi vhg View Post
nếu em gán _LATD10=_RE5 hoặc _RC1 hay bất cứ chân vào nào của Port E, C, G thì PortD10 đều lên 1, còn nếu em gán _LATD10 bằng bất cứ bít nào của Port B thì đều đo được mức 0.Trong khi em vẫn để tất cả các đầu vào này bằng 1.Bác xem hô e với ạ!
Code mà bạn đã post chưa đầy đủ: không rõ bạn cấu hình dsPIC ra sao, các chương trình con (delay(), Timer1_init()) thực hiện những việc gì?

Bạn có các tụ ceramic 100 nF (104) giữa các cặp chân nguồn hay không?

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 01-03-2009, 06:33 PM   #6
vhg
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 12
:
code đầy đủ của em đây ạ, em mới thử test các cổng I/O thôi, chưa dùng đến Timer1 cả, em không có các tụ 104 giữa các cặp chân nguồn,chỉ có 3 tụ 104 lọc nguồn đầu vào thôi:
Code:
#include <p30fxxxx.h>
#include <libpic30.h>
_FOSC(CSW_FSCM_OFF & XT_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF& MCLR_EN);
unsigned char pc[24]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24};
unsigned char pcin,i;
unsigned int count,j,k;
//void UART_init();
void Timer1_init();
void _ISR _T1Interrupt();
//void _ISR _U1RXInterrupt();
void delay();
//////////////////////////////////////////////////////////////////
int main(void)
{
//TRISA=0xFFFF;
TRISB=0xFFFC;
//TRISC=0x800A;
TRISD=0x00;
TRISE=0x03E0;
TRISF=0;
TRISG=0x03C0;
//_RD6=1;
//_RD14=1;
//UART_init();
//Timer1_init();
//_RD14=_RE5;
delay();
_LATD10=_RB6;
while(1)
   {
      for(j=1;j<550;j++)
         {
             if(i==50) _LATD6=1;/ Led nhap nhay
             if(i==180) _LATD6=0;
             
         }
       i++;
   }
}

/////////////////////////////////////////////////////////////////
void delay()
{
for (i=0;i<250;i++)
for(j=0;j<5000;j++);

}

thay đổi nội dung bởi: namqn, 01-03-2009 lúc 08:38 PM.
vhg vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 08:47 PM   #7
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
Trích:
Nguyên văn bởi vhg View Post
code đầy đủ của em đây ạ, em mới thử test các cổng I/O thôi, chưa dùng đến Timer1 cả, em không có các tụ 104 giữa các cặp chân nguồn,chỉ có 3 tụ 104 lọc nguồn đầu vào thôi:
...
Nếu phần cứng của bạn không ổn định, chuyện lạ gì cũng có thể xảy ra. Vì vậy, kiểm tra code của bạn không giúp ích được nhiều. Code hiện thời của bạn không có gì bất thường.

Bạn cần thêm các tụ decoupling 100 nF vào giữa 5 cặp chân nguồn của dsPIC. Đảm bảo tần số thạch anh nằm trong khoảng 4 - 10 MHz, và cũng chú ý mục 14 của errata sheet sau:
http://ww1.microchip.com/downloads/e...Doc/80258G.pdf

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
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à 05:57 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