51点阵模块点亮左上角第一个点

51点阵模块点亮左上角第一个点

221
在这里插入图片描述
在这里插入图片描述

#include "reg51.h"			 
#include "intrins.h"

typedef unsigned int u16;	 
typedef unsigned char u8;

//定义使用的IO口
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;

//595控制
void Hc595SendByte(u8 dat)
{
	u8 a;
	SRCLK=0;
	RCLK=0;
	for(a=0;a<8;a++)
	{
		//传送最高位
		//eg:dat=1001 1001
	   SER=dat>>7;  //1传入SER
		//左移一位,把次高位变成最高位
		 dat<<=1;     //dat=0011 0010
		//上升
		 SRCLK=1;
		//两个周期
		 _nop_();
		 _nop_();
		 SRCLK=0;
	}
		//拉高
		RCLK=1;
		_nop_();
		_nop_();
	  RCLK=0;
}

void main()
{	
	 Hc595SendByte(0x80);  //1000 0000
	 P0=0x7f;              //0111 1111
}

猜你喜欢

转载自blog.csdn.net/wang2395/article/details/107446743
今日推荐