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
-
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 Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment