测控电路课程设计说明书.docx
《测控电路课程设计说明书.docx》由会员分享,可在线阅读,更多相关《测控电路课程设计说明书.docx(16页珍藏版)》请在冰点文库上搜索。
测控电路课程设计说明书
测控电路课程
设计说明书
题目光电计数电路
学院
班级
学生姓名
学号
指导老师
2015年5月11日
目录
1、课程设计题目:
3
2、课程设计目的:
3
3、课程设计内容:
3
3.1电路设计3
3.1.1单片机最小系统3
3.1.2晶振电路:
5
3.1.3复位电路:
5
3.1.4光敏电阻电路设计:
6
3.1.5显示电路图:
7
3.1.6整体电路图:
8
3.2程序设计:
8
3.2.1初始化程序:
8
3.2.2延时程序:
8
3.2.3显示程序:
9
3.2.4计数程序:
9
3.2.5主程序:
10
3.2.6整体程序:
10
4、个人体会12
5、参考文献13
附录:
14
实物图14
1、课程设计题目:
设计一个光电计数电路,利用三极管加运放,设计光电转换电路;光电转换信号比较输出0、1信号;引入单片机计数电路,计算光电计数值
2、课程设计目的:
了解计数的含义,计数的意义。
它是我们定时与自动化计数的基础,在工程领域很多地方用到这样的功能,它也是单片机的一项重要功能模块,掌握它,我我们后面的综合实验与综合设计打下良好的基础。
3、课程设计内容:
3.1电路设计
图1原理框图
3.1.1单片机最小系统
51单片机是对所有兼容Intel8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
单片机选用AT89C52芯片。
AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
单片机最小系统或者称为最小应用系统,就是用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:
单片机、复位电路、晶振电路。
图280c51单片机芯片
3.1.2晶振电路:
8051单片机的时钟信号通常用两种电路形式电路得到:
内部震荡方式和外部中断方式。
在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图5示。
其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。
内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。
图3晶振电路图
3.1.3复位电路:
复位电路使用了独立式键盘,单片机的P1口键盘的接口。
复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一12M晶体振荡器组成为整个电路提供时钟频率。
如图示:
图4复位电路图
3.1.4光敏电阻电路设计:
1)当遮光的时候,光敏电阻的阻值趋近无穷大,在三极管的e端电流经过三极管的放大后,三极管的c端处的电压所得值的大小2.8V与LM393负端输入电压2.5V(V=R3/(R3+R4*5V)=2.5V)相比较。
得出高电平输入单片机的T0口。
2)当光照射的时候,光敏电阻的阻值减小,在三极管的e端电流增大,经过三极管的放大之后,三极管的c端处的电压所得值的大小0.8V与LM393负端输入电压2.5V相比较。
得出低电平输入单片机的T0口。
进而实现单片机的计数加1.
图5光敏电阻电路
3.1.5显示电路图:
led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
图6数码管
图7显示电路图
3.1.6整体电路图:
图8整体电路
3.2程序设计:
3.2.1初始化程序:
TMOD=0x05;//设置计数器0的工作方式
TH0=0;
TL0=0;
TR0=1;//启动计数器
3.2.2延时程序:
voiddelay(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
3.2.3显示程序:
voiddisplay(ucharbai,ucharshi,ucharge)
{
P0=table[bai];
wei1=0;wei2=1;wei3=1;
delay(50);
P0=0xff;
wei1=1;
P0=table[shi];
wei2=0;
wei1=1;
wei3=1;
delay(50);
P0=0xff;
wei2=1;
P0=table[ge];
wei3=0;
wei1=1;
wei2=1;
delay(50);
P0=0xff;
wei3=1;
}
3.2.4计数程序:
uintread()
{
uchart1,th1,th2;
uintval;
while
(1)
{
th1=TH0;
t1=TL0;
th2=TH0;
if(th1==th2)
break;
}
val=th1*256+t1;
Returnval;
}
3.2.5主程序:
voidmain()
{
uchara,b,c;
uintnum;
TMOD=0x05;//设置计数器0的工作方式
TH0=0;
TL0=0;
TR0=1;//启动计数器
while
(1)
{
num=read();
if(num>=255)
{
num=0;
TH0=0;
TL0=0;
}
a=num/100;
b=num%100/10;
c=num%10;
display(a,b,c);
}
}
3.2.6整体程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitwei1=P2^0;
sbitwei2=P2^1;
sbitwei3=P2^2;
ucharcodetable[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
voiddelay(uint);
voiddisplay(ucharbai,ucharshi,ucharge)
{
P0=table[bai];
wei1=0;wei2=1;wei3=1;
delay(50);
P0=0xff;
wei1=1;
P0=table[shi];
wei2=0;
wei1=1;
wei3=1;
delay(50);
P0=0xff;
wei2=1;
P0=table[ge];
wei3=0;wei1=1;wei2=1;
delay(50);
P0=0xff;
wei3=1;
}
voiddelay(uintxms)
{
Uinti,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
uintread()
{
uchart1,th1,th2;
uintval;
while
(1)
{
th1=TH0;t1=TL0;th2=TH0;
if(th1==th2)
break;
}
val=th1*256+t1;
Returnval;
}
voidmain()
{
uchara,b,c;
uintnum;
TMOD=0x05;//设置计数器0的工作方式
TH0=0;
TL0=0;
TR0=1;//启动计数器
while
(1)
{
num=read();
if(num>=255)
{
num=0;
TH0=0;
TL0=0;
}
a=num/100;
b=num%100/10;
c=num%10;
display(a,b,c);
}
}
4、个人体会
为期一周的电子课题设计终于落下帷幕了,经过这一周的辛苦努力,终于完成了我们的电子设计---光电计数器。
因为以前只是习惯听老师讲解,只知道研究书上的内容动手很少,对做电子线路板经验不足,所以刚开始有点不知所措。
但我们没有放弃这次难得的动手机会,通过查阅相关资料,把原理图画好,经过仿真确定其可行性,然后就开始焊接电路板,在焊接电路板的过程中,我从中发现了许多问题,也遇到了不少难题,比如我一开始我用的LM393的1、2、3管脚,可是焊接之后发现1、4管脚短路了,导致我的计数器完全不能正常工作,后来通过查资料了解到123管教和5、6、7管脚的功能是一样的所以又重新把原来焊接在1、2、3管脚上的电路焊接到了5、6、7管脚上面。
在动手操作的过程中,增强了实践动手能力,更增加了我以后动手操作的信心,在后期调试过程中,通过数字万用表等相关测量工具获得了计数器的一些工作参数,在结合实验现象和结果分析,更加懂得了该光电计数器的工作原理。
但是我的光电计数器也存在一些问题,就是每次计数都是一下记很多次,跳动比较大,这个主要是消抖的问题没有解决,还有就是我的电路板的比较器LM393的输出端接到单片机的p3.4口没有反应,但是电路板没有问题,开始我一直以为是因为单片机开发板上的元器件太多,多电路板影响比较大,所以才不能计数,后来在老师的指导下发现是因为单片机开发板的p3计数器没有接上拉电阻,导致电压不够,以至于我的光电计数器与开发板相连不能实现预想功能,后来在p3.4口外接了一个上拉电阻,就可以顺利计数的。
非常感谢老师的指导,在这个过程中我也明白了我们遇到问题应该通过各种努力去解决它,而不是任其发展,不管不顾,做学问就要有这种不怕阻碍不怕困难的勇气和韧性。
感谢学校给我们提供了这次宝贵的动手实践机会,通过动手操作,我们学到了许多书本上没有的知识,而且更加巩固了所学知识,真正做到了所学即所用。
经过这次电子设计,我从中收获了很多,更加懂得了理论联系实际的重要性,让我们对电子设计这门科目有了更深一层次的了解。
我相信我能在以后的电子设计中做的更好,会有更多新的发现。
5、参考文献
[1]郭天祥编著51单片机C语言教程电子工业出版社
[2]佘新平主编数字电子技术第二版华中科技大学出版社
[3]陶恒齐张小华主编模拟电子技术华中科技大学出版社
[4]邹玲罗明主编电路理论第二版华中科技大学出版社
[5]张国雄主编测控电路第四版机械工业出版社
附录:
实物图