基于单片机智能台灯(调光,时钟)系统Proteus仿真(含全部资料)

++全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等++

资料下载:

通过网盘分享的文件:资料分享

链接: 百度网盘 请输入提取码 提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

[四、Keil c语言程序源代码](#四、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++;
	else
		pwm=0;
	if(pwm<80-light)
		lamp=0;
	else
		lamp=1;
		if(!k1)	//模式切换
		{
			if(mode<3)
				mode++;
			else
				mode=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++;
				else
					shi=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);
	}
}

六、全套资料包含

​​

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复"资料"!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

相关推荐
刻BITTER17 小时前
用EXCEL 将单色屏幕的Bitmap 字模数据还原回图形
单片机·嵌入式硬件·excel·arduino
撬动未来的支点20 小时前
【嵌入式】MCU和MPU的区别
单片机·嵌入式硬件
一支闲人20 小时前
CAN:STM32 CAN外设2
stm32·单片机·基础知识·can协议·stm外设
逐步前行21 小时前
Proteus 8.9(二)常用组件
proteus
雅欣鱼子酱21 小时前
两种电流检测电路设计方案 高侧,低侧,最高耐压90V
单片机·嵌入式硬件·芯片·电子元器件·电流检测芯片
平凡灵感码头21 小时前
经典按键扫描程序算法实现方式
单片机·矩阵·计算机外设
d111111111d1 天前
STM32--SPI通讯外设-学习笔记
笔记·stm32·单片机·嵌入式硬件·学习
bai5459361 天前
STM32旋转编码计次
stm32·单片机·嵌入式硬件
d111111111d1 天前
在STM32中有参宏定义define该怎么使用
笔记·stm32·单片机·嵌入式硬件·学习
KWTXX1 天前
STM32工作原理与数电模电的紧密联系【主要是介绍电路,模数电,想看STM32的工作原理可以不用看】
stm32·单片机·嵌入式硬件