Proteus仿真实验----8*8点阵(点扫描实验)

前言:

        一个简单的8*8点阵点扫描程序;

元件:

        AT89C51、MATRIX-8X8、74HC595;51就不介绍了下面简单说一下后面两个:

MATRIX-8X8:一个8*8的LED点阵,上面8个引脚为行7~0,低电平有效;下面8个引脚为列0~7,高电平有效。

74HC595:8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,三态。

                   特点,8位串行输入,8位串行或并行输出,存储状态寄存器,三种状态,输出寄存器可以直接清除,100MHz的移位频率。

                移位寄存器和存储器是分别的时钟,数据在SH_CP(11脚)的上升沿输入,在ST_CP(12脚)的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早--个脉冲。

                移位寄存器有一个串行移位输入(Ds,14脚),和一个串行输出(Q7’) ,和一个异步的低电平复位(MR,10脚),存储寄存器有一个并行8位的,具备三态的总线输出,当使能0E(13脚)时(为低电平),存储寄存器的数据输出到总线。

元件图如下: 

各行各列值:

u8 Line[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};   //各行
u8 Column[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};  //各列

完整电路:

代码:

#include "reg52.h"
#include "intrins.h"

typedef unsigned int u16;
typedef unsigned char u8;

#define COL P0

sbit SHCP = P2^0;   //移位寄存器时钟,上升沿有效
sbit STCP = P2^2;   //存储寄存器时钟,上升沿有效
sbit DS = P2^1;     //串行数据输入

u8 Line[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};   //各行
u8 Column[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};  //各列



void delay(u16 i)
{
	while(i--);
}

void Hc595SendByte(u8 dat)  //向595发送一个数据
{
	u8 a;
	SHCP = 0;    //拉低两个时钟输入
	STCP = 0;
	for(a=0;a<8;a++)  //发送数据
	{
		DS = dat>>7;
		dat<<=1;
		
		SHCP = 1;   //产生上升沿脉冲
		_nop_();
		_nop_();
		SHCP = 0;
	}
	
	STCP = 1;    //产生上升沿脉冲
	_nop_();
	_nop_();
	STCP = 0;
}

void main()
{
	u8 i,j;
	while(1)
	{
		for(i=0;i<8;i++)   //行扫描row
		{
			
			for(j=0;j<8;j++)  //列扫描column
			{
				
				Hc595SendByte(Line[i]);
				COL = Column[j];
				delay(10000);   //延时100ms
				
			}
			delay(10000);
		}
		
//		Hc595SendByte(0x7f);  //发送一个数据
//		P0 = 0x01;            //列控制column
	}
	
}



总结:

        实现了一个简单的8*8LED点阵的点扫描程序,这里要注意的就是对595的控制,数据、移位寄存器时钟,存储寄存器时钟的控制。

个人学习记录用。

本人知识能力有限,不足之处还请指正!

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Proteus仿真是一款功能强大的电子电路仿真软件,可用于帮助开发人员设计和验证电路设计的正确性和性能。在stm32时钟设计和实现方面,Proteus仿真可以提供以下几个方面的帮助: 1. 时钟电路设计:Proteus仿真软件提供了各种元件和器件模型,可以用于设计stm32的时钟电路。开发人员可以在软件中添加和连接时钟源、晶振、电容、电感等元件,并设置其参数和特性。 2. 时钟频率设定:Proteus仿真软件允许开发人员设定时钟的频率。可以通过调节晶振的参数、加入PLL锁相环电路和设置分频器等方式,实现对stm32时钟频率的控制和调整。通过仿真,可以验证时钟频率的稳定性和精度。 3. 时钟分频设计:在stm32的时钟设计中,时钟分频是很常见的需求。Proteus仿真软件允许开发人员设计和验证时钟分频电路的正确性。通过添加和设置分频器,可以将时钟分频为需要的频率,满足不同外设和模块对时钟频率的要求。 4. 时钟精度和稳定性验证:Proteus仿真软件可以模拟外部环境对时钟信号的影响,如电源噪声、温度变化等,帮助开发人员验证时钟的精度和稳定性。可以通过仿真来检测和调整时钟电路,使其满足系统要求。 总之,Proteus仿真软件在stm32时钟设计和实现方面是一个强大的辅助工具。通过仿真,可以帮助开发人员验证电路设计的正确性、稳定性和精度,加快产品开发的进度,以及减少出错的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值