thưa mấy sư huynh em có đôi lời nhờ vả tý. hiện em đang lập trình to te cho con 89 làm cái quạt dktx, tới cái chức năng hẹn giờ thì bí quá vì không biết viết sao cho chương trình nó lâu cỡ một tiếng với lại em không chuyên lắm (đang tự mò mẫm học tập), mong các bậc đàn anh đi trước có cái công thứ tính toán, chương trình mẫu hay bất kỳ gợi ý nào mong mấy anh chịu khó post lên giúp em với. em xin chân thành cảm ơn và thank hết
Thông báo
Collapse
No announcement yet.
Chỉ giùm em hàm delay thời gian lớn
Collapse
X
-
NOP (No OPeration) là một lệnh assembly, nó chẳng làm gì cả, tốn 1 chu kỳ máy. Chỉ đơn giản là pass qua lệnh tiếp theo.
Trên đây là hàm tạo trễ khoảng 1s, biến Second chính là số giây được truyền vào hàm, ở đây biến này thuộc kiểu unsigned char nên giá trị lớn nhất là 256s. Muốn lớn hơn thì khai báo kiểu unsigned int, giá trị lớn nhất là 35536s ~ 10 tiếng đồng hồ.PHP Code:void delay(unsigned char Second)
{
while(Second--)
{
unsigned int temp;
temp=1000;
while(temp--)
{
TR0 = 0;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x18 ;
while(!TF0);
TR0 = 1;
TF0 = 0;
}
}
}
Comment
-
Theo M thì dùng Ngắt Timer sẽ hay hơn đó, M khởi tạo cho Timer đếm trong khoảng thời gian bao lâu đó tùy mình, mỗi lần tràn timer thì mình sẽ tăng biến đếm lên 1, Đến lúc nào tính đủ thời gian (đếm == bao nhiêu đó) thì kết thúc, Nếu vẫn không đủ thì có thể dùng thêm 1 biến đếm nữa
Khi đêm1 ==bao nhiêu đó thì tăng đếm 2 và reset dem 1. Đến lúc đủ thì chỉ cần Reset hết các biến là OK.: Lê Tiến Mạnh :.
Phone number : 0989 735 804
YM,Skype,mail : [leemanhj916]@gmail.com
Comment
-
ham tre dung ASMNguyên văn bởi congtri1991 Xem bài viếtthưa mấy sư huynh em có đôi lời nhờ vả tý. hiện em đang lập trình to te cho con 89 làm cái quạt dktx, tới cái chức năng hẹn giờ thì bí quá vì không biết viết sao cho chương trình nó lâu cỡ một tiếng với lại em không chuyên lắm (đang tự mò mẫm học tập), mong các bậc đàn anh đi trước có cái công thứ tính toán, chương trình mẫu hay bất kỳ gợi ý nào mong mấy anh chịu khó post lên giúp em với. em xin chân thành cảm ơn và thank hết
dùng timer0 Ở chế độ 16 bít:
tre_10ms:
mov tmod,#01h
mov th0,#high(-10000)
mov tl0,#low(-10000)
CLR TF0
SETB TR0
TRE:
JNB TF0, TRE
CLR TR0
RET
;;;;;;;;;;
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
Hôm qua, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -
-
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
06-12-2025, 17:17 -

Comment