P10显示屏图片分析

news/2024/10/29 7:22:53/

 

 

 

 

 

 

/***STC15W408AS驱动P10显示屏模块测试程序一维数据查表*********/ 
/***2015 6 19 20:26 通过 CODE 433 L101****显示“沁钰”*********/ 
              #include     <reg52.h>
              #include     <intrins.h>
              #define      uchar unsigned char 
              #define      uint unsigned int
              #define      NOP  _nop_()
             sbit         OUT1=P1^2;       //
              sbit         OUT2=P1^3;       //
              sbit         OE=P1^1;           //74HC245 A1
              sbit         A1=P1^0;           //74HC138A
              sbit         B1=P3^7;           //74HC138B
              sbit         SRCK=P1^7;       //11脚    移位时钟
              sbit         RCK=P1^4;        //12脚    锁存时钟
              sbit         SER=P1^5;       //14      脚数据输入
              uchar        code table[256]=           //8
               {
               0x04,0x40,0xFF,0xFE,0x04,0x40,0x10,0x00,
               0x1E,0xF8,0x22,0x88,0x54,0x50,0xA8,0x20,
               0x17,0xD8,0x20,0x06,0xDF,0xF8,0x01,0x00,
               0x11,0x20,0x19,0x18,0x25,0x08,0x42,0x00,
               0x40,0x80,0x20,0x40,0x20,0x20,0x00,0x20,
               0x89,0x00,0x49,0x00,0x51,0x08,0x15,0x04,
               0x25,0x02,0x29,0x02,0xC9,0x00,0x51,0x08,
               0x41,0x08,0x41,0x08,0x40,0xF8,0x00,0x00,
               0x10,0x00,0x11,0xFC,0x20,0x20,0x3E,0x20,
               0x40,0x20,0x7C,0x20,0x90,0x20,0x11,0xFC,
               0xFE,0x20,0x10,0x28,0x10,0x24,0x12,0x24,
               0x14,0x20,0x18,0x20,0x13,0xFE,0x00,0x00
                };         
/**************数据串行输出到74HC595*************************/
              void serial_input(uchar dat)    
              {
               uint m;
               for(m=0;m<8;m++)
                {
                 if(dat&0x80)
                SER=1;
                 else 
                SER=0;
                SRCK=0;    
                SRCK=1;              //数据移入移位寄存器             
                NOP;
                NOP;
                SRCK=0;
                NOP;
                NOP;
                dat=dat<<1;
                }
             }
/*************并出****************************************/
              void serial_output()
              {
                RCK=1;            //上升沿移位寄存器数据存入8位锁存器     
                 NOP;
                NOP;
                RCK=0;    
              }  
/*************行显控制**********************************/
              void HC138_scan(uchar temp)
              {
               OE=1;
               A1=0x01&temp;
               B1=0x01&(temp>>1);
              }
/***整屏显示(1 5 9 13)( 2 6 10 14)( 3 7 11 15)( 4 8 12 16) ***/
              void display()
              {
                uint i,j,k;
                for(k=0;k<4;k++)    //4行同时扫描,共扫4次4X4=16    
                  {    
                     for(j=0;j<2;j++)    //两个字的其中一个
                     {
                        for(i=0;i<2;i++)   //一个字的两排 i=0为一个字的左半部i=1为一个字的右半部
                        {
                        serial_input(~table[3*8+2*k+i+j*32]);//第一个起始为24 J=0X*32  j*32         
                        serial_input(~table[2*8+2*k+i+j*32]);//第一个起始为16             
                        serial_input(~table[1*8+2*k+i+j*32]);//第一个起始为8        
                        serial_input(~table[0*8+2*k+i+j*32]);//第一个起始为0
                        }
                     }
                     serial_output();
                     HC138_scan(k);
                   }
              }
/***************************************************************/
              void main()
              {
               while(1)
                 {
                     display();         
                 }
              }
 

 

               显示图形                                      左部数据    右部数据
***************00***************                   0XFF,0XFE   0X7F,0XFF
**************0000**************                  0XFF,0XFC   0X3F,0XFF
*************000000*************                 0XFF,0XF8   0X1F,0XFF
************00000000************                0XFF,0XF0   0X0F,0XFF
***********0000000000***********               0XFF,0XE0   0X07,0XFF
**********000000000000**********              0XFF,0XC0   0X03,0XFF
*********00000000000000*********             0XFF,0X80   0X01,0XFF
********0000000000000000********            0XFF,0X00   0X00,0XFF
*******000000000000000000*******           0XFE,0X00   0X00,0X7F
******00000000000000000000******          0XFC,0X00   0X00,0X3F
*****0000000000000000000000*****         0XF8,0X00   0X00,0X1F
****000000000000000000000000****        0XF0,0X00   0X00,0X0F
***00000000000000000000000000***       0XE0,0X00   0X00,0X07
**0000000000000000000000000000**      0XC0,0X00   0X00,0X03
*000000000000000000000000000000*     0X80,0X00   0X00,0X01
00000000000000000000000000000000    0X00,0X00   0X00,0X00
/****STC15W408AS驱动P10板显示两个三角形***/  
/*********L90 code354**2019 5 11 PAST*****/    
      #include     <reg52.h>
      #include     <intrins.h>
      #define      uchar unsigned char 
      #define      uint  unsigned int
      #define      NOP   _nop_()
      sbit         OE=P1^1;          //74HC245 A1
      sbit         A1=P1^0;          //74HC138A
      sbit         B1=P3^7;          //74HC138B
      sbit         SHCP=P1^7;        //11脚    移位时钟
      sbit         STCP=P1^4;        //12脚    锁存时钟
      sbit         SDATA=P1^5;       //14      脚数据输入
      uchar        code table[2][32]={
{0XFF,0XFE,0XFF,0XFC,0XFF,0XF8,0XFF,0XF0,0XFF,0XE0,0XFF,0XC0,0XFF,0X80,0XFF,0X00,
0XFE,0X00,0XFC,0X00,0XF8,0X00,0XF0,0X00,0XE0,0X00,0XC0,0X00,0X80,0X00,0X00,0X00},
{0X7F,0XFF,0X3F,0XFF,0X1F,0XFF,0X0F,0XFF,0X07,0XFF,0X03,0XFF,0X01,0XFF,0X00,0XFF,
 0X00,0X7F,0X00,0X3F,0X00,0X1F,0X00,0X0F,0X00,0X07,0X00,0X03,0X00,0X01,0X00,0X00,
}};//24
/********************************************/ 
        void delay(uint ms)
        {
        uint i,j;
        for(i=ms;i>0;i--)
        for(j=300;j>0;j--);
        }         
/****************数据串行输入****************/
        void serial_input(uchar dat)    
        {
         uint m;
         for(m=0;m<8;m++)
         {
         if(dat & 0x80)
         SDATA=1;
         else 
         SDATA=0;
         SHCP=0;    
         SHCP=1;                  
         NOP;
         NOP;
         SHCP=0;
         NOP;
         NOP;
         dat=dat<<1;
         }
        }
/*********************并出*******************/
        void serial_output()
        {
         STCP=1;                 
         NOP;
         NOP;
         STCP=0;    
        }  
/****************行显控制********************/
        void HC138_scan(uchar temp)
        {
         OE=1;
         A1=0x01&temp;
         B1=0x01&(temp>>1);
        }
/*****************整屏显示*******************/
         void display()
         {
      uint i,j,k;
      for(k=0;k<4;k++)     //显示的四行
      {    
       for(j=0;j<2;j++)    //显示3、4列
       {
        for(i=0;i<2;i++)   // 显示1、2列
         {
         serial_input(~table[j][3*8+2*k+i]);          
         serial_input(~table[j][2*8+2*k+i]);             
         serial_input(~table[j][1*8+2*k+i]);        
         serial_input(~table[j][0*8+2*k+i]);
         }
        }
       serial_output();
       HC138_scan(k);
      }
         }
/******************主函数**********************/
       void main()
       {
    delay(200);
    while(1)             //
        {                 //
        display();        //开始移动显示
    } 
       }


http://www.ppmy.cn/news/432638.html

相关文章

启智平台使用教程

1.创建项目 填写完需要的信息后&#xff0c;点击“创建项目”即可。 进入到下面这个界面 2.创建调试任务 点击“新建调试任务” 算力集群推荐选择“智算网络集群” 新建项目的时候必须要选择镜像&#xff0c;可以根据自己的需要选择合适的镜像。可以把原镜像的安装包删除&…

需求分析引言:架构漫谈(一)

本文主要对架构的概念做一些介绍&#xff0c;并引申出需求分析的重要性。 后续准备做一个系列&#xff0c;定期介绍我工作以来的一些需求实现的案例。 注&#xff1a;因为架构的内容比较庞大&#xff0c;里面的每个点&#xff0c;都可以扩展成一系列的文章&#xff0c; 因此&am…

什么是双因素身份认证?

通常身份认证的方式主要包括&#xff1a; &#xff08;1&#xff09;某人知道什么&#xff08;如口令、答案等&#xff09;&#xff0c; &#xff08;2&#xff09;某人拥有什么&#xff08;如令牌、钥匙等&#xff09;&#xff0c; &#xff08;3&#xff09;某人的身份特征&a…

双因素认证的解决方案

以双因素动态身份认证为例&#xff0c;介绍双因素认证的解决方案。一个双因素动态身份认证的解决方案由三个主要部件组成&#xff1a;一个简单易用的令牌&#xff0c;一个功能强大的管理服务器以及一个代理软件。 1.令牌。令牌可以使用户在证明自己的身份后获得受保护的资源访问…

深信服上网行为管理如何配置双因素/双因子(2FA)身份认证

上网行为管理是指帮助互联网用户控制和管理对互联网的使用。其包括对网页访问过滤、上网隐私保护、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。 深信服上网行为管理作为该领域的佼佼者&#xff0c;被很多企业采购使用&#xff0c;其安全性至关重要&#xff0…

Qgis加载在线XYZ瓦片影像服务的实践操作

目录 背景 一、XYZ瓦片相关知识 1、xyz瓦片金字塔 2、 瓦片编号 3、瓦片访问 二、在Qgis中加载在线地图 1、Qgis版本 2、瓦片加载 3、地图属性预览 总结 背景 在做电子地图应用的时候&#xff0c;很常见的会提到瓦片&#xff08;tile&#xff09;的概念&#xff0c;瓦片…

三体系是哪三体系的认证

ISO环境管理体系&#xff0c;ISO职业健康安全管理体系&#xff0c;ISO质量管理体系。这三个属于通用体系&#xff0c;通常没有行业要求。 ISO三体系&#xff08;ISO环境管理体系&#xff0c;ISO职业健康安全管理体系&#xff0c;ISO质量管理体系&#xff09;证书样式分享。 ISO…

双因素认证

一、什么是双因素认证 you know&#xff1a;诸如密码信息、或是安全问题的答案。you are&#xff1a;诸如指纹或虹膜之类的身体特征。you have&#xff1a;诸如你持有智能手机、或是其他物理设备。 使用以上任意的两种混合使用&#xff0c;即为双因素认证。 二、为什么使用双…