51单片机+点阵8-8上、下、左、右移显示C程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机+点阵8*8上、下、左、右移显示C程序
最近在研究点阵,这东西看起来简单,但是要完全掌握它,可是要花一定
时间的!我现在做得8*8 点阵硬件电路是这样的,行采用74HC138+三极管
8550 驱动,列采用74HC595 驱动,这种电路是非常用的,其次的扫描原理就
是,先打开第一行,然后送代码给列,即595 端,像这样扫描8 次行,一个字
就完成了,具体原理图如下图:下面我将我写得代码下载地址分享下:
一、上移:#includereg52.h#define uchar unsigned char#define uint unsigned int#define LINE P1//定义行线IO 口,即74HC154 控制端#define shudu 50//字移
动的速度sbit DATA=P3 ;//74HC595 数据端sbit CLK=P3;//74H C595移位脉冲
端sbit CLKR=P3;//74H C595数据锁存端uint word;//字节变量uchar line;//字节
变量uchar code table[]
={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x18,0x00,0x7E,0x0 0,0x00,0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00, 0
x00,0x00,};//字模数组void delay(uchar z){uchar x,y;for(x=8;x0;x--)for(y=z;y0;y--);}
/********************************//**74HC595 移位寄存器送数子函数
***//********************************/void song(uchar z)//带参数函数{uchar
num,hang;//定义变量hang=z;//将形参给变量for(num=0;num8;num++)//移动8 次
将数据发送完毕{if(hang0x01==1)//将高7 位屏蔽掉,保留最低位判断
DATA=1;//为1 就将74HC595 数据端置1else DATA=0;//否则给0CLK=0;//上升
沿送走数据CLK=1;//高电平形成上升沿hang=1;//将数移走一位}}
/********************************//*将一行数据转换出来,然后显示
*//********************************/void xian(){uchar i,f;for(i=0;ishudu;i++)//
一字移动的速度{word=f;//将字暂存器给计数器for(line=0;line8;line++)//扫描8。

相关文档
最新文档