Thông báo

Collapse
No announcement yet.

Help:Lam caculator với ATMEGA8

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

  • Help:Lam caculator với ATMEGA8

    Em đang phải làm bài tập làm caculartor đơn giản với các phép cộng trừ nhân chia bằng con ATMEGA8 và mô phỏng bằng proteus(thực ra thì trong cái example của proteus cũng có nhưng không phải của ATmega8 với lại em đọc cũng không hiểu).
    Có pro nào biết về đề tài này thì chỉ bảo cho em với(pót nguyên cả cái project lên cho em tham khảo thì tốt quá ,không thì chỉ bảo cho em biết hướng cũng được).
    Em mới tìm hiểu về vi điều khiển nên không biêt gì cả,mong các cao thủ từ diễn đàn chỉ giáo.
    Xin cảm ơn trước

  • #2
    Hix không ai giúp em ah.Mọi người có thể chỉ giúp em cái cơ cấu của keypad để em lam cái caculator được không.Giúp em với!!!

    Comment


    • #3
      xem những vấn đề cơ bản về AVR

      Comment


      • #4
        về phần cứng: giao tiếp với ma trận phím qua chân port.
        còn lại là phần mềm.làm cái mạch trước rồi từ từ giải quyết từng bài toán.

        Comment


        • #5
          Hix các pác giải thích hộ em đoạn code này với.Cái này hình như dùng để quét ma trận phím 4x4 nhưng em không hiểu:

          // TIMER 0 interrupt at every 2 ms
          interrupt [TIM0_OVF] void timer0_int(void)
          {
          static byte key_pressed_counter=20;
          static byte key_released_counter,column=FIRST_COLUMN;
          static unsigned row_data,crt_key;
          // reinitialize TIMER0
          INIT_TIMER0;
          row_data<<=4;
          // get a group of 4 keys in in row_data
          row_data|=~KEYIN&0xf;
          column>>=1;
          if (column==(LAST_COLUMN>>1))
          {
          column=FIRST_COLUMN;
          if (row_data==0) goto new_key;
          if (key_released_counter) --key_released_counter;
          else
          {
          if (--key_pressed_counter==9) crt_key=row_data;
          else
          {
          if (row_data!=crt_key)
          {
          new_key:
          key_pressed_counter=10;
          key_released_counter=0;
          goto end_key;
          };
          if (!key_pressed_counter)
          {
          keys=row_data;
          key_released_counter=20;
          };
          };
          };
          end_key:;
          row_data=0;
          };
          // select next column, inputs will be with pull-up
          KEYOUT=~column;
          }

          Comment


          • #6
            Nguyên văn bởi hotuanhai Xem bài viết
            về phần cứng: giao tiếp với ma trận phím qua chân port.
            còn lại là phần mềm.làm cái mạch trước rồi từ từ giải quyết từng bài toán.
            Cám ơn các pác,nhờ các pác hướng dẫn mà em đã làm được rồi.

            Comment


            • #7
              Ah cho em hỏi tí nữa
              Có ai biết về cách nối keypad với chip ATMEGA qua con mm74c9 thì hướng dẫn em với.Không hiểu nó bắt phím kiểu gì.
              Mọi người giúp em với.
              Xin cảm ơn mọi người trước.

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X