当前位置: 首页 > news >正文

基于单片机光照强度检测(光敏电阻)系统Proteus仿真(含全部资料)

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

资料下载:

通过网盘分享的文件:资料分享
链接: 百度网盘 请输入提取码 提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

基于51单片机的光照强度检测(光敏电阻)
由STC89C52单片机+四位数码管显示+光敏电阻+ADC0804等构成
具体功能:
①光敏电阻实时采集环境光照值;
②采用ADC0804将模拟值转换为数字量;
③四位数码管显示当前的光照值(00.0-60.0)。


项目文件:

一、Proteus仿真源文件

​​

二、AD原理图文件

二、报告说明书

三、系统流程图

​​

四、器件清单

1)7*9万用板
2)四位一体共阳数码管
3)stc89c51单片机
4)adc0804
5)40脚座
6)20脚座
7)光敏电阻
8)10k电阻*3
9)2.2k电阻*5
10)1.5k电阻
11)103排阻
12)9012*4
13)12M晶振
14)10uf电容
15)30pf电容*2
16)自锁按键
17)DC电源插口
18)小红灯LED
19)104电容
20)按键
21)TL431
22)102电容
23)导线若干
24)焊锡若干
25)usb电源线

五、Keil c语言程序源代码(部分)

#include <reg51.h>
#include <intrins.h> 	  //包含头文件
sbit adc_rd=P3^7;    //RD
sbit adc_wr=P3^6;    //WR
sbit s3=P2^2;
sbit s4=P2^3;	//四个数码管位选端
sbit key=P2^4;	//按键控制输出(选配)
sbit out=P2^5;	//输出控制(选配)unsigned char Disbuf[]={0,0,0};	//显示暂存空数组unsigned char code tab[]={0xC0,0xF9,0xA4,0xB0,0x94,0x92,0x22,0xF0,0x80,0x90};//数字显示编码void display();	 //声明函数
void dsxms()	 //延时
{unsigned char i;for(i=0;i<250;i++);
} void display() //显示函数
{unsigned char i;for(i=0;i<10;i++)	//每次循环10次{P1=tab[Disbuf[2]];	//显示个位s4=0;				//打开位dsxms();			//延时s4=1;				//关闭位P1=tab[Disbuf[1]];//显示十位,&0x7f是显示小数点s3=0;					  //打开位dsxms();				  //延时s3=1;					  //关闭位if(Disbuf[0]==0)		  //如果百位是0时P1=0xff;				  //该位不显示else					  //百位不为0时P1=tab[Disbuf[0]];		  //显示百位数据s2=0;					  //打开位dsxms();				  //延时s2=1;					  //关闭位P1=0xff;           //显示空白s1=0;				//打开位dsxms();			//延时s1=1;				//关闭位}  
}void adc()					  //adc的初始化函数{ adc_wr=0;_nop_();adc_wr=1;}unsigned char read()		  //读AD转换值{unsigned char r;P0=0xff; 				  //P0口复位_nop_();					  //延时adc_rd=0;				  //rd拉低r=P0; 					  //读取P0口数据adc_rd=1;				  //rd拉高return(r);				  //返回读到的数据}void fw(unsigned char dat)	  //将读到的数据处理
{unsigned int i;i=dat*2.353;            //将ad数据计算得到一个介于0-600之间的数值Disbuf[0]=i/100;		//将数据/1000得到千位(显示的百位)Disbuf[1]=(i%100)/10;//将数据/100得到百位(显示的十位)Disbuf[2]=(i%100)%10;//将数据/10得到十位(显示的个位)
}main()				   //主函数{unsigned char p;//循环{adc();  		   //ad初始化display();		   //显示函数fw(read());	   //读到电压值处理数据for(p=0;p<20;p++) display();//显示函数循环20次,防止电压值跳动}}

六、全套资料包含

​​

七:项目资源获取

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

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

http://www.dtcms.com/a/352681.html

相关文章:

  • 华为鸿蒙HarmonyOS Next基础开发教程
  • uniapp+vue+uCharts开发常见问题汇总
  • uniapp npm安装形式 全局分享和按钮分享设置
  • Spring Boot:统一返回格式,这样搞就对了。
  • HMM简单拓展-HSMM与高阶HMM
  • 视频号存在争议了...
  • 软件开发技术栈
  • JVM之【运行时数据区】
  • 深度学习-----ptorch框架认识-手写数字识别.py项目解读
  • 2025年渗透测试面试题总结-34(题目+回答)
  • three.js+WebGL踩坑经验合集(9.2):polygonOffsetFactor工作原理大揭秘
  • Langchian-chatchat私有化部署和踩坑问题以及解决方案[v0.3.1]
  • More Effective C++ 条款10:在构造函数中防止资源泄漏
  • 二维费用背包 分组背包
  • 小范围疫情防控元胞自动机模拟matlab
  • 深入剖析容器文件系统:原理、实现与资源占用分析
  • 游戏空间划分技术
  • 家庭财务规划与投资系统的设计与实现(代码+数据库+LW)
  • 声网RTC稳定连麦、超分清晰,出海直播技术不再难选
  • AT_abc403_f [ABC403F] Shortest One Formula
  • 【44页PPT】极简架构MES系统解决方案介绍(附下载方式)
  • 【Python】雷达簇类ply点云仿真生成,以及聚类算法的簇类目标检测
  • flutter专栏--dart基础知识
  • WebGIS开发智慧校园(6)JavaScript
  • 破解VMware迁移难题的技术
  • SSH密钥登录全流程详解
  • LeetCode-221. 最大正方形
  • 多模块 Starter 最佳实践(强烈推荐!!!)
  • Quarkus OIDC 安全链路时序图
  • git换行行为差异简述;.editorconfig换行行为简述