Thông báo

Collapse
No announcement yet.

đồ án 89c51 làm mạch quang báo cần giúp một tay

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

  • đồ án 89c51 làm mạch quang báo cần giúp một tay

    Có anh chị nào có đồ án về mạch quang báo Led Ma trận không,cho em xin để tham khảo làm đồ án được không ạ, em tìm kiếm mãi mà chưa kiếm được cái nào, mong mấy anh chị giúp đỡ, nếu có thêm giao tiếp với máy vi tính thì càng tốt, tại em chỉ mới có ý tưởng chứ mạch cũng chưa biết phải làm sao, nên mong anh chị giúp đỡ nhiệt tình

    Em học lập trình bằng ASM,và đồ án em tính sử dụng con 89c51

  • #2
    ban tham khao cai nay
    http://www.mediafire.com/?be9cuaqb2waqltw
    http://www.mediafire.com/?uj2p2npq34eq660

    Comment


    • #3
      Cái này có cả gói từ mạch in đến code, bạn cần thì liên hệ qua mail

      Comment


      • #4
        Bạn gửi cho mình tham khảo nhé. Thanks bạn nhiều
        hnuong123@yahoo.com.vn

        Comment


        • #5
          Bạn làm kích thước thế nào? phải nói rõ yêu câu như thế nào thì mọi người mới góp ý được chứ.
          Last edited by lenovo_y410; 10-11-2010, 10:52.

          Comment


          • #6
            Nguyên văn bởi tranque70 Xem bài viết
            Cái này có cả gói từ mạch in đến code, bạn cần thì liên hệ qua mail
            minh dang lam do an ma tran led 16x16 ban gui giup minh nhe mail:lexuanhoangktv@gmail.com

            Comment


            • #7
              Nguyên văn bởi tranque70 Xem bài viết
              Cái này có cả gói từ mạch in đến code, bạn cần thì liên hệ qua mail
              mình làm đồ án led ma trận 8x16, chạy nhiều kiểu, hiển thị 2 màu xanh đỏ, bạn giup mình với nha mail của mình:robben_nhg@yahoo.com, thanks bạn nhiều!

              Comment


              • #8
                em tính làm khoảng 8x64 hoặc 8x48, chạy chữ các kiểu, 1 màu thui, dùng thêm con 74595 để dịch, có kết nối đc với máy vi tính thì càng tốt

                Comment


                • #9
                  ;************************************************* *******************************
                  ;**************//////------------ MATRIX 16x64 ----------\\\\\\******************
                  ;**------------------------------------------------------------------------------
                  ;**////////////////__ Chuong trinh chay chu tren bo led ___\\\\\\\\\\\\\\\\\\\\\\
                  ;**///////////////__ ma tran 8x8 loai 1 mau ________________\\\\\\\\\\\\\\\\\\\\\
                  ;**//////////////___ Su dung vi dieu khien 89C52 cua ATMEL __\\\\\\\\\\\\\\\\\\\\
                  ;**<<<<<<<<<<<<<---------------------------------------------->>>>>>>>>>>>>>>>>>>
                  ;**\\\\\\\\\\\\\\\ ---------- PhanKey_Electric ---------- ////////////////////
                  ;************************************************* *******************************
                  ;*****
                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  ;@@@ CAC TEN BIT DUNG TRONG CHUONG TRINH @@@
                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

                  E bit p0.3
                  DATA_OUT BIT P0.4
                  SH BIT P0.5
                  GREEN BIT P0.6
                  RED BIT P0.7
                  f_run BIT 7FH

                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  ;@@@ CAC TEN BYTE DUNG TRONG CHUONG TRINH @@@
                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  data_row equ p2
                  index_byte_row equ 30h
                  num_row EQU 16
                  num_byte_collum equ 8
                  index_point equ 31h
                  index_reg1 equ 32h
                  index_reg2 equ 33h
                  num_bit equ 34h
                  width_byte equ 35h
                  buffer_dptrh equ 36h
                  buffer_dptrl equ 37h
                  buffer_dptrh1 equ 38h
                  buffer_dptrl1 equ 39h
                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  ;@@@ start@@@
                  ;@@@ OSC 12Mhz@@@
                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

                  org 0000h
                  ljmp main
                  org 000bh
                  ljmp ngat_timer0
                  org 0030h
                  main:
                  clr f_run
                  mov num_bit,#0

                  mov dptr,#string_code+2
                  mov a,#0
                  movc a,@a+dptr
                  mov width_byte,a
                  mov dptr,#string_code-6
                  lcall set_index_dptr
                  mov buffer_dptrh1,dph
                  mov buffer_dptrl1,dpl
                  mov dptr,#string_code+3
                  mov buffer_dptrh,dph
                  mov buffer_dptrl,dpl
                  mov index_point,#0
                  mov index_byte_row,#0
                  lcall init_interrupt
                  ljmp begin
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  begin:
                  ___here:
                  mov ie,#82h
                  jnb f_run,___here
                  mov ie,#0
                  clr f_run
                  inc num_bit
                  mov a,num_bit
                  cjne a,#9,___here
                  ;mov ie,#0
                  mov num_bit,#0
                  mov a,dpl
                  cjne a,buffer_dptrl1,___skip3
                  mov a,dph
                  cjne a,buffer_dptrh1,___skip3
                  mov dptr,#string_code+3
                  mov buffer_dptrh,dph
                  mov buffer_dptrl,dpl
                  mov index_byte_row,#0
                  sjmp ___here
                  ___skip3:
                  inc dptr
                  mov buffer_dptrh,dph
                  mov buffer_dptrl,dpl
                  ;mov ie,#82h
                  sjmp ___here
                  sjmp $
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  init_interrupt:
                  mov tmod,#01h
                  setb tr0
                  setb tf0
                  mov ie,#82h
                  ret
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ngat_timer0:
                  mov th0,#0f3h
                  mov tl0,#0a8h ;12^6/12/50hz/16=1250(fb1e)
                  lcall shift_data
                  lcall set_index_dptr
                  inc index_byte_row
                  mov a,index_byte_row
                  cjne a,#num_row,___exit
                  mov index_byte_row,#0
                  mov dph,buffer_dptrh
                  mov dpl,buffer_dptrl
                  setb f_run
                  ___exit:
                  reti
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  shift_data:
                  setb E ;ta't ma`ng hi`nh de^? cho^'ng lem led
                  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                  mov index_reg1,#num_byte_collum
                  ___loop1:
                  mov index_reg2,#8
                  mov a,index_point
                  movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
                  ___loop2:
                  clr c
                  rlc a
                  mov DATA_OUT,c
                  clr SH
                  setb SH
                  djnz index_reg2,___loop2 ;dich du 8 bit
                  inc index_point
                  djnz index_reg1,___loop1 ;dich du 8 byte
                  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                  mov a,num_bit ;de kiem tra co zero
                  jz ___skip1
                  mov index_reg2,num_bit
                  mov a,index_point
                  movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
                  ___loop3:
                  clr c
                  rlc a
                  mov DATA_OUT,c
                  clr SH
                  setb SH
                  djnz index_reg2,___loop3 ;dich du 8 bit
                  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                  ___skip1:
                  clr GREEN
                  setb GREEN
                  mov data_row,index_byte_row ;chon hang va tich cuc hc154
                  clr E
                  mov index_point,#0
                  ret

                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  set_index_dptr:
                  mov a,dpl
                  add a,width_byte
                  mov dpl,a
                  jnc ___skip2
                  inc dph
                  ___skip2:
                  ret
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ;################################################# ######################################
                  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  string_code:

                  ;them ma chu vao day nha ( 16X thoi)


                  end
                  các Bạn tham khảo cái này nhá!

                  Comment


                  • #10
                    /* CHUONG TRINH HIEN led matric 16x64
                    Version: 2.3 using test
                    Date: 3-10-2009
                    Programer: huyhtqn@gmail.com
                    Checksum:
                    Hien thi led matric */

                    #include "regx52.h"
                    #include "font_code.h"
                    #define scan_led P2
                    /////////////////////////////
                    //////THIET LAP BAN DAU//////
                    #define so_led 8 //boi cu?a 8
                    #define so_hang 16 //chieu cao cua font chu
                    #define multi so_hang+1 //
                    #define cot_font 11 //chieu ngang cua font chu
                    #define en_run 1 //1: chay <----> 0 dung
                    ////////////////////////////

                    typedef unsigned char uchar;
                    typedef unsigned int uint;
                    sbit rck=P3^2;
                    sbit srck=P3^0;
                    sbit ser_in=P3^1;
                    sbit en_hc154=P3^3;

                    bit run=0,en=en_run;
                    idata uchar display_buffer[so_hang][so_led];
                    idata uchar shift_buffer[so_hang];
                    uchar row_buffer[16]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
                    uchar row_led[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
                    uchar tocdoh=0xf6,tocdol=0x00;
                    uchar kitu_code=0;
                    char row=multi;
                    void shift_dataled();
                    void test_led();
                    void clear_buffer();
                    void run_string();
                    void copy_datacode();
                    void scan_dataled_code();
                    void init_interrupt();

                    ////////////////////////////////
                    ///////ngat timer 0////////////
                    void isr_timer0() interrupt 1 using 1
                    {
                    TH0=tocdoh,TL0=tocdol;
                    if(--row==-1) row=multi-1;
                    shift_dataled();
                    if(row==so_hang) run=1;
                    }
                    ////////////////////////////////
                    /////////chuong trinh chinh/////
                    void main()
                    {
                    uchar w;
                    init_interrupt();
                    test_led();
                    clear_buffer();
                    if(en==0) scan_dataled_code();

                    while(1)
                    {
                    if((run==1)&(en==1)){
                    IE&=0xfd;
                    run_string(),run=0;
                    if(++w==8) copy_datacode(),w=0;
                    row=so_hang;
                    IE|=0x02;
                    }

                    }

                    }
                    ////////////////////////////////
                    ////////kiem tra led////////////
                    void test_led()
                    {
                    uchar i,j;
                    uint t_delay=10000;
                    for(i=0;i<so_hang;i++)
                    for(j=0;j<so_led;j++)
                    display_buffer[i][j]=0xff;
                    while(--t_delay);
                    }
                    void clear_buffer()
                    {
                    uchar i,j;
                    for(i=0;i<so_hang;i++)
                    for(j=0;j<so_led;j++)
                    display_buffer[i][j]=0;
                    }

                    ////////////////////////////////
                    ///////dich data va quet led////
                    void shift_dataled()
                    {
                    char i,j;

                    srck=0;
                    rck=0;
                    if(row<so_hang){
                    for(i=0;i<so_led;i++)
                    for(j=0;j<8;j++){
                    ser_in=display_buffer[row][i]&row_buffer[7-j];
                    srck=1;
                    srck=0;
                    }
                    en_hc154=1;
                    rck=1;
                    rck=0;
                    scan_led=row_led[row];
                    en_hc154=0;
                    }

                    }
                    void copy_datacode()
                    {
                    uchar i;
                    static uchar j;
                    for(i=0;i<so_hang;i++)
                    shift_buffer[i]=Bmp002[Bmp002[2]*i+3+j];
                    if(++j==Bmp002[2]) j=0;
                    }
                    ////////////////////////////////
                    ////////chay chuoi//////////////
                    void run_string()
                    {
                    uchar i,j;
                    for(i=0;i<so_hang;i++)
                    {
                    for(j=0;j<so_led;j++)
                    {
                    display_buffer[i][j]<<=1;
                    if(j!=(so_led-1)) display_buffer[i][j]|display_buffer[i][j+1]&0x80)>>7);
                    else display_buffer[i][j]|shift_buffer[i]&0x80)>>7);
                    }
                    shift_buffer[i]<<=1;
                    }
                    }
                    void scan_dataled_code()
                    {
                    uchar i,j;
                    for(i=0;i<so_hang;i++){
                    for(j=0;j<so_led;j++){
                    display_buffer[i][j]=Bmp002[Bmp002[2]*i + 3+j];
                    }
                    }
                    }
                    ////////////////////////////////
                    //////khoi dong ngat////////////
                    void init_interrupt()
                    {
                    TMOD=0x01; //timer0 che do 1 16b
                    TH0=0xF8;
                    TL0=0x30;
                    TR0=1;
                    TR1=1;
                    IE=0x82; //cho phep ngat timer0
                    }


                    bằng c nè

                    Comment


                    • #11
                      //$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
                      // CopyRight(c) LED-DND date:10/11/2010 email:ict_2010@yahoo.com //
                      //$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
                      ////////////////////////////////////////////////////////////////////////////////////
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      #include "LED_DND.h" //file font and dim
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      ///////////////////////////////////
                      #define iLED_COLUMNS 64 //cot bang led
                      #define iLED_ROWS 16 //hang bang led
                      #define iMicro_Bit 8 //loai chip
                      #define iJump_Back (iLED_COLUMNS/iMicro_Bit)
                      #define iBit_Test 0x80 //bit thu 7
                      ///////////////////////////////////
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      unsigned char code *DPTR_NEXT;//con tro tiep
                      unsigned int DPTR_END; //ket thuc
                      unsigned char i,j;
                      unsigned char iOffset;
                      unsigned char RegisterA;//gia? thanh ghi A trong assembly
                      unsigned char code *String_code; //DPTR assembly
                      unsigned char iShift_Register;
                      signed char iRows; //hang thu iRows
                      bit Enable_Run; //cho phep chay
                      bit Left_Right;//Left_Right==0 thi dich trai,Left_Right==1 thi dich phai

                      ///////////////////////////////
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      ///////////////////////////////////
                      void Shift_Data_Micro()
                      {
                      for(j=iMicro_Bit;j>0;j--)
                      {

                      BIT_SHIFT=RegisterA&iBit_Test;
                      RegisterA<<=1;
                      SH_CP=0;
                      SH_CP=1;
                      }
                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      ////////////////////////////////////
                      void Shift_Data_Reg()
                      {
                      for(j=iShift_Register;j>0;j--)
                      {
                      BIT_SHIFT=RegisterA&iBit_Test;
                      RegisterA<<=1;
                      SH_CP=0;
                      SH_CP=1;
                      }
                      }
                      ///////////////////////////////////
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void Data_Show()
                      {
                      ON_OFF_DEMUX=1;
                      ST_CP=0;
                      ST_CP=1;
                      PORT_ADDRESS=iRows;
                      ON_OFF_DEMUX=0;
                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void DataShift_Left()
                      {
                      for(i=0;i<iJump_Back;i++)//hien thi het iJump_Back bytes
                      {
                      RegisterA=String_code[i];
                      Shift_Data_Micro();
                      }
                      RegisterA=String_code[i];
                      Shift_Data_Reg();

                      Data_Show();
                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void DataShift_Right()
                      {
                      RegisterA=*String_code;
                      if(iShift_Register!=iMicro_Bit)
                      RegisterA<<=(iMicro_Bit-iShift_Register);
                      Shift_Data_Reg();
                      for(i=1;i<iJump_Back;i++)
                      {
                      RegisterA=String_code[i];
                      Shift_Data_Micro();
                      }
                      RegisterA=String_code[i];
                      i=iShift_Register; //luu tam gia tri
                      iShift_Register=(iMicro_Bit-iShift_Register);
                      Shift_Data_Reg();
                      iShift_Register=i; //tra lai
                      Data_Show(); //hien thi
                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void interrupt_timer0() interrupt 1 //1 la ngat timer0,4 la ngat timer1
                      {
                      TH0=0xf6; //24h/s ,if crystal=12Mhz then value12Mhz/12)/iLED_ROWS)/24;
                      TL0=0x00; // =>value=2560;=> TH1=0xf6,TL1=0x00
                      if(iRows<iLED_ROWS)
                      {
                      if(Left_Right==0)
                      DataShift_Left();
                      else
                      DataShift_Right();
                      String_code=String_code+iOffset;//nhay den hang tiep theo
                      iRows++;
                      }
                      else
                      {
                      Enable_Run=1;
                      iRows=0;
                      String_code=DPTR_NEXT;
                      }

                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/

                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void Function_Run_LeftRight()
                      {
                      IE=0x82;
                      while(1)
                      {
                      if(Enable_Run==1)
                      {
                      IE=0x00;
                      Enable_Run=0;
                      iShift_Register++;
                      if(iShift_Register==(iMicro_Bit+1))
                      {
                      iShift_Register=1;
                      if(Left_Right==0)
                      if(String_code<=DPTR_END)
                      String_code++;
                      else
                      break;
                      else
                      if(String_code>DPTR_END)
                      String_code--;
                      else
                      break;
                      DPTR_NEXT=String_code;
                      }
                      IE=0x82;
                      }
                      }

                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/

                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      void main()
                      {
                      /*
                      Cai dat thong so ban dau
                      */
                      TMOD=0x01;
                      TR0=1;
                      TF0=1;
                      iRows=0;
                      iShift_Register=1;//so bit dich lan dau
                      iOffset=31;//so byte nhay toi
                      Enable_Run=0; //bit doi den khi iRows=16 thi Enable_Run=1
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      while(1)
                      {


                      String_code=DATA_OFFSET; //tro den du lieu trong file LED_DND.h
                      DPTR_END=String_code+22;//gia tri ket thuc
                      DPTR_NEXT=String_code; //tiep theo
                      Left_Right=0; //cho chay trai
                      Function_Run_LeftRight(); //chay chuong trinh dich trai
                      String_code=DATA_OFFSET+23;//23 la gia tri 7+15+1=23,7 bytes 0x00(first)+15 bytes code+1 byte 0x00
                      //xem trong "LED_DND.h"
                      DPTR_NEXT=String_code;
                      DPTR_END=DATA_OFFSET;
                      Left_Right=1; //cho chay phai
                      Function_Run_LeftRight(); //dich phai

                      }
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      /*&&&&######&&&&!!!!!!!!!!!!!!!!&&&&######&&&&*/
                      // Have fun!
                      /*&&&&######&&&&!!!!!!!!!!!!!!!!&&&&######&&&&*/
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/


                      file font LED_DND.h :
                      //chuong trinh mo phong di kem,dung proteus
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      ///////////////////////////////////
                      /// define chip 8051
                      ///////////////////////////////////
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      sfr PORT_ADDRESS=0xA0; //P2
                      sbit SH_CP=0xB0; //P3.0
                      sbit ST_CP=0xB2; //P3.2
                      sbit BIT_SHIFT=0xB1; //P3.1
                      sbit ON_OFF_DEMUX=0xB3; //P3.3
                      sfr TH0=0x8C;
                      sfr TL0=0x8A;
                      sfr TMOD=0x89;
                      sfr IE=0XA8;
                      sfr TL1= 0x8B;
                      sfr TH1= 0x8D;
                      //sfr RegisterA=0xE0;
                      //sbit C=0xD7;
                      sbit TR0=0x8C;
                      sbit TF0=0x8D;
                      sbit TR1 = 0x8E;
                      sbit TF1 = 0x8F;
                      /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
                      ////////////////////////////////
                      /*
                      +Duoi day la ma chu cua anh Tien Huy chay chu:lop dien tu k2
                      +File LED-C.C la file toi viet khac so voi file cua anh Tien Huy viet
                      +Chuong trinh duoc viet tren phan mem uVision3
                      lam on chi cho toi cach chen assembly vao code c trong uVision,thanks
                      */
                      unsigned char code DATA_OFFSET[]=
                      {
                      /*------------------------------------------------------------------------------
                      ; If font display distortion, please check Fonts format of setup.
                      ; Source file / text : Líp ®iÖn tö K2
                      ; Width x Height (pixels) :243X16
                      ; Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/496Byte
                      ; Font make date : 10/11/2009 7:32:20 AM
                      ------------------------------------------------------------------------------*/
                      //0xF3,0x10,0x1F,//Width pixels,Height pixels,Width bytes <<== toi bo du lieu nay
                      //va duoc cai dat ban dau trong file LED-C.C nhu duoi day
                      //Height pixels=iLED_ROWS=0x10=16 <<==so hang cua bang led
                      //Width bytes=iOffset=0x1F=31 <<==so byte cua du lieu tren 1 hang
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80, 0x00,0x00,0x01,0x00,0x00,0x00,
                      0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x01,0xFE,0x01,0x80,0x00, 0x00,0x1F,0x3C,0x38,0x00,0x00,
                      0x00,0x01,0x00,0x3F,0x9F,0x1F,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00, 0x7F,0xBC,0x28,0x00,0x00,0x02,
                      0x02,0x18,0x1F,0x08,0x63,0xC0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0xF8,0x04,0x38,0x00,0x00,0x0F, 0x3C,0x64,0x00,0x00,0x06,0x04,
                      0x38,0x1F,0x10,0x7B,0xE0,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0xF8,0x00,0x38,0x00,0x00,0x4F,0x00, 0x00,0x00,0x00,0x0E,0x00,0x3C,
                      0x1F,0x30,0x7B,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0xF8,0x07,0xF3,0xEE,0x01,0xFF,0x7C,0x7C, 0x7D,0xC0,0x3F,0xFF,0xF0,0x1F,
                      0x78,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0xF8,0x0E,0x79,0xFF,0x01,0xEF,0x3C,0xEE,0x3F, 0xE0,0x1E,0x3D,0xE0,0x1F,0xF8,
                      0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0xF8,0x1E,0x79,0xEF,0x83,0xEF,0x3D,0xEF,0x3D,0xE0, 0x1E,0x3D,0xE0,0x1F,0x7C,0x0E,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xF8,
                      0x5E,0x79,0xEF,0x83,0xEF,0x3D,0xFF,0x3D,0xE0,0x1E, 0x3D,0xE0,0x1F,0x7E,0x10,0x20,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xF8,0x5E,
                      0x79,0xEF,0x03,0xEF,0x3D,0xE0,0x3D,0xE0,0x1E,0xBD, 0xE0,0x1F,0x3E,0x2F,0xE0,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xF8,0xCE,0x71,
                      0xEF,0x01,0xEF,0x3C,0xE1,0x3D,0xE0,0x1E,0xBD,0xE0, 0x1F,0x1F,0x7F,0xE0,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0xFF,0xC7,0xE1,0xFE,
                      0x00,0xFF,0xFE,0x76,0x7D,0xF0,0x1F,0x3F,0xF0,0x3F, 0xBF,0xFF,0x80,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xE0,0x00,
                      0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0xE0,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0xE0,0x00,0x00,0x00,
                      0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0xF0,0x00,0x00,0x00,0x38,
                      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,
                      //%%%%%//
                      0x00//byte bo sung vi loi du lieu sau lan lap thu 1
                      //%%%%//
                      };
                      /*
                      cau tao code chu DATA_OFFSET:
                      row 1: 7 bytes 0x00(first)+ 15 bytes char code + 8 byte 0x00(end)
                      row 2: 7 bytes 0x00(first)+ 15 bytes char code + 8 byte 0x00(end)
                      row 3: nhu tren
                      ...............
                      row 16: nhu tren
                      __/\/\/\/=> de hieu ro chi tiet xin lien he ict_2010@yahoo.com
                      rat vui khi lam quen voi moi nguoi,dong gop y kien neu co sai xot
                      hoac ban co y tuong hay,hay chia se cho toi,thanks
                      */
                      dưới đây là link download file :
                      http://www.mediafire.com/?csdcpa2stp7em18
                      còn đây là phần mềm thiết kế font của anh Bùi Việt Hoàng : http://www.mediafire.com/?a9ajkx5ewibdrcx
                      , , ,

                      Comment


                      • #12
                        mình có cái này vùa làm đồ án kỳ vùa rồi xong.hy vọng giúp bạn được.lâu rồi cúng không biet file mô phỏng là cái nào nên giui ban thuyết minh.chiu khó ve lại nhéthuyet minh.docthuyet minh.docthuyet minh.doc

                        Comment


                        • #13
                          Em cám ơn mấy anh đã gửi bài cho em tham khảo, nhưng mà em là dân ngu cu đen mà mấy anh toàn gửi mấy cái mạch pro ko em đọc code sao chiu nổi, mà em viết bằng asm nên sr mấy anh gửi code C nhe, thêm 1 vấn đề nữa là em sử dụng phương pháp quét hàng, em up cai sơ đồ mạch lên cho mấy anh nè, mấy anh chỉ em cách viết code quét hàng nha : chữ tĩnh>> chạy từ phải sang>> chạy từ trái sang>> .....
                          Click image for larger version

Name:	ma trix.jpg
Views:	3
Size:	171.9 KB
ID:	1346367
                          quet_hang.zip
                          còn đây là file mô phỏng trên 1 con led matrix và code nhưng nó ko chạy, anh chị nào xem dùm em sai chỗ nào nha
                          Last edited by ylotus; 16-01-2011, 23:52.

                          Comment


                          • #14
                            Em cũng đang có một đồ án về cái này.Đề tài cụ thể như sau :
                            • Dùng 4 modul ma trận Led 8x8 (3 màu xanh, đỏ, vàng)
                            • Có ma trận 16 phím bao gồm:
                             1 phím dừng toàn bộ hiển thị nếu đang ở 1 trong các chế độ hiển thị. Led ở trạng thái tắt.
                             3 phím chọn chế độ màu hiển thị.
                             1 phím chọn chế độ hiện thị số hay chữ. Mặc định ban đầu là hiển thị số.
                             1 phím cho phép hiển thị chữ hoa hay chữ thường. Mặc định ban đầu là hiện thị chữ hoa.
                             10 phím tương ứng với số 0 ÷ 9 trong chế độ hiện thị số hoặc chữ từ A ÷ K hay a ÷ k tùy theo tưng chế độ cụ thể.
                             Hiển thị được dòng chữ chạy:
                            ” LỚP D4_LT_ CNTD TRƯỜNG ĐHĐL”
                            Có khả năng thay đổi dòng chữ khi kết nối máy tính.
                            Lập trình bằng C anh nhé.
                            Em muốn đặt code và sơ đồ mạch IN.Liên hệ với Anh thế nào ạ?

                            Comment


                            • #15
                              cái đồ án giống của mình đó.Có bác nào help với
                              colourofthewind2510@gmail.com
                              Đạo học xua nay không đường tắt

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X