标题: 单片机控制74HC595 [打印本页]
作者: dzm8365 时间: 2017-6-25 13:32
标题: 单片机控制74HC595
单片机控制两个74HC595驱动16个LED灯,我要从第一个灯开始亮,到全部一起亮,然后所有灯常亮,不循环,程序要怎么写?
作者: HC6800-ES-V2.0 时间: 2017-6-26 09:35
我专门为你做的程序。
/*
AT89C52、共阳LED
*/
#include<reg51.h>
#include<INTRINS.H>
sbit SER=P2^0;//14脚
sbit RCLK=P2^2;//12脚
sbit SRCLK=P2^1;//11脚
void Delay10ms(unsigned int c)
{
unsigned char a,b;
for(c;c>0;c--)
{
for(b=44;b>0;b--)
{
for (a=112;a>0;a--)
{
}
}
}
}
void HC595 (unsigned char dat)
{
unsigned char i;
SRCLK=0;
RCLK=0;
for (i=0;i<8;i++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void main(void)//主函数
{
unsigned char i=0x01,j;
HC595(0x00);//初始化595
HC595(0x00);
for (j=0;j<8;j++)
{
HC595(0);
HC595(i);
i<<=1;
Delay10ms(50);
}
i=0x01;
for (j=0;j<8;j++)
{
HC595(i);
HC595(0xff);
i<<=1;
Delay10ms(50);
}
while (1)//主循环
{
}
}
作者: zl2168 时间: 2017-6-27 11:26
本帖最后由 zl2168 于 2017-6-27 19:32 编辑
实例44 74HC595串入并出控制8/16循环灯
实例44 74HC595串行输出控制8-16循环灯.rar
(72.58 KB, 下载次数: 18)
先Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。
作者: jiqiuwei 时间: 2017-6-27 13:01
受教了
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |