目录
一、课程设计任务书…………………………………………………1
二、智能定时器设计……………………………………………………………1
1. 设计要点................................................................1
2.硬件设计..............................................................4
(1)光敏电阻..................................................5
(2)光耦合器...................................................6
(3)光电开关...................................................7
(4)红外光电对管...............................................8
(5)光敏二极管与光敏三极管.....................................8
(6)拨码开关...................................................9
三、智能光电定时器软件设计…………………………………………………11.
1.程序流程图.........................................................11
1)主程序流程图....................................................11
2)T0 中断服务子程序...............................................12
2 .软件去抖..........................................................12
3. 初始化.............................................................12
4.硬件调试方法.......................................................13
5.软件调试方法.......................................................13
6. 程序清单............................................................13
四、结论„„„„„„„„„„„„„„„„„„„„„„„„„„„„17
五、体会及收获„„„„„„„„„„„„„„„„„„„„……………17
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„17
课程设计任务书 (智能光电定时器)
1、总体方案设计
根据资料将同类产品方案特点列出,画出设计方案的原理图和印制板图,说明设计的方案的特点。
2、 各功能部件的硬件设计
1. 各种光电器件、拨码开关对时间置入方式的设计
2. 单片机硬件对时间置入接收部分的设计以及控制声光报警电路的设计
3. 单片机软件对定时,报警的编制以及电源的设计
智能光电定时器设计
一、 智能光电定时器设计要点
定时器时间置入有两种方式:拨码开关置入方式和光电置入方式
拨码开关置入方式,其定时的时间精度为1秒钟;有两个拨码开关,一个设置为分钟位,一个设置为秒钟位。光电置入方式定时的时间精度为1秒钟。
秒钟的置入电路 分钟的置入电路
指示灯电路
二、 智能光电定时器硬件设计
1.电路图
智能光电定时 器电路图
智能光电定时 器PCB 图
2. 光电传感器
光电传感器的作用主要是将光信号转换为电信号,它是一种利用光敏器件作为检测元件的传感器。
下面介绍一些常用的光电器件:光敏电阻和发光二极管以及光耦合器
光敏电阻
(一) 光敏电阻的工作原理
光敏电阻是用光电导体制成的光电器件(即PC 器件),又称光导管,它是基于半导体光电效应工作的。光敏电阻的灵敏度易受潮湿的影响,因此要将光电导体严密封装在带有玻璃的壳体中。光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。
(二)光敏电阻的基本特性
1、伏安特性
在一定照度下,光敏电阻两端所加的电压与光电流之间的关系,称为伏安特性(见图1.2)。由曲线可知,在给定的偏压情况下,光照度越大,光电流也就越大;光敏电阻的最高工作电压是由耗散功率决定的,而光敏电阻的耗散功率又和面积大小以及散热条件等因素有关。
硫化镉光敏电阻的伏安特性曲线 光敏电阻的光照特性曲线
2、光照特性
光敏电阻的光电流与光强之间的关系,称为光敏电阻的光照特性。不同类型的光敏电阻,光照特性不同。但多数光敏电阻的光照特性类似与图1.3所示曲线形状。
发光二极管
(一) 、 发光二极管的工作原理
当PN 结加上正向电压时,结区势垒降低,P 区的空穴载流子p 向N 区扩散,N 区的电子n 向P 区扩散,p 与n 在PN 结区相遇复合释放能量而发光。这种发光器件和白炽灯泡相比,有体积小、耐冲击、寿命长功耗低、响应快、可靠性高、颜色鲜明、易和集成电路匹配等特点,因而获得广泛应用。
发光二极管结构示意图 恒定直流驱动方式
(二) 、LED 的特性
1. 发光二极管的特性
发光二极管通以正向电流,发光二极管就会发光。发光二极管内部的晶片所用材料不同,所发出的光线的光谱(光线的频率范围)不同,因而所发光的颜色也不同。发光二极管的外部电压与电流的关系,即伏——安特性,类似于普通二极管。其差别是,普通硅二极管的正向开启电压约为0.65V ,而发光二极管的开启电压更大些。发黄光的发光二极管的响应时间最长,约100us ;发红光的和橙光最短,约10ns ,其于的也都在150ns 以下。
2. 发光二极管的特性参数
1. 发光光谱
图2.3给出了GaAs 0.6P 0.4 和GaP 的发射光谱。当GaAs 1-x P x 中的x 值不同时,峰值波长在620~680nm
之间变化,谱线半宽度大致为20~30nm 。GaP 发红光
GaAs 0.6P 0.4GaP 的发光光谱
的峰值波长在700nm 附近,半宽度大约为100nm 。
2.伏安特性
发光二极管的伏安特性如图2.4所示,它与普通二极管的伏安特性大致相同。
发光二极管的伏安特性曲线 发光亮度与电流密度的关系
光耦合器
光耦合器的几种常见形式:
1. 光电开关
光电开关是一种特殊形式的光电耦合器件,只不过其发光部和受光部不是一个封闭的整体,它们之间可以插入被测物体。图3.2是槽型光电耦合器。这里所谓的“槽型”指的是其外部形状像是一个槽子,其实其电路结构与普通光电耦合器没有什么两样。图中左槽沿安装一个砷化镓(GaAs )近红外发光二极管,其峰值波长为880nm ,右边为硅光敏三极管,其峰值波长也为880nm 。
投射式光电传感器
光电开关的发光二极管和光敏三极管一般采用直流供电。抽屉装有插销。抽屉推进桌子里后,插销进入槽型光电开关耦合器的槽隙中遮住光,光电开关无输出。抽屉拉出后,插销离开槽隙,使发光二极管的光照射到光敏三极管上。用此电流驱动报警器等起到防盗作用。图3.3(a )是一种反射式光电开关的外形图。光线发出后只有经过障碍物反射回来后光敏三极管才可接收到,如图3.3(b )所示。
反射式光电开关
光电开关的光敏三极管响应慢。GaAs (砷化镓)红外发光二极管的上升和下降时间为4ns ,硅光敏三极管的上升和下降时间为3us 。发光二极管通以恒定电流,速度只决定于光敏三极管。光敏三极管的上升和下降时间按3us 计算。也可采用单个红外发光二极管与光敏管设计组装成各种遥控或远距离检测的光电开关(图3.4)
光电开关的应用
2. 红外光电对管
红外发射管的作用是电脉冲信号转换为光信号送出。当输出变化的电脉冲信号时,发射管发射出的红外线强度就随之变化。电阻起限流的作用,电阻越小,通过红外发射管的电流越大,发射管的发射功率就越大,发射距离就越远;电阻取的过小会损坏红外线发射管。当红外光照射光电接收管时,光电接收管的电阻将减小,光电接收管使电阻的电流增大,从而电阻两端产生随入射红外光强弱变化的电压,此变化的电压信号经红外接口输入主机。常见光电接收管有两种形式,一种是光电接收二极管,一种是光电接受三极管(只有两只引脚)(光电三极管较为常见)。用光电二极管其负极需要接+5V一端。
3. 光敏二极管与光敏三极管
1) 光敏二极管
光敏二极管的结构图
光敏二极管的结构如图3.5所示。其基本原理是,当光照射到P-N 结上时,P-N 结便吸收光能并把
它转变为电能。伏安特性如图3.6所示。光敏二极管有四种类型:P-N 结型(也称PD )、PIN 结型、雪崩型和肖特基结型。
1)光敏二极管的加反向电压时,电流随光照强度变化而变化。如图的第三象限。在这种状态下,反向电流与光强成正比。当光强度为零时,反向电流(此电流称为暗电流)为零(实际上小于0.2uA )。
2)光电二极管不加电压,P-N 结受光照射后会产生正向电压,从而使闭合回路中流过电流。
2) 光敏三极管
光敏三极管也是依靠光照射来使输出电流发生变化的器件。光敏三极管的发射极电流或集电极电流与光强成正比。具有比光敏二极管高的多的响应度(又称灵敏度),工作时对电源的要求又不苛刻。
光敏二极管的结构和特性曲线
光敏三极管的外形、原理性结构、常用符号及等效电路图
光敏三极管的外形、原理性结构、常用符号及等效电路如图3.7所示。工作时所加偏压的极性已在图中示出。这是一种用平面工艺制造的硅NPN 型光敏三极管。在图中,只画了E 、C 两个引出端子,实际上,是既可以只有E 、C 两个引出端子,也可以有E 、B 、C 三个引出端子的。B 端子从N PN 结构中的P 区引出。
3、拨码开关
如果某些重要的功能或数据也由键盘输入,必将因易误操作而产生一些不良后果。因此,即使在加电后,开关的状态发生变化也不会影响计算机的正常操作。数字拨码盘输出有BCD 编码的四线输出和单片十位的十线输出两种方式。
十线拨码盘实际上是一种单刀十掷的转化开关,如图3.8所示。显然这种拨盘结构简单,与8031接口时,将A 端接地,当8031读入口线电平状态时,就可判断开关处于哪一个档位。
BCD 拨码盘,是十进制数输入,BCD 码输出。它有0~9十个位置,每个位置有相应的数字显示,代表一位十进制数的输入。每片拨盘代表一位十进制数,n 位十进制数,可用n 片拨盘并联安装组成,如图3.9所示。
十线拨盘结构 三位十进制拨盘组
十线拨码盘与8031的接口
BCD 码拨盘后面有5个接点,其中A 为输入控制线,另外四根是BCD 码输出线。拨盘拨到不同位置时,输入控制线A 分别与4根BCD 码输出线中的某根或某几根接通。例如拨盘拨到6,A 与4,2接通,拨到7时,A 与4、2、1接通等等。表3-1 BCD码拨盘的输入输出状态表。
BCD 码拨盘与8031的接口
单片BCD 码拨盘可以与任一个4位的I/O口或扩展I/O口相连,以输入BCD 码数据。图5-3是用8031的P1 .0~P1.3 4位I/O与单片BCD 码拨盘的接口电路图如拨盘拨至9,则BCD 码锝421端的8和1端与A 连通,成为高电平,而4和2端与A 不连通,被下拉电阻拉至低电平,BCD 码即为1001。
表5-1所示编码正是这种正逻辑的编码或称为原码。相反,如果控制端A 接地,而BCD 码的8421端通过上拉电阻接至+5V时,拨盘输出BCD 码将是负逻辑的或称为反码。
单片BCD 拨码盘与8031的接口
三、智能光电定时器软件设计
1.程序流程图
1)主程序流程图
2)T0 中断服务子程序
2 .软件去抖
本设计采用软件的方法消除可能出现的误脉冲。在第一次检测到有误脉冲的时候,执行一段延时子程序,延时子程序延时20ms ,从而消除了误脉冲的影响。
DELAY20MS: MOV R6,#10
L4: LCALL DELAY2MS
DJNZ R6,L4
RET
DELAY2MS: MOV R7,#0C8H
L2: NOP
NOP
NOP
DJNZ R7,L2
RET
延时程序与MCS-51执行指令的时间有关,如果使用6MHz 的晶振,一个机器周期为2us ,计算出执行一条指令以至一个循环所需要的时间,便能达到延时的目的。
3. 初始化
; 程序功能:定时到音乐报警且指示灯快速闪烁
;置入方式:1. 光电置入 开关1闭合 (精度1秒钟)
; 2.拨码开关置入 开关1断开 (精度1秒钟)
;定时到报警方式:蜂鸣器报警
; 20H,标志位字节20H.0:置入状态标志位,1为置入状态,0为定时状态
; 20H.1:置入方式标志位,1为拨码开关式,0为光电式
; 20H.7:定时结束标志位,1为定时结束,0未结束
;开机时即处于置入状态
;21H, 判断光电输入用缓冲字节
;40H, 小时设置缓冲字节
;41H, 分钟低位设置缓冲字节
;42H, 分钟高位设置缓冲字节
;43H, 置入状态LED 提示刷新频率保存字节(200毫秒亮,200毫秒暗)
;46H, 定时基准累加单元
;47H, 定时指示LED 刷新计数单元
;48H, 乐曲曲目选择单元(与分钟拨码开关对应)
;4AH, 被乘因子的低位单元
;4BH, 被乘因子的高位单元
;4CH, 乘数单元
;4DH, 计数结果低位单元
;4EH, 计数结果高位单元
4.硬件调试方法:
测试样机硬件和排除硬件故障的办法:
a. 加电之前,根据设计图仔细检查线路和正确性,核对元器件型号,规格和安装是否符合要求。 b. 加电检查各插件上引脚的电位,仔细测量个点电平是否正常。
5.软件调试方法
排除了目标样机的硬件故障以后,就进入软硬件综合调试阶段。下面我们对常见故障进行分析。
1)程序跳转错误:通常是由于错用了指令或改错了标号引起的。
2)程序错误。经过反复测试后,才能验证它的正确性。
3)输入输出错误。这类错误包括数据传送出错,外围设备失控等。
程序清单
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit SCAN_FEN=P1^1;
sbit SCAN_END=P1^0;
sbit SCAN_MIAO=P1^2;
sbit SCAN_KAI=P3^2;
sbit LS=P2^0;
/LED 位/
sbit LED_4=P2^4;
sbit LED_3=P2^5;
sbit LED_2=P2^6;
sbit LED_1=P2^7;
/全局变量/
code uchar LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar a, b =20,T_F=0,T_M=0,LED_WEI[4],i=10;
bit flag=0;
/延时函数/
void delay(uint m)
{
unsigned int i,j;
for (i =0;i
{
for(j=0;j
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
}
}
/显示函数/
void print(uint time_1,uint time_2)
{
P2|=0xf0;
LED_WEI[0]=time_1/10;
P0=LED[LED_WEI[0]];
LED_1=0;
LED_WEI[1]=time_1%10;
delay(10);
LED_1=1;
P0=LED[LED_WEI[1]];
LED_2=0;
LED_WEI[3]=time_2/10;
delay(10);
LED_2=1;
P0=LED[LED_WEI[3]];
LED_3=0;
LED_WEI[4]=time_2%10;
delay(10);
LED_3=1;
P0=LED[LED_WEI[4]];
LED_4=0;
delay(20);
}
/输入函数/
void SCAN(void)
{
while(1) // 等待设定好时间
{
print(T_M,T_F);
P2=0XF0;
delay(100);
if(SCAN_FEN==0)
{
while(!SCAN_FEN)
print(T_M,T_F); // 等待键释放
T_F++;
if(T_F>=60)
T_F=0;
print(T_M,T_F);
delay(100);
}
if(SCAN_MIAO==1)
{
while(SCAN_MIAO)
print(T_M,T_F); //等待键释放
T_M++;
if(T_M>=60)
T_M=0;
print(T_M,T_F);
delay(100);
}
if(SCAN_END==0) /// 设定时间设定结束
{
print(T_M,T_F);
TR0=1;
flag=1;
break;
}
for(i=50;i>0;i--)
print(T_M,T_F);
delay(100);
}
}
/TIME/
void time_1(void)interrupt 1
{
EA=0;
TH0=60;
TL0=175;
b--;
if(b==0)
{ b=20;
if(T_F==0)
{
if(T_M!=0)
{
T_M=T_M-1;
T_F=59;
print(T_M,T_F);
}
else
{
T_M=T_F=0;
ET0=0;
print(T_M,T_F);
}
}
else
T_F=T_F-1;
}
EA=1;
}
/音乐/
void YIN_YUE()
{
}
/主函数/
void main()
{
int i;
EA=1;
TMOD=0x01;
TH0=60;
TL0=175; // 11.05926 50MS
ET0=1;
IT0=1;
P1=0XFF;
P1=0X00;
while(1)
{
print(T_M,T_F);
if(SCAN_KAI==1) ///
SCAN();
while(1)
{
print(T_M,T_F);
if(SCAN_KAI==1) ///
{ delay(10);
if(SCAN_KAI==1)
{TR0=0;
T_M=T_F=0;
开始设定时间设定 重新设定时间设定
break;}
}
if(flag==1)
if(T_M==0)
if(T_F==0)
{
P2|=0x0f;
for(i=255;i>0;i--)
print(T_M,T_F);
for(i=255;i>0;i--)
print(T_M,T_F);
P2&=0xf0;
for(i=255;i>0;i--)
print(T_M,T_F);
flag=0;
}
}
}
}
四、结论
本文在回顾定时器发展历程的基础上,首先阐述了定时器的基本原理,进而详细介绍了定时器相关的各种专业名词和术语。硬件选型方面选用STC 公司的STC89C52RC 单片机作为核心,用LED 数码管显示和蜂鸣器作为电源输出控制。
五、体会及收获
从这次毕业论文设计中,无论对于单片机还是智能仪器,都进一步清晰了设计概念、学习了专业理论、掌握了芯片知识,而且还增长了实践经验,提高了认知水平,促进了自学能力。从诸多方面获得了很大的收益。
参考文献
1. 韩文波. 智能仪器课程设计讲义. 长春. 长春理工大学光电信息学院.2013
2. 雷玉堂等. 光电检测技术. 北京:中国计量出版社,2009(第二版)
3. 韩丽英等. 光电变换与检测技术. 北京:国防工业出版社,2010
4. 谭浩强.C 程序设计. 北京:清华大学出版社,2007第三版
5. 赵茂泰. 智能仪器原理及应用. 北京: 电子工业出版社,2009
6. 李全利. 单片机原理及接口技术. 北京:高等教育出版社,2009(第二版)
目录
一、课程设计任务书…………………………………………………1
二、智能定时器设计……………………………………………………………1
1. 设计要点................................................................1
2.硬件设计..............................................................4
(1)光敏电阻..................................................5
(2)光耦合器...................................................6
(3)光电开关...................................................7
(4)红外光电对管...............................................8
(5)光敏二极管与光敏三极管.....................................8
(6)拨码开关...................................................9
三、智能光电定时器软件设计…………………………………………………11.
1.程序流程图.........................................................11
1)主程序流程图....................................................11
2)T0 中断服务子程序...............................................12
2 .软件去抖..........................................................12
3. 初始化.............................................................12
4.硬件调试方法.......................................................13
5.软件调试方法.......................................................13
6. 程序清单............................................................13
四、结论„„„„„„„„„„„„„„„„„„„„„„„„„„„„17
五、体会及收获„„„„„„„„„„„„„„„„„„„„……………17
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„17
课程设计任务书 (智能光电定时器)
1、总体方案设计
根据资料将同类产品方案特点列出,画出设计方案的原理图和印制板图,说明设计的方案的特点。
2、 各功能部件的硬件设计
1. 各种光电器件、拨码开关对时间置入方式的设计
2. 单片机硬件对时间置入接收部分的设计以及控制声光报警电路的设计
3. 单片机软件对定时,报警的编制以及电源的设计
智能光电定时器设计
一、 智能光电定时器设计要点
定时器时间置入有两种方式:拨码开关置入方式和光电置入方式
拨码开关置入方式,其定时的时间精度为1秒钟;有两个拨码开关,一个设置为分钟位,一个设置为秒钟位。光电置入方式定时的时间精度为1秒钟。
秒钟的置入电路 分钟的置入电路
指示灯电路
二、 智能光电定时器硬件设计
1.电路图
智能光电定时 器电路图
智能光电定时 器PCB 图
2. 光电传感器
光电传感器的作用主要是将光信号转换为电信号,它是一种利用光敏器件作为检测元件的传感器。
下面介绍一些常用的光电器件:光敏电阻和发光二极管以及光耦合器
光敏电阻
(一) 光敏电阻的工作原理
光敏电阻是用光电导体制成的光电器件(即PC 器件),又称光导管,它是基于半导体光电效应工作的。光敏电阻的灵敏度易受潮湿的影响,因此要将光电导体严密封装在带有玻璃的壳体中。光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。
(二)光敏电阻的基本特性
1、伏安特性
在一定照度下,光敏电阻两端所加的电压与光电流之间的关系,称为伏安特性(见图1.2)。由曲线可知,在给定的偏压情况下,光照度越大,光电流也就越大;光敏电阻的最高工作电压是由耗散功率决定的,而光敏电阻的耗散功率又和面积大小以及散热条件等因素有关。
硫化镉光敏电阻的伏安特性曲线 光敏电阻的光照特性曲线
2、光照特性
光敏电阻的光电流与光强之间的关系,称为光敏电阻的光照特性。不同类型的光敏电阻,光照特性不同。但多数光敏电阻的光照特性类似与图1.3所示曲线形状。
发光二极管
(一) 、 发光二极管的工作原理
当PN 结加上正向电压时,结区势垒降低,P 区的空穴载流子p 向N 区扩散,N 区的电子n 向P 区扩散,p 与n 在PN 结区相遇复合释放能量而发光。这种发光器件和白炽灯泡相比,有体积小、耐冲击、寿命长功耗低、响应快、可靠性高、颜色鲜明、易和集成电路匹配等特点,因而获得广泛应用。
发光二极管结构示意图 恒定直流驱动方式
(二) 、LED 的特性
1. 发光二极管的特性
发光二极管通以正向电流,发光二极管就会发光。发光二极管内部的晶片所用材料不同,所发出的光线的光谱(光线的频率范围)不同,因而所发光的颜色也不同。发光二极管的外部电压与电流的关系,即伏——安特性,类似于普通二极管。其差别是,普通硅二极管的正向开启电压约为0.65V ,而发光二极管的开启电压更大些。发黄光的发光二极管的响应时间最长,约100us ;发红光的和橙光最短,约10ns ,其于的也都在150ns 以下。
2. 发光二极管的特性参数
1. 发光光谱
图2.3给出了GaAs 0.6P 0.4 和GaP 的发射光谱。当GaAs 1-x P x 中的x 值不同时,峰值波长在620~680nm
之间变化,谱线半宽度大致为20~30nm 。GaP 发红光
GaAs 0.6P 0.4GaP 的发光光谱
的峰值波长在700nm 附近,半宽度大约为100nm 。
2.伏安特性
发光二极管的伏安特性如图2.4所示,它与普通二极管的伏安特性大致相同。
发光二极管的伏安特性曲线 发光亮度与电流密度的关系
光耦合器
光耦合器的几种常见形式:
1. 光电开关
光电开关是一种特殊形式的光电耦合器件,只不过其发光部和受光部不是一个封闭的整体,它们之间可以插入被测物体。图3.2是槽型光电耦合器。这里所谓的“槽型”指的是其外部形状像是一个槽子,其实其电路结构与普通光电耦合器没有什么两样。图中左槽沿安装一个砷化镓(GaAs )近红外发光二极管,其峰值波长为880nm ,右边为硅光敏三极管,其峰值波长也为880nm 。
投射式光电传感器
光电开关的发光二极管和光敏三极管一般采用直流供电。抽屉装有插销。抽屉推进桌子里后,插销进入槽型光电开关耦合器的槽隙中遮住光,光电开关无输出。抽屉拉出后,插销离开槽隙,使发光二极管的光照射到光敏三极管上。用此电流驱动报警器等起到防盗作用。图3.3(a )是一种反射式光电开关的外形图。光线发出后只有经过障碍物反射回来后光敏三极管才可接收到,如图3.3(b )所示。
反射式光电开关
光电开关的光敏三极管响应慢。GaAs (砷化镓)红外发光二极管的上升和下降时间为4ns ,硅光敏三极管的上升和下降时间为3us 。发光二极管通以恒定电流,速度只决定于光敏三极管。光敏三极管的上升和下降时间按3us 计算。也可采用单个红外发光二极管与光敏管设计组装成各种遥控或远距离检测的光电开关(图3.4)
光电开关的应用
2. 红外光电对管
红外发射管的作用是电脉冲信号转换为光信号送出。当输出变化的电脉冲信号时,发射管发射出的红外线强度就随之变化。电阻起限流的作用,电阻越小,通过红外发射管的电流越大,发射管的发射功率就越大,发射距离就越远;电阻取的过小会损坏红外线发射管。当红外光照射光电接收管时,光电接收管的电阻将减小,光电接收管使电阻的电流增大,从而电阻两端产生随入射红外光强弱变化的电压,此变化的电压信号经红外接口输入主机。常见光电接收管有两种形式,一种是光电接收二极管,一种是光电接受三极管(只有两只引脚)(光电三极管较为常见)。用光电二极管其负极需要接+5V一端。
3. 光敏二极管与光敏三极管
1) 光敏二极管
光敏二极管的结构图
光敏二极管的结构如图3.5所示。其基本原理是,当光照射到P-N 结上时,P-N 结便吸收光能并把
它转变为电能。伏安特性如图3.6所示。光敏二极管有四种类型:P-N 结型(也称PD )、PIN 结型、雪崩型和肖特基结型。
1)光敏二极管的加反向电压时,电流随光照强度变化而变化。如图的第三象限。在这种状态下,反向电流与光强成正比。当光强度为零时,反向电流(此电流称为暗电流)为零(实际上小于0.2uA )。
2)光电二极管不加电压,P-N 结受光照射后会产生正向电压,从而使闭合回路中流过电流。
2) 光敏三极管
光敏三极管也是依靠光照射来使输出电流发生变化的器件。光敏三极管的发射极电流或集电极电流与光强成正比。具有比光敏二极管高的多的响应度(又称灵敏度),工作时对电源的要求又不苛刻。
光敏二极管的结构和特性曲线
光敏三极管的外形、原理性结构、常用符号及等效电路图
光敏三极管的外形、原理性结构、常用符号及等效电路如图3.7所示。工作时所加偏压的极性已在图中示出。这是一种用平面工艺制造的硅NPN 型光敏三极管。在图中,只画了E 、C 两个引出端子,实际上,是既可以只有E 、C 两个引出端子,也可以有E 、B 、C 三个引出端子的。B 端子从N PN 结构中的P 区引出。
3、拨码开关
如果某些重要的功能或数据也由键盘输入,必将因易误操作而产生一些不良后果。因此,即使在加电后,开关的状态发生变化也不会影响计算机的正常操作。数字拨码盘输出有BCD 编码的四线输出和单片十位的十线输出两种方式。
十线拨码盘实际上是一种单刀十掷的转化开关,如图3.8所示。显然这种拨盘结构简单,与8031接口时,将A 端接地,当8031读入口线电平状态时,就可判断开关处于哪一个档位。
BCD 拨码盘,是十进制数输入,BCD 码输出。它有0~9十个位置,每个位置有相应的数字显示,代表一位十进制数的输入。每片拨盘代表一位十进制数,n 位十进制数,可用n 片拨盘并联安装组成,如图3.9所示。
十线拨盘结构 三位十进制拨盘组
十线拨码盘与8031的接口
BCD 码拨盘后面有5个接点,其中A 为输入控制线,另外四根是BCD 码输出线。拨盘拨到不同位置时,输入控制线A 分别与4根BCD 码输出线中的某根或某几根接通。例如拨盘拨到6,A 与4,2接通,拨到7时,A 与4、2、1接通等等。表3-1 BCD码拨盘的输入输出状态表。
BCD 码拨盘与8031的接口
单片BCD 码拨盘可以与任一个4位的I/O口或扩展I/O口相连,以输入BCD 码数据。图5-3是用8031的P1 .0~P1.3 4位I/O与单片BCD 码拨盘的接口电路图如拨盘拨至9,则BCD 码锝421端的8和1端与A 连通,成为高电平,而4和2端与A 不连通,被下拉电阻拉至低电平,BCD 码即为1001。
表5-1所示编码正是这种正逻辑的编码或称为原码。相反,如果控制端A 接地,而BCD 码的8421端通过上拉电阻接至+5V时,拨盘输出BCD 码将是负逻辑的或称为反码。
单片BCD 拨码盘与8031的接口
三、智能光电定时器软件设计
1.程序流程图
1)主程序流程图
2)T0 中断服务子程序
2 .软件去抖
本设计采用软件的方法消除可能出现的误脉冲。在第一次检测到有误脉冲的时候,执行一段延时子程序,延时子程序延时20ms ,从而消除了误脉冲的影响。
DELAY20MS: MOV R6,#10
L4: LCALL DELAY2MS
DJNZ R6,L4
RET
DELAY2MS: MOV R7,#0C8H
L2: NOP
NOP
NOP
DJNZ R7,L2
RET
延时程序与MCS-51执行指令的时间有关,如果使用6MHz 的晶振,一个机器周期为2us ,计算出执行一条指令以至一个循环所需要的时间,便能达到延时的目的。
3. 初始化
; 程序功能:定时到音乐报警且指示灯快速闪烁
;置入方式:1. 光电置入 开关1闭合 (精度1秒钟)
; 2.拨码开关置入 开关1断开 (精度1秒钟)
;定时到报警方式:蜂鸣器报警
; 20H,标志位字节20H.0:置入状态标志位,1为置入状态,0为定时状态
; 20H.1:置入方式标志位,1为拨码开关式,0为光电式
; 20H.7:定时结束标志位,1为定时结束,0未结束
;开机时即处于置入状态
;21H, 判断光电输入用缓冲字节
;40H, 小时设置缓冲字节
;41H, 分钟低位设置缓冲字节
;42H, 分钟高位设置缓冲字节
;43H, 置入状态LED 提示刷新频率保存字节(200毫秒亮,200毫秒暗)
;46H, 定时基准累加单元
;47H, 定时指示LED 刷新计数单元
;48H, 乐曲曲目选择单元(与分钟拨码开关对应)
;4AH, 被乘因子的低位单元
;4BH, 被乘因子的高位单元
;4CH, 乘数单元
;4DH, 计数结果低位单元
;4EH, 计数结果高位单元
4.硬件调试方法:
测试样机硬件和排除硬件故障的办法:
a. 加电之前,根据设计图仔细检查线路和正确性,核对元器件型号,规格和安装是否符合要求。 b. 加电检查各插件上引脚的电位,仔细测量个点电平是否正常。
5.软件调试方法
排除了目标样机的硬件故障以后,就进入软硬件综合调试阶段。下面我们对常见故障进行分析。
1)程序跳转错误:通常是由于错用了指令或改错了标号引起的。
2)程序错误。经过反复测试后,才能验证它的正确性。
3)输入输出错误。这类错误包括数据传送出错,外围设备失控等。
程序清单
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit SCAN_FEN=P1^1;
sbit SCAN_END=P1^0;
sbit SCAN_MIAO=P1^2;
sbit SCAN_KAI=P3^2;
sbit LS=P2^0;
/LED 位/
sbit LED_4=P2^4;
sbit LED_3=P2^5;
sbit LED_2=P2^6;
sbit LED_1=P2^7;
/全局变量/
code uchar LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar a, b =20,T_F=0,T_M=0,LED_WEI[4],i=10;
bit flag=0;
/延时函数/
void delay(uint m)
{
unsigned int i,j;
for (i =0;i
{
for(j=0;j
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
}
}
/显示函数/
void print(uint time_1,uint time_2)
{
P2|=0xf0;
LED_WEI[0]=time_1/10;
P0=LED[LED_WEI[0]];
LED_1=0;
LED_WEI[1]=time_1%10;
delay(10);
LED_1=1;
P0=LED[LED_WEI[1]];
LED_2=0;
LED_WEI[3]=time_2/10;
delay(10);
LED_2=1;
P0=LED[LED_WEI[3]];
LED_3=0;
LED_WEI[4]=time_2%10;
delay(10);
LED_3=1;
P0=LED[LED_WEI[4]];
LED_4=0;
delay(20);
}
/输入函数/
void SCAN(void)
{
while(1) // 等待设定好时间
{
print(T_M,T_F);
P2=0XF0;
delay(100);
if(SCAN_FEN==0)
{
while(!SCAN_FEN)
print(T_M,T_F); // 等待键释放
T_F++;
if(T_F>=60)
T_F=0;
print(T_M,T_F);
delay(100);
}
if(SCAN_MIAO==1)
{
while(SCAN_MIAO)
print(T_M,T_F); //等待键释放
T_M++;
if(T_M>=60)
T_M=0;
print(T_M,T_F);
delay(100);
}
if(SCAN_END==0) /// 设定时间设定结束
{
print(T_M,T_F);
TR0=1;
flag=1;
break;
}
for(i=50;i>0;i--)
print(T_M,T_F);
delay(100);
}
}
/TIME/
void time_1(void)interrupt 1
{
EA=0;
TH0=60;
TL0=175;
b--;
if(b==0)
{ b=20;
if(T_F==0)
{
if(T_M!=0)
{
T_M=T_M-1;
T_F=59;
print(T_M,T_F);
}
else
{
T_M=T_F=0;
ET0=0;
print(T_M,T_F);
}
}
else
T_F=T_F-1;
}
EA=1;
}
/音乐/
void YIN_YUE()
{
}
/主函数/
void main()
{
int i;
EA=1;
TMOD=0x01;
TH0=60;
TL0=175; // 11.05926 50MS
ET0=1;
IT0=1;
P1=0XFF;
P1=0X00;
while(1)
{
print(T_M,T_F);
if(SCAN_KAI==1) ///
SCAN();
while(1)
{
print(T_M,T_F);
if(SCAN_KAI==1) ///
{ delay(10);
if(SCAN_KAI==1)
{TR0=0;
T_M=T_F=0;
开始设定时间设定 重新设定时间设定
break;}
}
if(flag==1)
if(T_M==0)
if(T_F==0)
{
P2|=0x0f;
for(i=255;i>0;i--)
print(T_M,T_F);
for(i=255;i>0;i--)
print(T_M,T_F);
P2&=0xf0;
for(i=255;i>0;i--)
print(T_M,T_F);
flag=0;
}
}
}
}
四、结论
本文在回顾定时器发展历程的基础上,首先阐述了定时器的基本原理,进而详细介绍了定时器相关的各种专业名词和术语。硬件选型方面选用STC 公司的STC89C52RC 单片机作为核心,用LED 数码管显示和蜂鸣器作为电源输出控制。
五、体会及收获
从这次毕业论文设计中,无论对于单片机还是智能仪器,都进一步清晰了设计概念、学习了专业理论、掌握了芯片知识,而且还增长了实践经验,提高了认知水平,促进了自学能力。从诸多方面获得了很大的收益。
参考文献
1. 韩文波. 智能仪器课程设计讲义. 长春. 长春理工大学光电信息学院.2013
2. 雷玉堂等. 光电检测技术. 北京:中国计量出版社,2009(第二版)
3. 韩丽英等. 光电变换与检测技术. 北京:国防工业出版社,2010
4. 谭浩强.C 程序设计. 北京:清华大学出版社,2007第三版
5. 赵茂泰. 智能仪器原理及应用. 北京: 电子工业出版社,2009
6. 李全利. 单片机原理及接口技术. 北京:高等教育出版社,2009(第二版)