51单片机_9-1 8x8点阵静态显示

本文介绍了如何使用74HC595接口和8x8点阵LED实现一个简单的图形显示程序,包括初始化74HC595、写入数据以及连续显示不同图案的过程。通过提供的main函数,读者可以了解到如何通过位操作控制LED矩阵显示不同字符和图形。
摘要由CSDN通过智能技术生成

要求

1、8x8点阵显示图形

效果


资源

工程文件压缩包
链接:https://pan.baidu.com/s/1WM8Yl2xe2_ncs1drcy6aOw
提取码:5572

main函数

#include <REGX52.H>
#include <INTRINS.H>
#include "Delay.H"


sbit RCK=P3^5;
sbit SCK=P3^6;
sbit SER=P3^4;	//数据接收(1bit/次)
#define MATRIX_LED_PORT P0

/*
*	功能:初始化74HC595
*	参数:无
*	返回值:无
*/
void _74HC595_Init(){
	SCK=0;		//数据下移一位发生器
	RCK=0;		//数据传输发生器
}

/*
*	功能:向74HC595写入一个字节
*	参数:一个字节的数据
*	返回值:无
*/
void _74HC595_WeiteByte(unsigned char Byte){
	unsigned char i;
	for(i=0;i<8;i++){
		SER=Byte&(0x80>>i);
		SCK=1;	//给一个上升沿,将数据下移一位
		SCK=0;	//恢复,以便下一次上升沿的产生
	}
	RCK=1;		//给一个上升沿,将8位数据传入点阵
	RCK=0;		//恢复,以便下一次上升沿的产生
}

/* 
*	功能:向74HC595写入一个字节,并在指定列显示
*	参数:显示列(0~7列),显示字节(高位在上低位在下)
*	返回值:无
*/
void MatrixLED_ShowColumn(unsigned char column,unsigned char Data){
	_74HC595_WeiteByte(Data);				//位选(行选,高电平有效)
	MATRIX_LED_PORT=_cror_(0x7f,column);	//段选(列选,低电平有效)
	Delayms(1);
	MATRIX_LED_PORT=0xff;					//清零
	
}

void main(){
	_74HC595_Init();
	while(1){		
		MatrixLED_ShowColumn(0,0x70);
		MatrixLED_ShowColumn(1,0x88);
		MatrixLED_ShowColumn(2,0x84);
		MatrixLED_ShowColumn(3,0x62);
		MatrixLED_ShowColumn(4,0x62);
		MatrixLED_ShowColumn(5,0x84);
		MatrixLED_ShowColumn(6,0x88);
		MatrixLED_ShowColumn(7,0x70);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值