RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

help bác nào pro giúp dùm em với

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • h4ndoivn
    replied
    okie để mình đọc lại giáo trình thank 2 bạn nhiều nha

    Leave a comment:


  • hoangnam555
    replied
    đúng rồi,đề bài yêu cầu dùng ngắt ngoài,trên kia mình cũng dò phím thôi,ngắt thì học chưa tới nên ko giúp đc.

    Leave a comment:


  • Ck33spkt
    replied
    Nguyên văn bởi h4ndoivn Xem bài viết
    Mình viết được đến đây thì tắt điện pro nào giúp thì sửa dùm với


    $include(reg51.inc)
    ;======== nut an=======
    TANG BIT P3.4
    GIAM BIT P3.5
    ;**********************MIAN***********************

    ORG 00H
    KT_GIAM:
    JB GIAM,THOAT
    MOV A,R1
    INC A
    CJNE A,#0AH,THOAT
    SJMP THOAT
    KT_TANG:
    JB TANG,THOAT
    DEC A
    CJNE A,00H,THOAT
    SJMP THOAT
    MIAN:
    MOV A,R1
    MOV DPTR,#BM
    MOVC A,@A+DPTR
    MOV P0,A
    CALL DELAY
    CALL KT_TANG
    CALL KT_GIAM
    CALL DELAY
    SJMP MIAN
    ;============ =
    THOAT:
    RET
    ;-------
    DELAY:
    MOV R7,#0FFH
    DJNZ R7,$
    RET
    ;*********************************************
    BM:
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
    END
    Chương trình này đâu có phải sử dụng ngắt ngoài.
    Bạn đọc lại giáo trình về phần lập trình ngắt ngoài đi. Nó cũng dễ hiểu thôi!
    Khi dùng ngắt bạn không cần phải dò phím như trên nữa. Khi có ngắt xảy ra, VĐK sẽ tự nhảy vào trình phục vụ ngắt. Trình phục vụ ngắt của bạn chỉ cần làm nhiệm vụ đơn giản là tăng hoặc giảm biến đếm tương ứng với ngắt ngoài được kích hoạt. Rồi thoát khỏi trình phụ vụ ngắt và lấy giá trị biến đếm đó để gọi mã hiển thị là xong thôi.

    Leave a comment:


  • hoangnam555
    replied
    mới làm xong cái mạch,rãnh tay code cho bạn.
    Code:
    $mod51
    	mov r7,#0	
    main:
    	jb p1.0,mp1
    	
    	jnb p1.0,$
    	cjne r7,#9,skip1
    	sjmp  mp1
    skip1:
    	inc r7
    mp1:
    	call hienthi
    	jb p1.1,mp2
    	
    	jnb p1.1,$
    	cjne r7,#0,skip2
    	ljmp mp2
    skip2:
    	dec r7
    mp2:
    	call hienthi
    	ljmp main
    hienthi:
    	mov a,r7
    	mov dptr,#led7seg
    	movc a,@a+dptr
    	mov p2,a
    	ret
    delay:
    	push 00h
    	mov r1,#30
    	mov tmod,#01h
    del50:
    	mov th0,#high(-10000)
    	mov tl0,#low(-10000)
    	setb tr0
    	jnb tf0,$
    	clr tf0
    	clr tr0
    	djnz r1,del50
    	pop 00h
    	ret
    	
    led7seg:
    	db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,
    end

    Leave a comment:


  • h4ndoivn
    replied
    Mình viết được đến đây thì tắt điện pro nào giúp thì sửa dùm với


    $include(reg51.inc)
    ;======== nut an=======
    TANG BIT P3.4
    GIAM BIT P3.5
    ;**********************MIAN***********************

    ORG 00H
    KT_GIAM:
    JB GIAM,THOAT
    MOV A,R1
    INC A
    CJNE A,#0AH,THOAT
    SJMP THOAT
    KT_TANG:
    JB TANG,THOAT
    DEC A
    CJNE A,00H,THOAT
    SJMP THOAT
    MIAN:
    MOV A,R1
    MOV DPTR,#BM
    MOVC A,@A+DPTR
    MOV P0,A
    CALL DELAY
    CALL KT_TANG
    CALL KT_GIAM
    CALL DELAY
    SJMP MIAN
    ;============ =
    THOAT:
    RET
    ;-------
    DELAY:
    MOV R7,#0FFH
    DJNZ R7,$
    RET
    ;*********************************************
    BM:
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
    END

    Leave a comment:


  • hoangnam555
    replied
    Nguyên văn bởi h4ndoivn Xem bài viết
    bác nào hộ em mai em km cái thẻ vietell 20k
    sao ko viết rồi mọi người sửa cho.

    Leave a comment:


  • h4ndoivn
    replied
    bác nào hộ em mai em km cái thẻ vietell 20k

    Leave a comment:


  • h4ndoivn
    replied

    Làm đi làm lại cuối cùng chả đâu vào với đâu cả
    Last edited by h4ndoivn; 05-12-2012, 23:40.

    Leave a comment:


  • hoangnam555
    replied
    viết đc những up lên xem nào.

    Leave a comment:


  • h4ndoivn
    replied
    Làm hoài không được hix hix gà mờ cái ngôn ngữ này quá
    bạn có thể sửa chương trình trên cho mình được không mình làm hoài mà chả được

    Leave a comment:


  • Ck33spkt
    replied
    Nguyên văn bởi h4ndoivn Xem bài viết
    chạy nhưng không đúng theo yêu cầu của lão giáo viên
    Hắn bắt dùng ngắt ngoài
    Tức là mỗi lần ấn thì nhảy đếm tiến hoặc lùi 1 số
    Bạn tạo dùng 1 thanh ghi để lưu số đếm.
    Kết nối phần cứng để dùng 2 ngắt ngoài (ngắt ngoài 0 và 1), chương trình phục vụ ngắt chỉ cần làm nhiệm vụ tăng hoặc giảm số đếm 1 đơn vị ứng với ngắt ngoài được kích hoạt. Chương trình chính chỉ việc lấy số đếm đó, tra vào bảng mã để lấy mã 7seg ra hiển thị.

    Leave a comment:


  • h4ndoivn
    replied
    okie thank bạn để mình thử

    Leave a comment:


  • hoangnam555
    replied
    Nguyên văn bởi h4ndoivn Xem bài viết
    thank bạn nhưng thực sự mình hơi gà khoản này mới học asm nên bạn có thể nói rõ hơn cho mình được không ?
    bạn dùng thanh ghi nào đó lưu giá trị,R0-R7
    Giả sử dùng R0,đầu tiên nạp R0 bằng 0
    chương trình chính bắt đầu dò phím,nếu nhấn phím tăng,ct kiểm tra R0 bằng 9 chưa,nếu chưa tăng lên 1,nếu nhấn phím giảm,kt R0 = 0 chưa,nếu chưa giảm 1 sau đó gọi ct con hiển thị.

    trong ct con,bạn chuyển r0 vào a,nạp dptr,hiển thị ra port.

    đơn giản vậy thôi.

    Leave a comment:


  • h4ndoivn
    replied
    thank bạn nhưng thực sự mình hơi gà khoản này mới học asm nên bạn có thể nói rõ hơn cho mình được không ?

    Leave a comment:


  • hoangnam555
    replied
    code như thế này:
    bạn tạo 1 biến lưu số lần nhấn nút,chương trình chính sẽ kiểm tra nút nhấn,nếu nhấn tăng thì tăng giá trị của biến lên 1,nếu nhấn giảm sẽ giàm giá trị của biến xuống 1,rồi gọi chương trình hiển thị.
    chương trình hiển thị sẽ hiển thị số tương ứng với giá trị của biến.

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

Đang tải...