CÙNG HỌC TẬP VÀ CHIA SẺ
 
IndexNỘI QUYCalendarTrợ giúpTìm kiếmĐăng kýĐăng Nhập

Share | 
 

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
huudotb
Thành viên đặc biệt
Thành viên đặc biệt


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

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    Fri Dec 31, 2010 11:10 am

Bác nào rành chỉ mình với .thank

__________________________________________________________________
[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]
[You must be registered and logged in to see this link.]
Về Đầu Trang Go down
http://diendientu.forumh.net
kitty
Điều hành viên
Điều hành viên


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

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    Mon 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

__________________________________________________________________
<br>
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


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

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    Mon 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é

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức


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

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    Mon 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.

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức


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

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    Mon 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
}
}

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
Về Đầu Trang Go down
boyauto
Thành viên chính thức
Thành viên chính thức


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

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    Mon 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

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]


Đượ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


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

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    Mon 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.

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt


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

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    Mon 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;

__________________________________________________________________
[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]
[You must be registered and logged in to see this link.]
Về Đầu Trang Go down
http://diendientu.forumh.net
boyauto
Thành viên chính thức
Thành viên chính thức


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

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    Mon 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

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt


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

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    Mon 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

__________________________________________________________________
[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]
[You must be registered and logged in to see this link.]
Về Đầu Trang Go down
http://diendientu.forumh.net
boyauto
Thành viên chính thức
Thành viên chính thức


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

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    Mon 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

__________________________________________________________________
Học vì ngày mai lập nghiệp ##@[You must be registered and logged in to see this image.]
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

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    Wed 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

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    Wed 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


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

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    Wed Jan 05, 2011 11:42 pm

đúng rùi đó.
15 15 15 15

__________________________________________________________________
Hãy zui lên và cuộc sống là không được dừng lại!
[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]
Về Đầu Trang Go down
kaka
Thành viên chính thức
Thành viên chính thức


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

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    Wed 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


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

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    Thu 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

__________________________________________________________________
[You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.][You must be registered and logged in to see this image.]
[You must be registered and logged in to see this link.]
Về Đầu Trang Go down
http://diendientu.forumh.net
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

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    Sat 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

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    Sat 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




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    Today at 6:50 pm

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
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

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