⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 max7219.c

📁 PS2键盘和162液晶的检测并显示
💻 C
字号:
/*
 *  Copyright (C) 2006, 电气与电子科技创新中心超越团队
 *  
 *  文件名:     MAX7219.C
 *  文件描述:   两个4位8段数码管的主程序文件
 *          
 *  当前版本:   1.0
 *  作者:       超越团队
 *  完成日期:   2008年3月1日
 *  
*/

#include <reg51.h>
#include <INTRINS.H>
#include "MAX7219.H"

/* 段码数据表 */
static unsigned char code seg_code[] = { 
    
    0x7e, 0x30, 0x6d, 0x79, 0x33, 0x5b, 0x5f, 0x70, 0x7f, 0x7b, /* 数字 0 - 9       */
    0x77, 0x1f, 0x4e, 0x3d, 0x4f, 0x47,                         /* A, b, C, d, E, F */
    0x00, 0xff, 0x01,0x80 };                                         /* 消隐,全亮,横杠,小数点   */      
    

/*************************************************************
    函数说明 : 小数点显示 
************************************************************/
/*
void main()
{

int i,j=0;
Init_MAX7219();

while(1)
	{
	  for(i=0;i<8;i++)
	  	{
		seg_display[i]=seg_code[i];
		MAX7219_Command(dataaddr+i,seg_code[j]);
		 Delay5Ms_7219(2);
		 if(i==8)i=0;
		 if(j==20)j=0;
		 j++;
		 }
	}

}

*/
/*

void Delay5Ms_7219(unsigned char num)
{
	unsigned int i=5552,j;
   for(;i>0;i--)
   		for (j=num;j>0;j--);
}



/************************************************************
    函数说明 : 初始化
************************************************************/
void Init_MAX7219( void )
{
    set_0( MAX7219_Clk  );
    set_0( MAX7219_Cs   );
    set_0( MAX7219_Data );

    MAX7219_Command(decodemode,0x00);
    MAX7219_Command(intensity,0x05);    /*亮度调节*/
    MAX7219_Command(scanlimit,0x07);    /*显示位数*/
    MAX7219_Command(shutdown,0x01);     /*0关闭 1开启*/
    MAX7219_Command(testreg,0x00);
}

/************************************************************
    函数说明 : 命令
************************************************************/
void MAX7219_Command( unsigned char addr, unsigned char  data_send )
{
    unsigned char i,a;

    set_0( MAX7219_Cs );
    for( i=0; i<4; i++ )
    { 
        set_0( MAX7219_Clk  );
        set_1( MAX7219_Clk  );  
    }

    addr=addr<<4;
    for(i=0;i<4;i++)
    {
        set_0( MAX7219_Clk );
        a=addr&0x80;
        if(a) set_1( MAX7219_Data );
        else set_0( MAX7219_Data );
        addr=addr<<1;
        set_1( MAX7219_Clk );
    }
    for(i=0;i<8;i++)
    {
        set_0( MAX7219_Clk );
        a=data_send&0x80;
        if(a) set_1( MAX7219_Data );
        else set_0( MAX7219_Data );
        data_send=data_send<<1;
        set_1( MAX7219_Clk ); 
    }
    set_1( MAX7219_Cs );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -