51单片机点阵

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言


学习了数码管的静态和动态显示,利用动态数码管显示的原理,搞定点阵。


一、点阵是什么?

1.点阵的原理

2. 3*3 点阵显示原理

3. 8*8点阵实物图

4. 8*8点阵内部原理图

5. 16*16点阵实物图,显示原理

二、使用步骤

1.先看原理图,确定点阵是88 1616 ,共阴,共阳?

代码如下(示例):

取段码:用专门的软件。

2.写代码

代码如下(示例):

c 复制代码
逐行:

第一行
1.先给段码
P0=0X?
P2=0X?
P1=0X00;

第一行
1.先给段码
P0=0X?
P2=0X?
P1=0X01;

0000~1111   0-15

for(i=0;i<16;i++)
{
	P0=0X?
	P2=0X?
	P1=i;
	delay(?);
	P0=0X00;
	P2=0X00;

}

核心问题,段码怎么来?


三、实物操作

1.原理图

2.编程思路

  1. 段码 P0=0X?
  2. 位选
    P35 pclk
    P36 srclk
    P34 SER


J24 接 GND

P35_RCLK

P34_data

P36_SRCLK

c 复制代码
一次移位
P34_data=1;
P36_SRCLK=0;
P36_SRCLK=1;

八次移位:
最简单的方法将上面的代码赋值八次
P34_data=?;  // 是0 给00,是1给1
P36_SRCLK=0;
P36_SRCLK=1;
........


P35_RCLK=0;
P35_RCLK=1;

//发送  x =0x01   第一行

// 0000 0001
// 1000 0000
&
//=  0000 0000

//x =x<<1;

// 0000 0010



for(i=0;i<8;i++)
{
	if((x&0x80)==0)
	{
		P34_data=0;  // 是0 给00,是1给1
	}
	esle
	{
		P34_data=1;  // 是0 给00,是1给1
	}
	P36_SRCLK=0;
	P36_SRCLK=1;
	x=x<<1;

}
P35_RCLK=0;
P35_RCLK=1;

P36_SRCLK=0;
P35_RCLK=0;


//发送0x02   第二行 

for(i=0;i<8;i++)
{

	P34_data=?;  // 是0 给00,是1给1
	P36_SRCLK=0;
	P36_SRCLK=1;

}
P35_RCLK=0;
P35_RCLK=1;

P36_SRCLK=0;
P35_RCLK=0;

简化的方法:

c 复制代码
// 1000 0000
// 1 000  0000 0

for(i=0;i<8;i++)
{
	
	X=X<<1;
	P34_data=CY;  // 是0 给00,是1给1
	
	P36_SRCLK=0;
	P36_SRCLK=1;


}
P35_RCLK=0;
P35_RCLK=1;

P36_SRCLK=0;
P35_RCLK=0;
c 复制代码
P0=0X?
HC595(0X01)




temp=0x01;
for(i=0;i<8;i++)
{

	P0=0X?
	HC595(temp)  //0x01
	temp=temp<<1;
	delay();
	P0=0X?//,灭
}

四、 书上的代码讲解



改变j显示不同的汉字,改变i显示不同行的段码;

n的讲解

总结

利用动态数码管显示的原理,用点阵显示字符。

相关推荐
森焱森1 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
brave and determined2 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
金色光环6 小时前
stm32与tp-linkv2接线、解决识别不到芯片问题
stm32·单片机·嵌入式硬件
森焱森8 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
Wangshanjie_9810 小时前
【STM32】-单片机数据通讯基本概念
stm32·单片机
不落的太陽11 小时前
让测距功能与时俱进
单片机·嵌入式硬件
Funing711 小时前
stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
stm32·单片机·嵌入式硬件
竹照煜_ysn20 小时前
蓝桥杯51单片机设计
单片机·嵌入式硬件·51单片机