微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 用两个74hc545驱动88点阵,显示口字不知道错哪了,大神指点一二

用两个74hc545驱动88点阵,显示口字不知道错哪了,大神指点一二

时间:10-02 整理:3721RD 点击:


#include <reg52.h>
#include <intrins.h>
unsigned char  NUM[]={0xff,0xbf,0xdf,0xef,0xf7,0xff,0xff,0xff};
unsigned char  table[]={0xff,0x40,0x20,0x10,0x08,0xff,0xff,0xff};
sbit SI=P1^0;//
sbit RCK=P1^1;/
sbit SCK=P2^5; //
void delayms(unsigned int x)         
{  unsigned int i,j;
   for(i=x;i>0;i--)
     for(j=110;j>0;j--);
}
void HC595SendData(unsigned char SendVal)//
{  
  unsigned char i;
  for(i=0;i<8;i++)
   {
if((SendVal<<i)&0x80) SI=1;
else SI=0;
SCK=0;//′
_nop_();
_nop_();
SCK=1;
   }
}
void HC595ShowData()//
{
  RCK=0;
  _nop_();
  _nop_();
  RCK=1;
}
void main(void)
{
   unsigned char i,j;
        while(1)
        {
         for(i = 0; i < 8; i++)
         {
    HC595SendData(NUM);
                HC595SendData (0xff);
                HC595ShowData();
                delayms(100);
   }
         for(j = 0; j < 8; j++)
         {
                HC595SendData(table[j]);
                HC595SendData (0xff);
                HC595ShowData();
                delayms(100);
   }
}
}

看程序没啥大的毛病啊,检查一下硬件吧。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top