Nguyên văn bởi hoang_hai
Xem bài viết
Thông báo
Collapse
No announcement yet.
Tìm hiểu bảng quang báo
Collapse
This topic is closed.
X
X
-
uh` bạn thì đơn giản nhưng với tớ khó vô cùngNguyên văn bởi Huntress1 Xem bài viếtđơn giản thôy, bạn đừng coi đó là ma trận 8x8 nữa mà hãy coi nó là 16x8 đi
mình cũng nghĩ như vậy rồi
nhưng có 1 vấn đề là như thế này
mình khai báo 1 mảng la[8]={0x00,0x0a......0x0f}
vậy thì nó hiện ngay trên ma trận và dich 1 bit
nhưng như ý bạn là khai báo 1 mảng là[16]={0,0,0,0,0,0,0,0,0x0a....0x0f}
thì 1 port của ta chỉ đưa dc 8 bit là{0,0,0,0,0,0,0,0}
và dịch chuyển 1 bit thì vẫn là 0 nó chỉ dịch hết 8 bit đầu thôi còn ko dịch những bit sau
thế nên mình mới ko biết viết code như thế nào
bạn biết thì viết cho mình đoạn code đấy với
còn mở rộng port thì mình dùng 74573va 74138 dc rồi ko thể nào mà dùng mỗi con 74138 dc
Comment
-
1 mảng 8 bit, khi port 1 dịch xong thì port 2 dùng tiếp mảng đó để dịch, còn nếu khó quá thì bạn cho 2 mảng 16 bit đi
A[16]={a,b,c,d,e,f,g,h,0,0,0,0,0,0,0,0}
B[16]={0,0,0,0,0,0,0,0,i,j,k,l,m,n,o,p}
1 vòng for i = 0 to 15
hiểu chứ !
đó là do thuật toán của bạn loằng ngoằng quá, chưa tối ưu chứ sao.còn mở rộng port thì mình dùng 74573va 74138 dc rồi ko thể nào mà dùng mỗi con 74138 dc
Tuy nhiên nếu bạn sử dụng được kon kia rồi thì cũng tốt bởi vì cách sử dụng 138 không phải là cách tối ưu nhất mà
Comment
-
ko hiểuNguyên văn bởi Huntress1 Xem bài viết1 mảng 8 bit, khi port 1 dịch xong thì port 2 dùng tiếp mảng đó để dịch, còn nếu khó quá thì bạn cho 2 mảng 16 bit đi
A[16]={a,b,c,d,e,f,g,h,0,0,0,0,0,0,0,0}
B[16]={0,0,0,0,0,0,0,0,i,j,k,l,m,n,o,p}
1 vòng for i = 0 to 15
hiểu chứ !
đó là do thuật toán của bạn loằng ngoằng quá, chưa tối ưu chứ sao.
Tuy nhiên nếu bạn sử dụng được kon kia rồi thì cũng tốt bởi vì cách sử dụng 138 không phải là cách tối ưu nhất mà
bạn nói kĩ hơn nữa đi
hay viết cho mình đoạn code đi để mình tham khảo
Comment
-
nó chỉ dịch dc 8 bit thôi làm sao dịch dc 16 bitNguyên văn bởi Huntress1 Xem bài viếtvậy mà k hiểu nữa
A[16]={a,b,c,d,e,f,g,h,0,0,0,0,0,0,0,0}
B[16]={0,0,0,0,0,0,0,0,i,j,k,l,m,n,o,p}
for(i=0;i<15;i++)
{
P0=A[i];
P1=B[i];
}
Comment
-
vạy bạn cho chạy chữ bằng cắc nào vậy
sao mình khai báo mang 16 mà nó ko dich dc
nó chỉ dich bit ở mang 8
vậy cậu giải thích cho mình mảng 16 thì data sẽ ra như thế nào
[n]={0x00,0x01,0x06,0x00,0x00,0x00,0x00,0xff,0x01,0x0 3,......0x00}có 16 bit
thì 8 bit đầu là của port1 đưa data ra cột còn 8 bit sau là của cái jLast edited by hoang_hai; 23-07-2009, 00:50.
Comment
-
Xin chào các cao thủ.
Em là thành viên mới toanh của diễn đàn, hiện em đang tìm hiểu về bảng điện tử và quang báo, cũng đã kiếm được ít tài liệu nhưng đọc cứ thấy rối mù lên, không bít phải bắt đầu từ đâu? ( hic chắc tại em chưa bít gì). tóm lại em đang tập đi những bước đầu tiên. Rất mong các bác chỉ bảo! Nếu ai có tài liệu tham khảo làm ơn gửi cho em, thanks các pác nhìu!
Email: dongoccuongkhtn@yahoo.com
Thân!
Comment
-
không hiểu vấn đề mà cứ dùng những từ ngữ cao siêu !Nguyên văn bởi hoang_hai Xem bài viếtvạy bạn cho chạy chữ bằng cắc nào vậy
sao mình khai báo mang 16 mà nó ko dich dc
nó chỉ dich bit ở mang 8
vậy cậu giải thích cho mình mảng 16 thì data sẽ ra như thế nào
[n]={0x00,0x01,0x06,0x00,0x00,0x00,0x00,0xff,0x01,0x0 3,......0x00}có 16 bit
thì 8 bit đầu là của port1 đưa data ra cột còn 8 bit sau là của cái j
Lưu ý : mảng 16 là 16 phần tử !
VÀ bạn trả lời cho mình câu này : dịch bit là gì ?
Mình chạy thử bằng tay cho bạn xem nhé
i=0 : P0=0xa ; P1=0x00;Code:A[16]={a,b,c,d,e,f,g,h,0,0,0,0,0,0,0,0} B[16]={0,0,0,0,0,0,0,0,i,j,k,l,m,n,o,p} for(i=0;i<15;i++) { P0=A[i]; P1=B[i]; }
i=1 : P0=0xb ; P1=0x00;
i=2 : P0=0xc ; P1=0x00;
.....
i=7 : P0=0xh ; P1=0x00;
i=8 : P0=0x00 ; P1=0xi;
i=9 : P0=0x00 ; P1=0xj;
.....
i=15 : P0=0x0 ; P1=0xp;
Comment
-
cod nghia là[n]={....}ví dụNguyên văn bởi Huntress1 Xem bài viếtkhông hiểu vấn đề mà cứ dùng những từ ngữ cao siêu !
Lưu ý : mảng 16 là 16 phần tử !
VÀ bạn trả lời cho mình câu này : dịch bit là gì ?
Mình chạy thử bằng tay cho bạn xem nhé
i=0 : P0=0xa ; P1=0x00;Code:A[16]={a,b,c,d,e,f,g,h,0,0,0,0,0,0,0,0} B[16]={0,0,0,0,0,0,0,0,i,j,k,l,m,n,o,p} for(i=0;i<15;i++) { P0=A[i]; P1=B[i]; }
i=1 : P0=0xb ; P1=0x00;
i=2 : P0=0xc ; P1=0x00;
.....
i=7 : P0=0xh ; P1=0x00;
i=8 : P0=0x00 ; P1=0xi;
i=9 : P0=0x00 ; P1=0xj;
.....
i=15 : P0=0x0 ; P1=0xp;
000111000
vậy mình viết lệnh là
for(=0;k<8;k++){
P1=[n]<<k;.....
...}
thì với k=0;thì P1=[n]
k=1; thì mảnh n tién lên 1 bit là 001110000
k=2 thì mảnh n tién lên 2 bit là 011100000
cứ thế là hết 8 bit còn ở đằng sau là 0
cấu trúc này có trong C đấy
có thế thôi
Comment
-
Bác Hoang_Hai chắc nhầm ở đâu đó rồi!
Đọc qua 1 hồi thấy bác bị rối rối lên sao sao đó ở chỗ mảng.
Ý bác là muốn 1 mảng data trở thành 1 mảng bit?
Hay dịch 1 mảng 16 phần tử khi dịch thì 16 phần tử này cùng dịch?
Nếu muốn dịch 1 cái mà 16 phần tử này cùng dịch cũng ko phải là chuyện khó đâu. Dễ thôi, xem lại chỗ struct và union. khi đó dịch 1 khối ví dụ có 80 phần tử tương đương 1 bảng 80 cộtx 8 thì dịch 1 phần tử trên đó là dịch luôn 80 phần tử.
Comment
-
Chốt ah, tức là dùng IC chốt ví dụ: 74573 chốt data trên led, lúc đó tốc độ cực kỳ nhanh có thể nói là ko gì nhanh bằng.Nguyên văn bởi thaielectric Xem bài viếtDiễn đàn ơi, giải thích giúp mình dòng chữ màu xanh ấy. Mình chưa biết phương pháp chốt. Mình chỉ biết quét hàng hoặc quét cột thôi.
Thời gian đáp ứng cực nhanh. Do đó khả năng mở rộng bảng đèn là rất lớn gấp gấp nhiều lần so với dùng phương pháp thông thường như dùng 74595 hay 4094.....
Comment
-
uh` đúng rồi đóNguyên văn bởi MicroDuyphi Xem bài viếtBác Hoang_Hai chắc nhầm ở đâu đó rồi!
Đọc qua 1 hồi thấy bác bị rối rối lên sao sao đó ở chỗ mảng.
Ý bác là muốn 1 mảng data trở thành 1 mảng bit?
Hay dịch 1 mảng 16 phần tử khi dịch thì 16 phần tử này cùng dịch?
Nếu muốn dịch 1 cái mà 16 phần tử này cùng dịch cũng ko phải là chuyện khó đâu. Dễ thôi, xem lại chỗ struct và union. khi đó dịch 1 khối ví dụ có 80 phần tử tương đương 1 bảng 80 cộtx 8 thì dịch 1 phần tử trên đó là dịch luôn 80 phần tử.
mình muốn làm như vậy
nhưng mà ko biết viết đoan code như thế nào cả
đây là mình bị hạn chế trong viêc lập trình ko sao mà viết dc cho nó như vậy dc
chỉ viết dc cho 1 mảng 8x8 thôi
Comment
-
Đó, vấn đề chính là ở chỗ đó, bạn không hiểu được bản chất của vấn đề mà lại cứ đi tìm 1 phương pháp khó để giải quyết, sao không tìm 1 cách khác dễ hiểu, dễ làm hơn để giải quyết vấn đề đó (cách trên mình đã nói rồi đấy). Bất kỳ 1 vấn đề gì đều có nhiều phương án giải quyết khác nhau không nhất thiết là phải dập khuôn theo 1 phương pháp.Nguyên văn bởi hoang_hai Xem bài viếtcod nghia là[n]={....}ví dụ
000111000
vậy mình viết lệnh là
for(=0;k<8;k++){
P1=[n]<<k;.....
...}
thì với k=0;thì P1=[n]
k=1; thì mảnh n tién lên 1 bit là 001110000
k=2 thì mảnh n tién lên 2 bit là 011100000
cứ thế là hết 8 bit còn ở đằng sau là 0
cấu trúc này có trong C đấy
có thế thôi
Cái dịch bit của C bạn nói thì mình biết rồi và cũng đã từng sử dụng, mình muốn hỏi xem bạn có hiểu không thôy.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
hôm nay, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
Hôm qua, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment