Nguyên văn bởi beiudientu
Xem bài viết
Thông báo
Collapse
No announcement yet.
giúp em hiệu ứng quét theo hàng
Collapse
X
-
-
wa cái này em định hỏi các pác có bít thì giúp em ha
giải thích cho em cách làm dòng chữ chạy từ dưới lên dc ko
có đoạn code ví dụ thì càng tốt (viết bàng asm)8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
liên lạc với em qua địa chi email: Mob: 01882.076.989
Comment
-
Nguyên văn bởi hoangphat Xem bài viếtwa cái này em định hỏi các pác có bít thì giúp em ha
giải thích cho em cách làm dòng chữ chạy từ dưới lên dc ko
có đoạn code ví dụ thì càng tốt (viết bàng asm)
Chương trình mình up lên cũng có hiệu ứng chạy từ dưới lên đó. Có cả trên xuống, phải qua trái đó. có gì bạn tham khảo nha.
Comment
-
@ Anh Mr_se7en sao trong chương trình này em không thấy hàm chính void main () đâu cả vậy... và vòng lặp liên tục vd while(1) chẳng hạn.. em đưa vào mô phỏng và điều khiển thực tế thì không thấy port điều khiển cho ic quét hàng 74hc154 được tác động... anh cho em hỏi thêm câu code này nữa out_serial(lib_font[(data_out[3-i])*16 + v],7); anh giải thích cho em cái lệnh data_out[3-i])*16 + v] nó sẽ trỏ tới mảng data_out nhưng sao cần *16 ..Nguyên văn bởi Mr_se7en Xem bài viếtMình kiếm được tài liệu rồi đây. Đã làm chạy thành công rồi. Chương trình này đưa 24 chữ cái ( Chữ IN HOA đó nha) vào rối muốn chữ nào xuât ra thì chỉ việc đổi chữ "DEMO" thành chữ mình muốn nha. Chúc bạn thành công
#include <AT89X52.h>
//--------------------------------
//khai bao bien
//16hang, 4led
//P0 SELECT HANG
sbit clk = P2^5;
sbit s_clk = P2^4;
sbit data_d = P2^6;
sbit data_x = P2^7;
//--------------------------------
unsigned char n,m,l,step,color =0;
unsigned int count =0,temp_1=0,temp_2=0;
//----------------------------------------------
/*font du lieu chi lap trinh cho chu IN HOA,
neu muon cho chu thuong thi tao them font chu IN THUONG
cho bang ma font */
//FONT TIENG VIET 24 CHU CAI
unsigned char code lib_font[]={
0x00,0x00,0x00,0x10,0x38,0x7C,0xFE,0xC6,0xC6,0xFE, 0xFE,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0xF8,0xFE,0xC6,0xC6,0xFC,0xFC,0xC6 ,0xC6,0xFE,0xFC,0x00,0x00,0x00
,0x00,0x00,0x00,0x7C,0xFE,0xC0,0xC0,0xC0,0xC0,0xC0 ,0xC0,0xFE,0x7C,0x00,0x00,0x00
,0x00,0x00,0x00,0xF8,0xFC,0xC6,0xC6,0xC6,0xC6,0xC6 ,0xC6,0xFC,0xF8,0x00,0x00,0x00
,0x00,0x00,0x00,0xFE,0xFE,0xC0,0xC0,0xF8,0xF8,0xC0 ,0xC0,0xFE,0xFE,0x00,0x00,0x00
,0x00,0x00,0x00,0xFE,0xFE,0xC0,0xC0,0xFC,0xFC,0xC0 ,0xC0,0xC0,0xC0,0x00,0x00,0x00
,0x00,0x00,0x00,0x7C,0xFE,0xC0,0xC0,0xC0,0xCE,0xC6 ,0xC6,0xFE,0x7C,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xFE,0xC6 ,0xC6,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0x7E,0x3C,0x18,0x18,0x18,0x18,0x18 ,0x18,0x3C,0x7E,0x00,0x00,0x00
,0x00,0x00,0x00,0x7E,0x7E,0x18,0x18,0x18,0x18,0x98 ,0xD8,0xF8,0x70,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xCC,0xD8,0xF0,0xE0,0xE0,0xF0 ,0xD8,0xCC,0xCE,0x00,0x00,0x00
,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC2 ,0xC6,0xFE,0xFE,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xEE,0xFE,0xD6,0xC6,0xC6 ,0xC6,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xE6,0xE6,0xF6,0xDE,0xCE ,0xCE,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6 ,0xC6,0xFE,0x7C,0x00,0x00,0x00
,0x00,0x00,0x00,0xFC,0xFE,0xC6,0xC6,0xFE,0xFC,0xC0 ,0xC0,0xC0,0xC0,0x00,0x00,0x00
,0x00,0x00,0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xD6,0xDA ,0xCC,0xF6,0x7B,0x00,0x00,0x00
,0x00,0x00,0x00,0xFC,0xFE,0xC6,0xC6,0xFE,0xFC,0xD8 ,0xDC,0xCE,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0x7C,0xFE,0xC0,0xC0,0xFC,0x7E,0x06 ,0x06,0xFE,0x7C,0x00,0x00,0x00
,0x00,0x00,0x00,0x7E,0x7E,0x5A,0x18,0x18,0x18,0x18 ,0x18,0x18,0x18,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6 ,0xC6,0xFE,0x7C,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xEE ,0x7C,0x38,0x10,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xFE ,0xEE,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0xC6,0xC6,0x6C,0x38,0x10,0x10,0x38 ,0x6C,0xC6,0xC6,0x00,0x00,0x00
,0x00,0x00,0x00,0x66,0x66,0x66,0x7E,0x3C,0x18,0x18 ,0x18,0x3C,0x7E,0x00,0x00,0x00
,0x00,0x00,0x00,0xFE,0xFE,0x06,0x0C,0x18,0x30,0x60 ,0xC0,0xFE,0xFE,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char code lib_dis []={"ABCDEFGHIJKLMNOPQRSTUVWXYZ "};
unsigned char code lib_out []={" DEMO @"};
unsigned char data_out [5];
unsigned char data_temp[5];
void delay_ms(unsigned int data_in)
{
unsigned int i,j;
for(i=0;i<=data_in;i++)
for(j=0;j<=33;j++);
}
//------------------------------------------------------
void out_serial(unsigned char data_in,unsigned char loop)
{
unsigned char i,j;
for(i=0;i<=loop;i++)
{
j = data_in;
j = j>>i;
j &= 0x01;
if(j ==0)
{
data_x =0;
data_d =0;
clk =0;
clk =1;
}
else
{
if(color==0) //RED
{
data_d =1;
data_x =0;
clk =0;
clk =1;
}
else
if(color==1) //GREEN
{
data_d =0;
data_x =1;
clk =0;
clk =1;
}
else
{
data_d =1; //YELLOW
data_x =1;
clk =0;
clk =1;
}
}
}
}
//----------------------------------------------------------
void tra_ma (unsigned char data_in)
{
unsigned char i,j,k=0;
for(i=data_in;i<=(data_in + 4);i++)
{
data_temp[k] = lib_out[i];
k ++;
}
for(i=0;i<=4;i++)
{
for(j=0;j<=26;j++)
{
if(data_temp[i] == lib_dis[j])
data_out[i] = j;
}
}
}
//------------------------------------------------------------
void next_led(unsigned char data_in,unsigned char dich_bit)
{
out_serial(data_in,7-dich_bit);
}
//------------------------------------------------------------
void hien_thi(unsigned char hang,unsigned char dich_bit)
{
unsigned char i;
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[4-i])*16+hang],7);
}
next_led (lib_font [(data_out[0])*16+hang],dich_bit);
}
//-----------------------------------------------------
void change_color () interrupt 1 //ngat timer0
{
TR0 =0;
TH0=0x3C;
TL0=0xB0;
TR0=1;
count ++;
if(count == 40) //delay 50.000uS * 80 = 2s (Crystal = 22.1184MHz)
{
count =0;
color ++;
if(color==3)
color=0;
}
}
//---------------------------------------------------
void stop_data()
{
unsigned char i,k,u;
for(k=0;k<=150;k++)
{
for(u=0;u<=15;u++)
{
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[3-i])*16+u],7);
}
delay_ms(2);
P0 =255;
s_clk =0;
s_clk =1;
P0 =u;
}
}
}
//------------------------------------------------------
void down_up()
{
unsigned int u,i,j,k,v;
tra_ma(4);
for(k=0;k<=15;k++)
{
for(j=0;j<=20;j++)
{
v = 0;
for(u=0;u<=15;u++)
{
if(u>=15-k)
{
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[3-i])*16 + v],7);
}
delay_ms(2);
P0 =255;
s_clk =0;
s_clk =1;
P0 =u;
v++;
}
}
}
}
for(k=0;k<=15;k++)
{
for(j=0;j<=20;j++)
{
v = k;
for(u=0;u<=15;u++)
{
if(u <= 15-k)
{
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[3-i])*16 + v],7);
}
delay_ms(2);
P0 =255;
s_clk =0;
s_clk =1;
P0 =u;
v++;
}
}
}
}
}
void up_down()
{
unsigned int u,i,j,k,v;
tra_ma(4);
for(k=0;k<=15;k++)
{
for(j=0;j<=20;j++)
{
v = 15-k;
for(u=0;u<=15;u++)
{
if(u<=k)
{
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[3-i])*16 + v],7);
}
delay_ms(2);
P0 =255;
s_clk =0;
s_clk =1;
P0 =u;
v++;
}
}
}
}
tra_ma(4);
for(k=0;k<=15;k++)
{
for(j=0;j<=20;j++)
{
v = 0;
for(u=0;u<=15;u++)
{
if(u>=k)
{
for(i=0;i<=3;i++)
{
out_serial(lib_font[(data_out[3-i])*16 + v],7);
}
delay_ms(2);
P0 =255;
s_clk =0;
s_clk =1;
P0 =u;
v++;
}
}
}
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi mèomướpDạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
-
Channel: Tâm tình dân kỹ thuật
31-07-2026, 12:52 -
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:49 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
30-07-2026, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
30-07-2026, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -
-
Trả lời cho [Chia sẻ] Tổng hợp các công ty AI Việt Nam đang làm gì thật sự — Từ voicebot, computer vision đến AI agentsbởi nguyendinhvanCàng ngày, CNTT càng trở nên lôi thôi , rách việc.
Cái AI và Ge... trên trình duyệt chỉ tổ làm vướng mắt, mất thì gian.
Tôi toàm phải mất cộng tắt nó đi.-
Channel: Xu hướng, nhu cầu và thị trường
25-07-2026, 14:59 -

Comment