1. 为了在proteus中模拟学习江协科技51单片机教程,需要在proteus中搭建74HC595驱动8x8点阵屏的仿真环境;
1.1. 因为连接单片机P0口作为点阵屏负极(行选),所以需要先在P0口上接上上拉电阻RESPACK 8,1k欧姆阻值,并在排阻上接电源;
1.2. 插入74HC595芯片和8x8点阵屏,注意各个端口连接号码;
1.3. 如果不确定8x8点阵屏的接口(因为需要翻转点阵屏),可以先插入一个点阵屏,并直接接电源与接地,模拟看一下点阵屏的输入输出(P0)端口;
1.4. 随教学进度测试程序以及Proteus环境搭建无误:
#include <REGX52.h>
#include "delay_xms.h"
sbit RCK=P3^5; //RCLK 串行寄存器时钟,上升沿有效 SH_CP
sbit SCK=P3^6; //SRCLK 串行输入时钟,上升沿有效 ST_CP
sbit SER=P3^4; //SER 串行数据输入 DS
void _74HC595_WriteByte(unsigned char Byte)//数据存入串行寄存器
{
unsigned char i;
for(i=0;i<8;i++)
{
SER=Byte&(0x80>>i);//数据按位输入
SCK=1;
SCK=0;
}
RCK=1; //数据存入串行寄存器
RCK=0;
}
void MatrixLED_ShowColumn(unsigned char Column,Data) //Column是列数据,Data数据
{
_74HC595_WriteByte(Data);//数据存入Data
P0=~(0x80>>Column);
}
void main()
{
SCK=0;
RCK=0;
MatrixLED_ShowColumn(7,0xF0);
while(1)
{
}
}
1.5. Proteus仿真测试没问题: