白天与黑夜的检测_白天与黑夜练习题

2020-02-28 其他范文 下载本文

白天与黑夜的检测由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“白天与黑夜练习题”。

白天和黑夜检测电路

电路设计要求:

运用单片机设计一电路,通过电路中反应出的不同情况,来检测白天与黑夜。

一.原理部分及设计部分

本设计使用光敏电阻5516搭接光强采集电路,经过AD转换讲光电模拟信号数字化,接着将数字信号通过单片机89C52进行数据处理,最后通过对单片机端口的控制,控制发光二极管亮暗来检测白天与黑夜。

二.电路元件的确定分析 1.光强采集电路

光强采集,通过光敏电阻进行设计。光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。还有另一种入射光弱,电阻减小,入射光强,电阻增大。

在实际强光下测光敏电阻的阻值可达到60欧,亮电阻的最大定为20千欧,R3可定为20千欧。采用分压原理,设计电路如图所示:

光敏电阻型号:

2、A/D转换

A/D转换采用ADC0804芯片。ADC0804是属于连续渐进式的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。本次设计中AD转换系统与AT89C52单片机外部总线接口P1连接,接收采集到的光强。

ADC0804各个管脚的作用:

D0-D7:数字量输出端,输出结果为八位二进制结果;

CLK:为芯片工作提供工作脉冲,时钟电路如图所示,时钟频率计算方式是:

fCK=1/(1.1×R×C)CS:片选信号;

WR:写信号输入端; RD:读信号输入端;

INTR:转换完毕中断提供端;

ADC0804的引脚图:

ADC0804时序:

3、STC89C52 STC89C52引脚图:

40只引脚按照其功能来分,可分为3类:

(1)电源及时钟引脚:V、Vcc;XTAL1、XTAL2(2)控制引脚:PSEN、ALE、EA、RESET(3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚

复位电路:

复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,当你进行完了一个题目的计算后肯定是要清零的是吧!或者你输入错误,计算失误时都 要进行清零操作。以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。电路如图所示:

晶振电路:

在AT89C52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。在由多片单片机组成的系统中,为了各单片机之间的时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。时钟电路如图所示:

发光二极管显示电路:

通过程序来判断P1口的数字信息,讲数字信息转化为具体数值,来设置P2^1的高低电平,控制发光二极管的暗亮。

普通发光二极管的正向饱和压降为1.6V~2.1V,正向工作电流为5mA~20mA,从P2^1的实际电压大约为4.77V,当发光二极管的电压为1.6V,电流为5mA时,R5为634欧,电流为20mA时,R5为158.5欧;当发光二极管的电压为2.1V,电流5mA时,R5为534欧,电流为20mA时,R5为133.5欧。所以R5的电压在158.5~534欧均可。R5定为300欧。电路如图所示:

三、实际制作部分

1、实验原理图如下:

2、制版(利用Altium Designer 软件设计布线)在该软件上布线图为:

3、最后制出的实物为:

检测结果:

当接通电源电路后,在白天时,按下按钮后,灯将亮起来,有白天转为黑夜时,按下按钮后,灯将熄灭。

源程序:

#include #define uchar unsigned char #define uint unsigned int uchar startad();void delay(uchar z);uint v;uchar v_;sbit led = P2^0;sbit ad0804_cs = P2^1;//片选信号端 sbit ad0804_rd = P3^7;//锁存端口 sbit ad0804_wr = P3^6;//开启信号端 void main(){

led = 0;while(1){

v_ = startad();

v = 1.0*v_*0.186;//电压扩大十倍

if(v > 27)

led = 1;//灯亮

else

led = 0;

}

} void delay(uchar z){

uchar i,j;for(i = z;i > 0;i--)

for(j = 110;j > 0;j--);//延时1ms } uchar startad(){ uchar v_;ad0804_cs = 0;

//选中该芯片

delay(10);ad0804_wr = 1;

//启动开始

ad0804_wr = 0;ad0804_wr = 1;ad0804_rd = 0;//开始转化

delay(40);// 稍作延时

v_ = P1;ad0804_rd = 1;//转化结束

delay(20);return v_;}

《白天与黑夜的检测.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
白天与黑夜的检测
点击下载文档
相关专题 白天与黑夜练习题 黑夜 白天 白天与黑夜练习题 黑夜 白天
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文