资讯详情

STC89C52RC单片机控制流水灯

本项目采用STC89C52RC单片机控制P1口连接的8个LED流水灯控制系统的设计和生产。源文连接:基于STC89C52RC流水灯设计。

图片

首先点亮连接P1.7引脚的LED灯延迟一段时间后熄灭,然后点亮连接P1.6引脚连接的LED灯,延迟一段时间后熄灭,这次按照这个顺序点亮每一个LED直到直到最后一个连接到点亮P1.0引脚的发光LED等,再从P1.7引脚的LED灯开始点亮,循环不止,产生动态显示的流水控制效果。

///程序功能:采用库函数实现的流水灯控制程序 #include<reg51.h>//包含头文件reg51.h,定义了51单片机专用寄存器 #include <intrins.h> //包含内部函数库,提供移位和延迟操作函数 //函数名:delay //函数功能:实现软件延迟 //形式参数:无符号整形变量i,控制空循环的循环次数 //返回值:没有 void delay(unsigned int i) //定义延迟函数 { unsigned int k; for (k=0;k<i;k ) ; } void main() //主函数 { ///主程序开始 P1 = 0x7F; //P1端口输出0x7F while(1) //无限循环 { /// P1 = _cror_(P1,1); //调用内部函数_cror_(),将P二进制数值循环右移 delay(5000); //延时 } /// } //结束控制程序

程序通过向P1口写入8位二进制数,以改变每个引脚的输出状态,从而控制8个发光二极管的亮灭。其中,P1=0x7F,将P1口的8位设置为011111111输出,点亮P1.七引脚连接的发光二极管。内部函数可以通过_cror_()实现循环右移功能P1端口在01111111、10111111…通过1111110之间的变化while重复执行循环语句,实现状态循环的右移和延迟,从而达到流水灯的效果。

标签: 89二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台