các bác cho em hỏi lệnh so sánh trong keli c mất bao nhiêu chu kỳ máy, nó khác trong hợp ngữ a?
Thông báo
Collapse
No announcement yet.
HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]
Collapse
X
-
Các bác cho em hỏi chút. Em mới học về VDK nên mới chỉ biết sơ qua. Em làm một mạch điều khiển LED 32 đường. 16 đường từ P0_0 đến P1_7 thì em điều khiển 16 chữ cái . Các hiệu ứng chạy, dồn tắt, sáng.... cho nó em đã làm Ok rồi nhưng em muốn hỏi là em dùng P3_7 và P3_6 làm 1 việc khác, P3_4,P3_5 làm một việc khác. còn P2_0 .....P2_7, P3_0..P3_3 em muốn dùng vào một hiệu úng khác với tốc độ khác. các bác cho em hỏi em muốn viết chương trình để mấy cái hiệu ứng đó chạy đồng thời với tốc độ khác nhau thì em phải làm thế nào ạ.Em rất gà nên các bác thông cảm.Em định viết chương trình mà trong hiệu ứng này sẽ cài để chạy các hiệu ứng khác nhưng như thế thì phức tạp và chương trình dài quá. Em ko biết dùng ngắt nên ko biết dùng ngắt có được ko. các bác giúp em cái. bác nào có chương trình nào VD về vấn đề này post lên hộ em cái.
Em xin chân thành cảm ơn
Comment
-
Trong keilc tôi dùng khai báo như thế này:
unsigned char xdata *j;
j=0xc001;
*j=0x7f;;
khai báo trên có tương đương với assembler sau không?:
mov dptr,#0c001h
mov a,#07fh
movx @dptr,a
Tôi đã thử viết trên keilc nhưng khi mô phỏng nó lúc giống lúc không tôi không hiểu sao ?
các khai báo unsigned char xdata *j và unsigned char* xdata j ;unsigned int *j và unsigned char *j có gì khác nhau
mong các anh chị giải thích giúp xin cám ơn.
Comment
-
Hiện tại bọn mình đang làm đồ án môn. Nhóm mình nhận ngay đề tài Ngôi nhà thông minh này vì thấy nó rất hay. Nhưng khi mình lên mạng tìm tài liệu thì thấy có ít tài liệu. Ai có tài liệu nào thì cho mình xin được không. Cảm ơn trước nha.
Có ai có ý kiến thì gợi ý gì hoặc có góp ý gì thì chỉ cho tớ với nhé.Thanks
Comment
-
Trong keilc tôi dùng khai báo như thế này:
co pac na`o co keilc co the gui cho em mot ban dc ko,.?
gui cho em vao` mail tinhtrongbientinh_fx@yahoo.com
thảk cac pac nhiu`
Comment
-
Nguyên văn bởi ngohaibac Xem bài viết
Comment
-
Em viết 1 chương trình nhỏ làm sáng lần lượt 8 led, chạy debug bình thường nhưng khi nạp vào vi diều khiển lại không hoạt dộng. Em nhờ 1 anh test hộ thì anh ấy bảo code lỗi không chạy dược nhưng cũng không biết lỗi ở dâu. Các tiền bối chỉ giúp em với. Em cám ơn trước.
Chương trình em viết bằng keil C cho con AT89C51.
/*================================================= ==
Chuong trinh hien thi 8 led dung timer0
================================================== =*/
/******************bo tien xu ly**************************/
#include<REGX51.h>
/************************************************** *******/
/******************khai bao bien toan cuc*****************/
long dem=0;
unsigned char n=0;
/************************************************** *******/
/******************khai bao ham***************************/
//khoi tao timer0
void khoitaotimer0(void)
{ EA=0;
TMOD=0x02;
TH0=0x37;// gia tri 55 doi ra hex, cu sau 200 micro giay ngat 1 lan
TL0=0x37;
ET0=1;
EA=1;
TR0=1;
}
//Ham ngat su dung timer0
void timer0(void) interrupt 1
{ TR0=0;
TF0=0;
dem++;
if(dem==5000) // Cu sau 5000 lan ngat thi dich bit
{ P2=P2<<1;
n++;
dem=0;
}
if(n==8) // Dich bit 7 lan het 1 chu ky quay lai tu dau
{ P2=0x01;
n=0;
}
TR0=1;
}
/************************************************** *******/
/******************ham chinh******************************/
void main(void)
{ khoitaotimer0();
P2=0x01;
while(1)
{ ;
}
}
/************************************************** *******/Last edited by hunterX; 25-03-2010, 19:09.
Comment
-
moi nguoi giup minh nha minh da thuc trang dem hon tung nay roi do
moi nguoi oi hay giup minh voi !minh dang lam do an mon hoc 1 mach dem san pham,khi dem duoc den 20 thi quay lai.khi do so thung duoc nang len 1.minh khong che no khong dc so thung.giup minh voi moi nguoi oi!: sau day la doan code :
org 00h
sjmp main
org 0030h
main:
mov dptr,#led7seg
mov tmod,#06h
mov tl0,#-20
mov th0,#-20
setb p1.0
setb p1.1
setb p1.2
setb p1.3
mov r3,#1
mov r4,#00
// mov r5,#00
setb tr0
begin:
mov a,tl0
subb a,#-21
lcall bin2bcd
mov a,30h
cjne a,10,thoat1
mov a,#00h
thoat1:
movc a,@a+dptr
mov 30h,a
mov a,31h
cjne a,#3,thoat2
mov a,#00
thoat2:
movc a,@a+dptr
mov 31h,a
ket_thuc:
lcall display
// mov a,tl0
//subb a,#-21
mov a,31h
cjne a,#0a4h,begin
mov a,r3
inc r3
lcall bin2bcd2
mov a,32h
cjne a,10,thoat11
mov a,#00h
thoat11:
movc a,@a+dptr
mov 32h,a
mov a,33h
cjne a,#2,thoat22
mov a,#00
thoat22:
movc a,@a+dptr
mov 33h,a
lcall display
//inc r3
sjmp begin
display:
mov p0,30h ; led1
clr p1.0 ; ba^.t led1 sa'ng
acall delay ; delay
setb p1.0 ; tat led1
mov p0,31h ; led2
clr p1.1 ; ba^t led2 sa'ng
acall delay ; delay
setb p1.1
mov p0,32h ; led1
clr p1.2 ; ba^.t led1 sa'ng
acall delay ; delay
setb p1.2 ; tat led1
mov p0,33h ; led2
clr p1.3 ; ba^t led2 sa'ng
acall delay ; delay
setb p1.3
ret
bin2bcd:
mov b,#10 ; b=10
div ab ; chia cho 10
mov 30h,b ; luu so thap vao 30h
mov 31h,a
ret
bin2bcd2:
mov b,#10 ; b=10
div ab ; chia cho 10
mov 32h,b ; luu so thap vao 30h
mov 33h,a
delay:
mov r1,#10
mov r0,#10h
loop: djnz r0,loop
djnz r1,loop
ret
led7seg:
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
end
Comment
-
Nguyên văn bởi hunterX Xem bài viếtEm viết 1 chương trình nhỏ làm sáng lần lượt 8 led, chạy debug bình thường nhưng khi nạp vào vi diều khiển lại không hoạt dộng. Em nhờ 1 anh test hộ thì anh ấy bảo code lỗi không chạy dược nhưng cũng không biết lỗi ở dâu. Các tiền bối chỉ giúp em với. Em cám ơn trước.
Chương trình em viết bằng keil C cho con AT89C51.
/*================================================= ==
Chuong trinh hien thi 8 led dung timer0
================================================== =*/
/******************bo tien xu ly**************************/
#include<REGX51.h>
/************************************************** *******/
/******************khai bao bien toan cuc*****************/
long dem=0;
unsigned char n=0;
/************************************************** *******/
/******************khai bao ham***************************/
//khoi tao timer0
void khoitaotimer0(void)
{ EA=0;
TMOD=0x02;
TH0=0x37;// gia tri 55 doi ra hex, cu sau 200 micro giay ngat 1 lan
TL0=0x37;
ET0=1;
EA=1;
TR0=1;
}
//Ham ngat su dung timer0
void timer0(void) interrupt 1
{ TR0=0;
TF0=0;
dem++;
if(dem==5000) // Cu sau 5000 lan ngat thi dich bit
{ P2=P2<<1;
n++;
dem=0;
}
if(n==8) // Dich bit 7 lan het 1 chu ky quay lai tu dau
{ P2=0x01;
n=0;
}
TR0=1;
}
/************************************************** *******/
/******************ham chinh******************************/
void main(void)
{ khoitaotimer0();
P2=0x01;
while(1)
{ ;
}
}
/************************************************** *******/
sai nhiều
đây là bài tôi đã sửa bạn down về tham khảo thử xem chạy đúng yêu cầu của bạn không
/*================================================= ==
Chuong trinh hien thi 8 led dung timer0
================================================== =*/
/* ho ten : nguyen van hai
DHCN ha noi-- khoa dien */
/******************bo tien xu ly**************************/
#include<REGX51.h>
/************************************************** *******/
/******************khai bao bien toan cuc*****************/
long dem=0;
unsigned char n=0;
/************************************************** *******/
/******************khai bao ham***************************/
//khoi tao timer0
void khoitaotimer0(void)
{
TMOD=0x01;
TH0=-10000/256;// cu sau 2000 micro giay ngat 1 lan
TL0=-10000%256;
TR0=1;
while(!TF0)
{TF0=0;
TR0=0;
++dem;
if(dem==5000) // Cu sau 5000 lan ngat thi dich bit
{ P2=P2<<1;
++n;
dem=0;
}
if(n==8) // Dich bit 7 lan het 1 chu ky quay lai tu dau
{ P2=0x01;
n=0;
}
} }
//Ham ngat su dung timer
/************************************************** *******/
/******************ham chinh******************************/
void main(void)
{ TMOD=0x01;
P2=0x01;
while(1)
{ khoitaotimer0();
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
-
Channel: Điện tử công suất
hôm nay, 06:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Tôi biết và tôi biết.
Sẽ bắt đầu với cái Sồn La, rồi mấy mạch nguồn vớ vỉn.... Rồi sẽ đèn led...
Cuộc đời là những chuyến xe, nên sẽ có:
Xe đạp điện, xe máy điện, xe ô tô điện, xe cấp cứu điện, xe tang điện.
Rồi xem.-
Channel: Điện tử công suất
hôm nay, 01:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vấn đề là thu ánh sáng rồi phát ra ánh sáng cơ. Hồi mẫu giáo cô bảo đừng làm, lão không nhớ à?
Tốt nhất im mồm....-
Channel: Điện tử công suất
hôm nay, 01:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietBài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
-
Channel: Tâm tình dân kỹ thuật
14-02-2025, 16:15 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanỞ đtvn này mới biết đến 2 loại mạch
1 step down
2 step up
Bây giờ anh lưu vong làm thuê bên nước lạ còn làm ra cái mach vừa up vùa dow luôn.
Tính chất là:
1 Đầu vào bằn ra cho nối thẳng
2 Đầu vào cao hơn...-
Channel: Điện tử công suất
14-02-2025, 00:51 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanHa ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....-
Channel: Điện tử công suất
14-02-2025, 00:42 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
-
Channel: Điện tử công suất
13-02-2025, 17:02 -
-
Trả lời cho Tiếng Anh cho người Việtbởi hankhungdtMình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
-
Channel: Tâm tình dân kỹ thuật
13-02-2025, 08:43 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi ti500Chúc mừng bác đã chỉnh sửa thành công, nhưng theo em thì video hơi rối nếu bác muốn gửi cho bên supplier xem.
Nếu là em thì em chỉ cần nối dây để hiển thị liên tục điện áp ở ngõ ra là 220Vdc trước khi gắn LED, kế đến là cắm...-
Channel: Điện tử công suất
13-02-2025, 07:39 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi tuyennhanTrước khi có đủ thực lực thì chỉ làm vì mình thôi đừng nghĩ đến chuyện khác cái mạch toàn dãi tiện sử dụng nhưng tỷ lệ hư hỏng phải bảo hành cũng cao hơn ,lợi bất cập hại .
-
Channel: Điện tử công suất
13-02-2025, 07:22 -
Comment