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 15-08-2010, 11:19 AM   #1
apiker
Đệ tử 1 túi
 
Tham gia ngày: Jul 2010
Bài gửi: 17
:
1 số chỗ chưa hiểu trong đoạn code, mong được giải đáp

em có đọc một đoạn code như sau:

//************************************************** ***************************
// Author : nhh
// Date : 03/04/06
// Hardware: PIC16F877A
//************************************************** ***************************
#include <16F877A.h>
#include <def_877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(c)
int a;
const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\
0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\
0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001};
// ma hoa digital duoi dang mang
// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
{
{
if(RB4&&RB0)
a=dig[0];
}
{
if(RB4&&RB1)
a=dig[4];
}
{
if(RB4&&RB2)
a=dig[8];
}
{
if(RB4&&RB3)
a=dig[12];
}
//.......
{
if(RB5&&RB0)
a=dig[1];
}
{
if(RB5&&RB1)
a=dig[5];
}
{
if(RB5&&RB2)
a=dig[9];
}
{
if(RB5&&RB3)
a=dig[13];
}
//........
{
if(RB6&&RB0)
a=dig[2];
}
{
if(RB6&&RB1)
a=dig[6];
}
{
if(RB6&&RB2)
a=dig[10];
}
{
if(RB6&&RB3)
a=dig[14];
}
//........
{
if(RB7&&RB0)
a=dig[3];
}
{
if(RB7&&RB1)
a=dig[7];
}
{
if(RB7&&RB2)
a=dig[11];
}
{
if(RB7&&RB3)
a=dig[15];
}
RBIF=0; //Xoa co ngat RB
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
set_tris_c(0);
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
portb=0;
portc=0;
while(true)
{
portb=1;
portb=2;
portb=4;
portb=8;
portc=a;
}
}

1/ các anh cho em hỏi tại sao ta lại có thể mã hóa được như thề này
const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\
0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\
0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001};
2/ các anh giải thích hộ em ý nghĩa của đoạn code này:
while(true)
{
portb=1;
portb=2;
portb=4;
portb=8;
portc=a
}
thanks!
apiker vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-08-2010, 09:33 AM   #2
apiker
Đệ tử 1 túi
 
Tham gia ngày: Jul 2010
Bài gửi: 17
:
BUZZ! Anybody here? Có ai giúp đỡ nhập môn đệ tử này với.
apiker vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-08-2010, 12:11 AM   #3
xungba22
Đệ tử 1 túi
 
Tham gia ngày: Dec 2009
Bài gửi: 11
:
biết gì nói đó

const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\
0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\
0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001};

cái này chỉ là mả led 7 đoạn thồi.Tùy thuộc vào A chung hay K chung mà có mã khác nhau.

còn muốn giải thĩ kĩ hơn thì poss luôn sơ đồ nguyên lý lên mình coi mới biết chính sác được.
xungba22 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-08-2010, 12:17 AM   #4
xungba22
Đệ tử 1 túi
 
Tham gia ngày: Dec 2009
Bài gửi: 11
:
Smile biết gì nói đó

while(true)
{
portb=1;
portb=2;
portb=4;
portb=8;
portc=a
}

đoạn cos này nếu mà mình đoán ko nhầm thì đây là một đoạn quét led.
xungba22 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-08-2010, 10:14 AM   #5
apiker
Đệ tử 1 túi
 
Tham gia ngày: Jul 2010
Bài gửi: 17
:
mình tải chương trình này ở đây
http://www.picvietnam.com/forum/show...p?t=357&page=2
(post #19)
bạn giải thích cho mình rõ hơn được ko? A chung hay K chung thì thế nào? cả việc quét led nữa nhé. thanks!
apiker 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à 04:40 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