Thông báo

Collapse
No announcement yet.

[Help me] Xin code cho mạch AVR ?

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

  • [Help me] Xin code cho mạch AVR ?

    Tình hình là mình nguyên cứu viết hoài mà ko được. Anh em có thể giúp mình nha, vì mình mới làm quen avr à.
    Hình của mạch nó như zậy :



    Nguyên lý : Nhấn nút sw23 thì 8 led PortA sáng từ 1 tới 8, nhấn nút sw22 thì 8 led PortB sáng từ 8 tới 16...., Tương tự cho các nút sw21,20. Mình dùng interupt ngắt ngoài mà ko được. Mong anh em viết dùng một đoạn demo cho 2 nút. Thanks các pro trước.

  • #2
    bạn định làm gì với cái mạch này thế.
    Tư vấn thiết kế hệ thống điện-điện tử theo yêu cầu.
    Tel: 0903 702 417. Email: web:

    Comment


    • #3
      Cái mạch trên chia lam 3 phần : Nguồn nuôi, kit nạp 910, mạch điều khiển 32 led đơn.
      Mạch điều khiển 32 led dùng at32 hay at16 cung dc.
      Sơ đồ nguyên lý nó đây : http://www.mediafire.com/?nv2c69uzo7ltg5u
      Bạn có thể viết dum demo 2 nút được ko ? Mình thanks nhiều

      Comment


      • #4
        Có phải thế này không?
        PHP Code:
        #include <avr/io.h>
        #include <util/delay.h>         // Nhớ Set tần số thạch anh cho đúng

        #define SW1 (PIND & 0x80)    // SW1 nối với PD7
        #define SW2 (PIND & 0x40)    // SW2 nối với PD6

        void PORT_Init(){
            
        PORTD 0xFF;         // High 
            
        DDRD 0x3F;          // Set PIND6 and PIND7 is Low for two Button (Input)
            
        PORTA 0xFF;
            
        DDRA   0xFF;        // Output
            
        PORTB 0xFF;
            
        DDRB   0xFF;        // Output
        }
        int main (){
            
        unsigned char i;
            
        PORT_Init();
            while(
        1){
                if(!
        SW1){    // Nhấn nút 1
                    
        while(!SW1) continue;  // Khi ấn không có hiện gì xảy ra
                    
        _delay_ms(20);           // Thả ra rồi thì chờ tí
                    
        for(i=0;i<8;i++){
                        
        PORTA 0xFE << i
                        
        _delay_ms(1000);
                    }
                }
                if(!
        SW2){      // Tương tự như trên
                    
        while(!SW2) continue;
                    
        _delay_ms(20);
                    for(
        i=0;i<8;i++){
                        
        PORTB 0xFE << i
                        
        _delay_ms(1000);
                    }
                }
            }
            return 
        0;

        Nếu không thì Code khác
        Last edited by Multi System; 07-11-2010, 12:50.

        Comment


        • #5
          Thanks Multi System nhiều. Bác có thể cho em xin thêm một đoạn code dùng chế độ ngắt ngoài (interupt). Em mới học AVR trong kỳ này à mà thầy cho mạch nhìn thấy ớn. Em ko phải chuyên ngành điện tử nên rất mơ hồ về VDK, mong bác thông cảm.

          Comment


          • #6
            ngắt ngoài bạn dùng chỉ cần nối 1 interup INT0 là được.
            Nguyên lý như thế này cho 4 nút nhấn đó nối với 4 chân của 1 port , đầu cuối 4 nút nhấn nối với 1chân interup sao cho chỉ cần 1 trong 4 chân được nhấn thì sự kiện int xảy ra.
            Trong event bạn dùng if hay hàm case để xác nhận chân nào của port chuyển tín hiệu từ 1 sang 0 chẳng hạn. Tương ứng với nó bạn cho đoạn code hàm for như bạn Mutil S trên đã nêu( mình hơi bị lười nên chỉ nói được thế vậy thôi ). Nếu bạn làm như mình , bạn nhớ chú ý về port chứa nút nhấn kẻo nó chậm tín hiệu khi cho led sáng.

            Comment


            • #7
              Mình làm dc rui. Cám ơn các bạn, chúc các bạn lun khỏe mạnh.

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              • tuyennhan
                Trả lời cho Tiếng Anh cho người Việt
                bởi tuyennhan
                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                Hôm qua, 07:44
              • vi van pham
                Trả lời cho Tiếng Anh cho người Việt
                bởi vi van pham
                Cám ơn những lời chúc tốt đẹp của em.

                Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                Hôm qua, 02:00
              • nhathung1101
                Trả lời cho Tiếng Anh cho người Việt
                bởi nhathung1101
                Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                22-02-2025, 22:18
              • dinhthuong80
                Trả lời cho Tiếng Anh cho người Việt
                bởi dinhthuong80
                Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                22-02-2025, 14:51
              • dinhthuong80
                Trả lời cho Tiếng Anh cho người Việt
                bởi dinhthuong80
                Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                22-02-2025, 14:39
              • dinhthuong80
                Trả lời cho Tiếng Anh cho người Việt
                bởi dinhthuong80
                Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                22-02-2025, 14:28
              • bqviet
                Trả lời cho Tiếng Anh cho người Việt
                bởi bqviet
                Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                21-02-2025, 20:26
              • mèomướp
                Trả lời cho Tiếng Anh cho người Việt
                bởi mèomướp
                Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                21-02-2025, 12:32
              • vi van pham
                Trả lời cho Tiếng Anh cho người Việt
                bởi vi van pham
                Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                20-02-2025, 21:31
              • bqviet
                Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                bởi bqviet
                Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                20-02-2025, 17:22
              Đang tải...
              X