Đánh giá chủ đề:
  • 124 Vote(s) - Trung bình 2.76
  • 1
  • 2
  • 3
  • 4
  • 5
CCS C lập trình cho PIC16F877A
Bài viết: #11
cac pro cho e hoi co ai biet so do nguyen ly mach quang bao sd pic 16f877a ko? neu co thi gjup e voi e dang can gap lam lam
sent qua dia chi mail giup e voi nha cac pro
gmail cuocsongso.yamaika@gmail.com

thanks nhiu nhiu
Trả lời
Bài viết: #12
thanks nhiều nha,mình đang cần 14
Trả lời
Bài viết: #13
hjx thanks cac bac nhiu nha.
cho em hoi caj nay voi "e lam led matrix 8x8 mun cho no chay chu thj lam ntn nhj" co bac nao ranh van de nay ko gjup e voi?
moi nguoi cho minh hoi co ai da tung lam quang bao su dung 4 led matrix 8x8 chua.minh dang lam viet code bang ccs ma khong hieu lam cho led chay chu ntn?moi nguoi giup minh voi duoc khong.
cam on moi nguoi nhieu
Trả lời
Bài viết: #14
đây là đoạn code mình trích từ 1 phần chương trình.Hiệu ứng chạy chữ từ trái qua phải.

Code:
for(m=0;m<1;m++)

{    



k=64;

do

{

for(j=0;j<=20;j++)

{

P2_4=1;

n=k;





for(i=0;i<=32;i++)

{

P2_5=1;

P2_5=0;

P2_6=1;

P2_6=0;

P3=u[n];



delay_ms(20);

P3=0;

n++;

P2_4=0;

}

}



k--;



}



while(k>0);



k=82;



}
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #15
à lố Quốc Nam có code PID cho PIC này ko....và mạch proteus mô phỏng cho PID đk động cơ nữa....
Forum KS CLC Việt Pháp

http://pfiev2008.net

Trả lời
Bài viết: #16
mình có up một bài về điều khiển PID số đó đức anh tham khảo đi.Có code luôn
You are not allowed to view links. Register or Login to view.
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #17
thanks nhiều
Có bác nào biết về quét phím ma trận không vậy, đang làm 1 bài về quét phím mà không hiểu nguyên tắc quét phím như thế nào hết
You are not allowed to view links. Register or Login to view. || You are not allowed to view links. Register or Login to view. || You are not allowed to view links. Register or Login to view. || You are not allowed to view links. Register or Login to view. || You are not allowed to view links. Register or Login to view. || You are not allowed to view links. Register or Login to view.
Trả lời
Bài viết: #18
You are not allowed to view links. Register or Login to view.
Khi không nhấn phím thì hàng của phím Hex nối với Vcc thông qua điện trở R nên có mức logic 1.Để phân biệt được trạng thái của phím nhấn thì mức logic khi nhấn phím phải là mức logic 0.Mà khi nhấn một phím nào đó thì tương ứng hàng và cột của bàn phím Hex sẽ kết nối với nhau. Do đó, để thực hiện kiểm tra một phím thì ta phải cho trước cột chứa phím tương ứng ở mức logic 0, sau đó kiểm tra hàng của phím, nếu hàng bằng 0 thì có nhấn phím còn hàng bằng 1 thì không có nhấn phím. Vài dòng chia sẽ chút bạn thành công!!
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #19
Thanks ^^, mình đang cần cái nì
Trả lời
Bài viết: #20
mình có đoạn code hiển thị tiếng việt lên LCD sử dụng pic 16f877a.mấy pro chjo minh` xin code chạy chữ tiếng việt từ trái sang phải với.mình thanks nhiều 69
#include
<16f877A.h>



#use
delay(clock=20000000)



#fuses
hs,nowdt,noput



#define
LCD_RS PIN_B0



#define
LCD_EN PIN_B1



#define
LCD_B4 PIN_B4



#define
LCD_B5 PIN_B5



#define
LCD_B6 PIN_B6



#define
LCD_B7 PIN_B7



byte
const cgram [48] = {0x0E,0X09,0X09,0X1D,0X09,0X09,0X0E,0X00,




0X04,0X0A,0X00,0X0E,0X0A,0X0A,0X04,0X00,




0X04,0X08,0X16,0X01,0X12,0X12,0X1E,0X00,




0X04,0X08,0X14,0X08,0X1C,0X14,0X1E,0X00



};














void
LCD_SetData (int cX )



{


output_bit ( LCD_B4, cX & 0x01 );


output_bit ( LCD_B5, cX & 0x02 );


output_bit ( LCD_B6, cX & 0x04 );


output_bit ( LCD_B7, cX & 0x08 );


}








void
LCD_PulseEnable()



{


output_high ( LCD_EN );


delay_MS ( 10 );


output_low ( LCD_EN );


delay_MS ( 10 );


}








void
LCD_PutCmd (int cX )



{





output_low (LCD_RS);


LCD_SetData ( swap ( cX ) );


LCD_PulseEnable ();


LCD_SetData ( swap ( cX ) );


LCD_PulseEnable();


}








void
LCD_PutChar ( unsigned int cX )



{


output_high ( LCD_RS );


LCD_SetData ( swap ( cX ) ); /* send high nibble */


LCD_PulseEnable();


LCD_SetData ( swap ( cX ) ); /* send low nibble */


LCD_PulseEnable();


delay_ms(10);


}


void
lcd_cmd (int data)



{


output_low(LCD_RS);


output_B(data);


LCD_PulseEnable();


}





void
LCD_Init ()



{


delay_ms(20);


lcd_cmd( 0x30 );


delay_ms(10);


lcd_cmd( 0x30 );


delay_US(350);


lcd_cmd( 0x30 );


lcd_cmd(0b00101000);


LCD_PutCmd(0b00101000);


LCD_PutCmd (0b00001100 ); /* display ON, cursor off, no blink */


LCD_PutCmd ( 0b00000110 ); /* entry mode set, increment & scroll
left */



LCD_PutCmd ( 0x01 ); /* clear display */


}


VOID
lcd_string(byte posistion,char *ptr,int delay)



{


LCD_PutCmd (posistion );


WHILE
(*ptr!=0)



{


LCD_PutChar (*ptr++ );


DELAY_MS(delay);


}


}





void
main ()



{


char
text1 []="DH Ton Duc Thang";



char
text3 []="MSSV:081373D";



int8
i,k;



char
*ptr;



set_tris_b(0);


LCD_Init ();


LCD_PutCmd
(0X40);



for(i=0;i<48;i++)


LCD_PutChar(cgram[i]);


lcd_string(0x80,text1,5);


lcd_string(0x0C0,text3,5);


lcd_string(0x0D0,text4,5);


LCD_PutCmd
(0X80);



LCD_PutChar(0X00);


LCD_PutCmd
(0X84);



LCD_PutChar(0X01);


LCD_PutCmd
(0X87);



LCD_PutChar(0X00);


LCD_PutChar(0X02);


LCD_PutCmd
(0X8D);



LCD_PutChar(0X03);
Trả lời


Đi tới chuyên mục:


Thành viên đang xem chủ đề: 1 Khách