Thông báo

Collapse
No announcement yet.

các anh xem lại giúp e cái code assem nay với

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

  • các anh xem lại giúp e cái code assem nay với

    đề bài:
    Thiết kế mạch đồng hồ thời gian thực .
    Thiết kế mạch hiển thị thời gian thực trên led 7 vạch : giờ phút giây
    Hoạt động nhấn phím : 3 hiện số đếm h phím : 1 phút phím : 2 s phím 4 điều chỉnh giảm với số hiện hành . chuông kêu vào lúc 6h hàng ngày.
    Yêu cầu :
    Các link kiện 2 led 7 vạch 1 chuông 1 bàn phím 2*2

    các anh xem hộ e sao e ấn phím 4 để giảm số hiện hành mà không dc mà nó cứ nhảy k kiểm soát dc là sao?
    code:


    #include <sfr52.inc>

    GIO DATA 30H
    PHUT DATA 31H
    GIAY DATA 32H
    SPEAKER BIT P2.0

    ORG 0000H ; Diem nhap sau khi RESET
    LJMP MAIN ; Nhay den chuong trinh chinh
    ORG 000BH ; Bang vector ngat cua Timer1
    LJMP DEMTHOIGIAN
    ORG 100H
    MAIN:
    MOV P3,#0FFH ; chon P3 la cong vao
    MOV TMOD,#01H ; CHON TIMER0 CHE DO 1
    MOV TL0,#0B0H
    MOV TH0,#3CH
    MOV IE, #82H ; CHO PHEP NGAT TIMER0
    SETB TR0
    MOV R7,#20 ; 20*50 uS= 1S . THOI GIAN DEM 1S
    MOV GIAY,#0H
    MOV PHUT,#0H
    MOV GIO,#0H
    CLR SPEAKER

    AGAIN:
    MOV A,GIO
    CJNE A,#06H,NEXT ; KIEM TRA 6h
    SETB SPEAKER ; BAT LOA
    SJMP NEXT5
    NEXT: CLR SPEAKER
    NEXT5:
    JNB P3.0,NEXT2 ; KIEM TRA KEY GIAY
    JNB P3.1,NEXT3 ; KIEM TRA KEY PHUT
    JNB P3.2,NEXT4 ; KIEM TRA KEY GIO
    MOV A,GIAY
    LCALL HIENTHILED
    SJMP AGAIN ; LAP LAI CHUONG TRINH
    NEXT2:
    MOV A,GIAY
    LCALL HIENTHILED
    JB P3.3,AGAIN
    ; LCALL DELAY5ms ; KIEM TRA KEY AN TRONG 5ms
    ; JB P3.3,AGAIN
    INC GIAY
    MOV A,GIAY
    CJNE A,#3CH,AGAIN ; SO SANH GIAY VOI 60
    INC PHUT
    MOV GIAY,#0H

    NEXT3:
    MOV A,PHUT
    LCALL HIENTHILED
    JB P3.3,AGAIN
    ; LCALL DELAY5ms ; KIEM TRA KEY AN TRONG 5ms
    ; JB P3.3,AGAIN
    INC PHUT
    MOV A,PHUT
    CJNE A,#3CH,AGAIN ; SO SANH PHUT VOI 60
    INC GIO
    MOV PHUT,#0H
    NEXT4:
    MOV A,GIO
    LCALL HIENTHILED
    JB P3.3,AGAIN
    ; LCALL DELAY5ms ; KIEM TRA KEY AN TRONG 5ms
    ; JB P3.3,AGAIN
    INC GIO
    MOV A,GIO
    CJNE A,#0DH,AGAIN ; SO SANH GIO VOI 12
    MOV GIO,#1H
    SJMP AGAIN ; LAP LAI CHUONG TRINH

    DEMTHOIGIAN:
    CLR TR0 ; TAM DUNG TIMER0
    DJNZ R7, NEXT1
    MOV R7,#20

    INC GIAY ; TANG THEM 1 GIAY
    MOV A,GIAY
    CJNE A,#3CH,NEXT1 ; SO SANH GIAY VOI 60
    INC PHUT
    MOV GIAY,#0H

    MOV A,PHUT
    CJNE A,#3CH,NEXT1 ; SO SANH GIAY VOI 60
    INC GIO
    MOV PHUT,#0H

    MOV A, GIO
    CJNE A,#0DH,NEXT1 ; SO SANH GIAY VOI 12
    MOV GIO,#01H

    NEXT1:
    MOV TL0,#0B0H
    MOV TH0,#3CH
    SETB TR0
    RETI
    HIENTHILED:

    MOV B,#10
    DIV AB
    MOV DPTR,#MALED7
    MOVC A,@A+DPTR
    MOV P0,A
    MOV DPTR,#MALED7
    MOV A,B
    MOVC A,@A+DPTR
    MOV P1,A


    RET
    DELAY100ms: MOV R2,#200
    DL5: MOV R1,#250
    DL4: NOP
    NOP
    DJNZ R1,DL4
    DJNZ R2,DL5
    RET
    MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H


    ENDClick image for larger version

Name:	anh.JPG
Views:	1
Size:	98.1 KB
ID:	1413110

  • #2
    Bạn mô tả chẳng cụ thể gì cả, ý tứ chẳng rõ ràng, nói thật mình không phải thuộc dạng rốt nát gì nhưng đọc bài bạn mà chẳng hiểu nổi.

    Comment


    • #3
      sao k hiểu ạ. đề bài e viết ở trên. còn cái code của bài e cũng đưa lên đó mà. hình mô phỏng mạch e cũng post lên đó rồi mà. còn ý e hỏi nhờ các anh giải quyết dùm là sao khi e cho mạch chạy và ấn các nút để hiện giờ phút giây thì vẫn hiện và chạy bình thường. nhưng khi e ấn nút để giảm số hiện hành thì nó k giảm từng đơn vị 1 mà cứ chạy loạn lên k kiểm soát dc đó.

      Comment


      • #4
        mình đọc code bạn có thấy phần kiểm tra đếm giảm đâu,sau lệnh JB P3.3,AGAIN chương trình lại chạy lại từ đầu bạn xem lại key 4 xem nhé

        Comment


        • #5
          hix em mới vào nghề sắp làm cái này nhưng nhìn vào chẳng hiểu mô tê gi` cả
          hix các bác sửa giúp bạn đấy rùi cho em xem vs nhé em sắp học môn này ko hihi
          Tổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày

          Comment


          • #6
            Nguyên văn bởi dtcn_112 Xem bài viết
            mình đọc code bạn có thấy phần kiểm tra đếm giảm đâu,sau lệnh JB P3.3,AGAIN chương trình lại chạy lại từ đầu bạn xem lại key 4 xem nhé
            vậy giờ e phải sửa sao để cho khi ấn phím 4 nó giảm số hiện hành theo ý của mình dc ạ? a chỉnh lại giúp e với

            Comment


            • #7
              Nguyên văn bởi endino Xem bài viết
              vậy giờ e phải sửa sao để cho khi ấn phím 4 nó giảm số hiện hành theo ý của mình dc ạ? a chỉnh lại giúp e với
              bạn chép lại một đoạn code đếm tăng và thay lệnh tăng bằng lệnh giảm và kiểm tra trạng thái phím 4(làm tương tự như đếm tăng thôi)

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X