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

📄 7219.txt

📁 7219是XAXIM美国美信公司生产的数码管驱动芯片
💻 TXT
字号:
#include<reg51.h>
#include<math.h>
#define  uint   unsigned int
#define  uchar unsigned char
sbit LOAD=P1^3;   		//MAX7219片选 			12脚
sbit DIN=P1^2;    		//MAX7219串行数据		1脚
sbit CLK=P1^4;    		//MAX7219串行时钟		13脚
			
//函数声明
void Write7219(uchar address,uchar dat);
void Initial(void);


//地址、数据发送子程序
void Write7219(uchar address,uchar dat)
{	
	uchar i;
	LOAD=0;	//拉低片选线,选中器件
	//发送地址
 	for (i=0;i<8;i++)			//移位循环8次				
 	{	
 		CLK=0;			//清零时钟总线
   		DIN=(bit)(address&0x80);	//每次取高字节      
   		address<<=1;  			//左移一位
   		CLK=1;			//时钟上升沿,发送地址
  	}
  	//发送数据
 	for (i=0;i<8;i++)					
 	{	
 		CLK=0;
   		DIN=(bit)(dat&0x80);     
   		dat<<=1;  
   		CLK=1;			//时钟上升沿,发送数据
  	}
 	LOAD=1;    //发送结束,上升沿锁存数据      					
}


//MAX7219初始化,设置MAX7219内部的控制寄存器
void Initial7219(void)		 			
{ 
	Write7219(0x0C,0x01); 		//关断模式寄存器,开启正常工作模式(0xX1)
	Write7219(0x0F,0x00); 		//测试控制寄存器,选择工作模式(0xX0)
	Write7219(0x09,0xff); 		//译码控制寄存器,选用全译码模式
	Write7219(0x0B,0x07); 		//扫描界限寄存器,8只LED全用
	Write7219(0x0A,0x04); 		//亮度控制寄存器,设置初始亮度      
}


void main(void)
{
	uchar i; 
	Initial7219(); 				//MAX7219初始化
	while(1)
	{  
		for(i=1;i<9;i++)
		{
			Write7219(i,i);		//数码管显示1~8
		}
	} 
}

⌨️ 快捷键说明

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