View Full Version : xin hỏi ý tưởng viết code này
levuphuong
11-08-2011, 02:10 PM
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.
#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;
}
}
}
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.
#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:
#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);
}
}
}
levuphuong
11-08-2011, 11:53 PM
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
13-08-2011, 06:58 PM
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
#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ớ
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
#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.
levuphuong
15-08-2011, 12:39 PM
#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
#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é .
#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) ;
}
}
}
}
levuphuong
15-08-2011, 07:59 PM
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
25-08-2011, 01:05 PM
hom nay em làm tiếp tới lcd nhưng sao nó hok chạy
http://www.picvietnam.com/forum//showpost.php?p=3230&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
31-08-2011, 01:31 AM
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 :(
phatcddt08a
31-08-2011, 10:36 AM
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
hom nay em làm tiếp tới lcd nhưng sao nó hok chạy
http://www.picvietnam.com/forum//showpost.php?p=3230&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:
/*-----------------------------------------------------------------------------
* 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;
}
}
}
levuphuong
01-09-2011, 12:47 PM
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 đó
ductien88
01-09-2011, 01:50 PM
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ề . :D còn luyện lâp trình thì nên mua KIt về luyện :D
levuphuong
01-09-2011, 10:55 PM
cái chân câm lcd mà mắc thế á.mắc gần hơn cả testboard ? :(
levuphuong
24-09-2011, 01:43 AM
Mọi người cho em hỏi pic giao tiếp voi lcd có cần chôt data hok vậy
pstin
25-09-2011, 01:10 AM
Mọi người cho em hỏi pic giao tiếp voi lcd có cần chôt data hok vậy
Cái LCD ở xứ ta chẳng phải "hàng xịn", nối đúng chân là chạy ngon lành thôi, chốt dữ liệu làm chi. Trong một số bộ điều khiển nước ngoài thì đúng là có dùng IC truyền dữ liệu, lúc trước tui thấy người ta dùng IC SN75LBC176, bộ điều khiển và màn hình tách rời, giao tiếp chỉ bằng 2 dây thôi, không biết ở VN ta có cao thủ nào giao tiếp được bằng cách đó chưa!!!!!!???.
lionking
26-09-2011, 02:38 PM
Cái LCD ở xứ ta chẳng phải "hàng xịn", nối đúng chân là chạy ngon lành thôi, chốt dữ liệu làm chi. Trong một số bộ điều khiển nước ngoài thì đúng là có dùng IC truyền dữ liệu, lúc trước tui thấy người ta dùng IC SN75LBC176, bộ điều khiển và màn hình tách rời, giao tiếp chỉ bằng 2 dây thôi, không biết ở VN ta có cao thủ nào giao tiếp được bằng cách đó chưa!!!!!!???.
Con SN75LBC176 là dùng cho RS485 mà. modul tách rời đó chắc vẫn có VDK và đc giao tiếp = chuẩn rs485
levuphuong
27-09-2011, 03:07 AM
có bạn này up lên dùm mình code lcd mà test trên mạch thật rồi ấy.chứ code mình mô phỏng chạy mà lên mạch thì thua. :(
với lại cục nguồn của em có 4.1v ah, ko biết có chạy dc lcd ko nhỉ?
levuphuong
29-09-2011, 12:51 PM
Mọi người cho em hỏi
em có 3 mach chốt 573 em muốn 3 mach chuyển cùng 1 lúc output thì em nối chân LE vào chân nào của pic vậy
lionking
29-09-2011, 03:33 PM
Mọi người cho em hỏi
em có 3 mach chốt 573 em muốn 3 mach chuyển cùng 1 lúc output thì em nối chân LE vào chân nào của pic vậy
nối vào chân nào của pic chả được,nhưng phải tách riêng nó ra, có nghĩa mỗi chân LE nối với 1 chân của pic
lionking
29-09-2011, 03:35 PM
Cái LCD ở xứ ta chẳng phải "hàng xịn", nối đúng chân là chạy ngon lành thôi, chốt dữ liệu làm chi. Trong một số bộ điều khiển nước ngoài thì đúng là có dùng IC truyền dữ liệu, lúc trước tui thấy người ta dùng IC SN75LBC176, bộ điều khiển và màn hình tách rời, giao tiếp chỉ bằng 2 dây thôi, không biết ở VN ta có cao thủ nào giao tiếp được bằng cách đó chưa!!!!!!???.
tham khảo ở đây xem: http://www.picvietnam.com/forum/showthread.php?t=11276
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.