Nguyên văn bởi hoangnam555
Xem bài viết
Thông báo
Collapse
No announcement yet.
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, 13: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
-
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 -
-
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
05-12-2025, 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 -

Comment