Bài giảng Bộ đếm tốc độ cao (High speed counter:HSC) BS.ThS. Tạ Văn PhươngChia sẻ: daihocquocgia32 | Ngày: 18072014Mời bạn đọc cùng tham khảo Bài giảng Bộ đếm tốc độ cao (High speed counter:HSC) do BS.ThS. Tạ Văn Phương thực hiện, để tìm hiểu rõ hơn các kiến thức về vùng nhớ đặc biệt dùng để khai báo HSC; ý nghĩa các byte của vùng nhớ đặc biệt; các Mode đếm của HSC;...
Trang 1BỘ ĐẾM TỐC ĐỘ CAO(HIGH SPEED COUNTER:HSC)
HSC: Được ứng dụng để đếm những sự kiện xuất hiện tần số cao
mà bộ đếm thường không đếm được.
Vd: Động cơ quay 1200R/M, encoder có số xung 1000P/R
Tần số = 1200*1000/60 = 200Khz, chu kỳ = 50 micro giây
Trang 2BỘ ĐẾM TỐC ĐỘ CAO(HIGH SPEED COUNTER:HSC)
Số lượng HSC và tần số đếm
Bộ
đếm
Ngõ vào Tần số cho phép Loại CPUs
Trang 3BỘ ĐẾM TỐC ĐỘ CAO(HIGH SPEED COUNTER:HSC)
Vùng nhớ đặc biệt dùng để khai báo HSC
STT Bộ đếm Vùng nhớ khai báo Chú thích
1 HSC0 SMB36 đến SMB45 Mỗi HSC sử dụng 10 byte
Trang 4BỘ ĐẾM TỐC ĐỘ CAO(HIGH SPEED COUNTER:HSC)
Ý nghĩa các byte của vùng nhớ đặc biệt
1 SMB36,46,56,136,146,156 Byte trạng thái
2 SMB37,47,57,137,147,157 Byte điều khiển
3 SMD38,48,58,138,148,158 Lưu giá trị ban đầu
4 SMD42,52,62,142,152,162 Lưu giá trị đặt
Các bộ đếm hoạt động cơ bản giống
nhau nên trong tài liệu chỉ trình bày về
HC2
Trang 5BỘ ĐẾM TỐC ĐỘ CAO(HIGH SPEED COUNTER:HSC)
Các Mode đếm của HSC
Trang 6BỘ ĐẾM TỐC ĐỘ CAO: HC2
Byte trạng thái
SM56.5 Chiều đang đếm, 1:Đếm lên, 0:Đếm xuống.
SM56.6 Kết quả so sánh tức thời, 0:Nếu CV PV, 1:Nếu
CV = PV SM56.7 Kết quả so sánh tức thời, 0:Nếu CV PV, 1:Nếu
CV > PV
Trang 7BỘ ĐẾM TỐC ĐỘ CAO: HC2
Byte điều khiển
SM57.0 Kiểu reset cho tín hiệu xóa tại cổng I1.0
SM57.1 Kiểu start cho tín hiệu kích tại cổng I1.1
SM57.2 Tần số đếm của HSC2
SM57.3 Chiều đếm: 0 đếm lùi, 1 : đếm lên
SM57.4 Cho phép đổi chiều đếm, 0: không cho phép, 1: cho phép
SM57.5 Cho phép sửa đổi giá trị đặt trước, 0: không cho phép,
1: cho phép SM57.6 Cho phép sửa đổi giá trị đếm tức thời, 0: không cho phép,
1: cho phép SM57.7 1- cho phép kích HSC2, 0 – cho phép hủy HSC2
Trang 8BỘ ĐẾM TỐC ĐỘ CAO: HC2
Chọn kiểu reset, start và tần số đếm
SM47.0 SM57.0 0: Reset mức cao 1: Reset mức thấp
SM47.1 SM57.1 0: Start mức cao 1: Start mức thấp
SM47.2 SM57.2 0: 4X giá trị đếm 1: 1X giá trị đếm
Lưu ý: Chế độ 4X chỉ có tác dụng khi sử dụng mode 9,10,11
Trang 9BỘ ĐẾM TỐC ĐỘ CAO: HC2
Vùng nhớ lưu giá trị ban đầu, giá trị đặt
Trang 10BỘ ĐẾM TỐC ĐỘ CAO: HC2
Các bước khởi tạo HSC
Dùng chu kỳ quét đầu tiên(SM0.1) để gọi chương trình con khởi tạo Trong chương trình con khởi tạo thực hiện các
công việc sau đây.
Nạp giá trị cho byte điều khiển.
Gán bộ đếm với Mode đếm tương ứng dùng lệnh HDEF
Nạp giá trị đếm tức thời.
Nạp giá trị đặt trước.
Gán chương trình ngắt với sự kiện ngắt dùng lệnh ATCH nếu sử dụng ngắt.
Cho phép ngắt dùng lệnh ENI.
Cho phép HSC bằng cách dùng lệnh HSC.
Trang 11BỘ ĐẾM TỐC ĐỘ CAO: HC2
EX: Khởi tạo HC0 hoạt động Mode 0
Dùng chu kỳ quét đầu tiên(SM0.1) để gọi chương trình con khởi tạo Trong chương trình con khởi tạo thực hiện các
công việc sau đây.
Nạp giá trị cho byte điều khiển.
Gán bộ đếm với Mode đếm tương ứng dùng lệnh HDEF
Nạp giá trị đếm tức thời.
Nạp giá trị đặt trước.
Gán chương trình ngắt với sự kiện ngắt dùng lệnh ATCH nếu sử dụng ngắt.
Cho phép ngắt dùng lệnh ENI.
Cho phép HSC bằng cách dùng lệnh HSC.
Trang 12KHỞI TẠO HC0 MODE O
Chương trình chính
Gọi chương trình con khởi tạo HSC
Trang 13KHỞI TẠO HCO MODE 0
Chương trình con khởi tạo
Nạp giá trị cho byte điều khiển Chọn mode đếm cho bộ đếm Nạp giá trị đếm ban đầu
Nạp giá đặt Gán ngắt INT_0 với sự kiện ngắt Cho phép ngắt
Trang 14KHỞI TẠO HCO MODE 0
Chương trình ngắt
Đọc giá trị của bộ đếm
Nạp lại giá trị cho byte điều khiển
Cho phép HSC bắt đầu đếm
Trang 15KHỞI TẠO HCO MODE 0
Nhận xét:
ngõ vào I0.0
Khi lệnh HSC được thực thi thì giá trị
của byte điều khiển, giá trị ban đầu, giá trị đặt, mode đếm được cập nhật lại.