Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
viet code assemly cho 8951 do do rong cua 1 xung vuong kick vao chan P3.5 hay chan nao khac cung duoc ??????minh nghi la dung timer de dem nhung chua biet xu ly ra sao de doc gia tri nay??
ai biet giup minh voi???
rất cảm ơn bạn.cốt đó rất đầy đủ mình rất thích. nhưng sao mình coppy nó cho dịch sang hex,nó báo nỗi như sau lè
Build target 'Target 1'
compiling hue_nhayled.c...
HUE_NHAYLED.C(108): error C141: syntax error near '2'
Target not created
bạn xem lại dùm.tớ đang dùng keil c 8.05
// 2 led sang tu P2_7 toi P2_0
for(i=0;i<10;i++)
{
P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x80;delay(2000);
P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x40;delay(2000);
P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x20;delay(2000);
P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x10;delay(2000);
P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x020,P 2=0x08;delay(2000);
P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x20,P2 =0x04;delay(2000);
P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x02;delay(2000);
P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x01;delay(2000);
}
lỗi đó là do P2 viết sai thành P 2 ;
bạn nhìn vào dòng lệnh thứ 5 từ dưới lên
sửa xong rồi dịch là ok !
Code này viết tường tận, rõ ràng ý tưởng lập trình điều khiển
Còn khi đã thành thạo rồi thì có thể dùng vòng lặp, biến mảng để điều khiển
rất ngắn gọn và hiệu quả !
Chúc các bạn thành công !
0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
viet code assemly cho 8951 do do rong cua 1 xung vuong kick vao chan P3.5 hay chan nao khac cung duoc ??????minh nghi la dung timer de dem nhung chua biet xu ly ra sao de doc gia tri nay??
ai biet giup minh voi???
Trong sách của Thầy Tống Văn On cũng có phần này đó bạn !
Dùng timer để đo độ rộng xung ! Vấn đề là đọc giá trị của Timer
Khi thiết lập ở chế độ đo xung, thì mỗi khi Chân P3.5 lên mức cao sẽ cho phép bộ timer hoạt động , khi chân này trở về mức thấp thì nó sẽ khóa bộ Timer lại
lúc này bạn có thể đọc giá trị của THx và TLx
chân INT0 có thể được lập trình để tạo ra một ngắt khi chân này chuyển trở về mức thấp , vậy là đọc được giá trị của THx và TLx , đây là 2 thanh ghi 8 bít !
Chúc bạn thành công !
0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
úi rùi mình rút quá.tớ đã sửa như vocam và đã dịch ra hex đc nhưng khi Debug lại nỗi:
running with code sire limit: 2k
Load "C:\\Keil\\C51\\Examples\\HELLO\\mau2"
các bạn chỉ tớ với
hihi.bạn ơi chương trình c bạn đang dùng chỉ cho phép bạn chạy chương trình với code sinh ra tối đa chỉ có 2k mà thôi.bạn kiểm tra file hex của bạn xem.
Đoạn code mình đưa cho bạn ,mình đã nạp vào cho chip và nó chạy tốt mà. Mà bạn đã sử dụng tốt keil.C chưa ,nếu làm từng bước Keil.C sai thì chương trình đúng nó củng báo sai
// 2 led sang tu P2_7 toi P2_0
for(i=0;i<10;i++)
{
P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x80;delay(2000);
P2=0x01,P2=0x02,P2=0x20,P2=0x10,P2=0x08,P2=0x04,P2 =0x40;delay(2000);
P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x20;delay(2000);
P2=0x80,P2=0x40,P2=0x01,P2=0x02,P2=0x08,P2=0x01,P2 =0x10;delay(2000);
P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x020,P 2=0x08;delay(2000);
P2=0x80,P2=0x40,P2=0x02,P2=0x01,P2=0x10,P2=0x20,P2 =0x04;delay(2000);
P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x02;delay(2000);
P2=0x80,P2=0x20,P2=0x40,P2=0x10,P2=0x08,P2=0x04,P2 =0x01;delay(2000);
}
lỗi đó là do P2 viết sai thành P 2 ;
bạn nhìn vào dòng lệnh thứ 5 từ dưới lên
sửa xong rồi dịch là ok !
Code này viết tường tận, rõ ràng ý tưởng lập trình điều khiển
Còn khi đã thành thạo rồi thì có thể dùng vòng lặp, biến mảng để điều khiển
rất ngắn gọn và hiệu quả !
Chúc các bạn thành công !
Bạn ơi ,bạn có thể viết thử 1 đoạn chương trình trên theo cách bạn nói không .Mình muốn biết thêm để hiểu hơn. Cám ơn bạn trước
chào bạn wish_blue07.tớ mới ngâm cứu món này thui.mà tớ chỉ học hỏi các bạn trên mạng chứ ko đến lớp vì ko có thời gian.tớ sửa tivi ở nhà,thấy món này hay nên tìm hiểu à.
tớ làm như sau bạn xem có đúng ko nhe
1.mở new project,viết tên rùi chọn 89c52
2.mở new file,viết vào đó rùi save với tên.c
3.add vào
4.chọn phan dịch ra hex
5.bấm f7
đến bước debug thi bi nỗi
cho mình hỏi nhé:nếu ko cần debug ma cứ lấy luôn file.hex ra nạp vào ic thì có đc ko?
RẤT MONG CÁC BẠN CHỈ GIÁO
Nói cái trên thì dài lắm , 8sung vào trang này nè để xem cách sử dụng . nên nhớ sau khi đặt file trong chở New project thì nhớ chọn Altem rồi chọn AT89C52 rồi ôk nha . Làm theo các bước trong trang web dưới nha: http://www.dientuvietnam.net/forums/...ead.php?t=1163
các anh ơi cho em hỏi : chương trình sau bị sai chỗ nào ma khi em viết bên Kiel C bị báo lỗi rất nhiều.
Đây là chương trình em viết theo anh DuyPhi:
#include<regx51.h>
void delay(usnigned int ms)//hàm này tạo độ trễ thời gian, dơn vị là ms
{
usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
for(i=0;i<ms;i++)
{
for(j=0;j<120;j++);
}
}
main()
{
unsigned char m,tem;
tem=0x01;
while(1)
{ P1=tem;delay(1000);
tem<<=1;if(tem==0x00)then tem=0x01; //dich sang trai 1 bit
}
các anh ơi cho em hỏi : chương trình sau bị sai chỗ nào ma khi em viết bên Kiel C bị báo lỗi rất nhiều.
Đây là chương trình em viết theo anh DuyPhi:
#include<regx51.h>
void delay(usnigned int ms)//hàm này tạo độ trễ thời gian, dơn vị là ms
{
usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
for(i=0;i<ms;i++)
{
for(j=0;j<120;j++);
}
}
main()
{
unsigned char m,tem;
tem=0x01;
while(1)
{ P1=tem;delay(1000);
tem<<=1;if(tem==0x00)then tem=0x01; //dich sang trai 1 bit
}
báo lỗi j ? up lên đây các dòng Keil báo lỗi thì mới giải quyết đc chứ !
Đây là chương trình đúng của bạn, bạn nhìn vào xem vì sao mình sai nha, để kn lần sau,riêng câu điều kiện if của Keil.C khác với C nên không có then đâu nha. Chúc bạn thành công
#include<regx51.h>.
void delay(unsigned int ms)//hàm này tạo độ trễ thời gian, đơn vị là ms
{
unsigned char i,j;//khai báo kiểu"char"mỗii biến chỉ chiếm 1 byte
for(i=0;i<ms;i++)
{
for(j=0;j<120;j++);
}
}
main()
{
unsigned char tem;
tem=0x01;
while(1)
{ P1=tem;delay(1000);
tem<<=1;
if(tem==0x00)
{
tem=0x01;//dich sang trai 1 bit
}
}
}
bác nào có sơ đồ và code(asm) của mạch đồng hồ số dùng 8051 thì cho em xin nhá
Em cảm ơn các bác rất rất nhìu, em đang cần gấp mà. Các bác giúp em nhé.
Quá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
Mạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...
Chuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...
bao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
Chào các anh em, tình hình là mình lo làm ăn không để ý sức khỏe, giờ có chút vấn đề rồi? không biết trên này có anh em nào độ tuổi U35 -> 40 đang có dùng các loại thuốc, thuốc bổ hay thực phẩm chức năng giúp bổ thận tráng dương,...
Trong thế giới phần cứng năm 2026, AMD Ryzen 5 7500X3D không chỉ là một cái tên mới, nó là một tuyên ngôn về hiệu suất. Dựa trên các thử nghiệm khắt khe trong môi trường chơi game chuyên nghiệp, con chip này đã chứng minh rằng: bạn không cần...
Em vừa dự một cái Odoo Business Show 2026 tuần rồi, ngồi nghe mấy session về tự động hóa sản xuất mà em thấy có vài điểm thấy đáng chia sẻ với mấy anh em làm kỹ thuật ở đây.
Mình có cái tay chuyển số chơi game của PXN, hiệu là PXN shifter A7, nó bị lỗi 1 con biến trở chỗ gạt lên xuống dùng để xác định là đang đẩy lên, ở giữa, hay gạt về. Con biến trở này giá trị là 10kOhm, sau khi bị hư thì mình đo chỉ...
Comment