help bác nào pro giúp dùm em với

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • h4ndoivn
    Thành viên mới
    • Oct 2011
    • 21

    #1

    help bác nào pro giúp dùm em với

    Hiện em đang làm chương trình yêu cầu như sau :
    -- Đếm từ 0 đến 9 điều kiện mỗi lần ấn nút nhảy tiến 1 số " Ví dụ 1>>2 >>3 " đến 9 thì không tăng thêm được nữa
    --- Đếm từ 9 về 0 điều kiện mỗi lần ấn nút nhảy lùi 1 số " 9>>>8<<7 " đến 0 thì không giảm thêm nữa
    $include(reg51.inc)
    org 0000h
    KT:
    JB P3.4,KT2
    KT1:
    JNB P3.4,KT1
    CALL MAIN
    KT2:
    JB P3.5,KT
    KT3:
    JNB P3.5,KT3
    CALL MAIN1

    MAIN:
    MOV R1,#00H

    LAP:
    MOV A,R1
    MOV DPTR,#BM
    MOVC A,@A+DPTR

    MOV P0,A
    CALL DELAY
    INC R1
    CJNE R1,#0AH,LAP
    SJMP KT

    MAIN1:
    MOV R2,#0AH
    LAP1:
    MOV A,R2
    MOV DPTR,#BM
    MOVC A,@A+DPTR
    MOV P0,A
    CALL DELAY
    DEC R2
    CJNE R2,#0FFH,LAP1
    SJMP KT2

    DELAY:
    MOV R5,#04H
    LOOP1:
    MOV R6,#50
    LOOP2:
    CALL DELAYMS
    DJNZ R6,LOOP2
    DJNZ R5,LOOP1
    DELAYMS:
    MOV R7,#250
    LOOP:
    DEC R7
    MOV A,R7
    CJNE A,#0,LOOP
    RET
    BM : DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
    END
    Click image for larger version

Name:	1111.jpg
Views:	1
Size:	139.2 KB
ID:	1415363
  • hoangnam555
    Thành viên tích cực
    • Jan 2010
    • 2829

    #2
    code này ko chạy à.
    ĐT: 0972 20 58 68
    Gmail:

    Comment

    • h4ndoivn
      Thành viên mới
      • Oct 2011
      • 21

      #3
      chạy nhưng không đúng theo yêu cầu của lão giáo viên
      Hắn bắt dùng ngắt ngoài
      Tức là mỗi lần ấn thì nhảy đếm tiến hoặc lùi 1 số

      Comment

      • hoangnam555
        Thành viên tích cực
        • Jan 2010
        • 2829

        #4
        code như thế này:
        bạn tạo 1 biến lưu số lần nhấn nút,chương trình chính sẽ kiểm tra nút nhấn,nếu nhấn tăng thì tăng giá trị của biến lên 1,nếu nhấn giảm sẽ giàm giá trị của biến xuống 1,rồi gọi chương trình hiển thị.
        chương trình hiển thị sẽ hiển thị số tương ứng với giá trị của biến.
        ĐT: 0972 20 58 68
        Gmail:

        Comment

        • h4ndoivn
          Thành viên mới
          • Oct 2011
          • 21

          #5
          thank bạn nhưng thực sự mình hơi gà khoản này mới học asm nên bạn có thể nói rõ hơn cho mình được không ?

          Comment

          • hoangnam555
            Thành viên tích cực
            • Jan 2010
            • 2829

            #6
            Nguyên văn bởi h4ndoivn Xem bài viết
            thank bạn nhưng thực sự mình hơi gà khoản này mới học asm nên bạn có thể nói rõ hơn cho mình được không ?
            bạn dùng thanh ghi nào đó lưu giá trị,R0-R7
            Giả sử dùng R0,đầu tiên nạp R0 bằng 0
            chương trình chính bắt đầu dò phím,nếu nhấn phím tăng,ct kiểm tra R0 bằng 9 chưa,nếu chưa tăng lên 1,nếu nhấn phím giảm,kt R0 = 0 chưa,nếu chưa giảm 1 sau đó gọi ct con hiển thị.

            trong ct con,bạn chuyển r0 vào a,nạp dptr,hiển thị ra port.

            đơn giản vậy thôi.
            ĐT: 0972 20 58 68
            Gmail:

            Comment

            • h4ndoivn
              Thành viên mới
              • Oct 2011
              • 21

              #7
              okie thank bạn để mình thử

              Comment

              • Ck33spkt
                Thành viên tích cực
                • Apr 2010
                • 616

                #8
                Nguyên văn bởi h4ndoivn Xem bài viết
                chạy nhưng không đúng theo yêu cầu của lão giáo viên
                Hắn bắt dùng ngắt ngoài
                Tức là mỗi lần ấn thì nhảy đếm tiến hoặc lùi 1 số
                Bạn tạo dùng 1 thanh ghi để lưu số đếm.
                Kết nối phần cứng để dùng 2 ngắt ngoài (ngắt ngoài 0 và 1), chương trình phục vụ ngắt chỉ cần làm nhiệm vụ tăng hoặc giảm số đếm 1 đơn vị ứng với ngắt ngoài được kích hoạt. Chương trình chính chỉ việc lấy số đếm đó, tra vào bảng mã để lấy mã 7seg ra hiển thị.

                Comment

                • h4ndoivn
                  Thành viên mới
                  • Oct 2011
                  • 21

                  #9
                  Làm hoài không được hix hix gà mờ cái ngôn ngữ này quá
                  bạn có thể sửa chương trình trên cho mình được không mình làm hoài mà chả được

                  Comment

                  • hoangnam555
                    Thành viên tích cực
                    • Jan 2010
                    • 2829

                    #10
                    viết đc những up lên xem nào.
                    ĐT: 0972 20 58 68
                    Gmail:

                    Comment

                    • h4ndoivn
                      Thành viên mới
                      • Oct 2011
                      • 21

                      #11

                      Làm đi làm lại cuối cùng chả đâu vào với đâu cả
                      Last edited by h4ndoivn; 05-12-2012, 23:40.

                      Comment

                      • h4ndoivn
                        Thành viên mới
                        • Oct 2011
                        • 21

                        #12
                        bác nào hộ em mai em km cái thẻ vietell 20k

                        Comment

                        • hoangnam555
                          Thành viên tích cực
                          • Jan 2010
                          • 2829

                          #13
                          Nguyên văn bởi h4ndoivn Xem bài viết
                          bác nào hộ em mai em km cái thẻ vietell 20k
                          sao ko viết rồi mọi người sửa cho.
                          ĐT: 0972 20 58 68
                          Gmail:

                          Comment

                          • h4ndoivn
                            Thành viên mới
                            • Oct 2011
                            • 21

                            #14
                            Mình viết được đến đây thì tắt điện pro nào giúp thì sửa dùm với


                            $include(reg51.inc)
                            ;======== nut an=======
                            TANG BIT P3.4
                            GIAM BIT P3.5
                            ;**********************MIAN***********************

                            ORG 00H
                            KT_GIAM:
                            JB GIAM,THOAT
                            MOV A,R1
                            INC A
                            CJNE A,#0AH,THOAT
                            SJMP THOAT
                            KT_TANG:
                            JB TANG,THOAT
                            DEC A
                            CJNE A,00H,THOAT
                            SJMP THOAT
                            MIAN:
                            MOV A,R1
                            MOV DPTR,#BM
                            MOVC A,@A+DPTR
                            MOV P0,A
                            CALL DELAY
                            CALL KT_TANG
                            CALL KT_GIAM
                            CALL DELAY
                            SJMP MIAN
                            ;============ =
                            THOAT:
                            RET
                            ;-------
                            DELAY:
                            MOV R7,#0FFH
                            DJNZ R7,$
                            RET
                            ;*********************************************
                            BM:
                            DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
                            END

                            Comment

                            • hoangnam555
                              Thành viên tích cực
                              • Jan 2010
                              • 2829

                              #15
                              mới làm xong cái mạch,rãnh tay code cho bạn.
                              Code:
                              $mod51
                              	mov r7,#0	
                              main:
                              	jb p1.0,mp1
                              	
                              	jnb p1.0,$
                              	cjne r7,#9,skip1
                              	sjmp  mp1
                              skip1:
                              	inc r7
                              mp1:
                              	call hienthi
                              	jb p1.1,mp2
                              	
                              	jnb p1.1,$
                              	cjne r7,#0,skip2
                              	ljmp mp2
                              skip2:
                              	dec r7
                              mp2:
                              	call hienthi
                              	ljmp main
                              hienthi:
                              	mov a,r7
                              	mov dptr,#led7seg
                              	movc a,@a+dptr
                              	mov p2,a
                              	ret
                              delay:
                              	push 00h
                              	mov r1,#30
                              	mov tmod,#01h
                              del50:
                              	mov th0,#high(-10000)
                              	mov tl0,#low(-10000)
                              	setb tr0
                              	jnb tf0,$
                              	clr tf0
                              	clr tr0
                              	djnz r1,del50
                              	pop 00h
                              	ret
                              	
                              led7seg:
                              	db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,
                              end
                              ĐT: 0972 20 58 68
                              Gmail:

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...