![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| 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 |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 | |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2006
Bài gửi: 26
: |
Trích:
Mỉnh không biết vì lý do gì, nhưng mình dùng hàm __delay32(n), với n = 11 thì thời gian delay là 1.6us, mình dùng máy hiện sóng để đo. |
|
|
|
|
|
|
#2 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2006
Bài gửi: 26
: |
Đây là đoạn code mình mới viết,
sử dụng câu lệnh repeat của asm để thực hiện các câu lệnh nop. Code:
void Delayus( unsigned int u2_Timer)
{
register int abcd asm("w0");
mnop = (((u2_Timer - 1) * 16));
abcd = mnop;
asm ("REPEAT W0");
asm ("nop");
}
|
|
|
|
|
|
#3 | |
|
Đệ tử 1 túi
Tham gia ngày: Jun 2009
Bài gửi: 25
: |
Trích:
|
|
|
|
|
|
|
#4 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2006
Bài gửi: 26
: |
Code chạy ở tốc độ 32Mhz.
Config của PIC24F Code:
_CONFIG1 (JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF & ICS_PGx1 & FWDTEN_OFF & WINDIS_OFF & FWPSA_PR128 & WDTPS_PS1) _CONFIG2 (IESO_OFF & PLLDIV_DIV5 & PLL_96MHZ_ON & FNOSC_PRIPLL & FCKSM_CSDCMD & OSCIOFNC_ON & IOL1WAY_OFF & DISUVREG_OFF & POSCMOD_HS) |
|
|
|
|
|
#5 | |
|
Trưởng lão PIC bang
|
Trích:
Ngoài ra, bạn kiểm tra lại code hợp ngữ mà trình biên dịch đã tạo ra xem có phát sinh thêm lệnh thừa nào 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 |
|
|
|
|
|
|
#6 | |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2006
Bài gửi: 26
: |
Trích:
Code:
_CONFIG1 (JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF &
ICS_PGx1 & FWDTEN_OFF & WINDIS_OFF & FWPSA_PR128 & WDTPS_PS1)
_CONFIG2 (IESO_OFF & PLLDIV_DIV5 & PLL_96MHZ_ON & FNOSC_PRIPLL &
FCKSM_CSDCMD & OSCIOFNC_ON & IOL1WAY_OFF & DISUVREG_OFF & POSCMOD_HS)
Vì mình muốn viết function giống CCS, tức là cần delay bao nhiêu us thì truyền tham số vào. vì vậy mình viết hàm delayus(unsigned int u2_timer), có thể chính việc gọi hàm làm thời gian delay không đúng theo lý thuyết nữa. Để xem được code asm khi compile bằng C30, thì làm như thế nào? Mình dùng MPLAB nên khi compile xong ko có file mã asm. Cám ơn nhiều. |
|
|
|
|
|
|
#7 |
|
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
View/Disassembly Listing
|
|
|
|
![]() |
|
|