单片机算法与程序框图ppt图

后使用快捷导航没有帐号?
查看: 4487|回复: 52
大神用单片机DIY智能台灯(含程序框图,原理图及代码)
在这里设计了以人体红外辐射(波长为9.5um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。当人离开时则自动关灯,达到节约能源的目的。
附件资料中包含了智能台灯制作的全部资料
含程序框图,原理图及代码& & 有兴趣的网友可以直接就拿去用了&&自己做一个这样的智能台灯!
单片机DIY智能台灯(含程序框图,原理图及代码).jpg (28.16 KB, 下载次数: 0 )
大神用单片机DIY智能台灯(含程序框图,原理图及代码)
16:40 上传
大神用单片机DIY智能台灯(含程序框图,原理图及代码).jpg (31.45 KB, 下载次数: 0 )
大神用单片机DIY智能台灯(含程序框图,原理图及代码)
16:41 上传
游客,如果您要查看本帖隐藏内容请
看看能不能搞
滴灌炒为为 这为  炒这  为迷迷 
滴灌炒为为 这为  炒这  为迷迷 
谢谢分享,也上手玩一下
谢谢分享,也上手玩一下
哈哈 做个直播的帖子呗&&
论坛资料为网友自由上传,与本论坛无关。
Powered by
关注一牛微信
获取手机验证码单片机设计方案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机设计方案
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢求大神给代码画个程序框图_51单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:48,397贴子:
求大神给代码画个程序框图收藏
//实例84:液晶时钟设计#include&reg51.h&
//包含单片机寄存器的头文件#include&stdlib.h&
//包含随机函数rand()的定义文件#include&intrins.h&
//包含_nop_()函数定义的头文件sbit RS=P2^0;
//寄存器选择位,将RS位定义为P2.0引脚sbit RW=P2^1;
//读写选择位,将RW位定义为P2.1引脚sbit E=P2^2;
//使能信号位,将E位定义为P2.2引脚sbit BF=P0^7;
//忙碌标志位,,将BF位定义为P0.7引脚unsigned char code digit[ ]={&&}; //定义字符数组显示数字unsigned char code string[ ]={&BeiJing Time&}; //定义字符数组显示提示信息
//定义变量统计中断累计次数unsigned char s,m,h;
//定义变量储存秒、分钟和小时/*****************************************************函数功能:延时1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒***************************************************/void delay1ms(){
unsigned char i,j;
for(i=0;i&10;i++)
for(j=0;j&33;j++)
} /*****************************************************函数功能:延时若干毫秒入口参数:n***************************************************/ void delay(unsigned char n) { for(i=0;i&n;i++)
delay1ms(); }/*****************************************************函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙***************************************************/ unsigned char BusyTest(void)
//根据规定,RS为低电平,RW为高电平时,可以读状态
//E=1,才允许读写
//空操作四个机器周期,给硬件反应时间
result=BF;
//将忙碌标志电平赋给result
//将E恢复低电平
}/*****************************************************函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate***************************************************/void WriteInstruction (unsigned char dictate){
while(BusyTest()==1); //如果忙就等待
//根据规定,RS和R/W同时为低电平时,可以写入指令
//E置低电平(根据表8-6,写指令时,E为高脉冲,
// 就是让E从0到1发生正跳变,所以应先置&0&
//空操作两个机器周期,给硬件反应时间
//将数据送入P0口,即写入指令或地址
//空操作四个机器周期,给硬件反应时间
//E置高电平
//空操作四个机器周期,给硬件反应时间
//当E由高电平跳变成低电平时,液晶模块开始执行命令 }/*****************************************************函数功能:指定字符显示的实际地址入口参数:x***************************************************/ void WriteAddress(unsigned char x) {
WriteInstruction(x|0x80); //显示位置的确定方法规定为&80H+地址码x& }/*****************************************************函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)***************************************************/ void WriteData(unsigned char y) {
while(BusyTest()==1);
//RS为高电平,RW为低电平时,可以写入数据
//E置低电平(根据表8-6,写指令时,E为高脉冲,
// 就是让E从0到1发生正跳变,所以应先置&0&
//将数据送入P0口,即将数据写入液晶模块
//空操作四个机器周期,给硬件反应时间
//E置高电平
//空操作四个机器周期,给硬件反应时间
//当E由高电平跳变成低电平时,液晶模块开始执行命令 }/*****************************************************函数功能:对LCD的显示模式进行初始化设置***************************************************/void LcdInitiate(void){
delay(15);
//延时15ms,首次写指令时应给LCD一段较长的反应时间
WriteInstruction(0x38);
//显示模式设置:16×2显示,5×7点阵,8位数据接口 delay(5);
//延时5ms ,给硬件一点反应时间
WriteInstruction(0x38); delay(5); WriteInstruction(0x38); //连续三次,确保初始化成功 delay(5); WriteInstruction(0x0c);
//显示模式设置:显示开,无光标,光标不闪烁 delay(5); WriteInstruction(0x06);
//显示模式设置:光标右移,字符不移 delay(5); WriteInstruction(0x01);
//清屏幕指令,将以前的显示内容清除 delay(5); } /****************************************************************************** 函数功能:显示小时
******************************************************************************/void DisplayHour(){
unsigned char i,j; i=h/10;
//取整运算,求得十位数字 j=h%10;
//取余运算,求得各位数字
WriteAddress(0x44);
//写显示地址,将十位数字显示在第2行第5列 WriteData(digit[i]);
//将十位数字的字符常量写入LCD WriteData(digit[j]);
//将个位数字的字符常量写入LCD
}/****************************************************************************** 函数功能:显示分钟
******************************************************************************/void DisplayMinute(){
unsigned char i,j;
//取整运算,求得十位数字 j=m%10;
//取余运算,求得各位数字
WriteAddress(0x47);
//写显示地址,将十位数字显示在第2行第8列 WriteData(digit[i]);
//将十位数字的字符常量写入LCD WriteData(digit[j]);
//将个位数字的字符常量写入LCD
} /****************************************************************************** 函数功能:显示秒
******************************************************************************/void DisplaySecond(){
unsigned char i,j;
//取整运算,求得十位数字 j=s%10;
//取余运算,求得各位数字
WriteAddress(0x4a);
//写显示地址,将十位数字显示在第2行第11列 WriteData(digit[i]);
//将十位数字的字符常量写入LCD WriteData(digit[j]);
//将个位数字的字符常量写入LCD }/*********************************************************************
main function***********************************************************************/ void main(void) {
LcdInitiate();
//调用LCD初始化函数
TMOD=0x01;
//使用定时器T0的模式1 TH0=()/256;
//定时器T0的高8位设置初值 TL0=()%256;
//定时器T0的低8位设置初值 EA=1;
//开总中断 ET0=1;
//定时器T0中断允许 TR0=1;
//启动定时器T0 count=0;
//中断次数初始化为0 s=0;
//秒初始化为0 m=0;
//分钟初始化为0 h=0;
//小时初始化为0
WriteAddress(0x03);
//写地址,从第1行第4列开始显示
//从字符数组的第1个元素开始显示
while(string[i]!='\0')
//只要没有显示到字符串的结束标志'\0',就继续
WriteData(string[i]); //将第i个字符数组元素写入LCD
//指向下一个数组元素
WriteAddress(0x46);
//写地址,将第二个分号显示在第2行第7列 WriteData(':');
//将分号的字符常量写入LCD WriteAddress(0x49);
//写地址,将第二个分号显示在第2行第10列 WriteData(':');
//将分号的字符常量写入LCD
//无限循环
DisplayHour();
//显示小时
//给硬件一点反应时间
DisplayMinute();
//显示分钟
//给硬件一点反应时间
DisplaySecond();
//给硬件一点反应时间
}}/*******************************************************函数功能:定时器T0的中断服务函数********************************************************/ void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器
//每产生1次中断,中断累计次数加1
if(count==20)
//如果中断次数计满20次
//中断累计次数清0
//如果计满60秒
//如果计满60分
//如果计满24小时
TH0=()/256;
//定时器T0高8位重新赋初值
TL0=()%256;
//定时器T0低8位重新赋初值
产品项目外包51单片机设计选快包,多年开发经验单片机开发团队,个人,多种技术合作方式,让51单片机设计更轻松,马上发布任务需求即可领取500项目扶持金!
求程序框图
有偿代画,企鹅
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求大神帮忙画个程序框图_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:134,724贴子:
求大神帮忙画个程序框图收藏
江西单片机培训,尚观科技专业嵌入式培训——0基础0元入学,4个月从入门到精通,先就业后付款!7天免费试学,试学,让您更好的选择!
有大神能帮忙么?
cs都来了?这是x86的汇编?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 算法与程序框图ppt 的文章

 

随机推荐