Help:Lam caculator với ATMEGA8

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • start
    Thành viên mới
    • Apr 2009
    • 16

    #1

    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
  • start
    Thành viên mới
    • Apr 2009
    • 16

    #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

    • enter88
      Thành viên tích cực
      • Nov 2008
      • 238

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

      Comment

      • hotuanhai
        Thành viên chính thức
        • Sep 2007
        • 65

        #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

        • start
          Thành viên mới
          • Apr 2009
          • 16

          #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

          • start
            Thành viên mới
            • Apr 2009
            • 16

            #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

            • start
              Thành viên mới
              • Apr 2009
              • 16

              #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...