Thông báo
Collapse
No announcement yet.
CẦN GIÚP hiệu ứng 8 led với 89c2051
Collapse
X
-
Bạn tham khảo:
sáng đuổi:
mov p1,#00h
mov a,#00h
setb c
mp1:
mov p1,a
acall delay
mov p1,#00h
rrc a
jnc mp1
ret
sáng chan lẽ:
mov p1,#01010101b
acall delay
clp p1
acall delay
ret
sang chay vao chay ra:
mov p1,#18h
acall delay
mov p1,#24h
acall delay
mov p1,#42h
acall delay
mov p1,#81h
acall delay
mov p1,#81h
acall delay
mov p1,#42h
acall delay
mov p1,#24h
acall delay
mov p1,#18h
ret
trên đó là 3 hiệu ứng, mỗi hiệu ứng chạy 1 lượt, nếu bạn cân mấy lượt thì cứ cài đặt cho nó.
delay thì tùy bạn cho chạy nhanh hay chậm mà set cho thích hợp.
chúc bạn vuiKhông biết ngày mai sẽ ra sao?
Mà có ra sao cũng chẳng sao.
-
anh viết cụ thể từ đầu đến cuối được không anh .em k biết ghép các phần với lặp lại các hiệu ứng đó nữa .học lý thuyết có 2,3 pữa nên còn gà mờNguyên văn bởi rongdatvamuc Xem bài viếtBạn tham khảo:
sáng đuổi:
mov p1,#00h
mov a,#00h
setb c
mp1:
mov p1,a
acall delay
mov p1,#00h
rrc a
jnc mp1
ret
sáng chan lẽ:
mov p1,#01010101b
acall delay
clp p1
acall delay
ret
sang chay vao chay ra:
mov p1,#18h
acall delay
mov p1,#24h
acall delay
mov p1,#42h
acall delay
mov p1,#81h
acall delay
mov p1,#81h
acall delay
mov p1,#42h
acall delay
mov p1,#24h
acall delay
mov p1,#18h
ret
trên đó là 3 hiệu ứng, mỗi hiệu ứng chạy 1 lượt, nếu bạn cân mấy lượt thì cứ cài đặt cho nó.
delay thì tùy bạn cho chạy nhanh hay chậm mà set cho thích hợp.
chúc bạn vui
Comment
-
cách viết của bạn nếu tạo mảng const gọi phần tử trong mảng ra sẽ gọn hơnNguyên văn bởi tychuot289 Xem bài viếtanh viết cụ thể từ đầu đến cuối được không anh .em k biết ghép các phần với lặp lại các hiệu ứng đó nữa .học lý thuyết có 2,3 pữa nên còn gà mờ
Comment
-
BẠN nên áp dụng cách tra bảng là tốt nhất cho bài này .Nguyên văn bởi tychuot289 Xem bài viếtai giúp e viết hết và giải thích câu lệnh được không .gần nộp bài tập rồi .gặp ông thầy gay bà điên bà khùng nữa
;**********************
xuat equ p...
org 0000
ljmp main
main:
canh1:
mov dptr,#c_trinh1
mov r0,#8
mov r1,#0
laplai1:mov a,r1
movc @a+dptr
mov xuat,a
lcall delay
inc r1
djnz r0,laplai1
canh2:
mov dptr,#c_trinh2 ; thay đổi
mov r0,#8
mov r1,#0
laplai2:mov a,r1
movc @a+dptr
mov xuat,a
lcall delay;co the thay đổi để phù hợp c trinh
inc r1
djnz r0,laplai2
ljmp.....
;***********************
delay: tu viet
ret
c_trinh1: db 01h,02h,04h,08h,10h,20h,40h,80h;chay tu trai qua phai...led sang muc 1
c_trinh2: db 10000001b,01000010b,00100100b,00011000b,00011000b, 00100100b,01000010b,10000001b
end
;bạn cố giắng học đi nhé,chứ viết như vậy là quá rỏ rồi.....
Comment
-
Chương trình đầy đủ:
$MOD51
ORG 00H
MAIN:
ACALL HIEUUNG1
ACALL HIEUUNG2
ACALL HIEUUNG3
SJMP MAIN
HIEUUNG1:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGDUOI
MOV R1,#5 ;SO LUOT CHAY ?K M?I HIEU UNG LA 5 LAN
MP1:
MOV R0,#00H
MOV P1,#00H
ACALL DELAY
MP2:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#8,MP2
DJNZ R1,MP1
POP 01H
POP 00H
RET
HIEUUNG2:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGDAN
MOV R1,#5
MP11:
MOV R0,#00H
MOV P1,#00H
ACALL DELAY
MP22:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#8,MP22
DJNZ R1,MP11
POP 01H
POP 00H
RET
HIEUUNG3:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGCHANLE
MOV P1,#00H
ACALL DELAY
MOV R1,#5
MP111:
MOV R0,#00H
MP222:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#2,MP222
DJNZ R1,MP111
POP 01H
POP 00H
RET
DELAY: ;DELAY 0.5S
PUSH 00H
PUSH 01H
MOV TMOD,#01H
MOV R0,#100
DEL:
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,DEL
POP 01H
POP 00H
RET
SANGDUOI:
DB 01H,02H,04H,08H,10H,20H,40H,80H
SANGDAN:
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH
SANGCHANLE:
DB 10101010B,01010101B
ENDKhông biết ngày mai sẽ ra sao?
Mà có ra sao cũng chẳng sao.
Comment
-
đoạn đầu $MOD51Nguyên văn bởi rongdatvamuc Xem bài viếtChương trình đầy đủ:
$MOD51
ORG 00H
MAIN:
ACALL HIEUUNG1
ACALL HIEUUNG2
ACALL HIEUUNG3
SJMP MAIN
HIEUUNG1:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGDUOI
MOV R1,#5 ;SO LUOT CHAY ?K M?I HIEU UNG LA 5 LAN
MP1:
MOV R0,#00H
MOV P1,#00H
ACALL DELAY
MP2:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#8,MP2
DJNZ R1,MP1
POP 01H
POP 00H
RET
HIEUUNG2:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGDAN
MOV R1,#5
MP11:
MOV R0,#00H
MOV P1,#00H
ACALL DELAY
MP22:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#8,MP22
DJNZ R1,MP11
POP 01H
POP 00H
RET
HIEUUNG3:
PUSH 00H
PUSH 01H
MOV DPTR,#SANGCHANLE
MOV P1,#00H
ACALL DELAY
MOV R1,#5
MP111:
MOV R0,#00H
MP222:
MOV A,R0
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R0
CJNE R0,#2,MP222
DJNZ R1,MP111
POP 01H
POP 00H
RET
DELAY: ;DELAY 0.5S
PUSH 00H
PUSH 01H
MOV TMOD,#01H
MOV R0,#100
DEL:
MOV TH0,#HIGH(-5000)
MOV TL0,#LOW(-5000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,DEL
POP 01H
POP 00H
RET
SANGDUOI:
DB 01H,02H,04H,08H,10H,20H,40H,80H
SANGDAN:
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH
SANGCHANLE:
DB 10101010B,01010101B
END
ORG 00H
nghĩa là sao anh .em viết giống như anh nhưng k đc .bị lỗi gì đó .chip của em là at98c2051
Comment
-
Mình đã viết lại code cho bạn,nhưng hơi chỉnh sửa 1 chút,nếu nối mạch như bạn thì mức tích cực là 1 (thì led sáng),nhưng nếu làm mạch thực thì người ta ko làm vậy mà sẽ cho mức tích cực là 0 (vì con 89 mà ở chế độ xả dòng thì led ko đủ sáng),code mình viết lại như sau:Nguyên văn bởi tychuot289 Xem bài viếtmới học nên còn gà .ai giúp với
#include<At892051.h> // khai bao thu vien cho 89c2051
void delay (int ms) // ham tao tre
{
int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<125;j++)
{}
}
}
// KHAI BAO MANG
unsigned char mang1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00},// SANG DON
mang2[]={0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e} ; // sang chay vao chay ra
void main()
{
int i;
while(1)
{
for(i=0;i<8;i++) // sang don
{
P1=mang1[i]; delay(300);
}
P1=0xff;delay(500);
for(i=0;i<8;i++) // sang ra-vao
{
P1=mang2[i]; delay(300);
}
P1=0xff;delay(500);
for(i=0;i<4;i++) // led chan led-sang tat
{ P1=0xaa;delay(300);
P1=0x55;delay(300);
}
P1=0xff;
delay(1500);
}
}
Last edited by viboyth.haui; 08-09-2012, 21:40.vanduc0211@gmail.com
Comment
-
lặp lại hiệu ứng vài lần thì thêm gì nữa bạn .bạn viết kiểu sáng dồn nháy từng led rồi dồn lại không .kiểu dồn của bạn là sáng dần rồi .thêm kiểu tắt dần cũng đcNguyên văn bởi viboyth.haui Xem bài viếtMình đã viết lại code cho bạn,nhưng hơi chỉnh sửa 1 chút,nếu nối mạch như bạn thì mức tích cực là 1 (thì led sáng),nhưng nếu làm mạch thực thì người ta ko làm vậy mà sẽ cho mức tích cực là 0 (vì con 89 mà ở chế độ xả dòng thì led ko đủ sáng),code mình viết lại như sau:
[ATTACH=CONFIG]51440[/ATTACH]
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanVí dụ một trang như thế này
...-
Channel: Điện tử công suất
Hôm qua, 19:57 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanỔ bi có loại chịu lực dọc, loại chịu lực ngang.
Bạn kiếm một quyển Data cũng một hãng vòng bi nào đó. Họ sẽ cấp cho bạn đủ thông số kỹ thuật.
Khi lựa chọn được mã sản phẩm, bạn chỉ việc tìm mua mã đó, hoặc đặt hàng....-
Channel: Điện tử công suất
Hôm qua, 19:52 -
-
bởi GargiChào mọi người, tôi đang gặp một vấn đề kỹ thuật và muốn được nghe ý kiến của mọi người.
Tôi đã lắp một đĩa xích vào trục đầu ra của hộp số hành tinh bánh răng xoắn dùng cho truyền động xích. Sau vài tháng hoạt động, ổ bi đầu ra bị hỏng.
Bản thân...-
Channel: Điện tử công suất
Hôm qua, 13:22 -
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
23-06-2026, 22:43 -
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -

Comment