Thông báo

Collapse
No announcement yet.

Giúp đỡ Về Eeprom 28c256

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

  • Giúp đỡ Về Eeprom 28c256

    Mình làm 1 mạch kết nối EEprom rất cơ bản kết nối với 89C52 thông qua giải mã 74HC373. Nói chung phần cứng thì không vấn đề gì khi kết nối. Còn phần chương trình thì tôi viết đơn giản thực hiện ghi giá trị vào EEprom sau đó đọc giá trị đó ra PORT1 để quan sát thông qua LED. nhưng tôi thấy kết quả quan sát không đúng và nó cứ hiển thị linh tinh. Bác nào đã làm việc hay có kinh nghiệm giúp tôi chữa lỗi này với. Cảm ơn trước nhé. Sau đây là đoạn code của tôi :

    #include<at89x52.h>
    xdata unsigned char Rom[32767] _at_ 0;
    // Tao thoi gian tre
    void Delay(unsigned long k)
    { for( ;k>0;k--); }
    unsigned char i;
    void main()
    { // GHI DU LIEU VAO ROM
    for(i=0;i<255;i++)
    { Rom[i] = i; Delay(10); }
    // DOC CHUONG TRINH RA TU ROM
    while(1)
    { for(i=0;i<255;i++)
    { P1 = Rom[i]; // DOC GIA TRI TRONG ROM RA P1
    Delay(100000); // TRE THOI GIAN DE XEM LED TREN PORT 1 HOAT DONG
    }
    }
    }
    Last edited by nguyen.geo; 19-09-2007, 11:15. Lý do: Đánh Nhầm

    Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

  • #2
    Bác nói rõ hơn xem. Hiển thị linh tinh là mỗi lúc một khác hay là không hiển thị như ý nhưng lúc nào cũng vẫn là giá trị đó.
    Tôi thì không khai báo như bác. Tôi khai báo thế này:
    unsigned char xdata rom[100];
    Chắc là 2 kiểu khai báo của tôi và bác đều ok.

    Comment


    • #3
      Chào Bác Sun_rise !
      Tôi đã thử cả cách của bác có nghĩa là : unsigned char ....;
      nhưng nó vẫn không chạy bác ah. Còn lỗi của nó là nó lúc nào khi đọc ra thì đều giống nhau tôi gọi dữ liệu này là "Data1". Sau khi tôi đã lưu dữ liệu vào EEprom rồi. Tồi viết 1 đoạn chương trình khác để đọc lại giá trị trong EEprom mà không ghi đè lên giá trị cũ thì thấy giá trị đọc được lần này lại khác so với Data1 thế mới dở hơi bác ah. Nếu bác đã làm với nó thì bác có thể cho tôi xin đoạn code để tham khảo được không ? Có gì bác giúp tôi nhé.

      Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

      Comment


      • #4
        Thư mãi mới Upload lên được
        Attached Files
        Last edited by nguyen.geo; 20-09-2007, 11:39.

        Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

        Comment


        • #5
          Có bác nào biết ở đâu trong tp.HCN có bán eeprom 28c01,28c02 hay ko? Mình đã ra chợ Nhật Tảo hỏi vài chỗ rồi mà ko có bán.

          Comment


          • #6
            Tôi thì tôi không biết. vì tôi ở HN mà. Chán quá các cao thủ chỉ làm những cái cao siêu còn cái con 28C256 của tôi thì chắc là không ai làm nên chẳng có ai hồi âm cả chán chán quá. bác nào biết bảo dùm đi.

            Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

            Comment


            • #7
              Nguyên văn bởi nguyen.geo Xem bài viết
              Mình làm 1 mạch kết nối EEprom rất cơ bản kết nối với 89C52 thông qua giải mã 74HC373. Nói chung phần cứng thì không vấn đề gì khi kết nối. Còn phần chương trình thì tôi viết đơn giản thực hiện ghi giá trị vào EEprom sau đó đọc giá trị đó ra PORT1 để quan sát thông qua LED. nhưng tôi thấy kết quả quan sát không đúng và nó cứ hiển thị linh tinh. Bác nào đã làm việc hay có kinh nghiệm giúp tôi chữa lỗi này với. Cảm ơn trước nhé. Sau đây là đoạn code của tôi :

              #include<at89x52.h>
              xdata unsigned char Rom[32767] _at_ 0;
              // Tao thoi gian tre
              void Delay(unsigned long k)
              { for( ;k>0;k--); }
              unsigned char i;
              void main()
              { // GHI DU LIEU VAO ROM
              for(i=0;i<255;i++)
              { Rom[i] = i; Delay(10); }
              // DOC CHUONG TRINH RA TU ROM
              while(1)
              { for(i=0;i<255;i++)
              { P1 = Rom[i]; // DOC GIA TRI TRONG ROM RA P1
              Delay(100000); // TRE THOI GIAN DE XEM LED TREN PORT 1 HOAT DONG
              }
              }
              }
              Hãy tăng thời gian Delay lên 3ms là OK, Delay (10) --> quá nhanh. Mà con IC này nhiều lúc phải mua mấy con mới dùng được 1 con đấy. có loại giá chỉ 30K có loại giá lại 80K, loại 80K dùng sướng hơn. I chưa boa giờ dùng con 30K cả.

              email:mahaco@fpt.vn

              Comment


              • #8
                Hãy tăng thời gian Delay lên 3ms là OK, Delay (10) --> quá nhanh. Mà con IC này nhiều lúc phải mua mấy con mới dùng được 1 con đấy. có loại giá chỉ 30K có loại giá lại 80K, loại 80K dùng sướng hơn. I chưa boa giờ dùng con 30K cả.
                Nhưng nếu ghi mỗi byte mà mất tới 3ms thì đến khi nào mới ghi hết khoảng 1000byte hả bác. Với lại khi mình nhận tín hiệu từ cổng COM, nhận khoảng 1000 byte thì làm sao mà đáp ứng được tốc độ. Nếu ghi chậm quá thì sẽ mất dữ liệu. Đúng thế không bác? Vậy phải xử lý thế nào?

                Comment


                • #9
                  Nguyên văn bởi sun_rise Xem bài viết
                  Nhưng nếu ghi mỗi byte mà mất tới 3ms thì đến khi nào mới ghi hết khoảng 1000byte hả bác. Với lại khi mình nhận tín hiệu từ cổng COM, nhận khoảng 1000 byte thì làm sao mà đáp ứng được tốc độ. Nếu ghi chậm quá thì sẽ mất dữ liệu. Đúng thế không bác? Vậy phải xử lý thế nào?
                  Chính vì thế nên mới phải ghi theo trang. Khi ghi nhiều, thường thiết kế đi kèm con RAM (62256), nhận COM hết các byte ghi vào RAM , sau đó ghi từ RAM sang 28C256 -> OK ngay.

                  email:mahaco@fpt.vn

                  Comment


                  • #10
                    Với loại 28xx thì đọc ra không có gì khác với RAM thường, nhưng quá trình ghi thì có 2 cách:
                    1- delay thời gian ghi bằng phần mềm: Tức nhu cách các bạn đã nói ở trên
                    là tự tạo hàm delay khoảng vài ms( cụ thể xem datasheet - chắc khoảng 5ms)
                    2- Ram 28xxx có chân báo cho MCU biết quá trình ghi hoàn tất, ta dựa vào đây để xác nhận quá trình ghi 1 byte nào đó đã kết thúc tốt đẹp.

                    Comment


                    • #11
                      Thành thật cảm ơn các bạn nhiều. Tôi đã thử tới 4 con 28C256 mà vẫn không ăn thua gì. Trước khi tôi viết bài này mong được các bạn tiếp sức tôi đã hỏi qua ý kiến của thầy Nam trưởng lão PIC mà người mà tôi hay gọi là anh Nam. Anh cũng bảo như vậy và tôi cho nó Delay(60000); cơ mà vẫn không ăn thua nên tôi đành bó tay. để tôi thử mua thêm mấy con 28C nữa xem thế nào. Cảm ơn các bạn nhiều nhé.

                      Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

                      Comment


                      • #12
                        @nguyen.geo: Bác thử mua lấy một con 28c xịn như bác Hoctro89xxx nói thử xem thế nào. Thực sự về cái này mình cũng không được rành cho lắm. Mình cũng đang thử con 28c256 với AVR nhưng cũng chưa được
                        @hoctro89xxx:
                        Chính vì thế nên mới phải ghi theo trang. Khi ghi nhiều, thường thiết kế đi kèm con RAM (62256), nhận COM hết các byte ghi vào RAM , sau đó ghi từ RAM sang 28C256 -> OK ngay.
                        Em lại có thêm một câu hỏi đặt ra với vấn đề này. Các con VDK như 8051 hoặc AVR có nhiều nhất là một đường giao tiếp Pararell trong khi cả con RAM 62256 và con EEPROM 28c256 đều sử dụng chuẩn giao tiếp này. Vậy làm cách nào để sử dụng đồng thời 2 con này trong ứng dụng như bác nói???

                        Comment


                        • #13
                          Vấn đề này theo tôi thì chỉ cần mình giải mã địa chỉ hợp lý là được thôi. ví dụ nhé. Bạn dùng 1 con 28C256 và 1 con Ram 62256 thì sau khi phối hợp địa chỉ port P0 và P2 thì còn thừa 1 chân. và chân này có thể dùng hay không thì tuỳ thuộc vào người thiết kế nhưng thường là hay dùng. và chân thừa là A15 đúng không ? trong trường hợp này tôi chỉ dùng có 2 con là EEprom và Ram nên chỉ cần lấy chân A15 đưa vào chân CS của Rom chẳng hạn. Còn Ram thì cho chân A15 qua cổng đảo rồi đưa vào CS Ram. thế thì khi dùng Rom thì không dùng Ram và ngược lại tất cả mọi công việc giao tiếp giữa 2 con này đểu thông qua trung gian là VXL. con trường hợp dùng nhiều hơn 2 con thì bạn hãy dùng thêm chân của Port nào đó như là P1 chẳng hạn sau đó đưa qua cổng AND rồi đưa vào các chân CS. lưu ý là trước khi đọc hay ghi giá trị nào đó ra Bộ nhớ ngoài thì hãy nhớ ghi ra đó các chân địa chỉ Port 1 này trước. thế là xong.

                          Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

                          Comment


                          • #14
                            Nguyên văn bởi nguyen.geo Xem bài viết
                            Vấn đề này theo tôi thì chỉ cần mình giải mã địa chỉ hợp lý là được thôi. ví dụ nhé. Bạn dùng 1 con 28C256 và 1 con Ram 62256 thì sau khi phối hợp địa chỉ port P0 và P2 thì còn thừa 1 chân. và chân này có thể dùng hay không thì tuỳ thuộc vào người thiết kế nhưng thường là hay dùng. và chân thừa là A15 đúng không ? trong trường hợp này tôi chỉ dùng có 2 con là EEprom và Ram nên chỉ cần lấy chân A15 đưa vào chân CS của Rom chẳng hạn. Còn Ram thì cho chân A15 qua cổng đảo rồi đưa vào CS Ram. thế thì khi dùng Rom thì không dùng Ram và ngược lại tất cả mọi công việc giao tiếp giữa 2 con này đểu thông qua trung gian là VXL. con trường hợp dùng nhiều hơn 2 con thì bạn hãy dùng thêm chân của Port nào đó như là P1 chẳng hạn sau đó đưa qua cổng AND rồi đưa vào các chân CS. lưu ý là trước khi đọc hay ghi giá trị nào đó ra Bộ nhớ ngoài thì hãy nhớ ghi ra đó các chân địa chỉ Port 1 này trước. thế là xong.
                            Từ sáng đến giờ mới vào đây được, cứ vào là out.
                            Dùng theo kiểu tô đỏ ở trên phải dùng như sau: 32KB đầu thì ghi được vào EEPROM, 32KB sau ghi vào RAM. muốn ghi vào RAM thì địa chỉ ghi phải cộng thêm 32KB so với thực tế.
                            cũng có thể dùng các cổng thừa của VĐK để chipselect RAM hoặc eeprom--> đỡ phải dùng thêm NOT hay AND...KHi dùng con nào thì lựa chọn con đó.

                            email:mahaco@fpt.vn

                            Comment


                            • #15
                              Có vẽ như bạn không đọc những gì tôi viết hay đọc sơ lược quá vậy.

                              Kích từ, điều tốc, nhiệt độ , mức dầu, bảo vệ, đo mực nước, thông báo lũ...cho nhà máy Thủy Điện

                              Comment

                              Về tác giả

                              Collapse

                              nguyen.geo Tìm hiểu thêm về nguyen.geo

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

                              Collapse

                              • vi van pham
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi vi van pham
                                Đồng ý với Bqv.
                                50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
                                - Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...
                                hôm nay, 08:09
                              • mèomướp
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi mèomướp
                                Dạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
                                hôm nay, 06:19
                              • bqviet
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi bqviet
                                Cuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
                                24-01-2025, 19:40
                              • bqviet
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi bqviet
                                Bqv phải vào ngay để tán đồng với bài viết trên của bạn. Chỉ bàn về kỹ thuật, thiết bị máy móc của hãng dù danh tiếng vẫn có thể xảy ra những chuyện ngoài dự kiến, thậm chí những chuyện tưởng như không bao giờ có thể xảy ra....
                                24-01-2025, 19:31
                              • dinhthuong80
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi dinhthuong80
                                (ĐT chia sẻ MPPT này, với mong muốn rằng, chúng ta hãy tự tin lên, hãy tự hào là người VN, đừng quá tin vào người khác, đừng quá thần tượng họ, cần kiểm tra thực chứng chứ không nên cứ cho các thiết bị thông minh, cao siêu là hoàn hảo)
                                24-01-2025, 12:08
                              • dinhthuong80
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi dinhthuong80
                                Dưới đây là hình ảnh thực:

                                (bị phạm con tụ pi C17 (phía trên IC U3/DIP08: văng mất xác!)

                                (hàn vào vị trí C17 tụ pi 27nF ( giá trị phỏng đoán từ 10-100nF!), mạch vẫn chạy như trước khi cạy keo)...
                                24-01-2025, 12:05
                              • dinhthuong80
                                Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?
                                bởi dinhthuong80
                                ĐT đã mạnh dạn mail thử cho hãng SRNE, họ trả lời là nó dùng nhiệt điện trở ở bên trong mạch như sau:

                                "Our street light controller product triggers high temperature protection based on internal thermistor sampling''

                                Thấy hơi lo lắng vì kiến thức điện tử...
                                24-01-2025, 11:39
                              • mèomướp
                                Trả lời cho tìm mua đồng hồ vạn năng
                                bởi mèomướp
                                Dạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
                                https://vn.shp.ee/dWYVgq7
                                21-01-2025, 12:48
                              • vi van pham
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi vi van pham
                                Bác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
                                Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...
                                21-01-2025, 11:55
                              • nguyendinhvan
                                Trả lời cho Sửa bộ nguồn DC 60V 45A
                                bởi nguyendinhvan
                                Bây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
                                Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...
                                21-01-2025, 00:47
                              Đang tải...
                              X