基于单片机智能台灯(调光,时钟)系统Proteus仿真(含全部资料)
全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等
资料下载:
通过网盘分享的文件:资料分享
链接: 百度网盘 请输入提取码 提取码: tgnu
目录
资料下载:
Proteus仿真功能
项目文件资料:
一、Proteus仿真源文件
二、AD原理图文件
二、报告说明书
三、系统流程图
四、Keil c语言程序源代码
项目功能:
基于单片机的智能台灯设计
设计一智能台灯,以单片机技术为核心,结合光强传感器(本课题仿真需要统一采用光敏电阻)。系统可根据环境亮度自动调整灯光亮度,并在台灯上有时钟信息显示。
系统功能:
1)利用光电传感器(采用光敏电阻)进行信号的采集及控制,并通过液晶屏显示强度值。
2)时钟显示部分:
在单片机内部利用定时器产生1秒定时,达到时分秒的计时。具有复位功能。
利用按键输入调整小时,分钟,秒时刻;当没有键按下时,时钟正常运行;
当按下键1一次时,时钟停止走动,按键2对秒进行调整;
当按下键1二次时,按键2或键3对分钟进行加1或减1调整;
当按下键1三次时,按键2或键3对小时进行加1或减1调整;
当按下键1四次时,调整结束,时钟按设定的时间进行运行。
采用液晶屏显示时间。
项目文件:
一、Proteus仿真源文件
二、AD原理图文件
二、报告说明书
三、系统流程图
四、器件清单
元件 | 型号 | 数量 |
单片机 | AT89C51 | 1 |
电容 | 10uf | 1 |
电容 | 30pf | 2 |
晶振 | 12MHZ | 1 |
电阻 | 10k | 2 |
按钮 | 4 | |
模数芯片 | ADC0832 | 1 |
电位器 | 1k | 2 |
LED | 红色 | 4 |
电阻 | 100欧 | 4 |
电阻 | 1k | 1 |
三极管 | PNP | 1 |
显示器 | LCD1602 | 1 |
排阻 | 10k | 1 |
电容 | 100uf | 1 |
五、Keil c语言程序源代码(部分)
#include "reg51.h"
#include "ADC0832.h"
#include "lcd1602.h"
sbit k1=P3^0;//按钮
sbit k2=P3^1;
sbit k3=P3^2;
sbit L1=P3^3;//LED
sbit lamp=P1^7;//灯
uchar xian1[]="05:10:25";//时间显示
uchar xian2[]="light:000Lx";//光强
uchar mode=0;//工作模式
uchar light=0;//光强
uchar pwm=0;
uchar time=0,miao=25,fen=10,shi=5;//计时
//主函数
void main()
{init_1602();write_string(1,3,xian1);write_string(2,0,xian2);TMOD|=0X01;TH0=0X3C;TL0=0XB0; ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){if(pwm<100)//输出PWM波pwm++;elsepwm=0;if(pwm<80-light)lamp=0;elselamp=1;if(!k1) //模式切换{if(mode<3)mode++;elsemode=0;switch(mode)//点亮指示灯{case 0:L1=1;L2=1;L3=1;break;case 1:L1=1;L2=1;L3=0;break;//秒case 2:L1=1;L2=0;L3=1;break;//分case 3:L1=0;L2=1;L3=1; //时}while(!k1);}if(!k2)//加{switch(mode){case 1://秒if(miao<59)miao++;break;case 2://分if(fen<59)fen++;break;case 3://时if(shi<23)shi++;}if(mode){xian1[0]=shi/10+0x30;//显示xian1[1]=shi%10+0x30;xian1[3]=fen/10+0x30;xian1[4]=fen%10+0x30;xian1[6]=miao/10+0x30;xian1[7]=miao%10+0x30;write_string(1,3,xian1);}while(!k2);}if(!k3)//加{switch(mode){case 1://秒if(miao>0)miao--;break;case 2://分if(fen>0)fen--;break;case 3://时if(shi>0)shi--;}if(mode){xian1[0]=shi/10+0x30;//显示xian1[1]=shi%10+0x30;xian1[3]=fen/10+0x30;xian1[4]=fen%10+0x30;xian1[6]=miao/10+0x30;xian1[7]=miao%10+0x30;write_string(1,3,xian1);}while(!k3);}}
}
void Timer0() interrupt 1 //定时器0中断
{TH0=0X3C;TL0=0XB0;if(mode){light=ADC();//测量光强xian2[6]=light/100+0x30;xian2[7]=light%100/10+0x30;xian2[8]=light%10+0x30;write_string(2,0,xian2);return;}if(time<20) //计时time++;else{time=0;if(miao<59)//秒miao++;else{miao=0;if(fen<59)//分fen++;else{fen=0;if(shi<23)//时shi++;elseshi=0;}}xian1[0]=shi/10+0x30;//显示xian1[1]=shi%10+0x30;xian1[3]=fen/10+0x30;xian1[7]=miao%10+0x30;write_string(1,3,xian1);light=ADC();//测量光强xian2[6]=light/100+0x30;xian2[7]=light%100/10+0x30;xian2[8]=light%10+0x30;write_string(2,0,xian2);}
}
六、全套资料包含
七:项目资源获取
需要完整的资料可以点击下面的名片关注,回复“资料”!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓