Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • Tôi mới bước vào học VDK , tôi đang tìm hiểu về led matrix nhưng khó hiểu .tui thấy topic có nói nhưng ở đâu thế mong AE nào biết hãy hướng dẫn tận tình như mấy bài đầu của bác quỳnh rất hay chi tiết
    Thank...

    Comment


    • Nguyên văn bởi 8sung Xem bài viết
      Các bác chỉ em cách điều khiên 5 led nháy lần lượt từ trái wa phải rùi lặp lại.đầu tiên tất cả led tắt.led1 sáng,led2 sáng ... rùi lặp lại.các led đầu sáng liên tục cho đến khi led cuối cùng sáng
      //bài này tôi cũng học ở trên diễn đàn đấy, bạn thử xem có đúng ý bạn ko
      #include<regx52.h>
      void delay(unsigned char ms)
      {
      int i,j;
      for(i=0;i<ms;i++)
      for(j=0;j<80;j++);
      }
      void main()
      {
      unsigned char i;
      while(1)
      {
      //P1sag dan tu trai-fai( tu bit thap den bit cao)
      P1=0;
      for(i=0;i<=5;i++){
      P1 = P1<<1;
      P1=P1|0x01;
      delay(1000);}
      }
      }
      Tôi thích cái cầu kỳ của kỹ thuật
      Nhưng ghét mọi phức tạp trong tính cách con người

      Comment


      • Nguyên văn bởi han_conan
        vay ban co bik lap trinh ma tran 8*8 ko?chi cho minh voi!quynh....?
        $include(reg51.inc)
        org 0000h
        mov sp, #30h
        mov p3,#0ffh
        start:
        ;-------------- MUNG XUAN 2009 --------
        mov dph,#09h
        mov r2,#00
        mov dpl,r2

        k1: call chuchaymaucam
        cjne r2,#108,k1

        ;------------CHUC GIA DINH MOT NAM MOI KHOE MANH VA MAY MAN---------------

        mov dph,#0ah
        mov r2,#00
        mov dpl,r2
        k2: mov p1,#81h
        call chuchaymaudo
        cjne r2,#238,k2




        ;----------------- nhay XUAN, nhay KY SUU------------

        mov r7,#05
        k3:
        mov dph,#0eh
        mov r2,#28
        mov dpl,r2
        mov r0,#10
        mov p1,#00h
        call chunhapnhaymaudo

        mov dph,#0eh
        mov r2,#28
        mov dpl,r2
        mov r0,#10
        mov p2,#00h
        call chunhapnhaymauxanh
        djnz r7,k3

        mov r7,#05
        k4:
        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#10
        mov p1,#00h
        call chunhapnhaymaudo

        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#10
        mov p2,#00h
        call chunhapnhaymauxanh
        djnz r7,#k4



        ;------------ AN KHANG-THINH VUONG---------
        mov dph,#0fh
        mov r2,#00
        mov dpl,r2
        mov p2,#00h
        k6: call chuchaymauxanh
        cjne r2,#146,k6

        ;------------- TAN TAI - TAN LOC---------
        mov dph,#0fh
        mov r2,#147
        mov dpl,r2

        k7: call chuchaymaucam
        cjne r2,#228,k7

        ;---------XUAT HIEN CHU KY SUU 2009---------




        mov r7,#05
        lapnew1:
        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#25
        mov p2,#00h
        call chusangdanmaucam_ngang

        mov r6,#10
        lapnew2:
        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#50
        call chunhapnhaymaudo

        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#50
        mov p2,#00h
        call chunhapnhaymauxanh
        djnz r6,lapnew2

        mov dph,#0eh
        mov r2,#92
        mov dpl,r2
        mov r0,#25
        call chutatdanmaucam_ngang

        mov dph,#09h
        mov r2,#56
        mov dpl,r2
        mov r0,#25
        mov p2,#00h
        call chusangdanmauxanh_doc


        mov r6,#10
        lapnew3:

        mov dph,#09h
        mov r2,#56
        mov dpl,r2
        mov r0,#25
        mov p1,#00h
        call chunhapnhaymaudo
        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#50
        mov p2,#00h
        call chunhapnhaymauxanh
        djnz r6,lapnew3

        mov dph,#0eh
        mov r2,#60
        mov dpl,r2
        mov r0,#50
        call thaymauxanhbangmaudo
        djnz r6,lapnew3


        mov dph,#09h
        mov r2,#88
        mov dpl,r2
        mov r0,#25
        mov p1,#00h
        call chukeolenmaudo_doc
        djnz r7,nhaydai
        ljmp start
        nhaydai:
        ljmp lapnew1








        ;--------chuyen bit thanh ghi a ra bit cong p1------------------
        nhay0:
        mov c,0e0h
        mov p1.0,c
        call delayl
        ret
        nhay1:
        mov c,0e1h
        mov p1.1,c
        call delayl
        ret
        nhay2:
        mov c,0e2h
        mov p1.2,c
        acall delayl
        ret
        nhay3:
        mov c,0e3h
        mov p1.3,c
        acall delayl
        ret
        nhay4:
        mov c,0e4h
        mov p1.4,c
        acall delayl
        ret
        nhay5:
        mov c,0e5h
        mov p1.5,c
        acall delayl
        ret
        nhay6:
        mov c,0e6h
        mov p1.6,c
        acall delayl
        ret
        nhay7:
        mov c,0e7h
        mov p1.7,c
        acall delayl
        ret


        nhay00:
        mov c,0e0h
        mov p2.0,c
        call delayl
        ret
        nhay01:
        mov c,0e1h
        mov p2.1,c
        call delayl
        ret
        nhay02:
        mov c,0e2h
        mov p2.2,c
        acall delayl
        ret
        nhay03:
        mov c,0e3h
        mov p2.3,c
        acall delayl
        ret
        nhay04:
        mov c,0e4h
        mov p2.4,c
        acall delayl
        ret
        nhay05:
        mov c,0e5h
        mov p2.5,c
        acall delayl
        ret
        nhay06:
        mov c,0e6h
        mov p2.6,c
        acall delayl
        ret
        nhay07:
        mov c,0e7h
        mov p2.7,c
        acall delayl

        ret

        ;-------chuyen thanh ghi a ra cong p1-------
        mauxanh:
        acall nhay0
        acall nhay1
        acall nhay2
        acall nhay3
        acall nhay4
        acall nhay5
        acall nhay6
        acall nhay7
        ret
        ;-------chuyen thanh ghi a ra cong p2-------
        maudo:
        acall nhay00
        acall nhay01
        acall nhay02
        acall nhay03
        acall nhay04
        acall nhay05
        acall nhay06
        acall nhay07
        ret

        chusangdanmaucam_ngang :
        mov r7,#00
        nnl0: inc r7

        nnl2 : mov dpl,r2
        setb p3.1
        setb p3.4
        mov a,r7
        mov r1,a

        nnl1: clr a
        movc a,@a+dptr
        call mauxanh
        call maudo
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p1,# 00h
        inc dpl
        djnz r1,nnl1
        djnz r0,nnl2
        cjne r7,#32,nnl0
        ret

        thaymauxanhbangmaudo:
        mov r7,#00
        nln2:
        inc r7
        mov dpl,r2
        setb p3.1
        setb p3.4
        mov r1,#32
        mov a,r7
        mov r6,a
        nln1:
        clr a
        movc a,@a+dptr
        djnz r6,thaymaudo
        call mauxanh
        sjmp xung2
        thaymaudo:
        call maudo
        xung2:
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p1,# 00h
        inc dpl
        djnz r1,nln1
        djnz r0,nln2
        ret


        chutatdanmaucam_ngang :
        mov r7,#32
        nl0: dec r7

        nl2 : mov dpl,r2
        setb p3.1
        setb p3.4
        mov a,r7
        mov r1,a

        nl1: clr a
        movc a,@a+dptr
        call mauxanh
        call maudo
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p1,# 00h
        inc dpl
        djnz r1,nl1
        djnz r0,nl2
        cjne r7,#00,nl0
        ret


        chukeolenmaudo_doc:
        mov r7#8
        nll2 : dec r7
        mov dpl,r2
        setb p3.1
        setb p3.4
        mov r1,#32
        nll1: clr a
        movc a,@a+dptr
        cjne r7,#7,tiep1
        rl a
        anl a,11111110
        sjmp tiep
        tiep1:
        cjne r7,#6,tiep2
        rl a
        rl a
        anl a,11111100
        sjmp tiep

        tiep2:
        cjne r7,#5,tiep3
        rl a
        rl a
        rl a
        anl a,11111000
        sjmp tiep
        tiep3:
        cjne r7,#4,tiep4
        rl a
        rl a
        rl a
        rl a
        anl a,11110000
        sjmp tiep
        tiep4:
        cjne r7,#3,tiep5
        rl a
        rl a
        rl a
        rl a
        rl a
        anl a,11100000
        sjmp tiep
        tiep5:
        cjne r7,#2,tiep6
        rl a
        rl a
        rl a
        rl a
        rl a
        rl a
        anl a,11000000
        sjmp tiep
        tiep6:
        cjne r7,#1,tiep7
        rl a
        rl a
        rl a
        rl a
        rl a
        rl a
        rl a
        anl a,10000000
        sjmp tiep
        tiep7:
        clr a
        tiep:
        call mauxanh
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p1,# 00h
        inc dpl
        djnz r1,nll1
        djnz r0,nll2
        ret

        chunhapnhaymauxanh :
        nn2 : mov dpl,r2
        setb p3.1
        setb p3.4
        mov r1,#32
        nn1: clr a
        movc a,@a+dptr
        call mauxanh
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p1,# 00h
        inc dpl
        djnz r1,nn1
        djnz r0,nn2
        ret

        chusangdanmauxanh_doc :
        mov r7,#08
        ln2 : dec r7
        mov dpl,r2
        setb p3.1
        setb p3.4
        mov r1,#32
        ln1: clr a
        movc a,@a+dptr
        cjne r7,#07,kt1
        acall nhay00
        sjmp ketthuckt
        kt1:
        cjne r7,#06,kt2
        acall nhay00
        acall nhay01
        sjmp ketthuckt
        kt2:
        cjne r7,#05,kt3
        acall nhay00
        acall nhay01
        acall nhay02
        sjmp ketthuckt
        kt3:
        cjne r7,#04,kt4
        acall nhay00
        acall nhay01
        acall nhay02
        acall nhay03
        sjmp ketthuckt
        kt4:
        cjne r7,#03,kt5
        acall nhay00
        acall nhay01
        acall nhay02
        acall nhay03
        acall nhay04
        sjmp ketthuckt
        kt5:
        cjne r7,#02,kt6
        acall nhay00
        acall nhay01
        acall nhay02
        acall nhay03
        acall nhay04
        acall nhay05
        sjmp ketthuckt
        kt6:
        cjne r7,#01,kt7
        acall nhay00
        acall nhay01
        acall nhay02
        acall nhay03
        acall nhay04
        acall nhay05
        acall nhay06
        sjmp ketthuckt
        kt7:
        acall maudo
        ketthuckt:
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ; mov p1,# 00h
        inc dpl
        djnz r1,nn1
        djnz r0,nn2
        ret


        chunhapnhaymaudo :
        n2 : mov dpl,r2
        setb p3.1
        setb p3.4
        mov r1,#32
        n1: clr a
        movc a,@a+dptr
        call maudo
        setb p3.0
        call delayl
        clr p3.1
        clr p3.0
        call delayl
        ;mov p2,# 00h
        inc dpl
        djnz r1,n1
        djnz r0,n2
        ret



        chuchaymauxanh:


        lap2:
        mov r0,#25
        lap1:
        mov 05h,02h
        ; Set bit ab
        SETB P3.1
        mov r1,#32
        lap:
        clr a
        mov dpl,r5
        movc a,@a+dptr
        call mauxanh
        ; Tao xung clock
        SETB P3.0
        acall delayl
        CLR P3.0
        CLR P3.1
        acall delayl
        inc r5
        djnz r1,lap
        djnz r0,lap1
        INC R2
        ret

        chuchaymaudo:


        lapp2:
        mov r0,#25
        lapp1:
        mov 05h,02h
        ; Set bit ab
        SETB P3.1
        mov r1,#32
        lapp:
        clr a
        mov dpl,r5
        movc a,@a+dptr
        call maudo
        ; Tao xung clock
        SETB P3.0
        acall delayl
        CLR P3.0
        CLR P3.1
        acall delayl
        inc r5
        djnz r1,lapp
        djnz r0,lapp1
        INC R2
        ret

        chuchaymaucam:

        llap2:
        mov r0,#25
        llap1:
        mov 05h,02h
        ; Set bit ab
        SETB P3.1
        mov r1,#32
        llap:
        clr a
        mov dpl,r5
        movc a,@a+dptr
        call mauxanh
        call maudo
        ; Tao xung clock
        SETB P3.0
        acall delayl
        CLR P3.0
        CLR P3.1
        acall delayl
        inc r5
        djnz r1,llap
        djnz r0,llap1
        INC R2
        ret

        chuchaymaudo_nenxanh:


        llaap2:
        mov r0,#25
        mov r7,#7

        llaap1: dec r7
        mov a,r7
        mov r6,a

        mov 05h,02h
        ; Set bit ab
        SETB P3.1
        mov r1,#32
        llaap:
        clr a
        mov dpl,r5
        movc a,@a+dptr
        call maudo
        ; Tao xung clock
        SETB P3.
        acall delayl
        CLR P3.0
        CLR P3.1
        acall delayl
        inc r5
        djnz r1,llaap
        djnz r0,llaap1
        INC R2


        ret
        ;===========================

        delayl:
        mov r4,#50
        djnz r4,$
        ret

        ;===========================
        chol:
        mov r6,#01h
        w1: mov r7,#40h
        djnz r7,$
        djnz r6,w1
        ret


        org 0900h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h


        db 0ffh,02h,04h,02h,0ffh,00h ; M
        db 7fh,80h,80h,80h,7fh,00h ; U
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 7eh,81h,89h,89h,0f8h,00h ; G
        db 00h,00h,00h
        db 81h,42h,3ch,42h,81h,00h ; X
        db 7fh,80h,80h,80h,7fh,00h ; U
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 00h,00h,00h
        db 0c2h,0a1h,91h,89h,86h,00h ; 2
        db 7eh,81h,81h,81h,7eh,00h ; 0
        db 7eh,81h,81h,81h,7eh,00h ; 0
        db 4eh,91h,91h,91h,7eh,00h ; 9


        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h

        org 0a00h

        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 3ch,42h,42h,24h,00h ;C
        db 7eh,08h,08h,7eh,00h ;H
        db 3eh,40h,40h,3eh,00h ;U
        db 3ch,42h,42h,24h,00h ;C
        db 00h,00h
        db 3ch,42h,4ah,7ah,00h ;G
        db 42h,7eh,42h,00h ;I
        db 7ch,12h,12h,7ch,00h ;A
        db 00h,00h
        db 7eh,42h,42h,3ch,00h ;D
        db 42h,7eh,42h,00h ;I
        db 7eh,04h,08h,7eh,00h ;N
        db 7eh,08h,08h,7eh,00h ;H
        db 00h,00h
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 3ch,42h,42h,3ch,00h ;O
        db 02h,02h,7eh,02h,02h,00h ;T
        db 00h,00h
        db 7eh,04h,08h,7eh,00h ;N
        db 7ch,12h,12h,7ch,00h ;A
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 00h,00h
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 3ch,42h,42h,3ch,00h ;O
        db 42h,7eh,42h,00h ;I
        db 00h,00h
        db 7eh,18h,24h,42h,00h ;K
        db 7eh,08h,08h,7eh,00h ;H
        db 3ch,42h,42h,3ch,00h ;O
        db 7eh,4ah,4ah,42h,00h ;E
        db 00h,00h
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 7ch,12h,12h,7ch,00h ;A
        db 7eh,04h,08h,7eh,00h ;N
        db 7eh,08h,08h,7eh,00h ;H
        db 00h,00h
        db 1eh,20h,40h,20h,1eh,00h ;V
        db 7ch,12h,12h,7ch,00h ;A
        db 00h,00h
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 7ch,12h,12h,7ch,00h ;A
        db 06h,08h,70h,08h,06h,00h ;Y
        db 00h,00h
        db 7eh,04h,08h,04h,7eh,00h ;M
        db 7ch,12h,12h,7ch,00h ;A
        db 7eh,04h,08h,7eh,00h ;N


        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h







        org 0e00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 81h,42h,3ch,42h,81h,00h ; X
        db 7fh,80h,80h,80h,7fh,00h ; U
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 00h,00h,00h
        db 0ffh,18h,24h,42h,81h,00h ; K
        db 07h,08h,0F0h,08h,07h,00h ; y
        db 00h,00h,00h
        db 46h,89h,89h,89h,72h,00h ; S
        db 7fh,80h,80h,80h,7fh,00h ; U
        db 7fh,80h,80h,80h,7fh,00h ; U

        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h

        org 0f00h

        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 00h,00h,00h
        db 0ffh,18h,24h,42h,81h,00h ; K
        db 0ffh,08h,08h,08h,0ffh,00h ; H
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 7eh,81h,89h,89h,0f8h,00h ; G

        db 08h,08h,08h,08h, 00h ; -

        db 01h, 01h,0ffh,01h,01h,00h ; T
        db 0ffh,08h,08h,08h,0ffh,00h ; H
        db 81h,0FFh,81h,00h ; I
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 0ffh,08h,08h,08h,0ffh,00h ; H
        db 00h,00h,00h
        db 3Fh,40h,80h,40h,3Fh,00h ; V
        db 7fh,80h,80h,80h,7fh,00h ; U
        db 7eh,81h,81h,81h,7eh,00h ; 0
        db 0ffh,02h,04h,08h,0ffh,00h, ; N
        db 7eh,81h,89h,89h,0f8h,00h ; G
        db 00h,00h,00h
        db 01h, 01h,0ffh,01h,01h,00h ; T
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 00h,00h,00h
        db 01h, 01h,0ffh,01h,01h,00h ; T
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 81h,0FFh,81h,00h ; I

        db 08h,08h,08h,08h,00h ; -

        db 01h, 01h,0ffh,01h,01h,00h ; T
        db 0fch,0ah,09h,0ah,0fch,00h ; A
        db 0ffh,02h,04h,08h,0ffh,00h ; N
        db 00h,00h,00h
        db 0ffh,80h,80h,80h,80h,00h ; L
        db 7eh,81h,81h,81h,7eh,00h ; 0
        db 7eh,81h,81h,81h,42h,00h ; C
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h
        db 00h,00h,00h,00h,00h,00h


        end

        , đây là ct mình viết cho matrix led trong đợt tết vừa rồi, nhưng mà chưa có phần cứng để thử, bạn có phần cứng để thử thì test luôn cái nhé.
        mình sẽ sớm viết bằng C cho. Chắc là sau 30-4 đã.
        Vũ xuân Lợi
        YM!:

        Comment


        • To vuxuanloi:
          Chương trình của bạn dài quá mà post trực tiếp lên đây thật khó theo dõi. Sao bạn không up lên dưới dạng file gửi kèm ý, để mọi người cùng down về nghiên cứu sẽ dễ dàng hơn.

          Đôi điều góp ý!

          Thân mến,
          For a better world

          Comment


          • Nguyên văn bởi Toan.Lv Xem bài viết
            To vuxuanloi:
            Chương trình của bạn dài quá mà post trực tiếp lên đây thật khó theo dõi. Sao bạn không up lên dưới dạng file gửi kèm ý, để mọi người cùng down về nghiên cứu sẽ dễ dàng hơn.

            Đôi điều góp ý!

            Thân mến,
            Sorry, mới lần đầu tham gia diễn đàn, , không để ý, lần sau mình rút kinh nghiệm.
            Vũ xuân Lợi
            YM!:

            Comment


            • Nguyên văn bởi lenguyenkhoa Xem bài viết
              Chào các bác, có lẽ mình là thành viên mới tinh của diễn đàn, trước giờ chỉ tham khảo tài liệu chứ chưa post bài bao giờ, vì chưa biết gì nên chưa post ^^.Mình có một vấn đề nản giải (đối với mình) cần hỏi mọi người nhưng lại không muốn lập topic mới,tìm được topic này mình post vào đây mong mọi người ai biết giúp đỡ mình,không biết thì cũng xem cho biết.
              Hiện mình đang có đồ án thiết kế 2*6 12 cái matrix led 8*8,sử dụng bàn phím 4*4 16 nút bằng con 89c52. Nhiệm vụ của nó là nhận ký tự từ bàn phím rồi hiển thị thông tin lên matrix led và chạy khi ấn run.bàn phím 16 nút có space khoảng trắng, enter > ấn phím này để có thể nhập ký tự tiếp theo, run chay chữ khi đã nhập xong, speed upspeed down,các nút còn lại để nhập chữ và số trong bảng chữ cái Eng và Viet.
              Sơ đồ mạch mình gửi kèm phía dưới, nó là sơ đồ theo tài liệu thầy gửi cho mình và được mình vẽ lại bằng proteus.Mạch có sử dụng Ram ngoài 6264,ic mở port chung với 89c52 là 8255, chốt 74hc373 và chọn ic 74hc138.
              Đây là đồ án của mình, có lẽ mình không nên hỏi ai nhưng thật sự là mình không hiểu cách hoạt động của nó tí gì cả(có lẽ mình kém).
              Mong có bác nào giúp mình biết cách hoạt động chính xác của nó,góp ý, hướng dẫn mình viết code keilC thì càng tốt ^^.Mình cám ơn trước!!!
              Yahoo của mình closest_to_heaven_1988@yahoo.com.Thân!
              Mình thấy bàn phím nhỏ như vậy thì gọi kí tự phát ốm mất, sao bạn không dùng giao tiếp với máy tính có chuyên nghiệp hơn không?
              Vũ xuân Lợi
              YM!:

              Comment


              • Nguyên văn bởi daominhchien Xem bài viết
                bạn có vẻ ko tin lắm nhỉ. bạn đã thử thế chưa giá thành rẻ hiệu quả cao đây! chỉ 2803 tớ cho chạy tới nghìn LED cơ...cho mình add đi anh em mình gặp nhau chắc vui hơn.
                Mình nghe nói ULN2803 Vcemax/Icmax=50V/500mA, bạn có biết con nào cũng tương tự như 2803 nhưng cửa ra là mức cao không?
                Vũ xuân Lợi
                YM!:

                Comment


                • for: han_conan
                  Mình vừa mới viết ct này mà không có mô phỏng và phần cứng để test, nhờ bạn test giúp luôn. Chú ý đến delay(25);. Bạn nghĩ thêm được hiệu ứng gì thì nêu ra cho mình viết thử với.
                  Rất mong được sự hợp tác và giúp đỡ vì mình cũng chỉ mới học C và chưa thử qua phần cứng nào hết. Cảm ơn!

                  À quên, phần cứng của cả codeC và ASM mà mình viết, dùng 74164 giống của bạn nào đó đưa lên ở phía trên.
                  Attached Files
                  Vũ xuân Lợi
                  YM!:

                  Comment


                  • mọi người cho em hỏi tí.
                    giờ ta có giá trị của 1 thanh ghi là 0b00001111
                    giờ nếu ta thực hiện lệnh dịch trái 5 bit thì giá trị của thanh ghi khi đó là bao nhiêu?
                    thanks

                    Comment


                    • mọi người cho em hỏi tí.
                      giờ ta có giá trị của 1 thanh ghi là 0b00001111
                      giờ nếu ta thực hiện lệnh dịch trái 5 bit thì giá trị của thanh ghi khi đó là bao nhiêu?
                      - giá trị của nó là: 0b11100000
                      - Khi bạn dịch trái 1 lần, thì bít 7 sẽ bị đẩy ra ngoài sau đó tất cả các bít còn lại sẽ dịch lên 1 vị trí. Ở vị trí bít 0 thì sau khi dịch nội dung của nó sẽ bằng 0.
                      - Từ đó bạn có thể biết được giá trị của thanh ghi khi dịch trái đi 5 bít.
                      - Đây là sự khác nhau giữa phép dịch và phép quay. Nếu quay thì nội dung bít 0 sau khi dịch trái đi 1 bít sẽ là nội dung của bít 7 ban đầu.

                      Thân mến,
                      For a better world

                      Comment


                      • Nguyên văn bởi Toan.Lv Xem bài viết
                        - giá trị của nó là: 0b11100000
                        - Khi bạn dịch trái 1 lần, thì bít 7 sẽ bị đẩy ra ngoài sau đó tất cả các bít còn lại sẽ dịch lên 1 vị trí. Ở vị trí bít 0 thì sau khi dịch nội dung của nó sẽ bằng 0.
                        - Từ đó bạn có thể biết được giá trị của thanh ghi khi dịch trái đi 5 bít.
                        - Đây là sự khác nhau giữa phép dịch và phép quay. Nếu quay thì nội dung bít 0 sau khi dịch trái đi 1 bít sẽ là nội dung của bít 7 ban đầu.

                        Thân mến,
                        vậy mà em toàn nhầm với phép quay.
                        thế để thực hiện lệnh quay ta dùng lệnh gì? hay vẫn phải dùng thuật toán để viết.
                        thanks alot

                        Comment


                        • Nguyên văn bởi rongconn2t Xem bài viết
                          vậy mà em toàn nhầm với phép quay.
                          thế để thực hiện lệnh quay ta dùng lệnh gì? hay vẫn phải dùng thuật toán để viết.
                          thanks alot
                          không có lệnh quay đâu bạn ạ, nhưng mà bạn thử dùng đoạn lệnh sau xem sao.

                          unsigned char quayphai(unsigned char a, i)
                          {
                          unsigned char b;
                          b=a>>i;
                          a<<=(8-i);
                          a|=b;
                          return(a);
                          }
                          Vũ xuân Lợi
                          YM!:

                          Comment


                          • không có lệnh quay đâu bạn ạ, nhưng mà bạn thử dùng đoạn lệnh sau xem sao.
                            - Thực ra trong Keil vẫn có lệnh quay, nó nằm trong thư viện INTRINS.H. Thực ra đây là một hàm được định nghĩa sẵn thì đúng hơn. Trước khi sử dụng các hàm này cần phải include file INTRINS.H ở đầu chương trình. Đây là nội dung của file INTRINS.H
                            /*--------------------------------------------------------------------------
                            INTRINS.H

                            Intrinsic functions for C51.
                            Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil Software, Inc.
                            All rights reserved.
                            --------------------------------------------------------------------------*/

                            #ifndef __INTRINS_H__
                            #define __INTRINS_H__

                            extern void _nop_ (void);
                            extern bit _testbit_ (bit);
                            extern unsigned char _cror_ (unsigned char, unsigned char);
                            extern unsigned int _iror_ (unsigned int, unsigned char);
                            extern unsigned long _lror_ (unsigned long, unsigned char);
                            extern unsigned char _crol_ (unsigned char, unsigned char);
                            extern unsigned int _irol_ (unsigned int, unsigned char);
                            extern unsigned long _lrol_ (unsigned long, unsigned char);
                            extern unsigned char _chkfloat_(float);
                            extern void _push_ (unsigned char _sfr);
                            extern void _pop_ (unsigned char _sfr);

                            #endif
                            Thân mến,
                            For a better world

                            Comment


                            • Nguyên văn bởi Toan.Lv Xem bài viết
                              - Thực ra trong Keil vẫn có lệnh quay, nó nằm trong thư viện INTRINS.H. Thực ra đây là một hàm được định nghĩa sẵn thì đúng hơn. Trước khi sử dụng các hàm này cần phải include file INTRINS.H ở đầu chương trình. Đây là nội dung của file INTRINS.H


                              Thân mến,
                              Ừ, hờ hờ, mình cũng đọc ở đâu đó rồi, nhưng lại nhớ là intris.h, :d, lúc thử thư viện này thấy báo lỗi, quyết định vội vàng quá. , cũng may là dám ý kiến ý cò mới biết chớ, mình mới biết thêm <intrins.h>.
                              Còn nữa, mình vẫn chưa biết sử dụng chúng như thế nào, ví dụ trong <stdio.h> người ta định nghĩa là: extern int printf (const char *, ...); hi vọng bạn có thể phân tích ý nghĩa và cách sử dụng cho mình? nó có giống hàm printf(""); trong tuborC không?
                              Vì mình tự học C nên rất khó khăn, rất mong được sự giúp đỡ của các bạn.
                              Cảm ơn rất nhiều!
                              Last edited by vuxuanloi; 06-05-2009, 23:35.
                              Vũ xuân Lợi
                              YM!:

                              Comment


                              • co ai giup e voi
                                e can biet dia chi 8400h,8500h,8501h,8502h thuoc chan nao cua con 8051
                                thanks

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X