Cách chọn tần số quét LED

Một phần của tài liệu thiết kế và chế tạo mô hình bảng quang báo điện tử điều khiển từ xa (Trang 44)

Tần số quét LED là vô cùng quan trọng trong việc thiết kế bất kì một bảng quang báo nào, việc tính toán và lựa chọn một tần số quét phù hợp sẽ giúp cho việc hiện thị dữ liệu ra ngoài bảng LED mà không bị mờ hay bị giật. Sau đây chúng ta sẽ cùng tìm hiểu phương pháp chọn 1 tần số quét LED phù hợp đối với việc thiết kế bảng quang báo 32x64.

Timer trong AVR có các bộ timer 8 bit và 16 bit. Để thiết kế bảng quang báo 32x64 ta sử dụng timer 0 (timer 8 bit). Với timer 8 bit thì giá trị trong timer sẽ tăng từ 0 đến 255 (28) rồi sinh ra 1 ngắt. Trong timer 0 ta chọn tần số thạch anh là 125.000KHz. Với tần số này thì trong 1s timer sẽ đếm được 125.000 giá trị, đếm từ 0 đến 255 thì trong timer sẽ sinh ra 1 ngắt. Như vậy trong 1s số lần ngắt trong timer sẽ là 490

255 125000

 lần. Vì bảng quang báo có 32 hàng (32x64) nên tần số quét

LED sẽ là 15.3 32

490

 Hz. Với tần số này thì khi hiển thị bảng quang báo sẽ bị mờ và giật, do đó ta phải chọn lại tần số quét sao cho phù hợp.

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 125.000 kHz // Mode: CTC top=OCR0 // OC0 output: Disconnected

interrupt [TIM0_OVF] void timer0_ovf_isr (void) {

TCNT0=0x00; }

interrupt [TIM0_COMP] void timer0_comp_isr (void) {

// Place your code here …

}

TCCR0=0x0B; TCNT0=0x00; OCR0=0x50;

Thay vì cho timer đếm từ 0 đến 255 rồi mới sinh ra 1 ngắt, để tăng tần số quét ta cho timer đếm từ 0 đến 80 rồi sinh ra 1 ngắt (80 khi chuyển qua mã hexa sẽ là 50h). Giá trị TCNT0=0x00 chính là giá trị đặt trước trong timer (timer sẽ đếm từ 0) và sẽ được đem so sánh với giá trị trong thanh ghi OCR0, khi giá trị trong timer bằng với giá trị trong thanh ghi OCR0 thì trong timer_compare sẽ sinh ra 1 ngắt. Khi 1 ngắt compare được gọi thì giá trị đặt trước trong timer sẽ được reset về giá trị ban đầu là 0x00 và sẽ tiếp tục chờ để thực hiện so sánh tiếp theo.

Ta chọn tần số quét cho bảng quang báo 32x64 như sau: Số lần ngắt trong 1s được tính là 1562.5 80 125000  lần ngắt. Tần số quét được chọn sẽ là 48.8 32 5 . 1562  Hz.

Như vậy với tần số quét là 48.8Hz thì khi hiển thị dữ liệu bảng quang báo sẽ không bị mờ và giật.

Một phần của tài liệu thiết kế và chế tạo mô hình bảng quang báo điện tử điều khiển từ xa (Trang 44)