Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


CÙNG HỌC TẬP VÀ CHIA SẺ
 
Trang ChínhNỘI QUYLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051

Go down 
+3
boyauto
kitty
huudotb
7 posters
Tác giảThông điệp
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyFri Dec 31, 2010 11:10 am

Bác nào rành chỉ mình với .thank
Về Đầu Trang Go down
https://diendientu.forumvi.com
kitty
Điều hành viên
Điều hành viên
kitty


Tổng số bài gửi : 33
Điểm : 75
Danh tiếng : 5
Ngày tham gia : 02/12/2010
Tuổi : 34

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 2:31 pm

Các bác không thấy ai giúp đỡ bạn huudotb à chả nhẽ bên tin sang giúp họ cười cho 21
Về Đầu Trang Go down
http://nhacthanh.net/
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 2:57 pm

hôm nay mới có thời gian lên diễn đàn.hôm trước đang viết thì mất điện tiếc qua.mình cũng không rành lắm nhưng mình sẽ giới thiệu chút cho bạn.nếu ai bít thêm thì cùng vào giúp đỡ nạn huudotb nhé.
mình sẽ chia ra làm 2 phần: giới thiệu cách tạo thời gian trễ và cách dùng bộ đếm nhé
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 3:12 pm

thứ nhất mình xin giới thiệu cách tạo trễ truyền thống và không quan tâm nhiều tới độ chính xác tuyệt đối trong quá trình tạo trế sử dụng asm và c.
sử dụng tạo trễ trên asm như sau:
vd: mov r0,#200;
lap1: mov r1,#100;
lap2: djnz r1,lap2;
djnz r0,lap1;
ret
đây là cách tạo trễ và bạn tính toán thời gian vòng lặp và chu kì thì se ra thời gian cần trễ.vd lẹnh mov hoạt động 2 chu kì máy và thạch anh dao động xấp xỉ 1mcros/chu kì.
cách tạo trễ bằng c thì bạn sử dụng vòng lặp for để tạo lặp.còn cách tạo thời gian trễ chính xác bằng timer mình sẽ giới thiệu ở phần sau.
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 3:33 pm

cách tạo trễ chính xác bằng thời gian sử dụng timer thì bạn phải nhớ được các mode sử dụng trong timer là 16 bit hay 8 bit...và cần thoeif gian trễ bao nhiêu thì quan trọng là giá trị bạn nạp vào 2 thanh ghi tl0 và th0.
vd : tạo sóng xung vuông trên chân p0.1 sử dụng timer 0:
mov tmod,#01; chọn chế độ 1 16 bit timer 0
main: mov tl0,#0f2h;
mov th0,#0fh;
cpl p1.0;
lcall delay
sjmp main
delay:
set tr0;khoi dong timer 0
laplai:jnb tf0,laplai;kiểm tra tf0 xem dã bằng 0 chưa
clr tr0; dừng timer
clr tfo; xóa bộ dịnh thời
ret
tạo trễ trên c sử dụng timer:
void delay(unsigned ms)
{
while (ms--)
{
TMOD=0x01; //dùng timer 0 chế độ 1 ( 16bit )
TH0=0xfc;
TL0=0x18; //hai câu lệnh nạp giá tri đếm
TR0=1; // cho phép timer 0 hoạt động
while (TF0); //chờ TF0=1(cờ tràn =1 )
TF0=0; //xóa cờ tràn
TR0=0; // ngừng Timer
}
}
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:00 pm

tiếp theo là cách dùng counter trong 8051: counter thực chất là một bộ đếm các sự kiện từ bên ngoài hay nói cách khác la phát hiện sự thay đổi các tiến hiệu từ bên ngoài...cũng như timer ,counter cũng co ý nghĩa rất quan trọng trong vi điều khiển.
counter và timer không khác nhau nhiều.bạn chỉ cần thiết lập bit c/t =1 trong thanh ghi tmod thì nó sẽ là bộ đếm.tương tự c/t=0 thì sẽ là bộ tạo trễ và quan tam tới điều kiện đếm,cho phếp đếm ,chế độ đếm ở các bit m0 và m1:
các chân ở cổng p3 được sử dụng bbooj timer0 và timer 1.đó là chân 14 và chân 15 của vi điều khiển p3.4 là đầu vào của bộ đếm 0 , p3.5 là đầu vào của bộ đếm 1.
vd:xung đồng hồ cấp tới chân p3.5.chương đếm các xung và hiển thị trạng thái của số đếm tl1 trên cổng p2:
org 0000h
mov tmod,#01100000b; chọn bộ đếm 1,chế độ 2 c/t=1
mov th1,#0;xóa th1
setb p3.5
lap: setb tr1 ;khởi động bộ đếm
kitty: mov a,tl1 ; chuyên ssoos đém vào thanh ghi a
mov p2,a; đưa dữ liệu tơi p2
jnb kitty;
clr tr1; dừng bộ đếm
clr tf1; xóa cờ tf
sjmp lap
end


Được sửa bởi boyauto ngày Thu Jan 06, 2011 1:06 pm; sửa lần 1.
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:05 pm

mình cũng không biết nhiều lắm về vi điều khiển chi giúp bạn huudotb như vậy thôi.có gì sai sót các bạn góp ý nha.
còn bạn kitty nói "ác bác không thấy ai giúp đỡ bạn huudotb à chả nhẽ bên tin sang giúp họ cười cho" đùng là các bạn có kiến thức nhiều về ngôn ngữ lạp trình nhưng bạn chưa đủ trình để viết một chương trình vi điều khiển đâu .vì bạn nên hiểu một điều rằng muốn lập trình được vdk thi phần cứng là rất quan trọng và phần mềm chỉ là phục vụ cho các ý tưởng của phần cứng.
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:11 pm

Rất hay nhưng bạn cái thể chỉ mình cách tính thời gian cụ thể nhanh nhất được không ?

TH0=0xfc;
TL0=0x18;
Về Đầu Trang Go down
https://diendientu.forumvi.com
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:31 pm

cách tính thời gian thì bạn sử dụng ở chế độ nào.ví dụ bạn cần thời gian trễ lớn bạn có thể dùng chế độ 16 bít vcaf giá trị lớn nhất có thể nạp là 65535 và bộ timer cũng như bộ counter đếm ngược lại.vì vậy bạn lấy chu kì 8051 với thich anh xấp xi 12m. vậy chu kì để thục hiện là 1mcogiaay khi đó bạn đổi giá trị nạp vào th0 và tl0 ra cơ số 10 và lấy 65535-số thập phân vừa đổi ra ,rồi nhân với 1,085 thì phải.đó ssex ra giá trị thời gian bạn cần.
nếu thấy hay thì bạn thanhs cái đi
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:43 pm

rất hay >Thank nhé .Mình chỉ biết qua nhưng nghe vậy cũng hiểu hình như vẫn còn cách tính nữa cơ nhưng giời không nhớ hehe khi nào nhớ sẽ post cho mọi người hehe. Chỉ cưỡi ngựa xem hoa thui nhưng kỳ nào học rùi cũng phải lao vào thui 17
Về Đầu Trang Go down
https://diendientu.forumvi.com
boyauto
Thành viên chính thức
Thành viên chính thức
boyauto


Tổng số bài gửi : 41
Điểm : 58
Danh tiếng : 4
Ngày tham gia : 12/12/2010

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyMon Jan 03, 2011 4:47 pm

bạn muốn tính nhanh thời gian thì bạn nên sử dụng caculator ngay trên pc co đây.chuyển đổi qua lai giữa hex,binary...rất tiện
Về Đầu Trang Go down
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyWed Jan 05, 2011 11:34 pm

Tạo trễ bằng timer: ví dụ ta dùng timer 0 chế độ 16 bit:

TMOD=00000001B ; T0 chế độ 1 16 bit
TR0=1 -->X (TH0) -->65535 (TL0) -->0 --> TF0
Ví dụ: tạo trễ 50 000 us=50 ms.Giá trị nạp vào hai thanh ghi TH0 và TL0:
65535-X=65535-15535.
C1:
Ta đổi 15535=11110010110000B=16bit.ta nạp byte cao vào TH0 và byte thấp vào TL0.
TH0=00111100B=0B0H
TL0=10110000B=3CH
C2: Trong lập trình hợp ngữ đã cung cấp sẵn cho chúng ta 2 byte :HIGH VÀ LOW
TH0=HIGH(15535)
TL0=LOW(15535)
C3: Chúng ta dựa vào chế độ quay vòng của thanh ghi.Cách này sẽ trực quan với chúng ta hơn:
TH0=HIGH(-50000)
TL0=LOW(-50000)

delay: ;50000 us=50 ms
MOV TMOD,#01H ;1 CHU KỲ
MOV TH0,#HIGH(-50000) ;1 CHU KỲ
MOV TL0,#LOW(-50000) ; 1 CHU KỲ
SETB TR0
JNB TF0,$ ; ĐỢI CHO TỚI KHI TF=1
CLR TR0 ; PHỤC VỤ CHO
CLR TF0 ; LẦN GỌI TRỄ TIẾP THEO
RET


Được sửa bởi sunset_sunset ngày Wed Jan 05, 2011 11:47 pm; sửa lần 1.
Về Đầu Trang Go down
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyWed Jan 05, 2011 11:39 pm

Chế độ T0 8 bit lặp lại: lưu đồ như sau: // thời gian trễ nhỏ, lớn nhất là 256 us
TMOD=02H
X=TH0 --> TL0=X -->256 -->X
TR0=1 TF0=1
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyWed Jan 05, 2011 11:42 pm

đúng rùi đó.
15 15 15 15
Về Đầu Trang Go down
kaka
Thành viên chính thức
Thành viên chính thức
kaka


Tổng số bài gửi : 66
Điểm : 78
Danh tiếng : 10
Ngày tham gia : 16/12/2010
Tuổi : 36
Đến từ : uneti

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyWed Jan 05, 2011 11:53 pm

như vậy chắc au cũng biết rùi bạn a?
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptyThu Jan 06, 2011 12:06 am

kaka đã viết:
như vậy chắc au cũng biết rùi bạn a?
Kiến thức phải bắt đầu từ những cái nhỏ nhất mà bạn sunset_sunset viết vậy là cũng hay rùi mong bạn sunset_sunset đóng góp thêm nhé 10
Về Đầu Trang Go down
https://diendientu.forumvi.com
star_honxu
Thành viên mới
Thành viên mới



Tổng số bài gửi : 9
Điểm : 9
Danh tiếng : 0
Ngày tham gia : 08/01/2011

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptySat Jan 08, 2011 10:06 am

BẠN SUNSET VIẾT HAY QUÁ.BẠN HỌC Ở ĐÂU MÀ HAY ZẬY.CHỈ CHO AE VỚI.BẠN CÓ THỂ CHO MÌNH ĐỊA CHỈ ĐỂ TỚI HỌC HỎI BẠN ĐƯỢC KHÔNG
Về Đầu Trang Go down
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  EmptySat Jan 08, 2011 10:49 am

HỌC HỎI THÌ CÓ NHIỀU CÁCH.CÁCH TỐT NHẤT VÀ CHO DIỄN ĐÀN SÔI NỔI THÌ CỨ LÊN DIỄN ĐÀN THAM LUẬN.OK. [You must be registered and logged in to see this image.]
Về Đầu Trang Go down
Sponsored content





Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty
Bài gửiTiêu đề: Re: Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051    Các cách tạo thời gian  trễ và cách dùng bộ đếm trong IC 8051  Empty

Về Đầu Trang Go down
 
Các cách tạo thời gian trễ và cách dùng bộ đếm trong IC 8051
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Giảm thời gian khởi động máy tính với Soluto
» HỌ VI ĐIỀU KHIỂN 8051
» phân bố tối ưu công suất tác dụng trong hệ thống điện
» Lập trình C cho vi điều khiển cho 8051
» mạch nap vdk 8051

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ ,TRUYỀN THÔNG :: VI XỬ LÝ- VI ĐIỀU KHIỂN :: Phần mềm và trao đổi kiến thức môn-
Chuyển đến