Nguyên văn bởi hoangnam555
Xem bài viết
các bác giúp em bài này với! em mới học KeilC ! Gặp bài này không biết làm gì!
Collapse
X
-
-
proteus của em không hiểu sao bị lỗi rôi! nên chưa chạy thử đc! e làm bài này tren keilc như sau:
#include <AT89x.h>
void delay( unsigned char loop)
{
unsigned char x,y;
for (x=0;x<loop;x++)
{
for( y=0;y<33;y++) {}
}
}
void main (void)
{
while(1)
{
P2_0=0;
delay(200);
P2_0=1;
delay(200);
}
}
///--------- em viết có đúng không các anh?..???Last edited by gagafayfay; 14-07-2012, 12:24.
Comment
-
tại mình đang đọc phần lập trình ngắt, thấy dùng chế độ 1 thì cứ phải dừng lại bộ định thời, thấy hơi miễn cưỡng thế nào ý.Nguyên văn bởi bienhou Xem bài viếttimer 0 hay timer 1 đều được. tùy vào mục đích của bạn thôi. còn timer chế độ 2 nó là chế độ autoreload, giá trị tự nạp lại. như vậy bạn ko phải nạp lại giá trị cho các thanh ghi TH và TL nữa
mình chưa thử, tại mới vọc, hôm trước có dịch thử bằng Keil C nhưng nạp vào bão lỗi, nên chưa thử lại (căn bản là chưa tìm hiểu cạch dùng phần mềm)Nguyên văn bởi gagafayfay Xem bài viếtanh chạy thử chưa?
Comment
-
Cho mình hỏi là nếu đề yêu cầu Ton=10000us và Toff=100us thì cách làm thế này được không ?Nguyên văn bởi hoangnam555 Xem bài viếtD là duty,nghĩa là Ton bao nhiêu,Toff bao nhiêu.Theo như cái đề ko ghi có nghĩa là D= 50,Ton = Toff = 50%.
Mấy cái Timer này trong sách có nói mà.
đầu tiên là setb P1.0, chời cho đến khi có tràn thì mình CLR P1.0 , trước khi thực hiện lệnh RETI thì mình tạo thêm một vòng lặp 100us để dữ Toff=100us được không nhỉ ? (hơi thủ công tý)
Comment
-
Mình cũng đang học vdk,cách của mình là thường dùng Timer 0 or Timer 1 chế độ 2 (8 bit) hoặc chế độ 1 (16 bit),nếu T lớn quá thì kết hợp với các thanh ghi.Còn đếm cờ tràn mình chưa thử.Nguyên văn bởi huuthobka Xem bài viếtCho mình hỏi là nếu đề yêu cầu Ton=10000us và Toff=100us thì cách làm thế này được không ?
đầu tiên là setb P1.0, chời cho đến khi có tràn thì mình CLR P1.0 , trước khi thực hiện lệnh RETI thì mình tạo thêm một vòng lặp 100us để dữ Toff=100us được không nhỉ ? (hơi thủ công tý)
Đang học mà cũng lừơi học lắm,giờ vẫn chưa hiểu hết nên chưa làm đc cái gì với vdk.chán.ĐT: 0972 20 58 68
Gmail:
Comment
-
bạn dùng ngắt timer để làm yêu cầu trên nhé. lên google gõ PWM.Nguyên văn bởi huuthobka Xem bài viếtCho mình hỏi là nếu đề yêu cầu Ton=10000us và Toff=100us thì cách làm thế này được không ?
đầu tiên là setb P1.0, chời cho đến khi có tràn thì mình CLR P1.0 , trước khi thực hiện lệnh RETI thì mình tạo thêm một vòng lặp 100us để dữ Toff=100us được không nhỉ ? (hơi thủ công tý)Nguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
Nguyên văn bởi huuthobka Xem bài viếtCho mình hỏi là nếu đề yêu cầu Ton=10000us và Toff=100us thì cách làm thế này được không ?
đầu tiên là setb P1.0, chời cho đến khi có tràn thì mình CLR P1.0 , trước khi thực hiện lệnh RETI thì mình tạo thêm một vòng lặp 100us để dữ Toff=100us được không nhỉ ? (hơi thủ công tý)Viết như thế này đc ko mí bác!ORG 00H
MAIN: SETB P1.0
ACALL DELAY1
CLR P1.0
ACALL DELAY2
SJMP MAIN
DELAY1:
MOV TMOD,#10H
MOV TH1,#HIGH(-10000)
MOV TL1,#LOW(-10000)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
DELAY2:
MOV TMOD,#01H
MOV TH1,#HIGH(-100)
MOV TL1,#LOW(-100)
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
ENDĐT: 0972 20 58 68
Gmail:
Comment
-
theo mình thì nếu dùng ngắt time mà không có công đoạn sử lý thời gian xung thấp thì Ton=ToffNguyên văn bởi bienhou Xem bài viếtbạn dùng ngắt timer để làm yêu cầu trên nhé. lên google gõ PWM.
ý mình là ta cần phải có một bước lặp để dữ xung mức thấp trứoc khi thực hiện lệnh RETI
Comment
-
nếu là mình thì mình làm như thế này :Nguyên văn bởi hoangnam555 Xem bài viếtViết như thế này đc ko mí bác!
ORG 0H
const: EQU #-10000
MOV TMOD,00000001
MOV R1,#100
LAP : MOV TH0,HIGHT const
MOV TL0,LOW const
SETB P1.0
SETB TR0
JNB TF0,here
CLR TR0
CLR TF0
CLR P2.0
here : DJNZ R1,here
SJMP LAP
END
Comment
Bài viết mới nhất
Collapse
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -
-
bởi dinhthuong92Không biết nó thiết kế kiểu gì mà dùng chung được cuộn cảm L cho cả mạch Buck hạ áp để sạc pin và Boost nâng áp cho Led. Muốn vẽ mạch để xem mà nhiều linh kiện quá, e không kham nổi!
Bác nào có sơ đồ xin up lên cho mọi người tham khảo nhé!...-
Channel: Nguồn!
04-09-2026, 11:09 -

Comment