找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2299|回复: 4
收起左侧

单片机+16*80点阵屏仿真失败.求找错误

[复制链接]
ID:431364 发表于 2019-7-27 23:53 | 显示全部楼层 |阅读模式
本帖最后由 tyk2012 于 2019-7-28 10:54 编辑

请高手帮忙看看哪里错了,16*80点阵屏的问题。
360截图20190727235121456.jpg

单片机源程序如下:
  1. <blockquote>#include <reg51.h>
复制代码

所有资料51hei提供下载:
1680.rar (92.76 KB, 下载次数: 11)
回复

使用道具 举报

ID:328014 发表于 2019-7-28 17:52 | 显示全部楼层
你的程序不完整 应该是你程序有问题
回复

使用道具 举报

ID:431364 发表于 2019-7-28 22:36 | 显示全部楼层
void yiwei (int i,int j,int k)
{
   char n;
   int di;
    for (n=8;n>0;n--)
         
                   { CLK=0;

                delay(1);

                di=LEDZK [i][j][k];

         DI=(di&0x01);       
                          
                  CLK=1;
                 
                 di>>=1 ;
               
               
               
                           }
     
   }
void xschs (int s)
         {
                   if(s>7)

                  { P2=0x00;

                   P0=xscsj[s-8];}

                   else

                         {P2=xscsj[s];

                           P0=0x00;}

                                                 }



void main() /*主函数*/
{   int  i=0,j=0,k=0;
     int s;

     s=0;
         LEDEA=0;
      LE=0;
     CLK=0;
     
      
   while(1)
     
          {
             for(i=0;i<4;i++)
               
                   {
                     yiwei(i,0,k),
                    
                   yiwei(i,1,k);
                  
                   }
                  
                    LE=1;
                  
                 
                    
                          
       
                 k++;
                 if(k>15)
                 k=0;
                   xschs(s);
                        s++;

                     if(s>15) s=0;
                 
                           
                         LE=0;
                          
                     }  
              }
回复

使用道具 举报

ID:431364 发表于 2019-7-29 21:39 | 显示全部楼层
可以了
#include <reg52.h>


sbit  DI = P3^7;            //HC595第14脚,串行数据

sbit   CLK = P3^1;           // HC595第11脚 ,数据时钟       

sbit   LE = P3^2;           //                  HC595第12脚 ,锁存时钟
sbit     LEDEA = P3^3;   //HC595第13脚 ,输出控制

char code  xscsj[] =

           // {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

        { 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

char code zk [5][2][16] =  

{                                                                                                                                       
                                                                                                                                                         
          {{ 0x08,0x04,0x02,0x1F,0x10,0x10,0x1F,0x10,0x10,0x1F,0x00,0x00,0x7F,0x00,0x00,0x00,

          
          },

         {
         
                0x08,0x10,0x20,0xFC,0x84,0x84,0xFC,0x84,0x84,0xFC,0x80,0x80,0xFF,0x80,0x80,0x80,

       }},        /*--  文字:  单  --*/

         {{           /*--  文字:  片  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
             0x00,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x20,0x20,0x40,
                               
                                } ,

                               
                                {
                               
                                0x40,0x40,0x40,0x40,0x40,0xFC,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,

                               
                                }}        ,

                           /*--  文字:  机  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/

                        {{                 
                                         
                                         0x10,0x11,0x11,0x11,0xFD,0x11,0x31,0x39,0x55,0x55,0x91,0x11,0x11,0x12,0x12,0x14,
                                         
                                         },

                                           {
                                         
                                         0x00,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x12,0x12,0x0E,0x00,

                                                }} ,

                   /*--  文字:  学  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/

                        {{         
                                 
                                 0x22,0x11,0x11,0x00,0x7F,0x40,0x80,0x1F,0x00,0x01,0xFF,0x01,0x01,0x01,0x05,0x02,

                                 },
                                  
                                   {

                                 0x08,0x08,0x10,0x20,0xFE,0x02,0x04,0xE0,0x40,0x80,0xFE,0x00,0x00,0x00,0x00,0x00,

                                  }},
                                 /*--  文字:  习  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
              {{
                             
                                  
                                  0x00,0x7F,0x00,0x00,0x08,0x04,0x02,0x02,0x00,0x01,0x0E,0x70,0x20,0x00,0x00,0x00,

                                  },{
                                  
                                  0x00,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x68,0x88,0x08,0x08,0x08,0x08,0x50,0x20,

                                         }},
     } ;

void delay(int z)         //延时函数
{
                int x;
                for (x=0; x<z; x++);
               
}
                                                          
       
void yiwei (char i, char j,char k)
{
   char n;
  char di;
             

    di=zk  [i] [j][k];

    for (n=0;n<8;n++)

                   { CLK=0;

       


                   DI=(di&0x01)        ;


                    // if(di&0x01)       
                         // DI=1;
                        // else
                        // DI=0;
                  

                  CLK=1;
                 
                 di>>=1 ;
               
                 
               
                           }

   }
void xschs (int s)
         {
                   if(s>7)

                  { P2=0xff;

                   P0=xscsj[s-8];}

                   else

                         {P2=xscsj[s];

                           P0=0xff;}

                                                 }



void main() /*主函数*/
{   char  i=0,j=0,k=0;
     int s;

     s=0;
         LEDEA=0;
      LE=0;
     CLK=0;


   while(1)

          {
              for(i=5;i>0;i--)
               
                   {
                     yiwei((i-1),1,k),
                    
                   yiwei((i-1),0,k);
                  
                   }
                  
                    LE=1;
                  
                 delay(10) ;
                    
                          
       
                 k++;
                 if(k>15)
                 k=0;
                   xschs(s);

                  

                        s++;

                     if(s>15) s=0;
                 
                           
                         LE=0;
                          delay(10) ;
               
                     }  
              }

360截图20190729213053179.jpg

1680.rar

92.59 KB, 下载次数: 17

回复

使用道具 举报

ID:431364 发表于 2019-7-31 23:04 | 显示全部楼层
               {
                     yiwei((i-1),1,k),
                     
                   yiwei((i-1),0,k);
                  
                   }
                       xschs(s);
                    LE=1;
                  
                 delay(10) ;
                    
                           
        
                 k++;
                 if(k>15)
                 k=0;
              

                  

                        s++;

                     if(s>15) s=0;
                 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表