nhưng mà em đang hỏi đặt thời gian cố định như thế nào .anh có thể viết giúp em chương trình trên đươc ko.để em tham khảo một bài mẫu.giải thích cẩn thận một chút nhé.
Thông báo
Collapse
No announcement yet.
Dành cho người mới tìm hiểu 8051
Collapse
X
-
Đơn giản là bạn sử dụng hàm trễ ms dưới đây: VDK 8051, TA 11.0592Mhznhưng mà em đang hỏi đặt thời gian cố định như thế nào
//Ham tre
void Delay_ms(unsigned int Delay)
{
unsigned int i,j;
for(i=0;i<Delay;i++)
for(j=0;j<120;j++)
;
}
VD: bạn gọi
Delay(1000); //Khi gọi bạn sẽ chờ 1s mới thưc hiện tiếp chương trình----------------------
Bể học là mênh mông!
Comment
-
hao cac bác !
y/c cua GVHD DAMH2 cua minh la : viet 1 phan mem tren PC co 2 ô va nut enter va ô hien thi va chuong trinh nap vao 8951xuat ra port 0 va port 1, nhap du lieu tu dip-sw o port 2
khi ta nhap vao 2 so bat ky (00-->99) roi enter thi truyen qua USB qua COM ao den 8951 roi xuat ra 2 led 7 doan co so tuong ung o port 0 va port 1.
nguoc lai la set dip-sw 8 chan roi truyen nguoc lai tren phan mem cua PC voi so tuong ung khi set dip-sw 8
rat mong duoc ban giup do
cam on ban nhieu truoc nhe !
mail cua e la : duongdienthu@yahoo.com
nick yahoo la : duongdienthu
chuc cac bac luon vui khoe va thanh cong ...............
Comment
-
Uh! để mình thử xem nhưng thấy mrcuongcon nói đúng đấy ''cái khó ở đây, chính là việc nghĩ ra các kiểu nháy thôi". và lại mình thử với ngắt khá nhiều nhưng ko thành công, mình viết CT chưa biêt cách lắm nên rất dài có khi ko nạp đc vì qua dung lượng...Nguyên văn bởi wish_blue07 Xem bài viếtchào bạn daominhchien
Mình đang làm mạch đèn trái tim , phần cứng thì mình mô phỏng protues xong oy, cũng chạy chương trinh nhìn cũng đẹp lắm. Mình lấy P1,P2,P3 làm led viền xung quanh , còn port 0 làm chữ hiển thị I Love You . mình cũng đang tập viết chương trinh cho nó , cũng chạy được 3 cách rồi ,nhưng it we', khổ nỗi hỏi ai cũng bảo dùng ngắt mà chưa rành cho lắm. Mình chưa biết cách post tai liệu lên , nếu không mình sẽ đưa lên cho bạn tham khảo. Nếu bạn làm được chương trinh của bạn rồi thì cho mình với nha
mà hinh như mình thấy trong ngắt ko thực hiện đc 1 cụm CT thì fải.. thử cho sử lý 1 bit thì đc. vì thế để thực hiện 1 cụm CT nhỏ chạy liên tục mình dùng nó thay cho delay,dùng for lặp nhiều lần cụm CT nhỏ nếu muốn delay dài...nếu bạn ở Hà Noi gửi add cho mình: email minhchien_tv@yahoo.com.vn
minhchien71@yahoo.comTôi thích cái cầu kỳ của kỹ thuật
Nhưng ghét mọi phức tạp trong tính cách con người
Comment
-
bạn có vẻ ko tin lắm nhỉ. bạn đã thử thế chưa giá thành rẻ hiệu quả cao đây! chỉ 2803 tớ cho chạy tới nghìn LED cơ...cho mình add đi anh em mình gặp nhau chắc vui hơn.Nguyên văn bởi wish_blue07 Xem bài viếtNói như bác vậy chắc là không cần dùng BJT nữa đúng không vậy, nhưng mình đang dùng theo hướng là dùng BJT dễ dùng hơn , vì nó chỉ phụ thuộc vào dòng của BJT mà thôi , nên dễ thay thế BJT nếu nó không làm led sáng mạnh. Nên bạn thử cho ý kiến về vấn đề sử dụng BJT nha. Dù sao cũng cám ơn bạn nhiềuTôi thích cái cầu kỳ của kỹ thuật
Nhưng ghét mọi phức tạp trong tính cách con người
Comment
-
có bác nào viết được chương trình tạo khoảng thời gian trễ đúng 1ms cho 89s52 không ? và sau muốn thay đổi thời gian trễ chỉ cần đưa vào đối số để được TG trễ như mong muốn.giả thiết thạch anh đang sử dụng là 12MHz ấy
em đã thử nhiều mà vẫn chưa thành công.mong mọi người giúp.
cách em thử là dùng timer định khoảng thời gian 1ms rồi cho lặp n lần để được n(ms) nhưng không ăn thua.
cảm ơn mọi người trước .
Comment
-
bạn cần độ chính xác là bao nhiêu , micro giây à ?
Dùng timer và tính với thời gian của từng câu lệnh của hàm tạo trễ là chính xác lắm rồi !!0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
||
PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK
Comment
-
để tính thời gian trễ chính xác. Ngoài việc nhân chia cho đúng, bạn còn phải cộng trừ thời gian của các hàm trong vòng lặp nữa.
ví dụ: Nếu 1 vòng lặp for choáng mất 2 chu kỳ máy, thì khi lặp n lần, sẽ tốn thêm 2n chu kỳ máy ...Nên để bù trừ khoảng thời gian này, bạn phải giảm số vòng lặp thích hợp.
Tuy nhiên, dù tính kỹ đến thế nào thì vẫn có sai số, nhưng ko đáng kể.
Chúc thành công
Pavolusa:-)
Comment
-
Hàm này trì hoãn ms khá chính xác (sai số không quá 2%), ta có thể dùng thạch anh từ 1MHz đến 33MHz. Các bạn có thể kiểm tra lại!
#define hFXTAL 12000000
#define hFXTAL_DELAY0 (hFXTAL/12000 - 9)
#define hFXTAL_DELAY2 (unsigned char)((hFXTAL_DELAY0/256) + 1)
#define hFXTAL_DELAY1 (unsigned char)((hFXTAL_DELAY0/(2*hFXTAL_DELAY2+3)) + 1)
void Hdelay_ms(unsigned int ms)
{
unsigned char delay1, delay2;
delay_lap:
delay1=hFXTAL_DELAY1;
delay_lap1:
delay2=hFXTAL_DELAY2;
delay_lap2:
if(--delay2!=0) goto delay_lap2;
if(--delay1!=0) goto delay_lap1;
if(--ms!=0) goto delay_lap;
}
Tan so (gitri nap) 1ms 10ms 100ms 1000ms
-------------------------------------------------------------------
- 1MHz: (1-15): 1,08(8%); 10,15(1,5%); 100,87(0,9%); 1008,12(0,8%)
- 3MHz: (1-49): 1,04(4%); 10,19(1,9%); 101,62(1,6%); 1016,04(1,6%)
- 8MHz: (3-74): 1,02(2%); 10,14(1,4%); 101,26(1,3%); 1012,51(1,3%)
- 11059200: (4-83): 1,00(0%); 10,01(0,1%); 100,05(0,1%); 1000,25(0,0%)
- 12MHz: (4-91): 1,02(2%); 10,11(1,1%); 101,00(1,0%); 1010,00(1,0%)
- 24MHz: (8-105): 1,00(0%); 10,03(0,3%); 100,20(0,2%); 1002,00(0,2%)
- 33MHz: (11-110): 1,01(1%); 10,04(0,4%); 100,33(0,3%); 1003,27(0,3%)!e
Comment
-
Bạn hãy đọc kỹ luồng này!Anh oi em copy chuong trinh cua anh vao keil c nhung lam nao de cho no chay ha anh
http://dientuvietnam.net/forums/showthread.php?t=1163----------------------
Bể học là mênh mông!
Comment
-
Bạn kiểm tra xem có rơi vào 1 trong những trường hợp sau ko nhé :Nguyên văn bởi hunglinhcauban oi cho minh hoi:minh dang xai con 89v51.khi lap trinh ngan thi khong sao,nhung cu ho lap trinh 1 doan dai thi khi nap vao thi chay dc 1 doan thi tu dong reset ve ban dau,nhung lenh tien theo khong thuc hien dc nua.ai biet vi sao chi giup minh cai
1. Chương trình bạn viết có dung lượng dài quá giới hạn cho phép của VĐK
2. Trình duyệt hoặc phần mềm nạp của bạn là bản có bản quyền nên giới hạn dung lượng.
3. Đường truyền giữa máy tính và VĐK ko tốt. Bạn kiểm tra các khớp kết nối. Ko nên dùng dây kết nối quá dài. Dây kết nối nên là dây có quấn lớp bạc chống nhiễu .
4. Nếu ko rơi vào 1 trong các trường hợp trên, thì có thể chương trình bạn viết có vấn đề. Bạn kiểm tra lại hoặc post lên để mọi người cùng trao đổi.
Chúc thành công!:-)
Comment
Bài viết mới nhất
Collapse
-
bởi Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
Hôm qua, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
Hôm qua, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
26-03-2026, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -

Comment