Proteus仿真实验

您所在的位置:网站首页 proteus88下载 Proteus仿真实验

Proteus仿真实验

2024-05-26 13:53| 来源: 网络整理| 查看: 265

前言:

        一个简单的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>7; dat


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3