标题: 求解答 我用8*8的led点阵显示一个 朱 字却没有成功,下面是我写的程序 [打印本页]

作者: 哈哈我哈哈    时间: 2018-7-19 11:54
标题: 求解答 我用8*8的led点阵显示一个 朱 字却没有成功,下面是我写的程序
#include"reg51.h"
#include"intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
  sbit SRCLK=P3^6;            
  sbit RCLK=P3^5;
  sbit SER=P3^6;
  
  u8 ledduan[]={0x10,0x22,0xd4,0x58,0xff,0x58,0x54,0x12};
  u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  
  void delay(u16 i)
  {
  while(i--);
  }
void Hc595SendByte(u8 dat)
{
u8 a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void main()
{
u8 i;
while(1)
{
P0=0x7f;
for(i=0;i<8;i++)
{
   P0=ledwei[i];
   Hc595SendByte(ledduan[i]);
   delay(100);
   Hc595SendByte(0x00);
}
}
}

可否帮我看看问题出在哪

led点阵.PNG (8.37 KB, 下载次数: 36)

led点阵.PNG

作者: 哈哈我哈哈    时间: 2018-7-19 14:36
已解决程序没有错,问题出在开发板上。这个程序就当做是分享吧
祝学习51单片机的新手们都能取得进步
作者: xuzhen1995    时间: 2018-7-19 15:19
楼主这个程序很有意思啊
作者: zl2168    时间: 2018-7-19 22:35
本帖最后由 zl2168 于 2018-7-19 22:37 编辑

实例66  LED 16×16点阵扫描显示汉字
Proteus仿真一下,确认有效。
实例66a LED 16×16点阵汉字显示.rar (48.21 KB, 下载次数: 12)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解

作者: tankeliang    时间: 2018-7-20 12:24
学习学习




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1