PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 27-07-2009, 11:31 PM   #1
8051topic
Đệ tử 4 túi
 
Tham gia ngày: Apr 2006
Bài gửi: 71
:
Bạn nạp vào mạch thật thử đi, mình thấy Proteus không đúng lắm đâu.
Nút bấm thông thường thì cứ nối như "thông thường" thôi, tùy vào mức cao hay thấp ở chương trình mà bạn viết, nên nối thêm một con R 4k7 lên nguồn.
bạn dùng chân MCLR thì thiết lập cho nó là Input thì OK, mà đó là chân Reset mà, dùng chân khác đi bạn, chân MCLR để làm chức năng Reset thôi, khi nào hết chân thì hãy nghĩ tới nó.
Mình chỉ biết vậy thôi, không biết có đúng ý bạn không!
8051topic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-07-2009, 09:14 PM   #2
Em_ku
Nhập môn đệ tử
 
Tham gia ngày: Jul 2009
Bài gửi: 10
:
Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:
#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}

Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.

thay đổi nội dung bởi: namqn, 28-07-2009 lúc 09:43 PM. Lý do: định dạng code
Em_ku vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-07-2009, 12:52 AM   #3
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Bạn có kéo điện trở treo lên nguồn chỗ chân RB7 ko.
__________________
Bảng ledsigns chất lượng cao...
http://www.ledviet.info - manhha2700@yahoo.com
Đt:0949299699
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-08-2009, 09:26 PM   #4
vandat07
Đệ tử 1 túi
 
Tham gia ngày: Nov 2007
Bài gửi: 20
:
Trích:
Nguyên văn bởi Em_ku View Post
Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:
#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}

Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.

Theo em thì bác đã vô tình làm cho RB7 vừa là output vừa là input, bác nên cho chân input là 1 chân ở portA, C,..(không phải port B)
không biết các bác có ý kiến gì không?
vandat07 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-08-2009, 02:44 AM   #5
mocdailam
Đệ tử 1 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 18
:
Send a message via ICQ to mocdailam
Trích:
Nguyên văn bởi Em_ku View Post
Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:
#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}

Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.
mình không để ký lại mấy cái dịa chỉ chân vào ra của bạn! sao không dùng thu viện chuẩn của CCS
bạn xem lại chổ return di! gap return no thoat khoi ham chu con dau ma chay doan sau nua. theo minh nghi la the.
mocdailam 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à 06:11 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