cách tính dlay dùng timer vi xử lý

2 609 4
cách tính dlay dùng timer  vi xử lý

Đang tải... (xem toàn văn)

Thông tin tài liệu

cách tính và nạp giá trị cho delay ae down về tham khảoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Cấu trúc tạo DELAY dùng Timer Để tạo độ trễ thời gian dùng timer định thời cần phải thực bước đây: Nạp giá trị TMOD cho ghi báo độ định thời (Timer0 hay Timer1) sử dụng chế độ chọn Chú ý: Timer : 01h Timer 1: 10h Cả 2: 12h Nạp ghi TL TH với giá trị đếm ban đầu Khởi động định thời Duy trì kiểm tra cờ định thời TF vòng lặp để xem bật lên không Thoát vòng lặp TF lên cao Dừng định thời Xoá cờ TF cho vòng Ret ( kết thúc chương trình con) Chương Trình sau: Delay: MOV TMOD,#01H (TIMER ) MOV TH0,#GIATRI MOV TL0,#GIATRI SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET TÍNH TOÁN GIÁ TRỊ NẠP CHO TIMER Có công thức tính tần số : F = 1/12 x F(thạch anh) => chu kì máy : T =1/F Ta thường dùng thạch anh: 12M 11.0592M ta tìm đc tần số dựa vào công thức Các bước để tìm giá trị ghi TH TL: Chia thời gian trễ cần thiết cho T( chu kì tính bước trên) ta giá trị : n = tgian/T Chú ý: Thạch anh 12mhz => T = 1us Thạch anh 11.0592 => T= 1.085us Đối với thạch anh 12mhz bỏ qua bước Thực 65536 - n với n giá trị thập phân nhận từ bước Chuyển đổi kết bước sang số Hex: ta có YYXX giá trị Hexa ban đầu cần phải nạp vào ghi định thời Đặt TL = XX TH = YY Vd1: tính thời gian trễ để nạp vào TH0,TL0, với F=12mhz thời gian trễ 50ms Giải B1 Bỏ qua : n= 50000us/1us = 50000us B2 65536 – 50000 = 15536 B3 Chuyển 15536 => hexa : 3cb0 B4 Đặt 3C =TH0, B0= TL0 Vd2: tính thời gian trễ để nạp vào TH0,TL0, với F=11.0592mhz thời gian trễ 50ms Giải B1 n= 50000us/1.085us = 46083us B2 65536 – 46083= 19453 B3 Chuyển 19453 => hexa :4bfd B4 Đặt 4b =TH0, fd= TL0 ...Các bước để tìm giá trị ghi TH TL: Chia thời gian trễ cần thiết cho T( chu kì tính bước trên) ta giá trị : n = tgian/T Chú ý: Thạch anh 12mhz => T = 1us Thạch anh 11.0592 =>... số Hex: ta có YYXX giá trị Hexa ban đầu cần phải nạp vào ghi định thời Đặt TL = XX TH = YY Vd1: tính thời gian trễ để nạp vào TH0,TL0, với F=12mhz thời gian trễ 50ms Giải B1 Bỏ qua : n= 50000us/1us... = 50000us B2 65536 – 50000 = 15536 B3 Chuyển 15536 => hexa : 3cb0 B4 Đặt 3C =TH0, B0= TL0 Vd2: tính thời gian trễ để nạp vào TH0,TL0, với F=11.0592mhz thời gian trễ 50ms Giải B1 n= 50000us/1.085us

Ngày đăng: 20/01/2017, 22:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan