Thông báo

Collapse
No announcement yet.

Các Đề Tài VDK 8051

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

  • mấy anh giúp em làm đồ án về mạch đếm sản phẩm
    hiển thị từ số 000 đến 999
    khi nhấn vào sw ở chân 12 thì tăng 1 đơn vị
    khi nhấn vào sw ở chân 13 thì giảm 1 đơn vị
    em bí quá rồi mấy anh ơi

    Comment


    • có bạn nào biết hiện thi chữ trên lcd lập trình bằng 8951 ko chỉ mình kái.........thank

      Comment


      • các anh ơi giúp em với - e cần mạch + code của đo tốc độ động cơ hiển thị lcd viết bằng C
        bọn e ko đuọc học C kũng không học vẽ mạch mà fải làm
        ai có cho e tham khảo với
        anh nào có send vào gmail dùm e : nguyenduyanh.haui@gmail.com
        hoặc post lên đây kũng được
        Cảm ơn các anh !!!

        Comment


        • các bạn ơi cho mình hỏi tý về cách lập trình hiện thị màn hình lcd bằng 89c51 thì làm thế nào nhỉ? ạ có tài kiệu hay hay gùi cho mình kái. gửi cho mình qua nick ntlkenoo@gmail.com nha. mình cảm ơn nhiều

          Comment


          • cho mình hỏi có ai biết cách thiết kế để đo cuôn cảm từ 1uH-1H,hiển thị LED,có chức năg chỉnh zero và calib ko ak

            Comment


            • Chịu.Hỏi giáo sư.
              u=L*(di/dt)
              , , ,

              Comment


              • chào các anh.em đang làm một bài tập về lập trình vi điều khiển.đề bài : điều khiển thiết bị điện bằng máy tính qua giao tiếp công com.sơ đồ mạch của em :
                Click image for larger version

Name:	mach.jpg
Views:	1
Size:	298.8 KB
ID:	1351474
                1 thắc mắc : là tại sao các sơ đồ mạch mắc max232 với 89c51 trên mạng thì không có r7 r8 tuy nhiên khi check lỗi trên orcard thì lại bị báo lỗi.chính vì thế em thêm 2 con trở thì lại không báo lỗi nữa.
                về mạch thi : một phần mềm điều khiển trên máy tính gữi lệnh ra cổng com để điều khiển 3 thiết bị điện. ba thiết bị này được nối với con 6.khi nhận lệnh từ máy tính 89cc51 sẽ tắt hay bật relay để điều khiển tắt bật thiết bị điện làm đèn led tương ứng sáng.
                anh nào cóa thể viết hộ em file hex hoặc code kelc và phần mềm điều khiển trên máy tính được không ạ.

                Comment


                • Nguyên văn bởi it_p0k3t Xem bài viết
                  chào các anh.em đang làm một bài tập về lập trình vi điều khiển.đề bài : điều khiển thiết bị điện bằng máy tính qua giao tiếp công com.sơ đồ mạch của em :
                  [ATTACH=CONFIG]34044[/ATTACH]
                  1 thắc mắc : là tại sao các sơ đồ mạch mắc max232 với 89c51 trên mạng thì không có r7 r8 tuy nhiên khi check lỗi trên orcard thì lại bị báo lỗi.chính vì thế em thêm 2 con trở thì lại không báo lỗi nữa.
                  về mạch thi : một phần mềm điều khiển trên máy tính gữi lệnh ra cổng com để điều khiển 3 thiết bị điện. ba thiết bị này được nối với con 6.khi nhận lệnh từ máy tính 89cc51 sẽ tắt hay bật relay để điều khiển tắt bật thiết bị điện làm đèn led tương ứng sáng.
                  anh nào cóa thể viết hộ em file hex hoặc code kelc và phần mềm điều khiển trên máy tính được không ạ.
                  vẽ lại đi bạn. Mạch này mà cấp nguồn 1 cái là chập .... nổ .... cháy .... bốc khói nghi ngút !!!

                  Comment


                  • các bạn cho mình hỏi làm sao viết led 7 doạn chạy từ 0000 lên đến 1 số bất kỳ rồi chạy ngược lại về 0000, mình viết đếm lên thì đc, ngược lại nó chạy tùm lum hết. các bạn xem nó có sai ở đâu ko??

                    $mod51
                    ORG 00H
                    MAIN:
                    MOV DPTR,#DULIEU
                    MOV R0,#00H
                    MOV R1,#00H
                    MOV R2,#00H
                    MOV R3,#00H

                    TANGDONVI:
                    MOV R4,#100
                    VONGLAP:
                    MOV A,R0
                    MOVC A,@A+DPTR
                    MOV P0,A
                    MOV P1,#0FEH
                    LCALL DELAY10
                    MOV A,R1
                    MOVC A,@A+DPTR
                    MOV P0,A
                    MOV P1,#0FDH
                    LCALL DELAY10
                    MOV A,R2
                    MOVC A,@A+DPTR
                    MOV P0,A
                    MOV P1,#0FBH
                    LCALL DELAY10
                    MOV A,R3
                    MOVC A,@A+DPTR
                    MOV P0,A
                    MOV P1,#0F7H
                    LCALL DELAY10
                    DJNZ R4,VONGLAP
                    GIOI_HAN:
                    CJNE R3,#1,OUT
                    CJNE R2,#2,OUT
                    CJNE R1,#3,OUT
                    CJNE R0,#4,OUT
                    MOV R0,#0
                    MOV R1,#0
                    MOV R2,#0
                    MOV R3,#0
                    OUT:

                    INC R0
                    CJNE R0,#10,TANGDONVI
                    MOV R0,#00H
                    INC R1
                    CJNE R1,#10,TANGDONVI
                    MOV R1,#00H
                    INC R2
                    CJNE R2,#10,TANGDONVI
                    MOV R2,#00H
                    INC R3
                    CJNE R3,#10,TANGDONVI
                    MOV R3,#00H
                    SJMP MAIN

                    DULIEU:
                    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H


                    DELAY10:
                    PUSH 00H
                    MOV R5,10
                    MOV TMOD,#01H
                    LOOP:
                    MOV TH0,#HIGH(-100)
                    MOV TL0,#LOW(-100)
                    SETB TR0
                    JNB TF0,$
                    CLR TR0
                    CLR TF0
                    DJNZ R5,LOOP
                    POP 00H
                    RET

                    END

                    Comment


                    • Nguyên văn bởi chung1608 Xem bài viết
                      vẽ lại đi bạn. Mạch này mà cấp nguồn 1 cái là chập .... nổ .... cháy .... bốc khói nghi ngút !!!
                      sao lại cháy hở anh.hướng dẫn giúp em với.

                      Comment


                      • Nguyên văn bởi it_p0k3t Xem bài viết
                        sao lại cháy hở anh.hướng dẫn giúp em với.
                        GND của 3 cái nguồn chung nhau

                        Comment


                        • Nguyên văn bởi chung1608 Xem bài viết
                          GND của 3 cái nguồn chung nhau
                          éc. mém quên.con j3 xài nguồn xoay chiều . giờ em tách ra thì là ổn phải không anh

                          Comment


                          • Nguyên văn bởi quockimthanh Xem bài viết
                            các bạn cho mình hỏi làm sao viết led 7 doạn chạy từ 0000 lên đến 1 số bất kỳ rồi chạy ngược lại về 0000, mình viết đếm lên thì đc, ngược lại nó chạy tùm lum hết. các bạn xem nó có sai ở đâu ko??

                            $mod51
                            ORG 00H
                            MAIN:
                            MOV DPTR,#DULIEU
                            MOV R0,#00H
                            MOV R1,#00H
                            MOV R2,#00H
                            MOV R3,#00H

                            TANGDONVI:
                            MOV R4,#100
                            VONGLAP:
                            MOV A,R0
                            MOVC A,@A+DPTR
                            MOV P0,A
                            MOV P1,#0FEH
                            LCALL DELAY10
                            MOV A,R1
                            MOVC A,@A+DPTR
                            MOV P0,A
                            MOV P1,#0FDH
                            LCALL DELAY10
                            MOV A,R2
                            MOVC A,@A+DPTR
                            MOV P0,A
                            MOV P1,#0FBH
                            LCALL DELAY10
                            MOV A,R3
                            MOVC A,@A+DPTR
                            MOV P0,A
                            MOV P1,#0F7H
                            LCALL DELAY10
                            DJNZ R4,VONGLAP
                            GIOI_HAN:
                            CJNE R3,#1,OUT
                            CJNE R2,#2,OUT
                            CJNE R1,#3,OUT
                            CJNE R0,#4,OUT
                            MOV R0,#0
                            MOV R1,#0
                            MOV R2,#0
                            MOV R3,#0
                            OUT:

                            INC R0
                            CJNE R0,#10,TANGDONVI
                            MOV R0,#00H
                            INC R1
                            CJNE R1,#10,TANGDONVI
                            MOV R1,#00H
                            INC R2
                            CJNE R2,#10,TANGDONVI
                            MOV R2,#00H
                            INC R3
                            CJNE R3,#10,TANGDONVI
                            MOV R3,#00H
                            SJMP MAIN

                            DULIEU:
                            DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H


                            DELAY10:
                            PUSH 00H
                            MOV R5,10
                            MOV TMOD,#01H
                            LOOP:
                            MOV TH0,#HIGH(-100)
                            MOV TL0,#LOW(-100)
                            SETB TR0
                            JNB TF0,$
                            CLR TR0
                            CLR TF0
                            DJNZ R5,LOOP
                            POP 00H
                            RET

                            END
                            đơn giản thôi
                            pác cần bít 1 điều . đếm ở trong VDK sẽ đếm theo mã hex(8bit) mình chỉ cần đếm đếm 10 là tăng số hàng chục(trường họp đếm lên) đếm đến 0 thì giảm số hàng chục (đếm xuống)
                            giải thik thuật toán nhé
                            khi đếm lên INC giá trị lên 10 dùng lệnh CJNE thanh ghi lưu giá trị,#0A,nhãn cần nhảy đến nếu sai
                            code ví dụ:
                            phần code so sánh kiểm tra
                            CJNE R1,#0A,TIP (0AHex = 10Dec)
                            MOV R2,#10; R2 thanh ghi lưu giá trị để hiển thị
                            TIP:
                            CJNE R1,#1A,TIP(1AHex = 20Dec) (2AH = 30D)
                            MOV R2,#20; R2 thanh ghi lưu giá trị để hiển thị
                            .......
                            tương tự như vậy viết đến 9A tướng với 100
                            giải thik cấu truc lệnh
                            kiểm tra R1(lưu biến đếm)
                            nếu =0A(10D) thì cho R2( biến hiển thị) = 10
                            tương tự như vậy nếu đếm ngược thì gia trị min là 0FH = 10D
                            vì đếm hex mà đếm đến 0-1-2-3.....-9-0A....0F
                            đếm lui thì viết hàm so sánh 0F,1F,2F...
                            đếm lên thì viet hàm so sanh 0A,1A,2A...
                            viết hơi lủng củng :d đọc hk hỉu thì gọi cho em em giải thik cho
                            01882.076.989
                            8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
                            liên lạc với em qua địa chi email: Mob: 01882.076.989

                            Comment


                            • Nguyên văn bởi hoangphat Xem bài viết
                              post lại ảnh cho bài đèn giao thông đếm ngược
                              [ATTACH]25634[/ATTACH]
                              chúc các pác vui và thành công
                              anh có thể post sơ đồ và code lại được không?

                              Comment


                              • Nguyên văn bởi hoangphat Xem bài viết
                                bài này rất khó em đã ngâm cứu 2 tháng để viết c
                                ode hoàn chình
                                nhưng phân chỉnh h em chưa sửa lại các pác ch
                                ịu khó sửa lại phần này để hoàn thiện hơn
                                sau đây là hình ảnh cửa nó
                                đây là mạch đồng hồ đày đủ
                                [ATTACH]25590[/ATTACH]
                                đây là 1 đơn vị led 7seg(1 7seg dùng 1 con 595)
                                [ATTACH]25589[/ATTACH]
                                đay là mạch dk chính(89s52 và ds1307)
                                [ATTACH]25591[/ATTACH]
                                đây là code
                                Code:
                                INCLUDE 89C52.MC
                                 
                                    	FLAGS		DATA	20H
                                    	LASTREAD	BIT	FLAGS.0
                                    	ACK     	BIT	FLAGS.5
                                    	BUS_FLT 	BIT	FLAGS.6
                                    	BUSY    	BIT	FLAGS.7
                                    	BITCNT  	DATA  21H
                                    	BYTECNT 	DATA  22H
                                    	SECS		DATA  24H                         
                                    	MINS    	DATA  25H                           
                                    	HRS     	DATA  26H                           
                                    	DAY     	DATA  27H                           
                                    	DATE    	DATA  28H                       
                                    	MONTH		DATA  29H                       
                                    	YEAR    	DATA  2AH 
                                    	TUC		DATA	30H
                                	CLK		BIT	P3.2
                                	SHW		BIT	P3.3
                                	RED		BIT	P3.4
                                	GRE		BIT	P3.5	
                                	SCL        	BIT	P2.3
                                 	SDA      	BIT	P2.2
                                	CONNECT 	BIT	P1.7
                                ;----------------------------------------------------------------------               
                                    ORG 0000H
                                
                                OSC_CONTROL:
                                    ACALL      START                                                      ; GENERATE START CONDITION
                                    MOV        A, #0D0H                                                  ; 1101 0000 ADDRESS + WRITE-BIT
                                    ACALL      SEND_DATA                                          ; SEND BYTE TO 1307
                                    	MOV        A,#00H                                                        ; ADDRESS BYTE TO REGISTER 00H
                                    	ACALL      SEND_DATA                                          ; SECONDS REGISTER, ALWAYS LEAVE
                                   
                                    	SETB	   LASTREAD                                              ; REG 00H-BIT #7 = 0 (LOW)
                                    	ACALL      STOP                                                          ; IF REG 00H-BIT #7 = 1 CLOCK
                                    	ACALL      START                                                      ; OSCILLATOR IS OFF.
                                    	MOV        A,#0D1H                                                    ; 1101 0001 ADDRESS + READ-BIT
                                    	ACALL      SEND_DATA
                                    	ACALL      READ_DATA                ; READ A BYTE FROM THE 1307
                                    	CLR        ACC.7                                                          ; CLEAR REG 00H-BIT #7 TO ENABLE
                                OSC_SET:                                        ; OSCILLATOR.
                                        PUSH        ACC                          ; SAVE ON STACK
                                        ACALL      STOP
                                        ACALL      START
                                        MOV        A,#0D0H                                                    ; SETUP TO WRITE
                                        ACALL      SEND_DATA
                                        MOV        A,#00H                        ; REGISTER 00H ADDRESS
                                        ACALL      SEND_DATA
                                        POP        ACC                            ; GET DATA TO START OSCILLATOR
                                        ACALL      SEND_DATA                   ; SEND IT
                                        ACALL      STOP  
                                        
                                MAIN:
                                    CALL    READ_CLOCK                                            ; GET TIME,DATE,ALARM DATA
                                    CALL    DISPLAY
                                    ;CALL    CHINH_TIME
                                    
                                    SJMP        MAIN
                                	                             
                                ;--------------------------------------------------------------------------------------------------------------------------------
                                READ_CLOCK:
                                
                                        MOV         R1,  #SECS                                                  ; SECONDS STORAGE LOCATION
                                        MOV         BYTECNT, #00H
                                        CLR         LASTREAD
                                        CALL        START
                                        MOV         A,#0D0H
                                        CALL        SEND_DATA
                                        MOV         A, #00H
                                        CALL        SEND_DATA
                                        CALL        STOP
                                        CALL        START
                                        MOV         A, #0D1H
                                        CALL        SEND_DATA
                                
                                LOOP5:
                                        MOV         A, BYTECNT
                                        CJNE        A, #09H,  NOT_LAST
                                        SETB        LASTREAD
                                
                                NOT_LAST:
                                        CALL        READ_DATA
                                        MOV         @R1, A
                                        MOV         A, BYTECNT
                                        CJNE        A, #00H,  NOT_FIRST
                                        MOV         A,@R1
                                        CLR         ACC.7                                                              ; ENSURE OSC BIT = 0 (ENABLED)
                                        MOV         @R1, A
                                NOT_FIRST:
                                        INC         R1
                                        INC         BYTECNT
                                        MOV         A,BYTECNT
                                        CJNE        A, #0AH,  LOOP5                                            ; SO SANH VOI SO BCD (0-9)
                                        CALL        STOP
                                        RET
                                
                                
                                ;----------------------------------------------------------------------------------------------------------------------
                                DISPLAY:
                                   
                                ;DAU_CHAM:   
                                ;    MOV    DPTR, #TABLE2
                                ;    mov    30H, 24H                                  ; chuyen gia tri Giay co trong 24H vao thanh ghi tam 30H
                                ;    mov    a, 30H
                                ;    anl    a, #0FH                                      ; cho xoa phan byte cao, chi lay phan byte thap
                                ;    MOVC    A,@A+DPTR
                                ;    cjne    a, #80H,  ss                              ; so sanh voi gia tri trong TABLE2
                                ;    clr    P1.7
                                ;ss: cjne    A, #00H,  sec                          ; so sanh voi gia tri trong TABLE2
                                ;    setb    P1.7
                                
                                SEC:    
                                    MOV	DPTR, #TABLE
                                    MOV	A, 24H                                        ; nap dia chi luu gia tri Giay 
                                    ANL	A, #0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 24H
                                    SWAP	A
                                    ANL	A, #0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595
                                
                                MIN:    
                                    MOV	A, 25H                                        ; nap dia chi luu gia tri Phut
                                    ANL	A, #0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 25H
                                    SWAP	A
                                    ANL	A, #0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595
                                
                                HOUR:    
                                    MOV    A, 26H                                        ; nap dia chi luu gia tri Gio
                                    ANL	A, #0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV	A, 26H
                                    SWAP	A
                                    ANL	A, #0FH
                                    MOV	DPTR, #TABLE3                    ; bang TABLE3 la chi cho hien thi so hang chuc khi  nhay len so 10
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595
                                    
                                DATE:
                                    MOV	DPTR, #TABLE5
                                    MOV	A, 27H                                        
                                    ANL	A,#0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 27H
                                    SWAP    A
                                    ANL    	A,#0FH 
                                    MOVC    A,@A+DPTR
                                    CALL    SEND_595
                                DAY:    
                                    MOV	DPTR, #TABLE
                                    MOV	A, 28H                                        
                                    ANL	A,#0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 28H
                                    SWAP    A
                                    ANL    	A,#0FH
                                    MOVC    A,@A+DPTR
                                    CALL    SEND_595
                                
                                   
                                MONTH:    
                                    MOV	DPTR, #TABLE
                                    MOV	A, 29H                                        
                                    ANL	A,#0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 29H
                                    SWAP    A
                                    ANL    	A,#0FH
                                    MOVC    A,@A+DPTR
                                    CALL    SEND_595  
                                    
                                YEAR:    
                                    MOV	DPTR, #TABLE
                                    MOV	A, 2AH                                        
                                    ANL	A,#0FH
                                    MOVC	A,@A+DPTR
                                    CALL	SEND_595   
                                    MOV     A, 2AH
                                    SWAP    A
                                    ANL    	A,#0FH
                                    MOVC    A,@A+DPTR
                                    CALL    SEND_595    
                                         
                                    CLR      CLK                                              ; xung latch
                                    NOP
                                    SETB      CLK
                                
                                    RET
                                    
                                
                                ;-------------------------------------------------------------------------------------------------------------------------
                                CHINH_TIME:
                                    JB     P1.0,  N2                              ; chinh phut
                                    JNB    P1.0,  L1
                                L1:    JB    P1.0,  $
                                    INC    25H
                                    MOV     A, 25H
                                    CJNE     A, #0AH,  min1                        ; so sanh voi con so 10
                                    MOV    25H, #10h
                                min1:    CJNE    A, #1AH,  min2              ; so sanh voi con so 20
                                    MOV    25H, #20H
                                min2:    CJNE    A, #2AH,  min3              ; so sanh voi con so 30
                                    MOV    25H, #30H
                                min3:    CJNE    A, #3AH,  min4              ; so sanh voi con so 40
                                    MOV    25H, #40H
                                min4:    CJNE    A, #4AH,  min5              ; so sanh voi con so 50
                                    MOV    25H, #50H
                                min5:    CJNE    A, #5AH,  N1              ; so sanh voi con so 60
                                    MOV    25H, #00H
                                
                                N1:    	CALL        START
                                    	MOV          A,#0D0H
                                        CALL        SEND_DATA
                                        MOV          A, #01H
                                        CALL        SEND_DATA
                                    	MOV    	     A, 25H
                                    	CALL        SEND_DATA   
                                        CALL        STOP
                                
                                
                                N2:	JB     P1.1,  N4                                  ; chinh gio
                                	JNB    P1.1,  L2
                                L2:    JB    P1.1,  $
                                    INC    26H
                                    MOV     A, 26H
                                    CJNE     A, #0AH,  hour1                        ; so sanh voi con so 10
                                    MOV    26H, #10h
                                hour1:    CJNE    A, #1AH,  hour2              ; so sanh voi con so 20
                                    MOV    26H, #20H
                                hour2:    CJNE    A, #24H,  N3              ; so sanh voi con so 24
                                    MOV    26H, #00H
                                
                                N3:    CALL        START
                                    MOV          A,#0D0H
                                        CALL        SEND_DATA
                                        MOV          A, #02H
                                        CALL        SEND_DATA
                                    MOV    A, 26H
                                    CALL        SEND_DATA   
                                        CALL        STOP
                                N4:    RET   
                                
                                
                                ;--------------------------------------------------------------------------------------------------------------------------------
                                READ_DATA:
                                    MOV        BITCNT, #8                                        ; SET COUNTER FOR 8-BITS DATA
                                    MOV        A,#00H
                                        SETB        SDA                                             
                                        NOP                                                                                           
                                loop:        SETB     SCL
                                        MOV        C, SDA                                                  ; MOVE DATA BIT INTO CARRY
                                        RLC        A                                                              ; ROTATE CARRY-BIT INTO ACC.0
                                        CLR        SCL                                                   
                                        DJNZ        BITCNT,  loop                                    ; LOOP FOR 8-BITS
                                    JB          LASTREAD,  ackn                            ; CHECK TO SEE IF THIS IS THE LAST READ                                                                                               
                                        CLR        SDA                                                        ; IF NOT LAST READ SEND ACK-BIT
                                ackn:       
                                    SETB     SCL
                                        CLR        SCL                                                        ; OR NOT ACKNOWLEDGE BIT
                                        NOP
                                      RET
                                
                                ;-----------------------------------------------------------------------------------------------------------------------------------
                                SEND_DATA:
                                        MOV          BITCNT, #8                       ; SET COUNTER FOR 8-BITS
                                loop4:
                                        JNB          ACC.7,  notone                                ; CHECK TO SEE IF BIT-7 OF
                                        SETB          SDA                                               
                                        JMP          one
                                notone:        CLR          SDA                                             
                                one:        NOP
                                    SETB     SCL
                                        RL            A                                                     
                                        CLR          SCL                                               
                                        DJNZ          BITCNT,  loop4                              ; LOOP FOR 8-BITS
                                        SETB          SDA                                                    ; SET SDA HIGH TO LOOK FOR
                                        SETB     SCL
                                        CLR          ACK
                                        JNB          SDA, sb_ex                                      ; CHECK FOR ACK OR NOT ACK
                                      SETB          ACK                                                      ; SET ACKNOWLEDGE FLAG FOR
                                                                                                                                        ; NOT ACK
                                sb_ex:
                                    NOP                                                                          ; DELAY FOR AN OPERATION
                                        CLR          SCL                                                 
                                        NOP                                                                          ; DELAY FOR AN OPERATION
                                        RET
                                
                                ;---------------------------------------------------------------------------------------------------------------------------------------
                                SEND_595:
                                    MOV    R0, #8
                                    CLR     C
                                loop2:    RRC     A
                                    MOV      GRE, C                  ; DATA
                                    CLR      SHW                        ; xung clock
                                    NOP
                                    SETB      SHW
                                    DJNZ      R0,  loop2
                                    RET         
                                
                                ;---------------------------------------------------------------------------------------------------------------------
                                START:
                                        SETB        BUSY                                           
                                        CLR        ACK                                                            ; OPERATION IS IN PRODATASS
                                        CLR        BUS_FLT                                                  ; CLEAR STATUS FLAGS
                                        JNB        SCL, fault
                                        JNB        SDA, fault
                                        SETB        SDA                                                           
                                           
                                        NOP
                                        SETB     SCL
                                        CLR        SDA
                                           
                                        NOP
                                        CLR        SCL
                                        NOP
                                    RET
                                fault:
                                        SETB        BUS_FLT
                                        NOP
                                        RET
                                
                                ;-------------------------------------------------------------------------------------------------------------------------
                                STOP:
                                        CLR        SDA
                                      NOP
                                        SETB     SCL
                                        SETB        SDA
                                        CLR        BUSY
                                        NOP
                                        RET
                                
                                ; = = = =  =  = = = = = = = =  = = = =  = = = = = = = = = =  = =  = =  = = = = =    = = = =  =  = = = = = = =   = = = = =    
                                ;((((((((((((((((((((((((((((((((((((((((((((((((((((( END )))))))))))))))))))))))))))))))))))))))))))))))))
                                ; = = = = = = = = = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = =  = = = =  = = = = = = = = = = 
                                
                                ; = = = = = = = = = = = = = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
                                ;(((((((((((((((((((((((((((((((((((((((((((((((COMMUNICATION PC2 )))))))))))))))))))))))))))))))))))))))))))
                                ; = = = = = = = = = = = = = = =  = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
                                
                                ;---------------------------------------------------------------------------------------------------------------------------   
                                TABLE:	;DATA CHO PHUT VA GIAY 60 GIAY VA 60 PHUT
                                                  ;  	  0        	1        2        3		4  	  5 	     	6 	      7 	    8     	 9   
                                                  DB 11111100B,01100000B,11011010B,11110010B,01100110B,10110110B,10111110B,11100000B,11111110B,11110110B
                                TABLE2:	;DATA CHO LED NHAY
                                                  DB 80h, 00h, 80h, 00h, 80h, 00h, 80h, 00h, 80h, 00h
                                
                                TABLE3:	;DATA CHO GIO CO 24H
                                                  ;    0            1        2         0         0        0          0         0        0         0   
                                   		      DB 11111100B,01100000B,11011010B,11111100B,11111100B,11111100B,11111100B,11111100B,11111100B,11111100B
                                TABLE4:	;DATA CHO THANG
                                                  ;    0            1        0         0         0        0          0         0        0         0   
                                   		      DB 10111111B,10000110B,10111111B,10111111B,10111111B,10111111B,10111111B,10111111B,10111111B,10111111B
                                TABLE5:	;DATA CHO THU (DATE)
                                                  ;	   0		CN		2        3         4         5        6          7	   0		0	
                                   		      DB 11111100B,11101100B,11011010B,11110010B,01100110B,10110110B,10111110B,11100000B,11111100B,11111100B
                                 
                                ;----------------------------------------------------------------------------------------------------------------------------
                                DELAY_100mS:
                                   
                                PUSH    01
                                    PUSH      02
                                TT0:    MOV      R2,#250
                                        MOV      R1,#100
                                TT1:    DJNZ      R1,TT1
                                        DJNZ      R2,TT1
                                        POP    02
                                    POP    01
                                    RET
                                
                                      END
                                chúc vui và thành công
                                lam thế nào chỉ hiện led 7 thanh khi mô phỏng vậy ạ?

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X