Thông báo

Collapse
No announcement yet.

Tại sao RESET mà vẫn lưu dữ liệu ?

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

  • #16
    Nguyên văn bởi thaithutrang
    Hihi.. em nhớ nhầm sang PIC, vì lâu lắm ko làm 89, anh check thử xem công tắc có vấn đề gì ko? anh đã gán biến = 0 chưa vậy
    Chân reset của PIC nối với Gnd à ???Lạ nhỉ,thế mà tớ cứ tưởng nó nối với Vdd chứ nhỉ ?

    Comment


    • #17
      Mình gửi file thiết kế rồi mà, để gửi lại nhé. Mong mọi người giúp đỡ
      Ớ , Hình như không upload được file lên diễn đàn ???? mình viết file ASM dùng MIDE 5.1 để dịch ra hex !
      Mong diễn đàn mau chóng hoạt động bình thường
      mình upload lên đây :
      http://download.yousendit.com/47551D12597C3DF8

      các bạn download về xem nhé, có cả Slide báo cáo , Uh !!
      Last edited by DT3K48DHBK; 15-05-2006, 23:12.

      Comment


      • #18
        Bác sử dụng Reset bằng chương trình phần mềm thử xem!
        http://www.keil.com/support/docs/307.htm
        Tui không đọc được các file đính kèm của bác.
        Bác chạy mô phỏng thử chưa, MIDE 51 có hỗ trợ Simulator mà! Bác viết tất cả code bằng asm hay viết inline?
        Last edited by Family; 16-05-2006, 07:23.
        ------------------



        ------------------

        Comment


        • #19
          He, tui không đọc File Orcad được, bác gửi kèm theo file .opj
          Chương trình bác gửi tui mới đọc sơ qua tốt nhất bác nên chạy mô phỏng trước xem kết quả thế nào nhỉ?
          Bác gửi kèm luôn file .lst để anh em xem!<có thể nhiều người không sử dụng MIDE 51 như bác>
          ------------------



          ------------------

          Comment


          • #20
            Không ai thèm quan tâm đến vấn đề của mình sao ???

            Comment


            • #21
              Mình vẫn cho là do bạn chưa xóa RAM, hãy thử chèn đoạn code in đậm vào sau nhãn program xem sao!

              ......
              PROGRAM:

              ; Erase RAM locations from 01H to 0FEH

              mov r0, #01H
              erase: mov @r0, #00
              inc r0
              cjne r0, #0FFH, erase


              MOV IE, #10000101B ; initialize interrupts
              ......
              Imagine all the people
              Living life in peace...

              Comment


              • #22
                Mình vẫn cho là do bạn chưa xóa RAM, hãy thử chèn đoạn code in đậm vào sau nhãn program xem sao!

                ......
                PROGRAM:

                ; Erase RAM locations from 01H to 0FEH

                mov r0, #01H
                erase: mov @r0, #00
                inc r0
                cjne r0, #0FFH, erase


                MOV IE, #10000101B ; initialize interrupts
                ......
                Imagine all the people
                Living life in peace...

                Comment


                • #23
                  Nguyên văn bởi Family
                  He, tui không đọc File Orcad được, bác gửi kèm theo file .opj
                  Bác gởi lại phần cứng anh em nhìn cái!
                  Tui chạy mô phỏng với Keil chẳng thấy vấn đề gì xảy ra bất thường cả, bác load thử cái hexfile này thử xem!
                  Tui không up được file nên chép nguyên cái hexFile này, bác load về chạy thử, mở note, paste đoạn code sau vào, đặt tên (.hex)
                  Chúc bác thành công
                  //////////////////////////////////////////////////////////
                  Code:
                  :03000000020030CB
                  :10000300200105D200D20232C201C200D204D202C0
                  :0100130032BA
                  :10001300200005D201D20232C200C201D202D203B1
                  :0100230032AA
                  :1000300075B0FF75A885D28AD28875A0FF7590C06B
                  :100040007580C0C20202016920032420042A200016
                  :100050000320010DF894636012E804F8C202020064
                  :100060008160089401F8C202020081E8020169C2BD
                  :1000700000C202C203020169C201C202C20402013B
                  :1000800069700C75A0FF7590C07580C0020169751C
                  :10009000F00A84B400037580C0B401037580F9B41C
                  :1000A00002037580A4B403037580B0B404037580A3
                  :1000B00099B40503758092B40603758082B4070372
                  :1000C0007580F8B40803758080B40903758090E5E5
                  :1000D000F0B400037590C0B401037590F9B4020345
                  :1000E0007590A4B403037590B0B40403759099B4EB
                  :1000F0000503759092B40603759082B4070375905A
                  :10010000F8B40803759080B4090375909075A0FF4A
                  :10011000E8C2A075F00A847003020169C2A175F0FB
                  :1001200014E8847003020169C2A275F01EE88470AD
                  :1001300003020169C2A375F028E884700302016913
                  :10014000C2A475F032E8847003020169C2A575F09B
                  :100150003CE8847003020169C2A675F046E8847029
                  :1001600003020169C2A70201693002FDE8020048EA
                  :00000001FF
                  ------------------



                  ------------------

                  Comment


                  • #24
                    :10 0000 00020030 200105 D200 ...
                    Có thể chuong trình compiler của bạn có gì đặc biệt, trong các hexFile, đoạn record mở đầu thường có dạng:
                    :ssaaaattddddcs
                    Với ss là số byte trong hàng <thường là 03-tương ứng lệnh nhảy LJMP>, trong các đoạn ngắt thì số byte tùy bạn sử dụng, nhưng không được phủ các vùng địa chỉ khai báo khác.
                    aaaa là địa chỉ record, mặc định 0000 với đoạn mở đầu
                    tt thường là 00 <hexFile Intel--DATA RECORD>
                    dddd là các byte data, trường hợp này với compile của Keil, số byte data là 03.
                    cs kiểm tra tổng của record, được tính bằng tổng của tất cả các hexFile mod 256,sau đó lấy bù 2.
                    Trong bài này: 01+not(03+30+02)=CB
                    Đoạn kết thúc luôn là:
                    :00000001FF
                    Tôi thấy thường mỗi lần khai báo một nhãn địa chỉ mới, khi biên dịch sẽ bắt đầu một record mới. Nhưng ở đây, tôi không thấy trình biên dịch của bạn làm như vậy, có gì đặc biệt? có phải vì thế mà nó không nhận ra ngắt 0? <tôi đoán thế vì coi mấy cái này hơi mệt nên làm biếng xem khúc dưới >
                    ------------------



                    ------------------

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X