麻烦看下 程序是不有问题

2019-07-15 17:53发布

#include <reg52.h>

#include <intrins.h>
#define L1 P0
sbit ser=P3^4;
sbit rclk=P3^5;
sbit srclk=P3^6;
unsigned char code zimo1[]={0xc3,0xdb,0xc3,0x18,0x00,0xff,0x00,0x00};
unsigned char code zimo[]={0x80,0x40,0x20,0x10,0x08,0x04,0x00,0x00};
unsigned char led;
void OUT(void);
void delay(unsigned int j);
void HC(unsigned char hang);
void main()        
{
unsigned char i,j;
  while(1)
   {
     for(i=0;i<4;i++)
   {
   for(j=0;j<8;j++)
    {
  HC(zimo[j]);  
  OUT();
  delay(1);
    }
   }
  for(i=0;i<4;i++)
   {
   for(j=0;j<8;j++)
   {
   L1=zimo1[7-j];
   delay(1);
   }
   }
   }
}
void delay(unsigned int j)
{
unsigned char k;
for(;j>0;j--)
  for(k=12;k>0;k--);
  }
void HC(unsigned char hang)
{
unsigned char i;
for(i=0;i<8;i++)
  {
   srclk=0;
   ser=hang&0x80;
   hang<<=1;
   srclk=1;
  }
}
void OUT(void)
{
rclk=0;
rclk=1;
}
扫描程序是不是有问题   刚学改了好几天了  想不出来鸟
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
157442843
1楼-- · 2019-07-15 22:43
 精彩回答 2  元偷偷看……
lailiu
2楼-- · 2019-07-16 04:35
157442843 发表于 2015-1-19 00:04
不知道硬件是什么情况,也没说你要达到的目的是什么!
反正这个是不对了,
while(1)

什么个情况  
我也不知道怎么回事刚接触单片机  
  控制点阵    第一行正常 其余的怎么写都和第一行一样 纠结一个多星期了
157442843
3楼-- · 2019-07-16 10:13
  while(1)
     {
       for(i=0;i<4;i++)
     {
     for(j=0;j<8;j++)
      {
    L1=zimo1[7-j];
    HC(zimo[j]);  
    OUT();
    delay(1);
      }
     }
}
这样试一下看。
lailiu
4楼-- · 2019-07-16 15:16
157442843 发表于 2015-1-22 10:13
while(1)
     {
       for(i=0;i

真心谢了 想了一个多星期     可以了   真是跪谢

一周热门 更多>