微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 4*4的光立方程序,初学者没看懂扫描过程,求大神教一下

4*4的光立方程序,初学者没看懂扫描过程,求大神教一下

时间:10-02 整理:3721RD 点击:
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#include <Binary.h>
#define uint unsigned int
#define uchar unsigned char
#define LED P0
#define FLOOR P2
/*图形表*/
uchar code table[16]=
{
        B0000,B0000,B0000,B0000,  //层1
        B0000,B0000,B0000,B0000,  //层2
        B0000,B0000,B0000,B0000,  //层3
        B0000,B0000,B0000,B0000,  //层4
};
/*粗略延时函数*/
void delay(uint xms)
{
        uint i,j;
        for(i = xms ; i > 0 ; i--)
                for(j=150;j > 0;j--);
}
/*立方体扫描*/
void Cube_display(uchar array[],uint delay_time)
{
        uchar floor_temp;
        uchar num;
        for(;delay_time > 0;delay_time--)
        {
                for(num = 0,floor_temp = 0x01;num < 8;num++)
                {
                        FLOOR = ~floor_temp;
                        LED = (~array[num]) | 0xf0;
                        delay(1);
                        LED = 0xff;
                        floor_temp = floor_temp << 1;                                                
                }
               
                for(num = 8,floor_temp = 0x01;num < 16;num++)
                {
                        FLOOR = ~floor_temp;
                        LED = (~(array[num]) << 4) | 0x0f;
                        delay(1);
                        LED = 0xff;
                        floor_temp = floor_temp << 1;                                                
                }
        }       
}

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

网站地图

Top