Thông báo

Collapse
No announcement yet.

giúp mình đoạn chương trình này với

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

  • giúp mình đoạn chương trình này với

    mình viết đoạn chương trình "đồng hồ số" đơn giản để chạy thử nhưng không hiểu sao nó chỉ hiện lên toàn là số 0 các bạn kiểm tra giúp mình với:
    Code:
    org 00h
    	ljmp main
    	org 03h
    	ljmp ngat_t0
    	org 0bh
    	ljmp ngat_ngoai0
    org 30h
    	gio equ 31h
    	phut equ 32h
    	giay equ 33h
    	ptgiay equ 34h
    	mov sp,70h
    main:
    	mov tmod,#01h
    	mov ie,#83h
    	mov th0,#-1000
    	mov tl0,#-100
    	setb tr0
    xoa_gio:
    	mov gio,#0
    xoa_phut:
    	mov phut,#0
    xoa_giay:
    	mov giay,#0
    xoa_ptgiay:
    	mov ptgiay,#0
    lap:
    	lcall hien_thi
    	mov a,ptgiay
    	cjne a,#100,lap
    	acall dem_giay
    	acall dem_phut
    	acall dem_gio
    	ljmp xoa_gio
    dem_giay:
    	mov a,giay
    	inc a
    	da a
    	mov giay,a
    	cjne a,#60,xoa_ptgiay
    	ret
    dem_phut:
    mov a,phut
    	inc a
    	da a
    	mov phut,a
    	cjne a,#60,xoa_giay
    	ret
    dem_gio:
    mov a,gio
    	inc a
    	da a
    	mov gio,a
    	cjne a,#24,xoa_phut
    	ret
    hien_thi:
    	acall tach_so
    	acall quet_led
    	ret
    tach_so:
    	mov a,giay
    	mov b,#10
    	div ab
    	mov 41h,a
    	mov 40h,b
    	mov a,phut
    	mov b,#10
    	div ab
    	mov 43h,a
    	mov 42h,b
    	mov a,gio
    	mov b,#10
    	div ab
    	mov 45h,a
    	mov 44h,b
    	ret
    quet_led:
    	mov r1,#01h
    	mov r0,#40h
    lap_quet:
    	mov a,@r0
    	mov dptr,#ma7doan
    	movc a,@a+dptr
    	mov p1,a
    	mov a,r1
    	mov p2,a
    	rl a
    	mov r1,a
    	inc r0
    	mov a,r0
    	cjne a,#47h,lap_quet
    	ret
    ngat_t0:
    	clr tr0
    	inc ptgiay
    	mov th0,#-1000
    	mov tl0,#-100
    	setb tr0
    	reti
    ngat_ngoai0:
    	acall hien_thi
    	clr ie.7
    chinh_giay:
    	jb p3.2,chinh_phut
    	acall tre_nut_an
    	jb p3.3,$
    	acall tre_nut_an
    	mov giay,#00h
    	mov giay,#00h
    	sjmp chinh_giay
    chinh_phut:
    	jb p3.2,chinh_gio
    	jb p3.3,$
    	mov a,phut
    	inc a
    	mov phut,a
    	sjmp chinh_phut
    chinh_gio:
    	jb p3.2,thoat
    	jb p3.3,$
    	mov a,gio
    	inc a
    	mov gio,a
    	sjmp chinh_gio
    thoat:
    	setb ie.7
    	reti
    delay:
    	mov r7,#1
    	del:mov r6,#10
    	djnz r6,$
    	djnz r7,del
    	ret
    tre_nut_an:mov r4,#10
    	t1:mov r5,#200
    	t2:djnz r5,t2
    	djnz r4,t1
    	ret
    	ma7doan:
    	db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
    	end
    Last edited by namqn; 23-01-2009, 20:57. Lý do: định dạng lại code

  • #2
    hic- bạn vẽ giải thuật rồi đưa lên cho mọi ngừoi tham khảo trước coi có đúng kg- cái đã!!!!

    Comment


    • #3
      Nguyên văn bởi qkhanh Xem bài viết
      acall dem_giay
      acall dem_phut
      acall dem_gio
      ljmp xoa_gio
      dem_giay:
      ------
      cjne a,#60,xoa_ptgiay
      ret
      dem_phut:
      ------
      cjne a,#60,xoa_giay
      ret
      dem_gio:
      ------
      cjne a,#24,xoa_phut
      ret
      Tôi chỉ góp ý:
      1) Dùng lệnh acall thì phải lưu ý kết thúc = RET để trả địa chỉ cho SP.
      lệnh nhảy (cjne a,#60,xoa_ptgiay), làm loạn stack.
      2) Khi dùng ngắt, thí dụ Ngat_Ngoai0:
      Phải push tất cả thanh ghi dùng chung ở Main_program (trử ở stack), sau đó pop ra. (theo thứ tự vào trước > ra sau).
      3) Trình bày chương trình như bạn sangthai sẽ dể kiểm tra lỗi hơn.

      Comment


      • #4
        nhìn code như rừng, thua
        phần typing của diễn dàn nài kỳ kỳ
        copy vào paste lên là mất hết tab
        Kit thí nghiệm 8051 + mạch nạp + cable + LCD16x2 + CD hướng dẫn, giá chỉ

        Comment


        • #5
          trong này lắm thầy dùi luyên thuyên thật, người ta viết được đoạn mã, nhưng một tỷ thằng không biết đọc một dòng lệnh thầy dùi. Nhìn chung là ngợm khá nhiều. Lập trình MCU hay PC đều thế, thở ra biết ngay là con bò hay là biết lập trình, nên đánh răng sạch và nhớ nhịn thở.

          To bạn qkhanh.
          Mình vừa vào đã thấy, không hiểu bạn có ý gì, chứ trình dịch nó tẹu làm tròn chỗ này, vì một byte không chứa được 1000. Bạn thử sửa xem, nếu vẫn còn lỗi thì tìm tiếp.
          mov th0,#-1000
          mov tl0,#-100

          đây là một lỗi nghiêm trọng, có thể chính nó là nguyên nhân. Bạn nhầm địa chỉ vector ngắt
          org 03h
          ljmp ngat_t0
          org 0bh
          ljmp ngat_ngoai0

          Có lỗi trên thì chắc chắn là 00 cái đã, nhưng còn khá nhiều lỗi khác. Mình không kịp đọc hết, nhưng ví dụ đặt nhãn là T1 là không được, nhiều chương trình dịch không báo lỗi trùng nhãn này.
          Hiện mình không có cái IDE nào ở đây, cài vào thì ngại, mới chỉ đọc suông thôi. Nhưng mình nghĩ chính là nó đấy.
          Bạn viết chương trình tường minh, trong sáng đấy. Còn cái đổi lịch tuần và lịch âm nữa. Cái lịch tây thì lập trình được. Nhưng cái lịch âm thì lấy một con rom mà tống luôn tệp 19 năm liền vào.

          Muốn làm LED to thì bạn dùng latch 74595 nối tiếp nhau. Trông cũng đẹp đẹp.
          Rồi thêm kính coong ý o, ta chế công phu đấy, lấy cái MP3 rồi tiêm điện vào phím của nó. Đó là làm nhỏ chơi thôi, còn làm thật thì mua bộ MP3 điều khiển số riêng.

          Làm thêm con chim vẫy cánh nữa thì thành chuyên gia luôn, chắc được lương 5 ngàn lắm.
          Chúc bạn vui vẻ nhé.


          Nguyên văn bởi qkhanh Xem bài viết
          mình viết đoạn chương trình "đồng hồ số" đơn giản để chạy thử nhưng không hiểu sao nó chỉ hiện lên toàn là số 0 các bạn kiểm tra giúp mình với:
          org 00h
          ljmp main
          org 03h
          ljmp ngat_t0
          org 0bh
          ljmp ngat_ngoai0
          org 30h
          gio equ 31h
          phut equ 32h
          giay equ 33h
          ptgiay equ 34h
          mov sp,70h
          main:
          mov tmod,#01h
          mov ie,#83h
          mov th0,#-1000
          mov tl0,#-100
          setb tr0
          xoa_gio:
          mov gio,#0
          xoa_phut:
          mov phut,#0
          xoa_giay:
          mov giay,#0
          xoa_ptgiay:
          mov ptgiay,#0
          lap:
          lcall hien_thi
          mov a,ptgiay
          cjne a,#100,lap
          acall dem_giay
          acall dem_phut
          acall dem_gio
          ljmp xoa_gio
          dem_giay:
          mov a,giay
          inc a
          da a
          mov giay,a
          cjne a,#60,xoa_ptgiay
          ret
          dem_phut:
          mov a,phut
          inc a
          da a
          mov phut,a
          cjne a,#60,xoa_giay
          ret
          dem_gio:
          mov a,gio
          inc a
          da a
          mov gio,a
          cjne a,#24,xoa_phut
          ret
          hien_thi:
          acall tach_so
          acall quet_led
          ret
          tach_so:
          mov a,giay
          mov b,#10
          div ab
          mov 41h,a
          mov 40h,b
          mov a,phut
          mov b,#10
          div ab
          mov 43h,a
          mov 42h,b
          mov a,gio
          mov b,#10
          div ab
          mov 45h,a
          mov 44h,b
          ret
          quet_led:
          mov r1,#01h
          mov r0,#40h
          lap_quet:
          mov a,@r0
          mov dptr,#ma7doan
          movc a,@a+dptr
          mov p1,a
          mov a,r1
          mov p2,a
          rl a
          mov r1,a
          inc r0
          mov a,r0
          cjne a,#47h,lap_quet
          ret
          ngat_t0:
          clr tr0
          inc ptgiay
          mov th0,#-1000
          mov tl0,#-100
          setb tr0
          reti
          ngat_ngoai0:
          acall hien_thi
          clr ie.7
          chinh_giay:
          jb p3.2,chinh_phut
          acall tre_nut_an
          jb p3.3,$
          acall tre_nut_an
          mov giay,#00h
          mov giay,#00h
          sjmp chinh_giay
          chinh_phut:
          jb p3.2,chinh_gio
          jb p3.3,$
          mov a,phut
          inc a
          mov phut,a
          sjmp chinh_phut
          chinh_gio:
          jb p3.2,thoat
          jb p3.3,$
          mov a,gio
          inc a
          mov gio,a
          sjmp chinh_gio
          thoat:
          setb ie.7
          reti
          delay:
          mov r7,#1
          del:mov r6,#10
          djnz r6,$
          djnz r7,del
          ret
          tre_nut_an:mov r4,#10
          t1:mov r5,#200
          t2:djnz r5,t2
          djnz r4,t1
          ret
          ma7doan:
          db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
          end
          Last edited by HuyPhuc; 23-01-2009, 12:09.

          Comment


          • #6
            he he he he he he he he he he he he he he
            Vừa vào, thấy cái acc cũ bị treo với lời nhắn đơn giản là ngu.
            he he he he he he he he he he he he he he. Cũng lắm kẻ ti tiện nhỉ.
            Post cái ảnh ngu lên đây xem cho đã.


            Bạn qkhanh viết đoạn chương trình rất tường minh, tuy nhiên, cái 4r này không thể hiện được các dấu tab và dịch lề, cho nên trở thành đám xấu xấu như trên. Mình copy lại ảnh chụp từ chính cái editer này ra để một số người không thấy mình ngu tự thấy là ai ngu.
            Cái ngu đầu tiên là cái show form của cái 4r này.
            Và dĩ nhiên là những kẻ a dua a tòng với nó.

            8951 lập trình vốn khó, làm được đoạn mã trên là giỏi giang lắm rồi. Thế nhưng một tỷ chú không thể đọc nổi đoạn đó chứ đừng nói là viết. Lỗi thì cũng rất tường minh, dễ nhận. Không nhận thấy lỗi, nhưng lại ba hoa chích chòe dậy khôn bố đời đã là một cái ngu.
            Ngu thậm ngu tệ là chê người ta viết như rừng, không thấy người ta thụt dòng rất đàng hoàng. Với giống bò thì đâu cũng là rừng cả. Một đoạn mã ngắn ngắn mà nhìn đã như thấy rừng thì là giống gì ???? bò rừng phải không ???
            Attached Files

            Comment


            • #7
              Mình đã sửa lại đọa này và thử chạy tốt rồi, tất nhiên không có mạch nên không xem được kết quả, chỉ xem các thanh ghi trong simulator. Nhân tiện có bạn bảo Keil không làm dược asm nên mình chụp ảnh cho họ xem.
              http://dientuvietnam.net/forums/showthread.php?t=21313

              Đây là đoạn nguyên bản của bạn. Bạn nhầm vector ngắt. Ngoài ra, giá trị nạp over nên bị cắt thành 18H (bạn nạp -1000). Dưới nữa, mình cũng đã đổi T1: đi rồi.
              Thêm nữa, Vân Khanh không nên dùng các sjmp, ljmp, acall... mà chỉ jmp và call thôi, mình làm thay chức năng chương trình dịch làm gì cho chóng cáu tiết.


              Code:
              qkhanh;161081
              mình viết đoạn chương trình "đồng hồ số" đơn giản để chạy thử nhưng không hiểu sao nó chỉ hiện lên toàn là số 0 các bạn kiểm tra giúp mình với:
              org 00h
              	ljmp main
              	org 03h
              	ljmp ngat_t0
              	org 0bh
              	ljmp ngat_ngoai0
              org 30h
              	gio equ 31h
              	phut equ 32h
              	giay equ 33h
              	ptgiay equ 34h
              	mov sp,70h
              main:
              	mov tmod,#01h
              	mov ie,#83h
              	mov th0,#-1000
              	mov tl0,#-100
              	setb tr0
              xoa_gio:
              	mov gio,#0
              xoa_phut:
              	mov phut,#0
              xoa_giay:
              	mov giay,#0
              xoa_ptgiay:
              	mov ptgiay,#0
              lap:
              	lcall hien_thi
              	mov a,ptgiay
              	cjne a,#100,lap
              	acall dem_giay
              	acall dem_phut
              	acall dem_gio
              	ljmp xoa_gio
              dem_giay:
              	mov a,giay
              	inc a
              	da a
              	mov giay,a
              	cjne a,#60,xoa_ptgiay
              	ret
              dem_phut:
              mov a,phut
              	inc a
              	da a
              	mov phut,a
              	cjne a,#60,xoa_giay
              	ret
              dem_gio:
              mov a,gio
              	inc a
              	da a
              	mov gio,a
              	cjne a,#24,xoa_phut
              	ret
              hien_thi:
              	acall tach_so
              	acall quet_led
              	ret
              tach_so:
              	mov a,giay
              	mov b,#10
              	div ab
              	mov 41h,a
              	mov 40h,b
              	mov a,phut
              	mov b,#10
              	div ab
              	mov 43h,a
              	mov 42h,b
              	mov a,gio
              	mov b,#10
              	div ab
              	mov 45h,a
              	mov 44h,b
              	ret
              quet_led:
              	mov r1,#01h
              	mov r0,#40h
              lap_quet:
              	mov a,@r0
              	mov dptr,#ma7doan
              	movc a,@a+dptr
              	mov p1,a
              	mov a,r1
              	mov p2,a
              	rl a
              	mov r1,a
              	inc r0
              	mov a,r0
              	cjne a,#47h,lap_quet
              	ret
              ngat_t0:
              	clr tr0
              	inc ptgiay
              	mov th0,#-1000
              	mov tl0,#-100
              	setb tr0
              	reti
              ngat_ngoai0:
              	acall hien_thi
              	clr ie.7
              chinh_giay:
              	jb p3.2,chinh_phut
              	acall tre_nut_an
              	jb p3.3,$
              	acall tre_nut_an
              	mov giay,#00h
              	mov giay,#00h
              	sjmp chinh_giay
              chinh_phut:
              	jb p3.2,chinh_gio
              	jb p3.3,$
              	mov a,phut
              	inc a
              	mov phut,a
              	sjmp chinh_phut
              chinh_gio:
              	jb p3.2,thoat
              	jb p3.3,$
              	mov a,gio
              	inc a
              	mov gio,a
              	sjmp chinh_gio
              thoat:
              	setb ie.7
              	reti
              delay:
              	mov r7,#1
              	del:mov r6,#10
              	djnz r6,$
              	djnz r7,del
              	ret
              tre_nut_an:mov r4,#10
              	t1:mov r5,#200
              	t2:djnz r5,t2
              	djnz r4,t1
              	ret
              	ma7doan:
              	db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
              	end
              Đây là đoạn của mình, phong cách viết của mình thế này, không thụt dòng và viết hoa, nhưng đặt tên dài, cách dòng. Bạn nhìn ảnh trên, chương trình dịch nó màu sắc dễ nhìn lắm.

              Code:
              org 00h
              jmp main
              
              org 03h
              jmp ngat_ngoai0
              
              org 0bh
              jmp ngat_t0
              
              org 30h
              gio equ 31h
              phut equ 32h
              giay equ 33h
              ptgiay equ 34h
              th0_store equ -100
              tl0_store equ -100
              mov sp,70h
              
              
              main:
              mov tmod,#01h
              mov ie,#83h
              mov th0,#th0_store 
              mov tl0,#tl0_store 
              setb tr0
              
              xoa_gio:
              mov gio,#0
              xoa_phut:
              mov phut,#0
              xoa_giay:
              mov giay,#0
              xoa_ptgiay:
              mov ptgiay,#0
              
              lap:
              call hien_thi
              mov a,ptgiay
              cjne a,#100,lap
              call dem_giay
              call dem_phut
              call dem_gio
              jmp xoa_gio
              
              dem_giay:
              mov a,giay
              inc a
              da a
              mov giay,a
              cjne a,#60,xoa_ptgiay
              ret
              
              dem_phut:
              mov a,phut
              inc a
              da a
              mov phut,a
              cjne a,#60,xoa_giay
              ret
              
              dem_gio:
              mov a,gio
              inc a
              da a
              mov gio,a
              cjne a,#24,xoa_phut
              ret
              
              hien_thi:
              call tach_so
              call quet_led
              ret
              
              tach_so:
              mov a,giay
              mov b,#10
              div ab
              mov 41h,a
              mov 40h,b
              mov a,phut
              mov b,#10
              div ab
              mov 43h,a
              mov 42h,b
              mov a,gio
              mov b,#10
              div ab
              mov 45h,a
              mov 44h,b
              ret
              
              quet_led:
              mov r1,#01h
              mov r0,#40h
              
              lap_quet:
              mov a,@r0
              mov dptr,#ma7doan
              movc a,@a+dptr
              mov p1,a
              mov a,r1
              mov p2,a
              rl a
              mov r1,a
              inc r0
              mov a,r0
              cjne a,#47h,lap_quet
              ret
              
              ngat_t0:
              clr tr0
              inc ptgiay
              mov th0,#th0_store 
              mov tl0,#th0_store 
              setb tr0
              reti
              
              ngat_ngoai0:
              acall hien_thi
              clr ie.7
              
              chinh_giay:
              jb p3.2,chinh_phut
              call tre_nut_an
              jb p3.3,$
              call tre_nut_an
              mov giay,#00h
              mov giay,#00h
              jmp chinh_giay
              
              chinh_phut:
              jb p3.2,chinh_gio
              jb p3.3,$
              mov a,phut
              inc a
              mov phut,a
              jmp chinh_phut
              
              chinh_gio:
              jb p3.2,thoat
              jb p3.3,$
              mov a,gio
              inc a
              mov gio,a
              jmp chinh_gio
              
              thoat:
              setb ie.7
              reti
              
              delay:
              mov r7,#1
              del:mov r6,#10
              djnz r6,$
              djnz r7,del
              ret
              
              tre_nut_an:
              mov r4,#10
              t1:
              mov r5,#200
              t2:
              djnz r5,t2
              djnz r4,t1
              ret
              
              ma7doan:
              db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
              end

              Comment


              • #8
                Nguyên văn bởi huyphuc1981 Xem bài viết
                he he he he he he he he he he he he he he
                Vừa vào, thấy cái acc cũ bị treo với lời nhắn đơn giản là ngu.
                he he he he he he he he he he he he he he. Cũng lắm kẻ ti tiện nhỉ.
                Post cái ảnh ngu lên đây xem cho đã.


                Bạn qkhanh viết đoạn chương trình rất tường minh, tuy nhiên, cái 4r này không thể hiện được các dấu tab và dịch lề, cho nên trở thành đám xấu xấu như trên. Mình copy lại ảnh chụp từ chính cái editer này ra để một số người không thấy mình ngu tự thấy là ai ngu.
                Cái ngu đầu tiên là cái show form của cái 4r này.
                Và dĩ nhiên là những kẻ a dua a tòng với nó.

                8951 lập trình vốn khó, làm được đoạn mã trên là giỏi giang lắm rồi. Thế nhưng một tỷ chú không thể đọc nổi đoạn đó chứ đừng nói là viết. Lỗi thì cũng rất tường minh, dễ nhận. Không nhận thấy lỗi, nhưng lại ba hoa chích chòe dậy khôn bố đời đã là một cái ngu.
                Ngu thậm ngu tệ là chê người ta viết như rừng, không thấy người ta thụt dòng rất đàng hoàng. Với giống bò thì đâu cũng là rừng cả. Một đoạn mã ngắn ngắn mà nhìn đã như thấy rừng thì là giống gì ???? bò rừng phải không ???
                - lão này vênh váo kinh ngê . Thua . MOD xem sao chứ coi chừng có Scandal .
                - về qkhanh , khi post code lên , u để code trong "
                Code:
                .....
                " thì nó sẽ hiện giống như trong trình biên dịch . Đơn giản thế thui

                Comment


                • #9
                  Ai vênh váo, mà cáu tiết.
                  Có đoạn con con mà nhìn đã có cảm giác như nhìn rừng thì còn là thể loại nào ??? đã là thể loại đó mà còn lên mặt dặy dỗ người khác thế này thế nọ thì là gì, là bệnh pờ rồ thâm căn cố đế, quen thói nói phét sùi bọt mép.
                  Người ta khi đã nhầm thì thường theo lỗi mòn, cư đọc đến đoạn đó lại nhầm tiếp, phải nhờ người khác đọc giúp. Không cần lập trình nhiều kinh nghiệm cũng biết đến điều đó. Người ta đã nhờ mình đọc, là người ta biết lập trình rồi, nếu không biết thì xê ra chỗ khác là vừa, có chỗ đâu mà vênh váo rởm đời, người ta khinh cho.

                  Nguyên văn bởi Zz_Bi_zZ Xem bài viết
                  - lão này vênh váo kinh ngê . Thua . MOD xem sao chứ coi chừng có Scandal .
                  - về qkhanh , khi post code lên , u để code trong "
                  Code:
                  .....
                  " thì nó sẽ hiện giống như trong trình biên dịch . Đơn giản thế thui

                  Comment


                  • #10
                    Bạn Huyphuc1981 có giúp người ta thì đàng hoàng , chứ đừng vênh váo như vậy ( và cẩn thận hơn với những ngôn ngữ ) !!!

                    ( Bạn đã bị treo nick , ngày hôm nay Post 12 bài ... trong đó có tới 4 bài có lời phát biểu không vào tai ... so với cái tuổi của bạn cho lắm ! )

                    Nói mấy bác mới học đừng tự ái chứ đấy chỉ là ... trình độ mẫu giáo thôi !!!

                    --- Các mod , những người đã lập trình lâu năm ... ( nhiều việc nên rất bận ) mà xu hướng họ chuyển sang lập trình C hết rồi ... Vì thế những đoạn code ASM họ lười không buồn đọc đâu !!!

                    --- Còn với đoạn code đấy à ??? khó thật đấy nhỉ ?
                    Trong Forum này ... toàn " bò rừng " cả thôi hả bạn ??? Chẳng thế nên nhìn đâu cũng toàn màu cỏ cả ...
                    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                    Comment


                    • #11
                      Nguyên văn bởi huyphuc1981 Xem bài viết
                      he he he he he he he he he he he he he he
                      Vừa vào, thấy cái acc cũ bị treo với lời nhắn đơn giản là ngu.
                      he he he he he he he he he he he he he he. Cũng lắm kẻ ti tiện nhỉ.
                      Post cái ảnh ngu lên đây xem cho đã.


                      Bạn qkhanh viết đoạn chương trình rất tường minh, tuy nhiên, cái 4r này không thể hiện được các dấu tab và dịch lề, cho nên trở thành đám xấu xấu như trên. Mình copy lại ảnh chụp từ chính cái editer này ra để một số người không thấy mình ngu tự thấy là ai ngu.
                      Cái ngu đầu tiên là cái show form của cái 4r này.
                      Và dĩ nhiên là những kẻ a dua a tòng với nó.

                      8951 lập trình vốn khó, làm được đoạn mã trên là giỏi giang lắm rồi. Thế nhưng một tỷ chú không thể đọc nổi đoạn đó chứ đừng nói là viết. Lỗi thì cũng rất tường minh, dễ nhận. Không nhận thấy lỗi, nhưng lại ba hoa chích chòe dậy khôn bố đời đã là một cái ngu.
                      Ngu thậm ngu tệ là chê người ta viết như rừng, không thấy người ta thụt dòng rất đàng hoàng. Với giống bò thì đâu cũng là rừng cả. Một đoạn mã ngắn ngắn mà nhìn đã như thấy rừng thì là giống gì ???? bò rừng phải không ???
                      Anh nhắc chú Huyphuc một lần nữa diễn đàn là cái chỗ để giao lưu các vấn đề kỹ thuật ko phải là chỗ để vào chửi chỗ này bò, chỗ kia ngợm. Diễn đàn cũng ko nghênh đón những thành viên như vậy. Riêng chú cứ ngồi thưởng thức hết chỗ banned đi nhé.
                      Kính.
                      AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                      Xem thêm tại Online Store ---> Click here
                      Mob: 0982.083.106

                      Comment


                      • #12
                        Ai vênh
                        người ta đã hỏi, không ai giúp gì được tất cả đứng ngoài thầy dùi ?? Thầy dùi một hàng.
                        Vênh nhỉ. Đẹp nhỉ.

                        Đoạn code đó không khó, nó rất nhỏ thôi, nhưng thái độ dậy bố đời thì không nhỏ.

                        Nguyên văn bởi queduong Xem bài viết
                        Bạn Huyphuc1981 có giúp người ta thì đàng hoàng , chứ đừng vênh váo như vậy ( và cẩn thận hơn với những ngôn ngữ ) !!!

                        ( Bạn đã bị treo nick , ngày hôm nay Post 12 bài ... trong đó có tới 4 bài có lời phát biểu không vào tai ... so với cái tuổi của bạn cho lắm ! )

                        Nói mấy bác mới học đừng tự ái chứ đấy chỉ là ... trình độ mẫu giáo thôi !!!

                        --- Các mod , những người đã lập trình lâu năm ... ( nhiều việc nên rất bận ) mà xu hướng họ chuyển sang lập trình C hết rồi ... Vì thế những đoạn code ASM họ lười không buồn đọc đâu !!!

                        --- Còn với đoạn code đấy à ??? khó thật đấy nhỉ ?
                        Trong Forum này ... toàn " bò rừng " cả thôi hả bạn ??? Chẳng thế nên nhìn đâu cũng toàn màu cỏ cả ...

                        Comment


                        • #13
                          Nguyên văn bởi huyphuc1981 Xem bài viết
                          Mình đã sửa lại đọa này và thử chạy tốt rồi, tất nhiên không có mạch nên không xem được kết quả, chỉ xem các thanh ghi trong simulator. Nhân tiện có bạn bảo Keil không làm dược asm nên mình chụp ảnh cho họ xem.
                          http://dientuvietnam.net/forums/showthread.php?t=21313

                          Đây là đoạn nguyên bản của bạn. Bạn nhầm vector ngắt. Ngoài ra, giá trị nạp over nên bị cắt thành 18H (bạn nạp -1000). Dưới nữa, mình cũng đã đổi T1: đi rồi.
                          Thêm nữa, Vân Khanh không nên dùng các sjmp, ljmp, acall... mà chỉ jmp và call thôi, mình làm thay chức năng chương trình dịch làm gì cho chóng cáu tiết.


                          Code:
                          qkhanh;161081
                          mình viết đoạn chương trình "đồng hồ số" đơn giản để chạy thử nhưng không hiểu sao nó chỉ hiện lên toàn là số 0 các bạn kiểm tra giúp mình với:
                          org 00h
                          	ljmp main
                          	org 03h
                          	ljmp ngat_t0
                          	org 0bh
                          	ljmp ngat_ngoai0
                          org 30h
                          	gio equ 31h
                          	phut equ 32h
                          	giay equ 33h
                          	ptgiay equ 34h
                          	mov sp,70h
                          main:
                          	mov tmod,#01h
                          	mov ie,#83h
                          	mov th0,#-1000
                          	mov tl0,#-100
                          	setb tr0
                          xoa_gio:
                          	mov gio,#0
                          xoa_phut:
                          	mov phut,#0
                          xoa_giay:
                          	mov giay,#0
                          xoa_ptgiay:
                          	mov ptgiay,#0
                          lap:
                          	lcall hien_thi
                          	mov a,ptgiay
                          	cjne a,#100,lap
                          	acall dem_giay
                          	acall dem_phut
                          	acall dem_gio
                          	ljmp xoa_gio
                          dem_giay:
                          	mov a,giay
                          	inc a
                          	da a
                          	mov giay,a
                          	cjne a,#60,xoa_ptgiay
                          	ret
                          dem_phut:
                          mov a,phut
                          	inc a
                          	da a
                          	mov phut,a
                          	cjne a,#60,xoa_giay
                          	ret
                          dem_gio:
                          mov a,gio
                          	inc a
                          	da a
                          	mov gio,a
                          	cjne a,#24,xoa_phut
                          	ret
                          hien_thi:
                          	acall tach_so
                          	acall quet_led
                          	ret
                          tach_so:
                          	mov a,giay
                          	mov b,#10
                          	div ab
                          	mov 41h,a
                          	mov 40h,b
                          	mov a,phut
                          	mov b,#10
                          	div ab
                          	mov 43h,a
                          	mov 42h,b
                          	mov a,gio
                          	mov b,#10
                          	div ab
                          	mov 45h,a
                          	mov 44h,b
                          	ret
                          quet_led:
                          	mov r1,#01h
                          	mov r0,#40h
                          lap_quet:
                          	mov a,@r0
                          	mov dptr,#ma7doan
                          	movc a,@a+dptr
                          	mov p1,a
                          	mov a,r1
                          	mov p2,a
                          	rl a
                          	mov r1,a
                          	inc r0
                          	mov a,r0
                          	cjne a,#47h,lap_quet
                          	ret
                          ngat_t0:
                          	clr tr0
                          	inc ptgiay
                          	mov th0,#-1000
                          	mov tl0,#-100
                          	setb tr0
                          	reti
                          ngat_ngoai0:
                          	acall hien_thi
                          	clr ie.7
                          chinh_giay:
                          	jb p3.2,chinh_phut
                          	acall tre_nut_an
                          	jb p3.3,$
                          	acall tre_nut_an
                          	mov giay,#00h
                          	mov giay,#00h
                          	sjmp chinh_giay
                          chinh_phut:
                          	jb p3.2,chinh_gio
                          	jb p3.3,$
                          	mov a,phut
                          	inc a
                          	mov phut,a
                          	sjmp chinh_phut
                          chinh_gio:
                          	jb p3.2,thoat
                          	jb p3.3,$
                          	mov a,gio
                          	inc a
                          	mov gio,a
                          	sjmp chinh_gio
                          thoat:
                          	setb ie.7
                          	reti
                          delay:
                          	mov r7,#1
                          	del:mov r6,#10
                          	djnz r6,$
                          	djnz r7,del
                          	ret
                          tre_nut_an:mov r4,#10
                          	t1:mov r5,#200
                          	t2:djnz r5,t2
                          	djnz r4,t1
                          	ret
                          	ma7doan:
                          	db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
                          	end
                          Đây là đoạn của mình, phong cách viết của mình thế này, không thụt dòng và viết hoa, nhưng đặt tên dài, cách dòng. Bạn nhìn ảnh trên, chương trình dịch nó màu sắc dễ nhìn lắm.

                          Code:
                          org 00h
                          jmp main
                          
                          org 03h
                          jmp ngat_ngoai0
                          
                          org 0bh
                          jmp ngat_t0
                          
                          org 30h
                          gio equ 31h
                          phut equ 32h
                          giay equ 33h
                          ptgiay equ 34h
                          th0_store equ -100
                          tl0_store equ -100
                          mov sp,70h
                          
                          
                          main:
                          mov tmod,#01h
                          mov ie,#83h
                          mov th0,#th0_store 
                          mov tl0,#tl0_store 
                          setb tr0
                          
                          xoa_gio:
                          mov gio,#0
                          xoa_phut:
                          mov phut,#0
                          xoa_giay:
                          mov giay,#0
                          xoa_ptgiay:
                          mov ptgiay,#0
                          
                          lap:
                          call hien_thi
                          mov a,ptgiay
                          cjne a,#100,lap
                          call dem_giay
                          call dem_phut
                          call dem_gio
                          jmp xoa_gio
                          
                          dem_giay:
                          mov a,giay
                          inc a
                          da a
                          mov giay,a
                          cjne a,#60,xoa_ptgiay
                          ret
                          
                          dem_phut:
                          mov a,phut
                          inc a
                          da a
                          mov phut,a
                          cjne a,#60,xoa_giay
                          ret
                          
                          dem_gio:
                          mov a,gio
                          inc a
                          da a
                          mov gio,a
                          cjne a,#24,xoa_phut
                          ret
                          
                          hien_thi:
                          call tach_so
                          call quet_led
                          ret
                          
                          tach_so:
                          mov a,giay
                          mov b,#10
                          div ab
                          mov 41h,a
                          mov 40h,b
                          mov a,phut
                          mov b,#10
                          div ab
                          mov 43h,a
                          mov 42h,b
                          mov a,gio
                          mov b,#10
                          div ab
                          mov 45h,a
                          mov 44h,b
                          ret
                          
                          quet_led:
                          mov r1,#01h
                          mov r0,#40h
                          
                          lap_quet:
                          mov a,@r0
                          mov dptr,#ma7doan
                          movc a,@a+dptr
                          mov p1,a
                          mov a,r1
                          mov p2,a
                          rl a
                          mov r1,a
                          inc r0
                          mov a,r0
                          cjne a,#47h,lap_quet
                          ret
                          
                          ngat_t0:
                          clr tr0
                          inc ptgiay
                          mov th0,#th0_store 
                          mov tl0,#th0_store 
                          setb tr0
                          reti
                          
                          ngat_ngoai0:
                          acall hien_thi
                          clr ie.7
                          
                          chinh_giay:
                          jb p3.2,chinh_phut
                          call tre_nut_an
                          jb p3.3,$
                          call tre_nut_an
                          mov giay,#00h
                          mov giay,#00h
                          jmp chinh_giay
                          
                          chinh_phut:
                          jb p3.2,chinh_gio
                          jb p3.3,$
                          mov a,phut
                          inc a
                          mov phut,a
                          jmp chinh_phut
                          
                          chinh_gio:
                          jb p3.2,thoat
                          jb p3.3,$
                          mov a,gio
                          inc a
                          mov gio,a
                          jmp chinh_gio
                          
                          thoat:
                          setb ie.7
                          reti
                          
                          delay:
                          mov r7,#1
                          del:mov r6,#10
                          djnz r6,$
                          djnz r7,del
                          ret
                          
                          tre_nut_an:
                          mov r4,#10
                          t1:
                          mov r5,#200
                          t2:
                          djnz r5,t2
                          djnz r4,t1
                          ret
                          
                          ma7doan:
                          db 018h,06eh,034h,094h,0d2h,091h,011h,0dch,010h,090h
                          end
                          chào bạn , bạn vui lòng cho mình hỏi điều này tí nha
                          tại sao bạn dùng lệnh mov sp,70h mà kg phải là lệnh mov sp,#70h
                          mình nghĩ bạn phải nạp giá trị cho SP mới đúng chứ

                          Comment


                          • #14
                            ôi lâu rồi mình không lên diễn đàn tự nhiên thấy thắc mắc của mình được các bạn trả lời ,giúp đỡ rất nhiều mình cám ơn các bạn nhiều lắm.thankkkkkkkkkkkkkkkk

                            Comment


                            • #15
                              Nguyên văn bởi queduong Xem bài viết
                              Bạn Huyphuc1981 có giúp người ta thì đàng hoàng , chứ đừng vênh váo như vậy ( và cẩn thận hơn với những ngôn ngữ ) !!!

                              ( Bạn đã bị treo nick , ngày hôm nay Post 12 bài ... trong đó có tới 4 bài có lời phát biểu không vào tai ... so với cái tuổi của bạn cho lắm ! )

                              Nói mấy bác mới học đừng tự ái chứ đấy chỉ là ... trình độ mẫu giáo thôi !!!

                              --- Các mod , những người đã lập trình lâu năm ... ( nhiều việc nên rất bận ) mà xu hướng họ chuyển sang lập trình C hết rồi ... Vì thế những đoạn code ASM họ lười không buồn đọc đâu !!!

                              --- Còn với đoạn code đấy à ??? khó thật đấy nhỉ ?
                              Trong Forum này ... toàn " bò rừng " cả thôi hả bạn ??? Chẳng thế nên nhìn đâu cũng toàn màu cỏ cả ...
                              mình cũng hơi buồn một chút vì gúp mình mà không khí hơi căng thẳng một chút.thực ra mình mới học lập trình 8051 đây là ví dụ thứ 2 mà mình làm thử nên chưa có kinh nghiệm mong các bạn thông cảm.bây giờ cái đồng hồ của mình hoạt động đã tạm ổn nhưng mình vần không hài lòng lắm về đoạn ngắt để chỉnh giờ và làm thế nào để lập trình ngày tháng.hi vọng các bạn góp ý thêm

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X