Thông báo

Collapse
No announcement yet.

Code Cho VĐK 8051 Bằng Assemnly Không Chậy.

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

  • Code Cho VĐK 8051 Bằng Assemnly Không Chậy.

    các bạn xem hộ mình cái code này có lỗi chỗ nào không
    Code:
    hangso   equ -50000
             org 0h
    	     ljmp main0
    	     org 000bh
    	     ljmp ngat0
    	     org 0030h
    main0:	 mov tmod,#01
             mov IE,#82h
    		 mov dptr,#maquet
    		 mov th0,#high hangso
    		 mov tl0,#low hangso
    		 setb tr0
    main2:   mov r1,#0
    main1:   acall giaima
    		 acall hienthi
    		 cjne r0,#20,$
    		 inc r1
    		 cjne r1,#60,main1
    		 ljmp main1
    giaima:  mov a,r1
    		 anl a,#0fh
    		 movc a,@a+dptr
    		 mov r2,a
    		 mov a,r1
    		 anl a,#0f0h
    		 swap a
    		 movc a,@a+dptr
    		 mov r3,a
    		 ret
    hienthi: mov p2,#01111111B
             mov p1,r2
    		 mov a,p2
    		 rr a
    		 mov p2,a
    		 mov p1,r3
    		 ret
    ngat0:   clr tf0
             mov th0,#high hangso
    		 mov tl0,#low hangso
    		 inc r0
    		 reti
    maquet:  DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
    		 end
    mà xao, khi mô phỏng bằng proteus không thấy nó chậy là xao nhỉ ???
    help

  • #2
    Nguyên văn bởi huuthobka Xem bài viết
    các bạn xem hộ mình cái code này có lỗi chỗ nào không
    Code:
    hangso   equ -50000
             org 0h
             ljmp main0
             org 000bh
             ljmp ngat0
             org 0030h
    main0:     mov tmod,#01
             mov IE,#82h
             mov dptr,#maquet
             mov th0,#high hangso
             mov tl0,#low hangso
             setb tr0
    main2:   mov r1,#0
    main1:   acall giaima
             acall hienthi
             cjne r0,#20,$
             inc r1
             cjne r1,#60,main1
             ljmp main1
    giaima:  mov a,r1
             anl a,#0fh
             movc a,@a+dptr
             mov r2,a
             mov a,r1
             anl a,#0f0h
             swap a
             movc a,@a+dptr
             mov r3,a
             ret
    hienthi: mov p2,#01111111B
             mov p1,r2
             mov a,p2
             rr a
             mov p2,a
             mov p1,r3
             ret
    ngat0:   clr tf0
             mov th0,#high hangso
             mov tl0,#low hangso
             inc r0
             reti
    maquet:  DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
             end
    mà xao, khi mô phỏng bằng proteus không thấy nó chậy là xao nhỉ ???
    help

    Mình không biết code này bạn viết cho công việc gì, cũng không biết bạn kết nối phần cứng thế nào nhưng thấy có 2 chỗ chưa hợp lý:
    - Bạn xem lại dòng: cjne r0, #20, $ nếu quét led thì sẽ làm led nhấp nháy, thậm chí không sáng.
    - Trong trình phục vụ ngắt timer 0, trước lệnh Reti theo mình phải có lệnh setb tr0 thì timer mới đếm tiếp.

    Comment


    • #3
      Nguyên văn bởi Ck33spkt Xem bài viết

      Mình không biết code này bạn viết cho công việc gì, cũng không biết bạn kết nối phần cứng thế nào nhưng thấy có 2 chỗ chưa hợp lý:
      - Bạn xem lại dòng: cjne r0, #20, $ nếu quét led thì sẽ làm led nhấp nháy, thậm chí không sáng.
      - Trong trình phục vụ ngắt timer 0, trước lệnh Reti theo mình phải có lệnh setb tr0 thì timer mới đếm tiếp.
      -à đề bài là, thiết kế mạch đếm giây từ 0 đến 59 bằng pp quét led 7seg.
      đây là kết nối phần cứng của mình :
      Click image for larger version

Name:	Capture.PNG
Views:	1
Size:	34.2 KB
ID:	1364092
      - dòng cjne r0, #20, $ là mình đợi đến khi ngắt 20 lần <--> 1s thì mới tăng biến đếm dây r1
      - mình không dừng bộ định thời 0 nên có lẽ không phải khởi động lại (khi mình xóa cờ tràn thì đã nạp lại luôn giá trị ban đầu cho th0 và tl0 rồi- với lại việc dừng bộ định thời có lẽ sẽ gây ra trễ)
      Last edited by huuthobka; 20-07-2012, 00:56.

      Comment


      • #4
        Nguyên văn bởi huuthobka Xem bài viết
        -à đề bài là, thiết kế mạch đếm giây từ 0 đến 59 bằng pp quét led 7seg.
        đây là kết nối phần cứng của mình :
        [ATTACH=CONFIG]48660[/ATTACH]
        - dòng cjne r0, #20, $ là mình đợi đến khi ngắt 20 lần <--> 1s thì mới tăng biến đếm dây r1
        - mình không dừng bộ định thời 0 nên có lẽ không phải khởi động lại (khi mình xóa cờ tràn thì đã nạp lại luôn giá trị ban đầu cho th0 và tl0 rồi- với lại việc dừng bộ định thời có lẽ sẽ gây ra trễ)
        mạch chú vẽ sai cần coi lại, protues mô phỏng quét led nên dùng cổng NOT thay cho BJT PNP thì sẽ đỡ tốn tài nguyên máy và dễ chạy hơn.
        Dòng CJNE R0,#20,$ sẽ làm led chỉ đc hiển thị mỗi giây 1 lần => led ko đc làm tươi ít nhất 25Hz trong mô phỏng mới thấy ko nháy

        Comment


        • #5
          Nguyên văn bởi chung1608 Xem bài viết
          mạch chú vẽ sai cần coi lại, protues mô phỏng quét led nên dùng cổng NOT thay cho BJT PNP thì sẽ đỡ tốn tài nguyên máy và dễ chạy hơn.
          Dòng CJNE R0,#20,$ sẽ làm led chỉ đc hiển thị mỗi giây 1 lần => led ko đc làm tươi ít nhất 25Hz trong mô phỏng mới thấy ko nháy
          Bạn xem hộ mình cái code cần chỉnh xửa như thế nào nhỉ ? phải chăng cần thêm một khoảng thời gian trễ nữa sau khi cho led sáng không?

          Comment


          • #6
            Nguyên văn bởi huuthobka Xem bài viết
            Bạn xem hộ mình cái code cần chỉnh xửa như thế nào nhỉ ? phải chăng cần thêm một khoảng thời gian trễ nữa sau khi cho led sáng không?
            code của chú viết ra mà chú còn ko hiểu rõ nó chạy như thế nào nữa kìa nói chi tới chỉnh sửa.

            Comment


            • #7
              Thuật toán là mình đọc được trong ebook Vi Xử Lý của Nguyễn Đình Vũ. tuy nhiên mình viết dựa trên thuật toán đó lại không được (mình thì hiểu thuật toán đó)

              cái dòng CJNE r0,#20,$ . mình nghĩ nó đơn giản là : khi một số đã được hiển thị lên led thì số đó sẽ được sáng mãi (tức là khi đó led thì sáng còn cpu thì thực thi lệnh cjne đến khi đếm có 20 ngắt khác xảy ra) đến giây tiếp theo .
              không biết cách nghĩ thế có lỗi gì không nhỉ ?
              Last edited by huuthobka; 20-07-2012, 13:43.

              Comment


              • #8
                Nguyên văn bởi huuthobka Xem bài viết
                Thuật toán là mình đọc được trong ebook Vi Xử Lý của Nguyễn Đình Vũ. tuy nhiên mình viết dựa trên thuật toán đó lại không được (mình thì hiểu thuật toán đó)

                cái dòng CJNE r0,#20,$ . mình nghĩ nó đơn giản là : khi một số đã được hiển thị lên led thì số đó sẽ được sáng mãi (tức là khi đó led thì sáng còn cpu thì thực thi lệnh cjne đến khi đếm có 20 ngắt khác xảy ra) đến giây tiếp theo .
                không biết cách nghĩ thế có lỗi gì không nhỉ ?
                Nó chỉ sáng mãi mãi khi bạn cấp nguồn liên tục cho nó hoạt động. Nhưng vấn đề ở đây là bạn đang quét LED, tức là nguồn cấp của bạn cho LED bị gián đoạn vì bạn còn phải cấp nguồn cho LED khác sáng => Trong thời gian chờ cấp nguồn cho LED khác thì LED trước đó không được cấp nguồn nên nó tắt. Ở đây bạn dùng lệnh CJNE r0,#20,$ (tức là để thoát khỏi câu lệnh này thì mất khoảng thời gian 1s theo như timer của bạn) => Trong thời gian 1s LED không được cấp nguồn thì nó sáng sao được.

                Comment


                • #9
                  Các bạn xem hộ mình code bài này xem sai chỗ nào cái, mà khi biên dịch thì nó báo lỗi (CODE KHÔNG CẢ CHẬY CÁC BẠN Ạ) như trong hình:


                  đây là code mình làm:
                  Code:
                  			ORG 00H
                  			LCALL MAIN0        	   ; NHAY KHOI VECTOR NGAT
                  			ORG 000BH
                  			LCALL TIME0				 ; CHAY DEN VECTOR NGAT
                  			ORG 0030H              	; BAT DAU CHUONG TRINH CHINH
                  MAIN0:      MOV TMOD,#01		   ; KHOI DONG BO DINH THOI 0 CHE DO 1
                              MOV IE,#82H			   ; CHO PHEP NGAT
                  			MOV TH0,#HIGH(-10000)	; NAP GIA TRI BAN DAU CHO BO DINH THOI
                  			MOV TL0,#LOW(-10000)
                  			MOV DPTR,#BANG_SO		 ; CHI DEN BANG HIEN THI
                  			CLR TF0		 
                  			SETB TR0				  ; KHOI DONG BO DINH THOI
                  			MOV R2,#00H
                  MAIN1:      MOV R1,#00H
                          	MOV R0,#00H
                  MAIN2:      LCALL GIAIMA
                  			LCALL DISPLAY
                  			CJNE R2,#100,DISPLAY
                  			MOV R2,#00H
                  			INC R0
                  			CJNE R0,#9,MAIN2
                  			INC R1
                  			CJNE R1,#9,MAIN2
                  			LJMP MAIN1
                  GIAIMA:     MOV A,R0
                              MOVC A,@A+DPTR
                  			MOV 25H,A
                  			MOV A,R1
                  			MOVC A,@A+DPTR
                  			MOV 24H,A
                  			RET      
                  DISPLAY:    MOV A,#00000001B
                              MOV R5,#25H
                  DISPLAY1:   MOV	P2,@R5
                  			MOV P1,A
                  			LCALL DELAY
                  			MOV P1,#0FFH
                  			DEC R5
                  			RL A
                  			CJNE R7,#23,DISPLAY1
                  			RET
                  TIME0:      MOV TH0,#HIGH(-10000)	; NAP LAI GIA TRI BAN DAU CHO BO DINH THOI
                  			MOV TL0,#LOW(-10000)
                              INC R2
                  			RET
                  DELAY:      MOV R6,#0FFH
                              DJNZ R6,$
                  			RET
                  BANG_SO:    DB 003H,09FH,025H,00DH,099H,049H,041H,01FH,001H,009H
                              END
                  đây là phần mạch mình mắc:

                  bài của mình là : đếm từ 00 đến 99
                  Attached Files
                  Last edited by huuthobka; 09-08-2012, 00:26.

                  Comment


                  • #10
                    ko thể dùng lệnh MOV giá trị gián tiếp thẳng ra port đc mà phải MOV trung gian ra A rồi MOV A ra port. Khi mới học viết ASM thì phải có cuốn sách để coi cấu trúc lệnh nào đc phép dùng, cấu trúc nào ko dùng đc chứ, phần mềm biên dịch đã chỉ rõ dòng 34 sai thì bạn phải dò trong sách xem tại sao câu lệnh đó sai.

                    Comment


                    • #11
                      Cái này thì mình thấy nghi nghi vì xem trong bảng trong sách của tống văn on không thấy có, nhưng đọc trong giáo trình của nguyễn đình vũ thì lại thấy họ viết.
                      mình đã xủa lại code nhưng vẫn không thấy nó chậy ở chân dữ liệu --> ko thấy led sáng , còn chân quét led thì vẫn nhấp nhay

                      Code:
                      			ORG 00H
                      			LCALL MAIN0        	   ; NHAY KHOI VECTOR NGAT
                      			ORG 000BH
                      			LCALL TIME0				 ; CHAY DEN VECTOR NGAT
                      			ORG 0030H              	; BAT DAU CHUONG TRINH CHINH
                      MAIN0:      MOV TMOD,#01		   ; KHOI DONG BO DINH THOI 0 CHE DO 1
                                  MOV IE,#82H			   ; CHO PHEP NGAT
                      			MOV TH0,#HIGH(-10000)	; NAP GIA TRI BAN DAU CHO BO DINH THOI
                      			MOV TL0,#LOW(-10000)
                      			MOV DPTR,#BANG_SO		 ; CHI DEN BANG HIEN THI
                      			CLR TF0		 
                      			SETB TR0				  ; KHOI DONG BO DINH THOI
                      			MOV R2,#00H
                      MAIN1:      MOV R1,#00H
                              	MOV R0,#00H
                      MAIN2:      LCALL GIAIMA
                      MAIN3:  	LCALL DISPLAY
                      			CJNE R2,#100,MAIN3			  ; DOI NGAT 100 LAN <-> 1S
                      			MOV R2,#00H
                      			INC R0
                      			CJNE R0,#10,MAIN2
                      			MOV R0,#0  
                      			INC R1
                      			CJNE R1,#10,MAIN2			  
                      			MOV R1,#0
                      			LJMP MAIN1
                      GIAIMA:     MOV A,R0
                                  MOVC A,@A+DPTR
                      			MOV R3,A
                      			MOV A,R1
                      			MOVC A,@A+DPTR
                      			MOV R4,A
                      			RET      
                      DISPLAY:    MOV	A,R3
                      			MOV P2,A
                      			MOV P1,#00000001B
                      			LCALL DELAY
                      			MOV P1,#0FFH
                      			MOV P2,R4
                      			MOV P1,#00000010B
                      			LCALL DELAY
                      			MOV P1,#0FFH
                      			RET
                      TIME0:      CLR TR0
                                  MOV TH0,#HIGH(-10000)	; NAP LAI GIA TRI BAN DAU CHO BO DINH THOI
                      			MOV TL0,#LOW(-10000)
                      			INC R2
                      			CLR TF0
                      			SETB TR0
                      			RET
                      DELAY:      MOV R6,#250
                      DELAY1:     MOV R7,#100
                                  DJNZ R7,$
                      			DJNZ R6,DELAY1
                      			RET
                      BANG_SO:    DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
                                  END

                      Comment


                      • #12
                        Nguyên văn bởi huuthobka Xem bài viết
                        Các bạn xem hộ mình code bài này xem sai chỗ nào cái, mà khi biên dịch thì nó báo lỗi (CODE KHÔNG CẢ CHẬY CÁC BẠN Ạ) như trong hình:

                        Để sử dụng kiểu định địa chỉ "chỉ số" thì chỉ dùng được 2 thanh ghi R0 hoặc R1 thôi. Ở dòng 34 sai là do dùng thanh ghi R5. Nên chỗ nào có thanh ghi R5 thay bằng R0, chỗ nào có thanh R0 thay bằng R5 (chỉ cần đổi chỗ các thanh ghi này cho nhau) là được.

                        Comment


                        • #13
                          Nguyên văn bởi Ck33spkt Xem bài viết
                          Để sử dụng kiểu định địa chỉ "chỉ số" thì chỉ dùng được 2 thanh ghi R0 hoặc R1 thôi. Ở dòng 34 sai là do dùng thanh ghi R5. Nên chỗ nào có thanh ghi R5 thay bằng R0, chỗ nào có thanh R0 thay bằng R5 (chỉ cần đổi chỗ các thanh ghi này cho nhau) là được.
                          Mình đã sửa lại, biên dịch thì không có thông báo lỗi nữa, nhưng nạp vào proteus mô phỏng thử thì không thấy dữ liệu mình gửi ra công hiển thị p2 ???
                          bạn xem hộ mình cái code cái,
                          thuật toán của mình là : đợi bộ định thời ngắt 100 lần, sau đó tăng tăng biến hàng đơn vị lên, kiểm tra xem hàng đơn vị đã đến 10 chưa? nếu đến rồi thì xóa hàng đơn vị về 0 và tăng biến hàng chục, nếu biến hàng đơn vị chưa đến 10 thì tiếp tục hiển thị. làm tương tự với biến hàng chục.
                          p/s: mình dùng transistor PNP để bật cho một led 7-seg tích cực
                          Code:
                          			ORG 00H
                          			LCALL MAIN0        	   ; NHAY KHOI VECTOR NGAT
                          			ORG 000BH
                          			LCALL TIME0				 ; CHAY DEN VECTOR NGAT
                          			ORG 0030H              	; BAT DAU CHUONG TRINH CHINH
                          MAIN0:      MOV TMOD,#01		   ; KHOI DONG BO DINH THOI 0 CHE DO 1
                                      MOV IE,#82H			   ; CHO PHEP NGAT
                          			MOV TH0,#HIGH(-10000)	; NAP GIA TRI BAN DAU CHO BO DINH THOI
                          			MOV TL0,#LOW(-10000)
                          			MOV DPTR,#MA_H_THI		 ; CHI DEN BANG HIEN THI
                          			CLR TF0		 
                          			SETB TR0				  ; KHOI DONG BO DINH THOI
                          MAIN1:		MOV R2,#0
                                      MOV R1,#0
                                  	MOV R5,#0
                          MAIN2:      LCALL GIAIMA
                          MAIN3:  	LCALL DISPLAY
                          			CJNE R2,#100,MAIN3			  ; DOI NGAT 100 LAN <-> 1S
                          			MOV R2,#0
                          			INC R5
                          			CJNE R5,#10,MAIN2
                          			MOV R5,#0  
                          			INC R1
                          			CJNE R1,#10,MAIN2
                          			LJMP MAIN1
                          GIAIMA:     MOV A,R5
                                      MOVC A,@A+DPTR
                          			MOV 25H,A
                          			MOV A,R1
                          			MOVC A,@A+DPTR
                          			MOV 24H,A
                          			RET      
                          DISPLAY:    MOV A,#00000001B
                                      MOV R0,#25
                          DISPLAY1:	MOV P2,@R0
                          			MOV P1,A
                          			LCALL DELAY
                          			MOV P1,#00H
                          			DEC R0
                          			RL A
                          			CJNE R0,#23,DISPLAY1
                          			RET
                          TIME0:      CLR TR0
                                      MOV TH0,#HIGH(-10000)	; NAP LAI GIA TRI BAN DAU CHO BO DINH THOI
                          			MOV TL0,#LOW(-10000)
                          			INC R2
                          			CLR TF0
                          			SETB TR0
                          			RET
                          DELAY:      MOV R6,#250
                          DELAY1:     MOV R7,#100
                                      DJNZ R7,$
                          			DJNZ R6,DELAY1
                          			RET
                          MA_H_THI:   DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
                                      END
                          Last edited by huuthobka; 09-08-2012, 13:25.

                          Comment


                          • #14
                            Nguyên văn bởi huuthobka Xem bài viết
                            Mình đã sửa lại, biên dịch thì không có thông báo lỗi nữa, nhưng nạp vào proteus mô phỏng thử thì không thấy dữ liệu mình gửi ra công hiển thị p2 ???
                            bạn xem hộ mình cái code cái,
                            thuật toán của mình là : đợi bộ định thời ngắt 100 lần, sau đó tăng tăng biến hàng đơn vị lên, kiểm tra xem hàng đơn vị đã đến 10 chưa? nếu đến rồi thì xóa hàng đơn vị về 0 và tăng biến hàng chục, nếu biến hàng đơn vị chưa đến 10 thì tiếp tục hiển thị. làm tương tự với biến hàng chục.
                            p/s: mình dùng transistor PNP để bật cho một led 7-seg tích cực
                            Code:
                                        ORG 00H
                                        LCALL MAIN0               ; NHAY KHOI VECTOR NGAT
                                        ORG 000BH
                                        LCALL TIME0                 ; CHAY DEN VECTOR NGAT
                                        ORG 0030H                  ; BAT DAU CHUONG TRINH CHINH
                            MAIN0:      MOV TMOD,#01           ; KHOI DONG BO DINH THOI 0 CHE DO 1
                                        MOV IE,#82H               ; CHO PHEP NGAT
                                        MOV TH0,#HIGH(-10000)    ; NAP GIA TRI BAN DAU CHO BO DINH THOI
                                        MOV TL0,#LOW(-10000)
                                        MOV DPTR,#MA_H_THI         ; CHI DEN BANG HIEN THI
                                        CLR TF0         
                                        SETB TR0                  ; KHOI DONG BO DINH THOI
                            MAIN1:        MOV R2,#0
                                        MOV R1,#0
                                        MOV R5,#0
                            MAIN2:      LCALL GIAIMA
                            MAIN3:      LCALL DISPLAY
                                        CJNE R2,#100,MAIN3              ; DOI NGAT 100 LAN <-> 1S
                                        MOV R2,#0
                                        INC R5
                                        CJNE R5,#10,MAIN2
                                        MOV R5,#0  
                                        INC R1
                                        CJNE R1,#10,MAIN2
                                        LJMP MAIN1
                            GIAIMA:     MOV A,R5
                                        MOVC A,@A+DPTR
                                        MOV 25H,A
                                        MOV A,R1
                                        MOVC A,@A+DPTR
                                        MOV 24H,A
                                        RET      
                            DISPLAY:    MOV A,#00000001B
                                        MOV R0,#25
                            DISPLAY1:    MOV P2,@R0
                                        MOV P1,A
                                        LCALL DELAY
                                        MOV P1,#00H
                                        DEC R0
                                        RL A
                                        CJNE R0,#23,DISPLAY1
                                        RET
                            TIME0:      CLR TR0
                                        MOV TH0,#HIGH(-10000)    ; NAP LAI GIA TRI BAN DAU CHO BO DINH THOI
                                        MOV TL0,#LOW(-10000)
                                        INC R2
                                        CLR TF0
                                        SETB TR0
                                        RET
                            DELAY:      MOV R6,#250
                            DELAY1:     MOV R7,#100
                                        DJNZ R7,$
                                        DJNZ R6,DELAY1
                                        RET
                            MA_H_THI:   DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
                                        END
                            Nhìn qua, thấy code này có một số chỗ chưa hợp lý:
                            - Thứ nhất, bạn khởi động con trỏ dữ liệu DPTR để làm gì ? trong khi mã hiển thị bạn cất vào thanh ghi 24H và 25H, sao không lấy mã hiển thị ở 2 thanh ghi này ra để hiển thị?
                            - Thứ hai, bạn dùng lệnh MOV P2, @R0 để làm gì?
                            - Thứ ba, theo mình biết thì Transistor PNP tích cực mức thấp (mức 0) mà xung quét chứa trong thanh ghi A bạn lại xuất ra mức 1. Như vậy dù có xuất được dữ liệu ra P2 thì LED cũng không sáng.
                            - Với 2 Led 7-Seg thì chỉ cần 1 thanh ghi để cất dữ liệu là đủ rồi. Dùng 2 thanh ghi làm gì cho phức tạp.
                            Trên đây là một số góp ý. Thân
                            Last edited by Ck33spkt; 09-08-2012, 17:12.

                            Comment


                            • #15
                              Nguyên văn bởi Ck33spkt Xem bài viết
                              Nhìn qua, thấy code này có một số chỗ chưa hợp lý:
                              - Thứ nhất, bạn khởi động con trỏ dữ liệu DPTR để làm gì ? trong khi mã hiển thị bạn cất vào thanh ghi 24H và 25H, sao không lấy mã hiển thị ở 2 thanh ghi này ra để hiển thị?
                              - Thứ hai, bạn dùng lệnh MOV P2, @R0 để làm gì?
                              - Thứ ba, theo mình biết thì Transistor PNP tích cực mức thấp (mức 0) mà xung quét chứa trong thanh ghi A bạn lại xuất ra mức 1. Như vậy dù có xuất được dữ liệu ra P2 thì LED cũng không sáng.
                              - Với 2 Led 7-Seg thì chỉ cần 1 thanh ghi để cất dữ liệu là đủ rồi. Dùng 2 thanh ghi làm gì cho phức tạp.
                              Trên đây là một số góp ý. Thân
                              mình trả lời thế này:
                              câu 1: mình khởi động DPTR để cho nó chỉ đến vị trí bảng mã hiển thị, để láy mã hiển thị rồi lưu mã hiển thị vào hai thanh ghi 25h và 24h ,sau đó mình lấy mã lưu trong hai thanh ghi này ra hiển thị mà.
                              câu 2: chỗ này mình nhầm, mình dùng transistor NPN nên tích cực mức 1.
                              câu 3: theo mình nghĩ là cần hai thanh ghi, vì mỗi thanh ghi chứa một mã hiển thị của một led 7-seg.

                              Mong bạn góp ý thêm, mình vẫn chưa làm được nó chậy.
                              cảm ơn

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X