Thông báo

Collapse
No announcement yet.

Giúp em vấn đề này với :((

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

  • Giúp em vấn đề này với :((

    Chào các bác, lần đầu e tham dự diễn đàn mong mọi người giúp đỡ. Giờ e đang có một bài tập là viết trình điều khiển để chạy chữ cho một bảng điện tử. Em không nhớ tên chuẩn nhưng đại để là nó có các chấm dạng ma trận có trạng thái bật tắt(giống mấy cái bảng chữ đỏ hay chạy ở các sàn dao dịch).

    E chưa có kinh nghiệm gì về làm cái này, các bác có thể định hướng giúp được không ạ. Em cảm ơn nhìu.

  • #2
    Bạn lập trình chạy chữ cho ma trận 8*8 đã rồi mới lập trình lớn. Sinh viên thì nên cũng làm cái nhỏ đó thôi 5x7 , 8x8,. Còn những bảng quang báo lớn thì đó là phần tương đối khó (Phần cúng và phần mền). Tôi chỉ lập trình đựoc cái ma trận 8x8 còn lớn hơn chưa có Money để làm phần cững!

    Comment


    • #3
      Mới học thì mô phỏng bằng Proteus cho thành thao đã.

      Comment


      • #4
        Cảm ơn 2 bác, cũng ngộ ra được một số thứ rồi . Nhân tiện giúp e tìm tài liệu cho vụ này hoặc nên đọc sách nào được không ạ.

        Comment


        • #5
          Bạn đọc sách về lập trình vi điều khiển dùng C thì đơn giản hơn. Mình lấy ví dụ lập trình 8*8 cho ma trận dùng PSoc. Chươngt rình chỉ mang tính chất tham khảo!

          #include <m8c.h> // part specific constants and macros
          #include "PSoCAPI.h" // PSoC API definitions for all User Modules
          #include "delay.h"
          //unsigned int m;
          unsigned char kytu1[9];
          unsigned char k=0,l=0;

          void mahoa(unsigned char x)
          {
          switch(x)
          {
          //DAU DONG
          case 0: {kytu1[0]=0x00;kytu1[1]=0x00;kytu1[2]=0x00;kytu1[3]=0x00;kytu1[4]=0x00;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU R
          case 1: {kytu1[0]=0x00;kytu1[1]=0xFF;kytu1[2]=0x31;kytu1[3]=0x51;kytu1[4]=0x8E;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU O
          case 2: {kytu1[0]=0x00;kytu1[1]=0x7E;kytu1[2]=0x81;kytu1[3]=0x81;kytu1[4]=0x81;kytu1[5]=0x7E;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU B
          case 3: {kytu1[0]=0x00;kytu1[1]=0xFF;kytu1[2]=0x89;kytu1[3]=0x89;kytu1[4]=0x76;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU O
          case 4: {kytu1[0]=0x00;kytu1[1]=0x7E;kytu1[2]=0x81;kytu1[3]=0x81;kytu1[4]=0x81;kytu1[5]=0x7E;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU C
          case 5: {kytu1[0]=0x00;kytu1[1]=0x7E;kytu1[2]=0x81;kytu1[3]=0x81;kytu1[4]=0x81;kytu1[5]=0x42;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU O
          case 6: {kytu1[0]=0x00;kytu1[1]=0x7E;kytu1[2]=0x81;kytu1[3]=0x81;kytu1[4]=0x81;kytu1[5]=0x7E;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU N
          case 7: {kytu1[0]=0x00;kytu1[1]=0xFF;kytu1[2]=0x06;kytu1[3]=0x18;kytu1[4]=0x60;kytu1[5]=0xFF;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //DAU GACH
          case 8: {kytu1[0]=0x00;kytu1[1]=0x10;kytu1[2]=0x10;kytu1[3]=0x10;kytu1[4]=0x10;kytu1[5]=0x10;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU T
          case 9: {kytu1[0]=0x00;kytu1[1]=0x01;kytu1[2]=0x01;kytu1[3]=0x01;kytu1[4]=0xFF;kytu1[5]=0x01;kytu1[6]=0x01;kytu1[7]=0x01;kytu1[8]=0x00;break;}
          //CHU B
          case 10: {kytu1[0]=0x00;kytu1[1]=0xFF;kytu1[2]=0x89;kytu1[3]=0x89;kytu1[4]=0x76;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //CHU D
          case 11: {kytu1[0]=0x00;kytu1[1]=0xFF;kytu1[2]=0x81;kytu1[3]=0x81;kytu1[4]=0x81;kytu1[5]=0x7E;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //SO 4
          case 12: {kytu1[0]=0x00;kytu1[1]=0x0F;kytu1[2]=0x08;kytu1[3]=0x08;kytu1[4]=0xFF;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //SO 6
          case 13: {kytu1[0]=0x00;kytu1[1]=0x7E;kytu1[2]=0x91;kytu1[3]=0x91;kytu1[4]=0x66;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //DAU DONG
          case 14: {kytu1[0]=0x00;kytu1[1]=0x00;kytu1[2]=0x00;kytu1[3]=0x00;kytu1[4]=0x00;kytu1[5]=0x00;kytu1[6]=0x00;kytu1[7]=0x00;kytu1[8]=0x00;break;}
          //MAT CUOI
          case 15: {kytu1[0]=0x00;kytu1[1]=0x00;kytu1[2]=0x00;kytu1[3]=0x00;kytu1[4]=0x00;kytu1[5]=0x18;kytu1[6]=0x24;kytu1[7]=0x24;kytu1[8]=0x18;break;}
          }
          }
          void hienthi(void)
          {
          unsigned char i,j,lap;
          unsigned char cot[8]={0xFF,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
          for(j=0;j<8;j++)
          {
          for(lap=0;lap<10;lap++)
          {
          for(i=0;i<8;i++)
          {
          if((i+j)<9)
          {
          mahoa(k);
          PRT0DR=cot[i];
          PRT2DR=kytu1[i+j];
          delay(45);
          }
          if((i+j)>7)
          {
          mahoa(k+1);
          PRT0DR=cot[i];
          PRT2DR=kytu1[i+j-8];
          delay(45);
          }
          PRT0DR=0x00;

          PRT2DR=0xff;
          }
          }
          }
          }

          //}
          void main(void)
          {
          //PRT1DR=0xff;
          //PRT0DR=0xff;
          while(1)
          {
          hienthi();
          k=k+1;

          if(k==14)
          {

          k=0;
          }
          }
          }

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X