Thông báo

Collapse
No announcement yet.

máy tính khoa học dùng 8051

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

  • máy tính khoa học dùng 8051

    mọi người giúp em về phần lập trình cho 8051 dùng để tính toán phép tính +-*/ được ko a. Thanks nhiều .Em đang rất cần a. (em mới học nên còn gà lém)
    bàn phím 4 hàng,4 cột . hiển thị dùng 2 led 7 vạch .

  • #2
    Nguyên văn bởi hoangthaok3t Xem bài viết
    mọi người giúp em về phần lập trình cho 8051 dùng để tính toán phép tính +-*/ được ko a. Thanks nhiều .Em đang rất cần a. (em mới học nên còn gà lém)
    bàn phím 4 hàng,4 cột . hiển thị dùng 2 led 7 vạch .
    Bạn có thể tham khảo chương trình calcul ,1 chương trình trong thư mục 'ví dụ' của phần mềm mô phỏng Proteus,có cả sơ đồ phần cứng và code cho 8051,bàn phím,Lcd hiển thị số kết quả.

    bạn chỉ cần thay đổi chút ít cho phù hợp với yêu cầu của mình.

    Comment


    • #3
      chán quá , chỉnh lại nó không chạy nũa. giúp em code dùng cho 2 led 7 vach (giới hạn tính số 2 chữ số thôi).
      Last edited by hoangthaok3t; 18-11-2008, 14:34.

      Comment


      • #4
        khi tính toán đến kết quả rùi.giả sử kết quả lưu trong thanh ghi A:
        -B1: +lưu kết quả biến A vào thanh ghi R1 để dự trữ cho B2
        +làm phép toán AND thanh ghi A với 0x0f để có được hàng đơn vị
        +Xuất ra led đơn vị
        -B2: +mov A,R1
        +swap A
        +làm phép toán AND thanh ghi A với 0x0f để có được hàng chục
        +Xuất ra led chục.
        cách này đơn giản dễ làm! chúc bạn làm tốt với project của mình!
        SỰ HỌC LÀ MÃI MÃI......!!!!

        Comment


        • #5
          ai có code cho em được không,em đang học ngôn ngữ ASM ,trong khi đó..đọc thấy toàn ngôn ngữ C ,không hiểu .thanks . (may tính khoa học ,dùng LED 7 vạch hiển thị)

          Comment


          • #6
            Một chương trình quét phím bằng C ..thì kết quả được lưu vào thanh ghi nào vậy
            ví dụ ,bài này... kết quả vô thanh nao vậy : mọi người chỉ giáo hộ.
            #include <sfr51.inc>
            org 00h
            ljmp main
            org 0bh
            ljmp ngattimer0
            org 40h
            ;************************************************* *********
            main:
            mov sp,#5fh
            lcall khoitao
            mainloop:

            lcall quetphim
            sjmp mainloop
            khoitao:
            mov dptr,#table
            mov r1,#0
            mov tmod,#01h
            setb et0
            setb ea
            mov th0,#high(-10000)
            mov tl0,#low(-10000)
            setb tr0
            ret
            ngattimer0:
            push psw
            push acc
            mov th0,#high(-10000)
            mov tl0,#low(-10000)
            lcall quetled
            pop acc
            pop psw
            reti
            quetled:
            mov a,r1
            movc a,@a+dptr
            mov p0,a
            nop
            clr p3.6
            ret
            delay1ms:
            mov r2,#100
            delay1msloop:
            nop
            nop
            nop
            nop
            nop
            nop
            nop
            nop
            djnz r2,delay1msloop
            ret
            delay10ms:
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            lcall delay1ms
            ret
            quetphim:
            mov p2,#11110000b
            jnb p2.4,chongrung
            jnb p2.5,chongrung
            jnb p2.6,chongrung
            jnb p2.7,chongrung
            ret
            chongrung:
            lcall delay10ms
            jnb p2.4,hang1
            jnb p2.5,hang2
            jnb p2.6,hang3
            jnb p2.7,hang4
            ret
            hang1:
            setb p2.0
            setb p2.1
            setb p2.2
            setb p2.3
            clr p2.4
            nop
            jnb p2.0,phim1
            jnb p2.1,phim2
            jnb p2.2,phim3
            jnb p2.3,phim4
            ret
            hang2:
            setb p2.0
            setb p2.1
            setb p2.2
            setb p2.3
            clr p2.5
            nop
            jnb p2.0,phim5
            jnb p2.1,phim6
            jnb p2.2,phim7
            jnb p2.3,phim8
            ret
            hang3:
            setb p2.0
            setb p2.1
            setb p2.2
            setb p2.3
            clr p2.6
            nop
            jnb p2.0,phim9
            jnb p2.1,phim10
            jnb p2.2,phim11
            jnb p2.3,phim12
            ret
            hang4:
            setb p2.0
            setb p2.1
            setb p2.2
            setb p2.3
            clr p2.7
            nop
            jnb p2.0,phim13
            jnb p2.1,phim14
            jnb p2.2,phim15
            jnb p2.3,phim16
            ret
            phim1:
            jnb p2.0,$
            mov r1,#0
            ret
            phim2:
            jnb p2.1,$
            mov r1,#1
            ret
            phim3:
            jnb p2.2,$
            mov r1,#2
            ret
            phim4:
            jnb p2.3,$
            mov r1,#3
            ret
            phim5:
            jnb p2.0,$
            mov r1,#4
            ret
            phim6:
            jnb p2.1,$
            mov r1,#5
            ret
            phim7:
            jnb p2.2,$
            mov r1,#6
            ret
            phim8:
            jnb p2.3,$
            mov r1,#7
            ret
            phim9:
            jnb p2.0,$
            mov r1,#8
            ret
            phim10:
            jnb p2.1,$
            mov r1,#9
            ret
            phim11:
            jnb p2.2,$
            mov r1,#10
            ret
            phim12:
            jnb p2.3,$
            mov r1,#11
            ret
            phim13:
            jnb p2.0,$
            mov r1,#12
            ret
            phim14:
            jnb p2.1,$
            mov r1,#13
            ret
            phim15:
            jnb p2.2,$
            mov r1,#14
            ret
            phim16:
            jnb p2.3,$
            mov r1,#15
            ret


            table:
            db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0d8h,080h,090h, 88h,83h,0c6h,0a1h,86h,08eh
            end

            Comment


            • #7
              Code này của C hay là assemble vậy?

              Comment


              • #8
                cái này là C ,sao không có ai giúp vậy

                Comment


                • #9
                  Nguyên văn bởi hoangthaok3t Xem bài viết
                  mọi người giúp em về phần lập trình cho 8051 dùng để tính toán phép tính +-*/ được ko a. Thanks nhiều .Em đang rất cần a. (em mới học nên còn gà lém)
                  bàn phím 4 hàng,4 cột . hiển thị dùng 2 led 7 vạch .
                  bạn gửi lên cả sơ đồ mạch thì mọi người mới biết mà viết mã chứ. Còn không mà cứ nói chừng chừng kiểu đó thì bó tay thôi.

                  Comment


                  • #10
                    sorry ,mọi người giúp mình với nha . không biêt đưa file lên diễn đàn .gửi bằng host vậy http://www.mediafire.com/download.php?dnwtynmhniz

                    Comment


                    • #11
                      máy tính mà chỉ 2 led 7 thanh sao ? mình nghĩ bạn nên nối chung các đường dữ liệu từ a..g của led 7 thanh và chỉ nên sử dụng 1 con 7447. Bạn sử dụng phương pháp quét để hiện được dữ liệu cho các led tương ứng

                      Comment


                      • #12
                        mình chỉnh lại thế này được không :-/ mình viêt đoạn code như vậy không hiểu có ổn không, mọi người chỉnh sửa và hoàn thiện nốt hộ mình ,thanks
                        http://www.mediafire.com/download.php?mhinnmnoowz

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X