Thông báo

Collapse
No announcement yet.

Giúp đỡ lập trình phím bấm với led đơn bằng ASM

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

  • Giúp đỡ lập trình phím bấm với led đơn bằng ASM

    em chào mọi người..
    em mới bước vào vi điều khiển... lập trình C em còn có hiểu ..chứ ASM e mù tịt
    em có 3 bài tập thực hành với phím bấm với led đơn lập trinh bằng ASM sắp kiểm tra rồi mà chưa xong vậy ai có thể giúp đõ e với ạ
    Bài 1:
    Click image for larger version

Name:	bai1_zpsec6e4d6a.jpg
Views:	1
Size:	116.5 KB
ID:	1415468
    Lập trình điều khiển sao chômix lần bấm phím thì 1 đền LED sẽ sang ( 3 đền led còn lại sẽ tắt) các đèn sáng lần lượt từ D1 đến D4. Trạng thái ban đầu khi reset cả 4 led đều tắt
    Khi nhấn phím.. mức logiccuar cổng p1.0 sẽ có giát trị 0 và khi nhả phím có giá trị 1
    ( sử dụng các lệnh JB, JNB, SJMP để kiểm tra phím và SETB, CLR để thiết lập và xóa bit điều khiển led
    Bài 2:
    Click image for larger version

Name:	bai2_zps6aa14a4f.jpg
Views:	1
Size:	100.0 KB
ID:	1415469
    lập trình điều khiển led sao cho nhấn nút nhấn thứ nhất đèn D1 sáng.. nhấn nút bấm thứ 2 cả 4 led đều tắt.. sau đó nhấn nút thứ nhất D2 sáng, nhấn nút thứ 2 cả 4 led tắt.. cú như thế cho đến hết
    ( sử dụng các lệnh JB, JNB, SJMP để kiểm tra phím và SETB, CLR để thiết lập và xóa bit điều khiển led
    Bài 3:
    Click image for larger version

Name:	bai3_zps9ffe9ab5.jpg
Views:	1
Size:	116.7 KB
ID:	1415470
    lập trình điều khiển sao cho nhấn nút 1 đèn D1 sáng.. 3 led còn lại k sáng..nhấn nút 2 D2 sáng.. 3 đèn còn lại k sáng.. và như thế với 2 led còn lại
    sử dụng các lệnh JB, JNB, SJMP để kiểm tra phím và SETB, CLR để thiết lập và xóa bit điều khiển led
    ....
    đó là 3 bài tập trên ạ..em xin nhờ các anh chỉ dạy giùm em với ạ..e còn ài ngày nữa thui ạ nếu có thể viết chú thích câu lệnh bên cạnh cho e với ạ ... cảm ơn các anh ạ

  • #2
    bài 1 cho bạn nhé. các bài còn lại tương tự như vậy. nhưng proteus của bài 1 thì con trở nối LED với nguồn thì thây bằng 330Ohm thì LED mới sáng được
    Code:
    D1 BIT P2.0		;GAN D1 LA CHAN 2.0
    D2 BIT P2.1
    D3 BIT P2.2
    D4 BIT P2.3
    PHIMNHAN BIT P1.0		;GAN P1.0 LA PHIMNHAN
    ORG 0
    MAIN:
    	JB PHIMNHAN,$			;CHO KHI NAO NHAN PHIM THI THUC HIEN TIEP CHUONG TRINH
    	ACALL DELAY_500MS		;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
    	ACALL TURN_OFF			;GOI CHUONG TRINH CON TAT TAT CA CAC DEN
    	CLR D1				;BAT DEN D1
    	JB PHIMNHAN,$
    	ACALL DELAY_500MS
    	ACALL TURN_OFF
    	CLR D2
    	JB PHIMNHAN,$
    	ACALL DELAY_500MS
    	ACALL TURN_OFF
    	CLR D3
    	JB PHIMNHAN,$
    	ACALL DELAY_500MS
    	ACALL TURN_OFF
    	CLR D4
    	SJMP MAIN			;NHAY VE NHAN MAIN DE THUC HIEN TIEP CHUONG TRINH
    TURN_OFF:				;CHUONG TRINH CON TAT TAT CA CAC DEN
    	SETB D1
    	SETB D2
    	SETB D3
    	SETB D4
    RET					;KET THUC CHUONG TRINH CON
    DELAY_500MS:				;CHUONG TRINH CON DELAY 500MS
    MOV TMOD,#10H
    MOV R7,#10
    LOOP:
    MOV TH1,#HIGH(-50000)
    MOV TL1,#LOW(-50000)
    SETB TR1
    JNB TF1,$
    CLR TR1
    CLR TF1
    DJNZ R7,LOOP
    RET
    END

    Comment


    • #3
      mình cũng đang học môn VXL. đc 2 tháng
      nhưng sao biết về viết C (tức học bằng C) mà bài tập lại là bằng ASM

      Comment


      • #4
        Rảnh rỗi viết tiếp giúp bạn bài 2

        Phát triển tiếp code của bạn "tranhungyt"

        Code:
        D1 BIT P2.0        ;GAN D1 LA CHAN 2.0 
        D2 BIT P2.1 
        D3 BIT P2.2 
        D4 BIT P2.3 
        NUT_THU_1 BIT P1.0        ;GAN P1.0 LA NUT_THU_1
        NUT_THU_2 BIT P1.3        ;GAN P1.3 LA NUT_THU_2
         ORG 0 
        MAIN:
            ACALL TURN_OFF
             JB NUT_THU_1,$            ;CHO KHI NAO NHAN PHIM THI THUC HIEN TIEP CHUONG TRINH
             ACALL DELAY_500MS        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
             JNB NUT_THU_1,$            ;CHONG GIU PHIM
             CLR D1                ;BAT DEN D1
             JB NUT_THU_2,$
             ACALL DELAY_500MS
            JNB NUT_THU_2,$
             ACALL TURN_OFF
        ;
           JB NUT_THU_1,$
             ACALL DELAY_500MS
             JNB NUT_THU_1,$
             CLR D2                
             JB NUT_THU_2,$
             ACALL DELAY_500MS
            JNB NUT_THU_2,$
             ACALL TURN_OFF
        ;
           JB NUT_THU_1,$
             ACALL DELAY_500MS
             JNB NUT_THU_1,$
             CLR D3
             JB NUT_THU_2,$
             ACALL DELAY_500MS
            JNB NUT_THU_2,$
             ACALL TURN_OFF
        ;
           JB NUT_THU_1,$
             ACALL DELAY_500MS
             JNB NUT_THU_1,$
             CLR D4
             JB NUT_THU_2,$
             ACALL DELAY_500MS
            JNB NUT_THU_2,$
             ACALL TURN_OFF
            SJMP MAIN                       ;NHAY VE NHAN MAIN DE THUC HIEN TIEP CHUONG TRINH 
        ;
        TURN_OFF:                ;CHUONG TRINH CON TAT TAT CA CAC DEN
             SETB D1
             SETB D2
             SETB D3
             SETB D4
         RET                    ;KET THUC CHUONG TRINH CON 
        DELAY_500MS:                ;CHUONG TRINH CON DELAY 500MS
             MOV TMOD,#10H
             MOV R7,#10
         LOOP:    
            MOV TH1,#HIGH(-50000)
             MOV TL1,#LOW(-50000)
             SETB TR1
             JNB TF1,$
            CLR TR1    
            CLR TF1
             DJNZ R7,LOOP
         RET
         END
        Last edited by Ck33spkt; 19-12-2012, 00:39.

        Comment


        • #5
          hi cảm ơn anh nhiều ạ.. à.. là do e thích thú học C hơn.. nhưng vi điều khiển thầy giáo dậy lại là asm

          Comment


          • #6
            Nguyên văn bởi Ck33spkt Xem bài viết
            Phát triển tiếp code của bạn "tranhungyt"

            Code:
            D1 BIT P2.0        ;GAN D1 LA CHAN 2.0 
            D2 BIT P2.1 
            D3 BIT P2.2 
            D4 BIT P2.3 
            NUT_THU_1 BIT P1.0        ;GAN P1.0 LA NUT_THU_1
            NUT_THU_2 BIT P1.3        ;GAN P1.3 LA NUT_THU_2 ORG 0 
            MAIN:
                ACALL TURN_OFF
                 JB NUT_THU_1,$            ;CHO KHI NAO NHAN PHIM THI THUC HIEN TIEP CHUONG TRINH
                 ACALL DELAY_500MS        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
                 JNB NUT_THU_1,$            ;CHONG GIU PHIM
                 CLR D1                ;BAT DEN D1
                 JB NUT_THU_2,$
                 ACALL DELAY_500MS
                JNB NUT_THU_2,$
                 ACALL TURN_OFF
            ;
               JB NUT_THU_1,$
                 ACALL DELAY_500MS
                 JNB NUT_THU_1,$
                 CLR D2                
                 JB NUT_THU_2,$
                 ACALL DELAY_500MS
                JNB NUT_THU_2,$
                 ACALL TURN_OFF
            ;
               JB NUT_THU_1,$
                 ACALL DELAY_500MS
                 JNB NUT_THU_1,$
                 CLR D3
                 JB NUT_THU_2,$
                 ACALL DELAY_500MS
                JNB NUT_THU_2,$
                 ACALL TURN_OFF
            ;
               JB NUT_THU_1,$
                 ACALL DELAY_500MS
                 JNB NUT_THU_1,$
                 CLR D4
                 JB NUT_THU_2,$
                 ACALL DELAY_500MS
                JNB NUT_THU_2,$
                 ACALL TURN_OFF
                SJMP MAIN                       ;NHAY VE NHAN MAIN DE THUC HIEN TIEP CHUONG TRINH 
            ;
            TURN_OFF:                ;CHUONG TRINH CON TAT TAT CA CAC DEN
                 SETB D1
                 SETB D2
                 SETB D3
                 SETB D4
             RET                    ;KET THUC CHUONG TRINH CON 
            DELAY_500MS:                ;CHUONG TRINH CON DELAY 500MS
                 MOV TMOD,#10H
                 MOV R7,#10
             LOOP:    
                MOV TH1,#HIGH(-50000)
                 MOV TL1,#LOW(-50000)
                 SETB TR1
                 JNB TF1,$
                CLR TR1    
                CLR TF1
                 DJNZ R7,LOOP
             RET
             END
            hi.. cảm ơn anh ạ

            Comment


            • #7
              giúp đỡ lập trình mạch đồng hồ bấm giờ thể thao dùng 8051 viết bằng ASM

              em chào các anh chị trong diễn đàn nhé!!!
              em đang hoc môn VXL, thầy bắt tụi em lam mạch đồng hồ bấm giờ thể thao.
              em tìm trên mạng thì thấy có 2 đoạn code của 2 mạch luôn, nhưng mà tụi em không biết vẽ hình làm sao cả mong mấy anh chị giúp đỡ nhé...



              code 1
              ;here is assembly code
              org 0h mov 60h,#81h
              mov 61h,#0cfh ; 1.Storing data on specific memory location in ram
              mov 62h,#92h /////////
              mov 63h,#86h /////////
              mov 64h,#0cch /////////
              mov 65h,#0a4h /////////
              mov 66h,#0a0h /////////
              mov 67h,#8fh /////////
              mov 68h,#80h /////////
              mov 69h,#84h /////////

              jb p3.7,reset_1 ;To display 0000 on 7 seg when power on and on pressing button it statrs
              start:
              mov r7 ,#6 ;To increase number on extreme left 7 seg 6 times(0 to 5)
              setb rs1 ;select register bank 2
              mov r1,#60h ;move 60h to r1 to acsses data for extreme left 7 seg
              clr rs1 ;reject register bank 2

              label_3:
              mov r6,#10 ;To increase number on 2nd 7 seg from left 10 times(0 to 9)
              setb rs1
              mov r0,#60h ;move 60h to r0 to acsses data for 2nd 7 seg from left
              clr rs1

              label_2:
              mov r1,#60h ;move 60h to r1 to acsses data for 3rd 7 seg from left
              mov r5,#10 ;To increase number on 3rd 7 seg from left 10 times(0 to 9)
              label_1:

              mov r4,#10 ;To increase number on 4th 7 seg from left 10 times(0 to 9)
              mov r0,#60h ;move 60h to r0 to acsses data for 4th 7 seg from left
              label:

              mov r2,#7 ;for delay
              again:

              mov r3,#16 ;for delay




              here: mov a,@r0 ;move data on reg "a" from location saved in r0
              mov p2,a jnb p3.4,stop ;on preesing button watch stops
              clr p3.3 ;enable common anode of 4th 7 seg from left(it is clr p3.3 because transister convert it to setb p3.3)
              lcall delay
              setb p3.3 ;disable ////////////////////////////////// mov a,@r1 ;move data on reg "a" from location saved in r1
              mov p2,a
              jnb p3.4,stop
              clr p3.2
              lcall delay
              setb p3.2 setb rs1 ;select register bank 2 mov a,@r0 ;move data on reg "a" from location saved in r0 of bank 2
              mov p2 ,a
              jnb p3.4,stop
              clr p3.1
              clr p2.7 ;enable p2.7 to glow decimal point
              lcall delay setb p3.1 mov a,@r1 ;move data on reg "a: from location saved in r1 of bank 2
              mov p2,a
              jnb p3.4,stop
              clr p3.0
              lcall delay
              setb p3.0
              clr rs1 djnz r3,here ;for delay
              djnz r2,again ////////// inc r0 ;increase value in r0 of register bank 0 for 4th 7 seg from left
              djnz r4,label ;increase value for 4th 7 seg from left 10 times
              inc r1 ;increase value in r1 of register bank 0 for 3rd 7 seg from left
              djnz r5,label_1 ;increase value for 3rd 7 seg from left 10 times setb rs1 ;select register bank 2
              inc r0 ;increase value in r0 of register bank 2 for 2nd 7 seg from left
              clr rs1 ;reject register bank 2
              djnz r6 , label_2 ;increase value for 2nd 7 seg from left 10 times
              setb rs1
              inc r1 ;increase value in r1 of register bank 0 for 1st 7 seg from left clr rs1 djnz r7 , label_3 ;increase value for 1st 7 seg from left 6 times
              sjmp start

              here_1: sjmp here
              start_1: sjmp start
              reset_1: sjmp reset
              ////////////////////////////////////////­////////////////////////////////
              stop: mov a,@r0
              mov p2,a
              jnb p3.6,here ;p3.6 for resume
              jnb p3.5,reset ;p3.5 for rest
              clr p3.3
              lcall delay
              setb p3.3 mov a,@r1
              mov p2,a
              jnb p3.6,here
              jnb p3.5,reset
              clr p3.2
              lcall delay
              setb p3.2 setb rs1 mov a,@r0
              mov p2 ,a
              jnb p3.6,here_1
              jnb p3.5,reset
              clr p3.1
              clr p2.7
              lcall delay setb p3.1 mov a,@r1
              mov p2,a
              jnb p3.6,here_1
              jnb p3.5,reset
              clr p3.0
              lcall delay
              setb p3.0 clr rs1
              sjmp stop
              ////////////////////////////////////////­////////////////////////////////////////­/////
              reset: mov p2,#81h
              clr p3.3
              lcall delay
              setb p3.3 mov p2,#81h
              clr p3.2
              lcall delay
              setb p3.2 mov p2,#81h
              clr p3.1
              clr p2.7
              lcall delay setb p3.1
              mov p2,#81h
              clr p3.0
              lcall delay
              setb p3.0 jnb p3.7,start_1 ;p3.7 f0r start sjmp reset
              ////////////////////////////////////////­/////////////////////////////////////
              delay: setb rs0
              mov r2,#4

              gain: djnz r2,gain
              clr rs0
              ret

              end





              code 2
              ORG 0
              LJMP MAIN
              ORG 0003H
              LJMP ISR_E0
              ORG 000BH
              LJMP ISR_T0
              ORG 0030H
              MAIN:
              MOV IE,#83H ; ngat timer0 , ngat ngoai 0
              SETB IT0 ;kich khoi canh xuong
              MOV TMOD,#01H
              JB P1.1,$
              LCALL DELAY10MS
              MOV TH0,#HIGH(-10000)
              MOV TL0,#LOW(-10000)
              SETB TR0
              MOV 16H,#0 ; luu phan tram giay
              MOV 17H,#0 ; --- giay
              MOV 18H,#0 ;luu phut
              MOV R1,#30H
              MOV R0,#30H ;o nho ban dau luu giu gia tri vdv
              MOV R7,#0 ; dem so lan xuat vdv

              LOOP:
              LCALL BIN_BCD ; chuyen sang dang bcd
              LCALL OUTLED ; xuat ra led
              CJNE R0,#3AH,LOOP
              JB P1.0,LOOP ; xem co phim nhan xuat vdv ko
              LCALL DELAY10MS
              NHAN_NUT:
              LCALL XUAT_VDV
              JnB P1.0,NHAN_NUT
              LCALL DELAY10MS
              BACK:
              LCALL XUAT_VDV
              JB P1.0,BACK
              LCALL DELAY10MS
              INC R7
              INC R1
              INC R1 ;xuat vdv tiep theo
              CJNE R7,#5,NHAN_NUT; da du 5 lan chua
              SETB P2.0
              SETB P2.1
              SETB P2.2
              SETB P2.3
              SETB EA
              SJMP MAIN
              ;************************************************* ********
              ISR_T0:
              CLR TR0
              MOV TH0,#HIGH(-10000)
              MOV TL0,#LOW(-10000)
              SETB TR0
              INC 16H; tang so phan tram giay len 1
              MOV A,16H
              CJNE A,#100,EXIT;da du 1giay chua
              MOV 16H,#0
              INC 17H; tang so giay len 1
              MOV A,17H
              CJNE A,#60,EXIT; da du 60 giay chua
              MOV 17H,#0
              INC 18H,# ;tang so phut len 1
              MOV A,18H
              CJNE A,#10,exit
              MOV 18H,#0
              EXIT:
              RETI
              ;************************************************* **********
              ISR_E0:
              MOV @R0,16H; dua so phan tram giay vao o nho 30h
              INC R0
              MOV @R0,17H; dua so giay vao o nho tiep theo
              INC R0
              MOV @R0,18H
              INC R0
              CJNE R0,#3AH,NHAY; da du 5 vdv chua
              CLR TR0
              CLR EA
              NHAY:
              RETI
              ;************************************************* **********
              ;****xuat van dong vien***
              XUAT_VDV:

              MOV A,@R1
              MOV B,#10
              INC R1
              DIV AB
              MOV 10H,B ; chuyen so hang don vi of phan tram giay vao o nho
              MOV 11H,A ; --------------- chuc -----------------
              MOV A,@R1
              MOV B,#10
              DIV AB
              MOV 12H,B ; chuyen so hang don vi of giay vao o nho
              MOV 13H,A ; -------------- chuc------------------
              MOV A,18H
              MOV 14H,A
              LCALL OUTLED
              DEC R1
              RET
              ;************************************************* *********
              BIN_BCD:
              MOV A,16H
              MOV B,#10
              DIV AB
              MOV 10H,B
              MOV 11H,A
              MOV A,17H
              MOV B,#10
              DIV AB
              MOV 12H,B
              MOV 13H,A
              MOV A,18H
              MOV 14H,A
              RET
              ;************************************************* *********
              OUTLED:
              MOV DPTR,#MALED
              MOV A,10H
              MOVC A,@A+DPTR
              MOV P0,A
              CLR P2.0
              LCALL DELAY_500US
              MOV DPTR,#MALED
              MOV A,11H
              MOVC A,@A+DPTR
              MOV P0,A
              CLR P2.1
              SETB P2.0
              LCALL DELAY_500US
              MOV DPTR,#MALED
              MOV A,12H
              MOVC A,@A+DPTR
              MOV P0,A
              CLR P2.2
              SETB P2.1
              LCALL DELAY_500US
              MOV DPTR,#MALED
              MOV A,13H
              MOVC A,@A+DPTR
              MOV P0,A
              CLR P2.3
              SETB P2.2
              LCALL DELAY_500US
              MOV DPTR,#MALED
              MOV A,18H
              MOVC A,@A+DPTR
              MOV P0,A
              CLR P2.4
              SETB P2.3
              RET
              DELAY_500US:
              MOV R6,#250
              DJNZ R6,$
              RET
              DELAY10MS:
              MOV R2,#25
              AGAIN:
              MOV R3,#200
              DJNZ R3,$
              DJNZ R2,AGAIN
              RET
              MALED: DB 09H,0BDH,13H,91H,0A5H
              DB 0C1H,41H,9DH,01H,81H
              END

              Comment


              • #8
                Click image for larger version

Name:	16 nut nhan.JPG
Views:	1
Size:	144.2 KB
ID:	1393514
                helpp
                mình có chúc sự có mong các bác pro giúp đỡ
                mình cần 16 nút nhấn , ngõ ra 16 led. ma ta nhấn nút nao thì ra ngõ đó.(nhấn vào sáng thả ra tắt). có thể nhấn nhiều nủt cùng một lúc,
                ( giống như ic vdk này làm nhiệm vụ 16 nút nhấn dãy vậy)
                mong các bác giup đỡ. cảm ơn trước
                Last edited by nguyen phuc; 26-03-2014, 02:58.

                Comment


                • #9
                  Nguyên văn bởi nguyen phuc Xem bài viết
                  [ATTACH]84411[/ATTACH]
                  helpp
                  mình có chúc sự có mong các bác pro giúp đỡ
                  mình cần 16 nút nhấn , ngõ ra 16 led. ma ta nhấn nút nao thì ra ngõ đó.(nhấn vào sáng thả ra tắt). có thể nhấn nhiều nủt cùng một lúc,
                  ( giống như ic vdk này làm nhiệm vụ 16 nút nhấn dãy vậy)
                  mong các bác giup đỡ. cảm ơn trước
                  Ý bạn là khi nhấn P0.0 thì P3.0 sáng và ngược lại thả ra tắt đúng không ? Vậy thì đơn giản rồi, bạn chỉ cần cho port = port là ok !

                  Comment


                  • #10
                    nhung minh chi bit so asm thoi. nen ko sanh viet sao, ban giup minh viet code nay dc ko. tai minh mat may tinh nen ko viet dc

                    Comment


                    • #11
                      Nguyên văn bởi nguyen phuc Xem bài viết
                      nhung minh chi bit so asm thoi. nen ko sanh viet sao, ban giup minh viet code nay dc ko. tai minh mat may tinh nen ko viet dc
                      mov p1,p0
                      mov p3,p2

                      Comment


                      • #12
                        Mình cũng đang cần code của bài số 3. Mong các a giải đáp jum...thanks.

                        Comment


                        • #13
                          Của bạn đây.

                          Nguyên văn bởi orgnrt Xem bài viết
                          Mình cũng đang cần code của bài số 3. Mong các a giải đáp jum...thanks.
                          Code của bài số 3 đây, bạn lấy về mà tham khảo:

                          Code:
                              D1 BIT P2.0                               ;GAN D1 LA CHAN 2.0 
                              D2 BIT P2.1 
                              D3 BIT P2.2 
                              D4 BIT P2.3 
                              NUT_THU_1 BIT P1.0                        ;GAN P1.0 LA NUT_THU_1
                              NUT_THU_2 BIT P1.2                        ;GAN P1.2 LA NUT_THU_2
                              NUT_THU_3 BIT P1.3                        ;GAN P1.3 LA NUT_THU_3
                              NUT_THU_1 BIT P1.4                        ;GAN P1.4 LA NUT_THU_4
                          ;===========================================    
                              ORG        0000H 
                          MAIN:
                              ACALL TURN_OFF                        
                          ;
                          LOOP:
                              JB        NUT_THU_1, NEXT                    ;NUT THU 1 KHONG DUOC AN THI KIEM TRA CAC NUT TIEP THEO
                              ACALL     DELAY_500MS                        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
                              JNB        NUT_THU_1, $                      ;CHO NHA PHIM
                              CLR        D1                                ;BAT LED 1, CAC LED KHAC TAT
                              SJMP    LOOP
                          ;
                          NEXT:
                              JB        NUT_THU_2, NEXT_1                  ;NUT THU 2 KHONG DUOC AN THI KIEM TRA CAC NUT TIEP THEO
                              ACALL     DELAY_500MS                        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
                              JNB        NUT_THU_2, $                      ;CHO NHA PHIM
                              ACALL    TURN_OFF
                              CLR        D2                                ;BAT LED 2, CAC LED KHAC TAT
                              SJMP    LOOP
                          ;
                          NEXT_1:
                              JB        NUT_THU_3, NEXT_2                  ;NUT THU 3 KHONG DUOC AN THI KIEM TRA CAC NUT TIEP THEO
                              ACALL     DELAY_500MS                        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
                              JNB        NUT_THU_3, $                      ;CHO NHA PHIM
                              ACALL    TURN_OFF
                              CLR        D3                                ;BAT LED 3, CAC LED KHAC TAT
                              SJMP    LOOP
                          ;
                          NEXT_2:
                              JB        NUT_THU_4, LOOP                    ;NUT THU 4 KHONG DUOC AN THI KIEM TRA CAC NUT TIEP THEO
                              ACALL     DELAY_500MS                        ;GOI CHUONG TRINH CON DELAY 500MS CHONG RUNG PHIM
                              JNB        NUT_THU_4, $                      ;CHO NHA PHIM
                              ACALL    TURN_OFF
                              CLR        D4                                ;BAT LED 4, CAC LED KHAC TAT
                              SJMP    LOOP
                          ;===========================================
                          TURN_OFF:                                        ;CHUONG TRINH CON TAT TAT CA CAC LED
                               SETB D1
                               SETB D2
                               SETB D3
                               SETB D4
                          RET                                              ;KET THUC CHUONG TRINH CON 
                          ;===========================================
                          DELAY_500MS:                                     ;CHUONG TRINH CON DELAY 500MS
                               MOV TMOD,#10H
                               MOV R7,#10
                          BACK:    
                              MOV     TH1,#HIGH(-50000)
                              MOV     TL1,#LOW(-50000)
                              SETB    TR1
                              JNB        TF1, $
                              CLR     TR1    
                              CLR     TF1
                              DJNZ    R7, BACK
                           RET
                          ;
                          END
                          P/s: Có gì không hiểu thì để lại comment nhé !

                          Comment


                          • #14
                            cái ai biết thì hướng dẫn em với .em muốn ấn phím 1 lần 1 thì đèn D1 sáng ,ấn phím 1 lần 2 thì đèn D1 tắt
                            ấn phím 2 lần 1 thì đèn D2 sáng ấn phím 2 lần 2 thì đèn D2 tắt ...tương tự với các đèn còn lại
                            trangiap13@gmail.com

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X