chào các đại ca. Em mới học về avr nên kiến thức còn ít lắm. cho em hỏi một câu là bộ timer/conter trong avr dùng để làm gì và sử dụng nó như thế nào. Các bác có thể cho em một ví dụ đơn giản để ứng dụng nó được ko? Em đang làm về atmega8, dung codevision để viết chương trình cho nó. Em cảm ơn các bác nhé!!1
timer/counter..
Collapse
X
-
Tags: None
-
timer/counter: dùng để đếm thời gian hay sự kiện.ngoài ra nó còn dùng nhiều chức năng khác. Khi tìm hiểu sâu bạn sẽ biết.
ví dụ bạn đếm sản phẩm hoặc xung encoder đưa về, khi đếm đủ thì bạn làm gí dó tùy bạn lập trình.
Nó còn có thể ngắt, so sánh, pwm...cố lên anh em.
-
-
Cho bạn một ví dụ đơn giản nhé : với CPU AT90S2313 (Atmega8 không khác gì); hãy lập trình cho Timer0 phát xung tần số do mình tự đặt ,còn Timer1 phát xung PWMNguyên văn bởi thanhtuandkh Xem bài viếtchào các đại ca. Em mới học về avr nên kiến thức còn ít lắm. cho em hỏi một câu là bộ timer/conter trong avr dùng để làm gì và sử dụng nó như thế nào. Các bác có thể cho em một ví dụ đơn giản để ứng dụng nó được ko? Em đang làm về atmega8, dung codevision để viết chương trình cho nó. Em cảm ơn các bác nhé!!1
#include <90s2313.h>
#define XUNG PORTD.0 //Xung đầu ra
// Ngắt T0
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
XUNG=!XUNG;
}
// Declare your global variables here
void main(void)
{
PORTB=0x00;
DDRB=0x08;
PORTD=0x00;
DDRD=0xFF; // Port D có chiều ra
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 500,000 kHz đầu vào xung 500.000khz
TCCR0=0x02;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 500,000 kHz
// Mode: CTC top=OCR1A
// OC1 output: Toggle
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x40;
TCCR1B=0x0A;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1H=0x00;
OCR1L=0xFF; // mức so sánh PWM
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
GIMSK=0x00;
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x02;
ACSR=0x80;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
};
}
và sau đây là sơ đồ kết nối và dạng sóng tạo ra.
Nói chung là bạn nên kiếm sách để học qua về Timer trước khi làm tiếp vì chưa có cơ bản thì khó nói lắm. chúc thành công. có thể lấy quyển VDK của Thầy Tống Văn On
http://dientuvietnam.net/forums/show...7457#post67457
Comment
Bài viết mới nhất
Collapse
-
bởi domar123Giải pháp cho dàn PC cao cấp chơi game và làm việc
Khi xây dựng một bộ máy tính cao cấp, việc chọn đúng vi xử lý và card đồ họa sẽ quyết định trực tiếp đến trải nghiệm thực tế của bạn. Dòng chip AMD trang bị công nghệ...-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 08:55 -
-
bởi domar123Giải pháp toàn diện cho người dùng đa nhiệm
Nếu bạn đang cần một bộ máy vừa phục vụ công việc chuyên môn nặng vừa đáp ứng nhu cầu giải trí cao cấp, sự kết hợp giữa Ryzen 9 9950X TRAY và Radeon RX 9070 XT 16GB là lựa chọn...-
Channel: Đánh giá sản phẩm DTVN
17-08-2026, 17:12 -
-
bởi lvhnKhác nhau là đi lái thuê hoặc chạy dịch vụ được
...
-
Channel: Tâm tình dân kỹ thuật
17-08-2026, 15:50 -
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
16-08-2026, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -

Comment