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 11-08-2011, 02:10 PM   #1
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
xin hỏi ý tưởng viết code này

tình hình là em mới tập tành với code,đang tính viết cái cơ bản thôi
là led sẽ sáng từ b0 chay den b7 rồi b7 giữ yên mức sáng rồi,tiếp tục sáng từ b0 đến b6
em nói hơi khó hiểu xin mấy bác xin cái clip này
http://www.youtube.com/watch?v=EqxfLwzG7no
Em viết dùng pow tren math.h nên code nặng quá ram hết 21%,rom 37% năng hơi lâu không biết có bị ảnh hưởng pic 16f877a ko
Em nghĩ là chắc có cách viết khác đơn giản hơn,Bác nào biết xin chỉ giúp
Sẵn tiện các bác cho hỏi làm sao để khi mình nhấn buton nào đó C0 chẳng hạn thì led chạy ngược lại.
xin cám ơn rất nhiều.
Code:
#include<16F877A.h>
#include <math.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=10000000)
#use fast_io(b)
#byte portb=0x6
void main()
{
int8 c=0 ;
int8 b=0 ;
int8 a=1;
set_tris_b(0);
while(true)
{
portb=a ;
delay_ms(100) ;
if(a<128)
{
a=a*2 ;

}
if(a==128||a==192||a==224||a==240||a==248||a==252||a==254)
{   c=a ;
 b=0 ;
} 
if(a>=128)
{
a=c+pow(2,b) ;
b++;
}
if(a==255)
{
a=1;
b=0;
}



}
}
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-08-2011, 09:35 PM   #2
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi levuphuong View Post
tình hình là em mới tập tành với code,đang tính viết cái cơ bản thôi
là led sẽ sáng từ b0 chay den b7 rồi b7 giữ yên mức sáng rồi,tiếp tục sáng từ b0 đến b6
em nói hơi khó hiểu xin mấy bác xin cái clip này
http://www.youtube.com/watch?v=EqxfLwzG7no
Em viết dùng pow tren math.h nên code nặng quá ram hết 21%,rom 37% năng hơi lâu không biết có bị ảnh hưởng pic 16f877a ko
Em nghĩ là chắc có cách viết khác đơn giản hơn,Bác nào biết xin chỉ giúp
Sẵn tiện các bác cho hỏi làm sao để khi mình nhấn buton nào đó C0 chẳng hạn thì led chạy ngược lại.
xin cám ơn rất nhiều.
Code:
#include<16F877A.h>
#include <math.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=10000000)
#use fast_io(b)
#byte portb=0x6
void main()
{
int8 c=0 ;
int8 b=0 ;
int8 a=1;
set_tris_b(0);
while(true)
{
portb=a ;
delay_ms(100) ;
if(a<128)
{
a=a*2 ;

}
if(a==128||a==192||a==224||a==240||a==248||a==252||a==254)
{   c=a ;
 b=0 ;
} 
if(a>=128)
{
a=c+pow(2,b) ;
b++;
}
if(a==255)
{
a=1;
b=0;
}



}
}
đơn giản là tạo bảng tra:
Code:
#include <16f877a.h>
#device *=16 ADC=8
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=20000000)
int8 i,bien;
const unsigned char ma_led[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
main()
{
set_tris_b(0x00);
while(1)
{
for(bien=0;bien<=36;bien++)
{
output_b(ma_led[bien]);
Delay_ms(100);
}

}
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-08-2011, 11:53 PM   #3
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
hay quá.cám ơn bác rất nhiều vậy vấn đề chạy ngược lai thì tương tự rồi
Em viết code cứ suy nghĩ qui luật nó thế nào nhức đầu quá,sau này chắc dụng mảng như thế dễ hơn
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-08-2011, 06:58 PM   #4
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
Mình có thêm thắc mắc về ngắt ngoài nên mình hỏi trong đây luôn sợ lập topic nhiều quá không tốt
Code:
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int8 a=0;
int8 i,bien;
const unsigned char ma_ledthuan[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
const unsigned char ma_lednguoc[]= {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x83,
0x43,0x23,0x13,0x0b,0x07,0x87,0x47,0x27,
0x17,0x0f,0x8f,0x4f,0x2f,0x1f,0x9f,0x5f,
0x3f,0xbf,0x7f,0xFF,0x00};

// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
  {
      //Kiem tra sw1
      {
      if(RB4==1)
        {
        a++ ;
      }
      //Kiem tra sw2
      
  RBIF=0; //Xoa co ngat RB
  }
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
portb=0b11110000;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
  {
  if(a%2==0)
  {
  for(bien=0;bien<=36;bien++)
{
output_d(ma_ledthuan[bien]);
Delay_ms(200);
}
  }
  else
  {
for(bien=0;bien<=36;bien++)
{
output_d(ma_lednguoc[bien]) ;
delay_ms(200) ;

}
  }
}
}
Xin hỏi là sao mà khi mình nhấn nút ấy thì led không chạy ngược tức thời mà nó phải đợi hết vòng lập for đang chạy(tức là led phải chạy hết cái xuôi hay ngược rồi nó mới thay đổi)
Có cách nào làm cho nó thay đổi tức thời khi
Hòi thêm cái dòng này nghĩa là j vậy
if((RBIF)&&(RBIE)) ;
Xin cám ơn
ah thì ra là nó hết ngắt sẽ trả về nơi trước khi nó ngắt.hay là mình đặt điều kiên trong for rồi break nhỉ.Nhưng làm như thế không thấy phát huy tác dụng của ngắt nhỉ.
Các bác giúp em vớ

thay đổi nội dung bởi: levuphuong, 13-08-2011 lúc 08:30 PM. Lý do: biết thêm 1 điều ai cùng biết :)
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-08-2011, 09:45 PM   #5
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi levuphuong View Post
Mình có thêm thắc mắc về ngắt ngoài nên mình hỏi trong đây luôn sợ lập topic nhiều quá không tốt
Code:
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int8 a=0;
int8 i,bien;
const unsigned char ma_ledthuan[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
const unsigned char ma_lednguoc[]= {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x83,
0x43,0x23,0x13,0x0b,0x07,0x87,0x47,0x27,
0x17,0x0f,0x8f,0x4f,0x2f,0x1f,0x9f,0x5f,
0x3f,0xbf,0x7f,0xFF,0x00};

// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
  {
      //Kiem tra sw1
      {
      if(RB4==1)
        {
        a++ ;
      }
      //Kiem tra sw2
      
  RBIF=0; //Xoa co ngat RB
  }
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
portb=0b11110000;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
  {
  if(a%2==0)
  {
  for(bien=0;bien<=36;bien++)
{
output_d(ma_ledthuan[bien]);
Delay_ms(200);
}
  }
  else
  {
for(bien=0;bien<=36;bien++)
{
output_d(ma_lednguoc[bien]) ;
delay_ms(200) ;

}
  }
}
}
Xin hỏi là sao mà khi mình nhấn nút ấy thì led không chạy ngược tức thời mà nó phải đợi hết vòng lập for đang chạy(tức là led phải chạy hết cái xuôi hay ngược rồi nó mới thay đổi)
Có cách nào làm cho nó thay đổi tức thời khi
Hòi thêm cái dòng này nghĩa là j vậy
if((RBIF)&&(RBIE)) ;
Xin cám ơn
ah thì ra là nó hết ngắt sẽ trả về nơi trước khi nó ngắt.hay là mình đặt điều kiên trong for rồi break nhỉ.Nhưng làm như thế không thấy phát huy tác dụng của ngắt nhỉ.
Các bác giúp em vớ
trong hàm ngắt thêm một biến phát hiện ngắt.
trong vòng lặp for kiểm tra biến đó nếu phát hiện có ngắt thì kết thúc vòng lặp for.
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-08-2011, 12:39 PM   #6
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
Code:
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int8 a=0;
int8 bien;
const unsigned char ma_ledthuan[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
const unsigned char ma_lednguoc[]= {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x83,
0x43,0x23,0x13,0x0b,0x07,0x87,0x47,0x27,
0x17,0x0f,0x8f,0x4f,0x2f,0x1f,0x9f,0x5f,
0x3f,0xbf,0x7f,0xFF,0x00};

// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
  {
      //Kiem tra sw1
      {
      if(RB4==1)
        {
        a++ ;
            // thêm delay_ms(10) thì nó không chạy dc
      }
      //Kiem tra sw2
      
  RBIF=0; //Xoa co ngat RB
  }
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
portb=0b11110000;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
  {
  if(a%2==0)
  {
  for(bien=0;bien<=36;bien++)
{
if(a%2==1)
bien=37;
output_d(ma_ledthuan[bien]);
Delay_ms(200);
}
  }
  else
  {
for(bien=0;bien<=36;bien++)
{
if(a%2==0)
bien=37;
output_d(ma_lednguoc[bien]) ;
delay_ms(200) ;

}
  }
}
}
mình đã sửa lại và chạy rồi nhưng khi nhấn 5 cái có 1 cái hok ăn.xem trên diễn đàn th2i là do hiện tuong rung phím.Mình thử thêm delay vào ben trong ngắt .sau dò phím thì nó lại bi warning và code hok chạy luôn
Nó báo sẽ không ngắt khi chay hàm delay_ms
Các bác giúp em với
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-08-2011, 01:35 PM   #7
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi levuphuong View Post
Code:
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int8 a=0;
int8 bien;
const unsigned char ma_ledthuan[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
const unsigned char ma_lednguoc[]= {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x83,
0x43,0x23,0x13,0x0b,0x07,0x87,0x47,0x27,
0x17,0x0f,0x8f,0x4f,0x2f,0x1f,0x9f,0x5f,
0x3f,0xbf,0x7f,0xFF,0x00};

// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
  {
      //Kiem tra sw1
      {
      if(RB4==1)
        {
        a++ ;
            // thêm delay_ms(10) thì nó không chạy dc
      }
      //Kiem tra sw2
      
  RBIF=0; //Xoa co ngat RB
  }
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
portb=0b11110000;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
  {
  if(a%2==0)
  {
  for(bien=0;bien<=36;bien++)
{
if(a%2==1)
bien=37;
output_d(ma_ledthuan[bien]);
Delay_ms(200);
}
  }
  else
  {
for(bien=0;bien<=36;bien++)
{
if(a%2==0)
bien=37;
output_d(ma_lednguoc[bien]) ;
delay_ms(200) ;

}
  }
}
}
mình đã sửa lại và chạy rồi nhưng khi nhấn 5 cái có 1 cái hok ăn.xem trên diễn đàn th2i là do hiện tuong rung phím.Mình thử thêm delay vào ben trong ngắt .sau dò phím thì nó lại bi warning và code hok chạy luôn
Nó báo sẽ không ngắt khi chay hàm delay_ms
Các bác giúp em với
vẫn chạy bt,mô phỏng proteus không cần chống rung .nhấn phím thì giữ một chút nhé .

Code:
#include <16F877A.h>
#fuses NOWDT,PUT,XT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
#byte intcon=0x000B
#bit RB4=portb.4
#bit RB5=portb.5
#bit RBIF=intcon.0 //dinh nghia co ngat RB
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB
int8 a=0;
int8 bien;
const unsigned char ma_ledthuan[]= {
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x81,0x82,0x84,0x88,0x90,0xA0,0xC0,0xC1,
0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,
0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
0xFC,0xFD,0xFE,0xFF,0x00};
const unsigned char ma_lednguoc[]= {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x83,
0x43,0x23,0x13,0x0b,0x07,0x87,0x47,0x27,
0x17,0x0f,0x8f,0x4f,0x2f,0x1f,0x9f,0x5f,
0x3f,0xbf,0x7f,0xFF,0x00};

// Chuong trinh ngat
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
  {

      if(RB4==1)
        {
        
        a++ ;
      delay_ms(10) ;//thi? no? không cha?y dc
      }
}
}
// Chuong trinh chinh
void main()
{
set_tris_b(0b11110000);
portb=0b11110000;
enable_interrupts(global);
enable_interrupts(int_RB);
ext_int_edge(H_to_L);
while(true)
  {
  if(a%2==0)
  {
  for(bien=0;bien<=36;bien++)
{
if(a%2==1)
bien=37;
output_d(ma_ledthuan[bien]);
Delay_ms(200);
}
  }
  else
  {
for(bien=0;bien<=36;bien++)
{
if(a%2==0)
bien=37;
output_d(ma_lednguoc[bien]) ;
delay_ms(200) ;

}
  }
}
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-08-2011, 07:59 PM   #8
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
Nó báo warning nhưng vẫn nạp được nhựng chạy vẫn như cũ
Không dc như ý.Chắc tại nút cùi wa
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-08-2011, 01:05 PM   #9
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
hom nay em làm tiếp tới lcd nhưng sao nó hok chạy
http://www.picvietnam.com/forum//sho...0&postcount=51
làm theo code này và chan em nối
1;gnd
2;vcc
3;chia ap ra 2.5v câu vào
4,5,6 d0->d2
7.8.9.10.11.12.13.14.
15 len vcc
16 đất
nhưng sao em nạp vào nó chỉ sáng chứ hok ra chữ
em đổi xt->hs rồi dùng
#use delay(clock=12000000)
Các bác cho hỏi em làm như thế đúng chưa
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-08-2011, 02:30 PM   #10
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi levuphuong View Post
hom nay em làm tiếp tới lcd nhưng sao nó hok chạy
http://www.picvietnam.com/forum//sho...0&postcount=51
làm theo code này và chan em nối
1;gnd
2;vcc
3;chia ap ra 2.5v câu vào
4,5,6 d0->d2
7.8.9.10.11.12.13.14.
15 len vcc
16 đất
nhưng sao em nạp vào nó chỉ sáng chứ hok ra chữ
em đổi xt->hs rồi dùng
#use delay(clock=12000000)
Các bác cho hỏi em làm như thế đúng chưa
thử lại xem sao:
Code:
/*-----------------------------------------------------------------------------
* Author          : nhh
* Date            : 05/04/06
* Hardware        : PIC16F877A
* Compiler      : CCS C 3.249
* Description  : Hien thi LCD
*=============================================================================*/
#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define RS  RD0
#define RW  RD1
#define E   RD2
#define LCD PORTB

const unsigned char key[]="HELLOPICVIETNAM!";
int i = 0;

/*Ham yeu cau goi lenh dieu khien LCD*/
void comnwrt(void)
{
 RS = 0;
 RW = 0;
 E  = 1;
delay_ms(1);
 E  = 0;
 delay_ms(1);
}
/*Ham yeu cau goi du lieu hien thi len LCD*/
void datawrt(void)
{
 RS = 1;
 RW = 0;
 E  = 1;
delay_ms(1);
 E  = 0;
 delay_ms(1);
}
/*Ham main*/
void main(void)
{
 set_tris_B(0);
 set_tris_D(0);
 delay_ms(100);   //   Tao tre 100ms cho LCD khoi dong

 LCD = 0x38;      //   Hai hang, ma tran dot 5*7, 8 bit interface
 comnwrt();
 LCD = 0x0C;      //   Bat hien thi, tat con tro
 comnwrt();
 LCD = 0x86;      //   Vi tri hang 1,cot 7
 comnwrt();
 while(true)
   {
       LCD = key[i];
       datawrt();
       delay_ms(100);
       i++;
       if(i==5)               //   Hien thi xong HELLO
         {
            LCD = 0xC3;       //   Vi tri hang 2,cot 4
            comnwrt();
            delay_ms(100);
         }
       if(i==16)              //   Hien thi xong PICVIETNAM!
         {
            delay_ms(1100);
            LCD = 0x01;       //   Xoa man hinh hien thi
            comnwrt();
            delay_ms(500);
            LCD = 0x86;       //   Vi tri hang 1,cot 7
            comnwrt();
            i = 0;
         }
   }
}
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-08-2011, 01:31 AM   #11
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
Ai có mạch thật test dùm mình cái trên đi.Mình thử mấy bữa này mà không được
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-08-2011, 10:36 AM   #12
phatcddt08a
Đệ tử 5 túi
 
phatcddt08a's Avatar
 
Tham gia ngày: Dec 2010
Bài gửi: 101
:
void ngat_RB()
{
if((RBIF)&&(RBIE))
{

if(RB4==1)
{

a++ ;
delay_ms(10) ;//thi? no? không cha?y dc
}
}
}
khong nen dung delay trong ngat ban ah ban nen dung mot vong lap while hoac for cho chong rung phim se tot hon
phatcddt08a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-09-2011, 12:47 PM   #13
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
mình đã thử cũng hok được chắc do mình cắm vào lcd ko tiếp xúc tốt lắm.
HOk biết có chỗ nào bán cái đồ để mình cắm lcd lên test board ko nhỉ.Mình xem trên youtube thấy cái đó
levuphuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-09-2011, 01:50 PM   #14
ductien88
Nhập môn đệ tử
 
Tham gia ngày: Jun 2011
Bài gửi: 3
:
Chợ giời 45k hay 50k gì đấy . Tốt nhất nên làm mạch để còn nâng cao tay nghề . còn luyện lâp trình thì nên mua KIt về luyện
ductien88 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-09-2011, 10:55 PM   #15
levuphuong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2011
Bài gửi: 25
:
cái chân câm lcd mà mắc thế á.mắc gần hơn cả testboard ?
levuphuong 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à 01:43 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