51单片机程序设计:[6]88点阵显示动画

时间:2026-02-15 11:46:30

1、详细电路图连接关系如下图。 通过取模软件,分别去的下面需要的字模数组:

unsigned char code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};unsigned char code digittab[41][8]={//图形1    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x3C,0x24,0x24,0x3C,0x00,0x00},/*"未命名文件",0*/    {0x00,0x7E,0x42,0x42,0x42,0x42,0x7E,0x00},/*"未命名文件",0*/    {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//图形2    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/    {0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00},/*"未命名文件",0*/    {0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//图形3    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/    {0x00,0x10,0x24,0x1A,0x58,0x24,0x08,0x00},/*"未命名文件",0*/    {0x08,0x10,0x24,0x9A,0x59,0x24,0x08,0x10},/*"未命名文件",0*/    {0x0C,0x10,0xA4,0x9A,0x59,0x25,0x08,0x30},/*"未命名文件",0*/    {0x0E,0x90,0xA4,0x9A,0x59,0x25,0x09,0x70},/*"未命名文件",0*/    {0x8F,0x90,0xA4,0x9A,0x59,0x25,0x09,0xF1},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},};

51单片机程序设计:[6]88点阵显示动画

51单片机程序设计:[6]88点阵显示动画

2、代码的规整版本图片:

(多张图片,可以通过行号区别)

51单片机程序设计:[6]88点阵显示动画

51单片机程序设计:[6]88点阵显示动画

51单片机程序设计:[6]88点阵显示动画

51单片机程序设计:[6]88点阵显示动画

3、//效果截图,详细代码:

//跳线设置:默认跳线位#include <AT89X52.H>

//段码选通位-控制74HC573段输出sbit dula=P2^6;

sbit wela=P2^7; //位码选通位-控制74HC573位输出//sbit OE1=P2^6;  //OE u8-573#define uchar unsigned charsbit simuseri_CLK=P2^4;           //用P2^4模拟串口时钟sbit simuseri_DATA=P2^5;          //用P2^5模拟串口数据sbit a7=ACC^7;#define uint unsigned int//unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};unsigned char code digittab[41][8]={//图形1    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x3C,0x24,0x24,0x3C,0x00,0x00},/*"未命名文件",0*/    {0x00,0x7E,0x42,0x42,0x42,0x42,0x7E,0x00},/*"未命名文件",0*/    {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//图形2    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/    {0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00},/*"未命名文件",0*/    {0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//图形3    {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/    {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/    {0x00,0x10,0x24,0x1A,0x58,0x24,0x08,0x00},/*"未命名文件",0*/    {0x08,0x10,0x24,0x9A,0x59,0x24,0x08,0x10},/*"未命名文件",0*/    {0x0C,0x10,0xA4,0x9A,0x59,0x25,0x08,0x30},/*"未命名文件",0*/    {0x0E,0x90,0xA4,0x9A,0x59,0x25,0x09,0x70},/*"未命名文件",0*/    {0x8F,0x90,0xA4,0x9A,0x59,0x25,0x09,0xF1},/*"未命名文件",0*/    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},};unsigned int timecount;unsigned char cnta;unsigned char cntb;//-------------------------------------------------------------------------------------------------------//  函数名称:out_simuseri//  输入参数:data_buf//  输出参数:无//  功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA//--------------------------------------------------------------------------------------------------------void out_simuseri(uchar data_buf){    uchar i;    i=8;    ACC=data_buf;    do    {        simuseri_CLK=0;        simuseri_DATA=a7;        simuseri_CLK=1;        ACC=ACC<<1;    }    while (--i!=0);}void delay(){    uint i;    i = 0x1ff;    while (i--);}void main(void){    P1_4=1;    P0=0xff;    dula=1;    wela=1;    P0=0xff;    wela=0;    TMOD=0x01;    TH0=(65536-3000)/256;    TL0=(65536-3000)%256;    TR0=1;    ET0=1;    EA=1;    while (1)    {        ;    }}void t0(void) interrupt 1 using 0{    TH0=(65536-3000)/256;    TL0=(65536-3000)%256;//out_simuseri(0x00);    P0=0xff; // 消隐,很重要,不加要红一片    out_simuseri(tab[cnta]);    P0= ~digittab[cntb][cnta];    cnta++;    if (cnta==8)    {        cnta=0;    }    timecount++;    if (timecount==70)  //调速度    {        timecount=0;        cntb++;        if (cntb==18)        {            cntb=0;        }    }}

51单片机程序设计:[6]88点阵显示动画

51单片机程序设计:[6]88点阵显示动画

© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com