Trang ChínhThành viênĐăng kýĐăng NhậpPhotoShop OnLine

Share | 
 

 Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
thansautn
Biết lái xe máy
Biết lái xe máy
avatar

Tổng số bài gửi : 208
Điểm số : 994
Thanked : 9
Đến từ : Nơi thời gian ngừng lại

Bài gửiTiêu đề: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Fri Dec 03, 2010 7:45 am

mediafire.com ?19bmrp7uuoj7zdl
Ai thích lấy về xem thử rùi cho ý kiến nha. 4yoyo29


Về Đầu Trang Go down
Xem lý lịch thành viên
chem_cac_sieu_nhan
Biết đi
Biết đi
avatar

Tổng số bài gửi : 29
Điểm số : 129
Thanked : 0

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Fri Dec 03, 2010 7:33 pm

Các bác chỉ cho em thuật toán đi
Nhất là mấy lệnh
for(i=0;i<=63;i++)
for(a=0;a<=5;a++)
for(j=0;j<=15;j++)
Nhờ các bác giải thích giúp hôm đấy em bùng học
Về Đầu Trang Go down
Xem lý lịch thành viên http://www.k43ddk.net
banmaixanh_0408
Biết đi
Biết đi
avatar

Tổng số bài gửi : 42
Điểm số : 169
Thanked : 0
Đến từ : ninh bình

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Sat Dec 04, 2010 6:27 pm

hix.mày giỏi thế còn phải hỏi ah?
tao nghi là mày hỏi đểu lắm
haa
Về Đầu Trang Go down
Xem lý lịch thành viên
banmaixanh_0408
Biết đi
Biết đi
avatar

Tổng số bài gửi : 42
Điểm số : 169
Thanked : 0
Đến từ : ninh bình

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Sat Dec 04, 2010 6:57 pm

để hiểu được đã khó rùi .giải thích mấy cái này còn khó hơn

vong for(j=0;j<=15;j++) để quét các cột;sd 2 led matran nên 16 cột;
vòng for(a=0;a<=5;a++) vòng for này chỉ để tạo nên các vòng lặp có tác dụng cho mắt ta nhìn thấy led sáng lâu rùi chữ mới dịch tiếp.hay nói cách khác nó quyết định tốc đọ dich chữ.vòng lặp càng dài thì tốc độ dịch chữ càng chậm
vòng lặp for(i=0;i<=63;i++) có tác dụng tạo nên số lần dịch chữ. ở chương trình này có chữ K43KDT có 6 chữ như vậy nó cần dịch 6*8=48 lần cộng thêm 8 lần dịch chữ phía trước và 8 làn dịch chữ phía sau chữ (K43KDT)
nói chung là khó giair thích lắm.
để hiểu mày hãy thực hiện lặp theo theo cách thủ công là:
i=0 thì nó làm gì....
i=1 thif nó làm gì....
......
như thế thì tự mình ngẫm sẽ dễ hiểu hơn
các pro cùng nhau góp ý nha


Về Đầu Trang Go down
Xem lý lịch thành viên
Pig_07
Biết đi
Biết đi
avatar

Tổng số bài gửi : 42
Điểm số : 198
Thanked : 4

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Mon Dec 06, 2010 11:28 pm

Font matrix 7x8n thường trông rất.... xấu. Viết với font 5x7 đê, trông đẹp hơn Very Happy

Với lại khai báo mảng trong RAM thế kia nếu dòng chữ cần hiển thị dài sẽ gây tràn bộ nhớ, nên khai báo trong ROM, mảng sẽ dài hơn rất nhiều mà vẫn ko bị..... ngỏm
Về Đầu Trang Go down
Xem lý lịch thành viên
luong050888
Biết nói
Biết nói
avatar

Tổng số bài gửi : 66
Điểm số : 340
Thanked : 3
Đến từ : Bắc Giang

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Tue Dec 07, 2010 10:55 pm

ai có mạch và chương trình về lcd thi post lên đi
Về Đầu Trang Go down
Xem lý lịch thành viên
Pig_07
Biết đi
Biết đi
avatar

Tổng số bài gửi : 42
Điểm số : 198
Thanked : 4

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Wed Dec 08, 2010 11:12 am

Code:
/*
Ngay:                6/12/2010
De tai:              Ket noi ban phim 12 phim voi VDK
Ten file:            Code43M2.c
Phan cung su dung:  PIC 18F452
                    Ban phim 12 phim
                    LCD 16x2
*/


#include<18f452.h>
#use delay(clock=20000000)
#include<def_18f452.h>
#include<lcd_4bit.c>

#bit  cot1=portb.0
#bit  cot2=portb.1
#bit  cot3=portb.2
#bit  hang1=portb.4
#bit  hang2=portb.5
#bit  hang3=portb.6
#bit  hang4=portb.7

int8  const tit0[]={"*BAI THAO LUAN*"};
int8  const tit1[]={"-Nhom 6 - 43M2-"};
int8  const tit2[]={"PRESSED KEY : "};
int8  const tit3[]={"SCANING KEYBOAD"};
int8 i;

void write_line1(void)
{
  lcd_putcmd(clear_scr); // xoa man hinh LCD
  lcd_putcmd(line_1);  //
  i=0;
  while(tit2[i]!=0)
  {
      lcd_putchar(tit2[i]);
      i++;
  }
}
void  write_line2(void)
{
  lcd_putcmd(line_2);
  i=0;
  while(tit3[i]!=0)
  {
      lcd_putchar(tit3[i]);
      i++;
  }
 
}

#int_RB // Chuong trinh ngat Port B
void  RB_isr(void)
{
  if(cot1==1)
  {
      if(hang1==1)
      {
        //hien thi phim 1
        write_line1();
        lcd_putchar('1');// Hien thi ra LCD so 1
        write_line2();
      }
      else  if(hang2==1)
            {
              //hien thi phim 4
              write_line1();
              lcd_putchar('4');// Hien thi ra LCD so 4
              write_line2();
            }
            else  if(hang3==1)
                  {
                    //hien thi phim 7
                    write_line1();
                    lcd_putchar('7');// Hien thi ra LCD so 7
                    write_line2();
                }
                  else  if(hang4==1)
                        {
                          //hien thi phim *
                          write_line1();
                          lcd_putchar('*');// Hien thi ra LCD ky tu *
                          write_line2();
                        }
  }
  else if(cot2==1)
      { 
        if(hang1==1)
        {
            //hien thi phim 2
            write_line1();
            lcd_putchar('2');// Hien thi ra LCD so 2
            write_line2();
        }
        else  if(hang2==1)
              {
                //hien thi phim 5
                write_line1();
                lcd_putchar('5');// Hien thi ra LCD so 5
                write_line2();
              }
              else  if(hang3==1)
                    {
                        //hien thi phim 8
                        write_line1();
                        lcd_putchar('8');// Hien thi ra LCD so 8
                        write_line2();
                    }
                    else  if(hang4==1)
                          {
                              //hien thi phim 0
                              write_line1();
                              lcd_putchar('0');// Hien thi ra LCD so 0
                              write_line2();
                          }
      }
        else if(cot3==1)
                  if(hang1==1)
                  {
                    //hien thi phim 3
                    write_line1();
                    lcd_putchar('3');// Hien thi ra LCD so 3
                    write_line2();
                  }
                  else  if(hang2==1)
                        {
                          //hien thi phim 6
                          write_line1();
                          lcd_putchar('6');// Hien thi ra LCD so 6
                          write_line2();
                        }
                        else if(hang3==1)
                              {
                                //hien thi phim 9
                                write_line1();
                                lcd_putchar('9');// Hien thi ra LCD so 9
                                write_line2();
                              }
                              else if(hang4==1)
                                    {
                                      //hien thi phim #
                                      write_line1();
                                      lcd_putchar('#');// Hien thi ra LCD ky tu #
                                      write_line2();
                                    }
}

void main()
{
 
  //lcd_init();
  setup_adc_ports(NO_ANALOGS);
  setup_adc(ADC_OFF);
  setup_psp(PSP_DISABLED);
  setup_spi(SPI_SS_DISABLED);
  setup_wdt(WDT_OFF);
  setup_timer_0(RTCC_INTERNAL);
  setup_timer_1(T1_DISABLED);
  setup_timer_2(T2_DISABLED,0,1);
  lcd_init();
  enable_interrupts(INT_RB);
  enable_interrupts(GLOBAL);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

  // TODO: USER CODE!!
  trisb=0xf0;
  while(tit0[i]!=0)
  {
      lcd_putchar(tit0[i]);
      i++;
      delay_ms(70);     
  }
  lcd_putcmd(line_2);
  i=0;
  while(tit1[i]!=0)
  {
      lcd_putchar(tit1[i]);
      i++;
      delay_ms(70);     
  }
  delay_ms(1000);
  lcd_putcmd(clear_scr);
  write_line2();
  while(1)
  {
      //quet cot
      cot3=0;
      cot1=1;
      delay_ms(10);
      cot1=0;
      cot2=1;
      delay_ms(10);
      cot2=0;
      cot3=1;
      delay_ms(10);
  }
}

Về Đầu Trang Go down
Xem lý lịch thành viên
luong050888
Biết nói
Biết nói
avatar

Tổng số bài gửi : 66
Điểm số : 340
Thanked : 3
Đến từ : Bắc Giang

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Thu Dec 09, 2010 12:23 am

thank .nhưng có mạch chỉ hiện thị không
Về Đầu Trang Go down
Xem lý lịch thành viên
luong050888
Biết nói
Biết nói
avatar

Tổng số bài gửi : 66
Điểm số : 340
Thanked : 3
Đến từ : Bắc Giang

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Thu Dec 09, 2010 12:42 am

mình copy chương trình về chạy thử thi nó báo không có file def_18f452.h và lcd_4bit.c
bạn nào có post cho mình với
thank Cool
Về Đầu Trang Go down
Xem lý lịch thành viên
QLCD_304
Biết lái xe máy
Biết lái xe máy
avatar

Tổng số bài gửi : 215
Điểm số : 1089
Thanked : 10
Đến từ : Nơi cuối Con Đường!

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Thu Dec 09, 2010 8:52 pm

Sắp thi rồi anh em ơi! có lịch thi rồi đó! IL
Về Đầu Trang Go down
Xem lý lịch thành viên
thansautn
Biết lái xe máy
Biết lái xe máy
avatar

Tổng số bài gửi : 208
Điểm số : 994
Thanked : 9
Đến từ : Nơi thời gian ngừng lại

Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   Thu Dec 09, 2010 9:20 pm

Lịch thi dày quá.................. nt
pt Laughing


Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2   

Về Đầu Trang Go down
 

Trailer Lập trình mạch quang báo 2 led 8x8 Nhóm 2

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Nơi lưu trữ-
Free forum | © phpBB | Free forum support | Report an abuse | Create a blog