基于51单片机光照检测代码(基于51单片机的光照检测系统)
大家好,下面小编给大家分享一下。基于51单片机的光检测码(基于51单片机的光检测系统)很多人都不知道。下面详细解释一下。现在让我们来看看!
1.基于STC89C51单片机的灯光声控灯c语言源代码。
/*******************************************************
*程序名称:hc595.c
*程序功能应用文件:595
*节目作者:吴健英
*创建时间:2014年3月10日
*修改时间:
*程序版本:V0.1
******************************************************/
/*
*包含头文件
*/
#包含“inc/hc595.h”
#包含“reg51.h”
/*
*定义引脚
*/
/*时钟信号线引脚定义*/
sbit HC 595 clk = p0^5;
/*片选信号线引脚定义*/
sbit HC 595 rck = p0^6;
/*数据输入引脚定义*/
sbit HC 595 data = p0^7;
/******************************************************
*函数名:SendData
*功能:74HC595数据传输
*入口参数:unsigned int UIDataOne,unsigned int UIDataTwo
*导出参数:void
*******************************************************/
void send data(unsigned int ui dataone,unsigned int uiDataTwo)
{
无符号int I = 0;
/*将芯片选择信号设置为低电平*/
HC 595 rck = 0;
/*输入第一个数据:uiDataOne */
for(I = 0;我& lt8;i )
{
/*给出一个脉冲信号,首先将CLK设置为0 */
HC 595 clk = 0;
如果(0!=(uiDataOne & amp;0x80))
{
HC 595 data = 1;
}
其他
{
HC 595 data = 0;
}
/*给出一个脉冲信号,首先将CLK设置为1 */
HC 595 clk = 1;
/*准备第二个数据*/
uiDataOne = uiDataOne & lt& lt1;
}
/*输入第二个数据:uiDataTwo */
for(I = 0;我& lt8;i )
{
/*给出一个脉冲信号,首先将CLK设置为0 */
HC 595 clk = 0;
如果(0!=(uiDataTwo & amp;0x80))
{
HC 595 data = 1;
}
其他
{
HC 595 data = 0;
}
/*给出一个脉冲信号,首先将CLK设置为1 */
HC 595 clk = 1;
/*准备第二个数据*/
uiDataTwo = uiDataTwo & lt& lt1;
}
/*将芯片选择信号设置为高电平*/
HC 595 rck = 1;
}
2.基于STC89C51单片机的灯光声控灯c语言源代码
/******************************************************* * 程序名称:hc595.c * 程序功能:595的应用文件 * 程序作者:吴鉴鹰 * 创建时间:2014-3-10 * 修改时间: * 程序版本:V0.1 ******************************************************//* * 包含头文件 */#include "inc/hc595.h"#include "reg51.h"/* * 定义引脚 *//* 时钟信号线引脚定义 */sbit HC595CLK = P0^5;/* 片选信号线引脚定义 */sbit HC595RCK = P0^6;/* 数据输入引脚定义 */sbit HC595DATA = P0^7;/****************************************************** * 函数名称:SendData * 函数功能:74HC595数据的发送 * 入口参数:unsigned int uiDataOne, unsigned int uiDataTwo * 出口参数:void*******************************************************/ void SendData(unsigned int uiDataOne, unsigned int uiDataTwo){ unsigned int i = 0; /* 将片选信号置为低电平 */ HC595RCK = 0; /* 输入第一个数据:uiDataOne */ for (i = 0; i < 8; i ) { /* 给出脉冲信号,首先将CLK置为0 */ HC595CLK = 0; if (0 != (uiDataOne & 0x80)) { HC595DATA = 1; } else { HC595DATA = 0; } /* 给出脉冲信号,首先将CLK置为1 */ HC595CLK = 1; /* 准备第二个数据 */ uiDataOne = uiDataOne
相关推荐
- 出包王女有多少集02-16
- 考编和考公务员的区别12-01
- 花旗参泡水喝的功效 经常喝有这7大好处12-01
- 属鼠的几月犯月,属鼠的几月出生最不好12-01
- 中职专业课面试科目指定教材02-16
- 车轮胎到底多久更换一次12-01
- 做梦在结婚是什么征兆12-01
- 二极管漏电流多大时会影响使用寿命12-01
- 做梦打架是啥意思02-16
- 苹果13辅助圆球怎么设置12-01