找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1855|回复: 0
收起左侧

单片机LED平面旋转程序与原理图

[复制链接]
ID:833013 发表于 2020-12-5 12:57 | 显示全部楼层 |阅读模式
电路原理图如下:
%R27{V(H}X9@N251hei))~I_ZR.png {0(]QEB1389GP4`I_Q7IOKJ.png


单片机源程序如下:
bit BIT_timeout=0;
void int0() interrupt 0        //使用外部中断0
{
        BIT_timeout=1; //起点标志位        
}


/*****************************************/
void Shift_data(unsigned char temp)          /*发送数据*/
{
        unsigned  char k;
        for(k=0;k<8;k++)//一个字节8位 发送给595
   {
           DATA_595=(bit)(temp&0x01);//通过IO口送一个位给 595
       temp=temp>>1;  //字节移位 准备送下一位
           CLK_595=1;
           CLK_595=0;
   }
}

/*********延时子程序**********/
unsigned char  DelayUs(unsigned char N)
{
        unsigned char x ;
        for(x=0;x<=N;x++)
        {
                if(BIT_timeout)
                        return 1;
        }
        return 0;
}


unsigned int i=0,j=0;
unsigned char Data_L=0xff;
unsigned char Data_H=0xff;
unsigned char time_delay=0;
unsigned char k;

#define ucNumRows 176 //定义一周显示字个数

void main_loop(void)
{
        
        
        if(BIT_timeout)        //起点判断
         {                        
                BIT_timeout=0; //清零
                j++;
                if(j>(uiFontNumber-ucNumRows))
                        j = 0;
               
    for(i=j;i<(ucNumRows+j);i++)  //立体显示176列 数据   176/16=11个字
    {   
                        Data_L=IapReadByte(i*2+2);        //缓冲数据低位
                        Data_H=IapReadByte(i*2+3);//缓冲数据高位        
                        Shift_data(Data_L);        //送数据低位显示
                        Shift_data(Data_H);//送数据高位显示        
                        CLK_595=1;
                        CLK_595=0;               
                        OE_595=0;
                        
                        if(DelayUs(35))//延时值 可以改变字体的宽度  值越大 字体越宽
                        {
                                OE_595=1;        
                                return;
                        }
                        OE_595=1;                                                        
                }   
        }
}


void main(void)
{
  init();        
        while(1)
        {
                main_loop();
        }
}

全部资料51hei下载地址:
上位机改字软件.7z (177.86 KB, 下载次数: 7)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表