P10屏幕的点亮

发布时间:2024-11-25 15:58

如何调整屏幕亮度:点击屏幕右下角的显示器图标,选择亮度选项进行调整。 #生活常识# #日常生活技巧# #基础电脑操作#

希望有大神能够有所指导啊。还是有点不是很了解,下面是自己调试代码的一些体验过程。

#include <ioCC2530.h>

#include <string.h>

#define  uint  unsigned int
#define  uchar unsigned char

#define time 10
uint i,k,p;

//定义LED的端口
#define r    P1_0
#define sclk P1_1
#define ckl  P1_2
#define a    P1_4  //  接了行控制信号A 
#define b    P1_3  //接了行控制信号B
#define oe   P1_5

//自摸软件没有问题。里面的数值,不需要拍擦啦。看看其他地方有没有毛病。
//发现自模软件里面的自模型怎么对应不上来呢???(PS :虽然没有弄出来目前,但是最少还是了解了自摸软件是怎么弄的。 )
char  tab[128]={/*--  文字:  王  --*/
/*--  Fixedsys12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFF,0xFF,0xFD,0xFF,0x80,0x03,0xFD,0xF7,0xFE,0xFF,0xC0,0x2F,0xFE,0xFF,0xFD,0xDF,
0xFE,0xFF,0xFD,0xBF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xC0,0x07,0xFD,0xFF,

/*--  文字:  者  --*/
/*--  Fixedsys12;  此字体下对应的点阵为:宽x高=16x16   --*/
0xFE,0xFF,0xF0,0x0F,0xFE,0xFF,0xE7,0xEF,0xFE,0xFF,0xD7,0xEF,0xFE,0xFF,0xB0,0x0F,
0xFE,0xFF,0x77,0xEF,0xFE,0xFF,0xF7,0xEF,0x00,0x01,0xF0,0x0F,0xFF,0xFF,0xF7,0xEF,

                                                                                     };//第一次的程序为什么只显示4行呢?是因为在循环体中只写入了4行的值。
              //其次,就是一个16进制的数值代表8个小灯泡,那么一共就得对应于32*16/8=64个字符才对啊。
              //对啊,这里就是64个16进制数啊,没毛病。

//函数声明
void Delay_ms(uint tt);

void Delay_ms(uint tt)
{
    uchar i;
//for(i=0;i<tt;i++)
for(i=tt;i>0;i--);
}

void input595(uchar dat)
 {

   uchar i;
  for(i=0;i<8;i++)
 {
   ckl=0;
  if(dat&0x80)
    r=1;
  else 
    r=0;
  dat<<=1;

    // delay(2);
   ckl=1;
   ckl=0;
}
}

void out595()
{
sclk=0;
sclk=1;
oe=1;
Delay_ms(time);
sclk=0;
oe=0;
}

void main(void)
{  P1DIR |= 0x3F; 
  int q;

  oe=0;
 k=0;

//a=1;  //即使是这样,还是亮的,这是为什么呢??无解。
//b=0;
int boardnum=4;
while(1)
{

 
//  for(q=0;q<=6;q+=2)
//   {
 for(k=0;k<boardnum;k++)
                             { 
                                        for(p=0;p<4;p++)
                                        { 

                                                                                       input595(tab[48+p+4*k]);
                                           input595(tab[32+p+4*k]);
                                           input595(tab[16+p+4*k]);
                                           input595(tab[p+4*k]);

                                                                                                                                                    }

                                        
 
                                         switch(k)
{
   case 0: a=0;b=0; break; //选中每四行的其中一行
   case 1 :a=1;b=0; break; //选中每四行的另外一行,以下2者均是如此。
   case 2 :a=0;b=1; break; //果然找到原因了,就是由于延时没有弄好,才导致的问题。
   case 3: a=1;b=1; break; //以上是由于测试找到的问题,遇到问题还是自己多测试。
}

    out595();   //0,0是第一行,1,0是第二行,0,1是第三行,1,1是第四行

                                                   }  
                    //一次循环后,把16个595都装满了。然后接下来释放了。然后又在下一次循环过程中重新给595装上新的值。
                   //但是就是还没有明白怎么装的过程。
                   //595中叫做锁存信号,而P10中的H信号叫做控制电路的控制信号。控制信号控制好了。led亮灭与否则取决于595了。
  
 
  // }
      }

    }
//SI4953ADY这个芯片的引脚输出怎么看?
//另外扫描方式具体怎么扫描,那个大循环不会看?
//a,b具体有什么用,没有理清楚?

网址:P10屏幕的点亮 https://www.yuejiaxmz.com/news/view/267102

相关内容

阳信电子屏维修表
小米15屏幕技术揭秘:如何打造超窄边框与高效能屏幕
电脑屏幕怎么擦干净
保护视力的屏幕颜色设置
屏幕保护颜色设置
电脑屏幕灰尘怎么清理
iPhone 屏幕维修
如何清理电脑屏幕
婚礼大屏幕布置
怎么清洁电脑屏幕

随便看看