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 串行数据输入 DSvoid _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);//数据存入DataP0=~(0x80>>Column);}void main()
{SCK=0;RCK=0;MatrixLED_ShowColumn(7,0xF0);while(1){}}
1.5. Proteus仿真测试没问题: