Thông báo

Collapse
No announcement yet.

time va counter avr

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • time va counter avr

    chào các anh chị. em muốn dùng counter đếm xung vào từ một chân nào đó. họac là em muốn đọc giá trì thanh nghi TCNT0 rồi hiển thì lên LCD. thì thiêt lâp trong codevision như thế nào ạ. và viết truong trình như thế nào ạ.ah cho em hỏi nữa là nếu em muốn hiện thị số 1,23 lên LCD thì làm thế nào ạ. cảm ơm anh chi. chuc các anh chị luôn luôn mạnh khỏe.

  • #2
    HỎI thế này trả lời dài lắm ạ!
    cố lên anh em.

    Comment


    • #3
      Các bước thực hiện
      - Vào tiện ích CodewizardAVR.
      - Chọn loại chip cần sử dụng. Ví dụ Atmega8.
      - Tìm thẻ Timers.
      - Chọn timer sử dụng(timer0,timer1,timer2,timer3). Ví dụ chọn Timer0
      - Chọn Clock Source là: T0 pin falling egde hoặc T0 pin rising egde tùy theo phần cứng của bạn. ví dụ T0 pin falling egde.
      - Sau đó khi chân PD4(XCK/T0) chuyển từ High sang Low thì Timer0 sẽ tăng lên 1.
      - Đọc từ thanh ghi đếm của timer0:
      unsigned char value;
      value=TCNT0;
      - Muốn hiển thị số 1,23 lên LCD.
      unsigned int value;
      unsigned char tram,chuc,donvi;
      value=1,23*100; //value=123
      tram=(value/100)+0x30;//tram='1'
      chuc = ((value%100)/10)+0x30;//chuc='2'
      donvi = ((value%100)%10)+0x30;//donvi='3'
      lcd_putc(tram);
      lcd_putc(',');
      lcd_putc(chuc);
      lcd_putc(donvi);

      Comment


      • #4
        Để hiển thị số lên LCD một cách rất đơn giản đó là dùng hàm định sẵn sprintf...
        với hàm này bạn có thể hiển thị cả số thực ( Float ) một cách dễ dàng ...
        VD:
        char lcd_buffer[20]
        sprintf(lcd_buffer,"TH1: %d\xdfC TH2: %d\xdfC",TH1,TH2);
        lcd_puts(lcd_buffer);
        Chú ý là khi biên dịnh phải Set lại thông số như hình dưới... Nếu không sẽ có vấn đề !
        Attached Files
        *** Thành viên không biết gì về điện ***

        Comment


        • #5
          Cách này của bác tốn khoảng bao nhiêu chu kì máy nhỉ?

          Comment


          • #6
            Cảm ơn bác AVR_VN nhé. Hôm nay đã ngồi viết lại chương trình hiển thị dấu phảy động theo cách này của bác thay cho cái hàm của em trước đây. Hiển thị linh hoạt lắm.

            Comment


            • #7
              các anh oi vạy hai ô giá trị là Timer value và compare trong thẻ times có ý nghĩa gì ạ
              Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.

              Comment


              • #8
                Nguyên văn bởi Le Thi Bich Xem bài viết
                các anh oi vạy hai ô giá trị là Timer value và compare trong thẻ times có ý nghĩa gì ạ
                Timer value là giá trị bắt đầu của bộ timer. Sau khi tràn, timer sẽ bắt đầu đếm từ giá trị này.
                Compare là giá trị so sánh, nếu thanh ghi đếm đạt giá trị này, sẽ có một ngắt xảy ra.

                Comment

                Về tác giả

                Collapse

                longdt4 Tìm hiểu thêm về longdt4

                Bài viết mới nhất

                Collapse

                Đang tải...
                X