课程设计(论文)切光器光耦信号频率测量电路设计

上传人:1666****666 文档编号:39179226 上传时间:2021-11-10 格式:DOC 页数:25 大小:404.02KB
收藏 版权申诉 举报 下载
课程设计(论文)切光器光耦信号频率测量电路设计_第1页
第1页 / 共25页
课程设计(论文)切光器光耦信号频率测量电路设计_第2页
第2页 / 共25页
课程设计(论文)切光器光耦信号频率测量电路设计_第3页
第3页 / 共25页
资源描述:

《课程设计(论文)切光器光耦信号频率测量电路设计》由会员分享,可在线阅读,更多相关《课程设计(论文)切光器光耦信号频率测量电路设计(25页珍藏版)》请在装配图网上搜索。

1、吉林大学仪器科学与电气工程学院切光器光耦信号频率测量电路设计学院: 仪电学院 姓名: 黄 超 学号: 65080303 目 录一、系统设计要求1二、方案论证与选择2方案一 基于VHDL语言的频率计的设计2方案二 基于单片机的频率计的设计3三、 基于单片机的液晶显示频率测量电路的设计53.1系统硬件电路的设计5 3.1.1 信号转换处理电路53.1.2 单片机的外围电路63.1.3 液晶显示模块160273.1.4 硬件电路原理图83.2系统软件部分10四、扩展部分的系统设计124.1、扩展内容及其作用124.2、设计方案124.3、硬件部分设计124.4、软件部分144.4.1 主模块电路的工

2、作流程144.4.2电机转速调节模块流程15五、结论16参考文献16程序清单17一、系统设计要求 1、测量通过光耦测得的切光器斩波信号的频率,并通过LCD显示。通过LCD显示频率的中心值及最大、最小值。 2、在基础要求得以完善的情况下,扩展系统的综合性能:增加可以调节控制电机转速的部分,是电机可以由按键选择几项档位;使系统分为测量和控制两个模块,有按键选择,使系统可以在两个模块下选择工作状态,从而使系统完善化。二、方案论证与选择方案一 基于VHDL语言的频率计的设计设计的基于VHDL语言频率计的系统原理框图系统原理框图如2.1所示。小 数 点闸门信号待测信号启 停 信 号译码显示电路计 数 器

3、 开 关 控 制标 准 信 号 发 生 器时钟量程选择锁 存 器使能1K输出使能锁存信号计数控制器分 频 器分频器闸门信号100Hz或10Hz2.1 设计的基于VHDL语言频率计的系统原理框图各模块说明如下:(1) 标准信号发生器, 开关控制电路。标准信号发生器产生1kHz 基准信号。开关控制电路对键盘输入的启停信号进行处理 (2)分频器当收到使能信号, 分频器启动, 将标准1kHz 信号经3次10分频, 得到100Hz, 10Hz, 1Hz 信号。1kHz, 100Hz, 10Hz 信号作为计数器闸门信号来控制计数, 以实现不同量程。 (3) 计数控制器计数控制模块将输入的分频信号处理, 产

4、生计数闸门信号、计数清零信号和锁存信号。(4) 计数器采用3个十进制计数器级联作为计数模块。闸门信号与待测信号相与作为计数输入。计数结果直接输出给锁存器。 (5)锁存器每当锁存使能信号来临, 锁存器便将锁存结果读入、锁存。锁存器还完成量程选择功能。锁存器还根据当前量程, 选择合适的小数点位置输出。(6)译码显示电路由于小数点由锁存器输出, 故在此仅考虑数码管的7段驱动,7段译码器将计数值译成相应的7 段数码驱动值。方案二 基于单片机的频率计的设计设计的基于单片机频率计的原理框图如图2.2所示。 液 晶 显 示 模 块 1602AT89C51 单 片 机复位电路时钟电路被测信号图2.2 设计的基

5、于单片机频率计的原理框图复位电路采用上电复位方式,每次单片机上电工作时使单片机处于复位状态,即初始状态,为测量频率作好准备。时钟电路中片内高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的晶振(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟,由此向单片机提供振荡脉冲。单片机计的脉冲数值经过转换送到液晶显示模块1602,从而显示被测信号的频率,测量结果用十进制表示,很直接。定时计数的方法(1)中断方式AT89C51单片机内部具有2个16位的定时器/计数器,并可以在定时或计数溢出时产生中断。将被测信号通过P3.5口送入单片机,将T0设置为定时方式,每50ms

6、产生一次中断,产生20次中断所用时间正好为1S,将T1设置为计数方式,T1的初值设置为0。(2)查询方式 查询方式每遇到一次脉冲就需要查询一次,较为繁琐,工作量大,揉一出现漏查等问题,因此该方法不合适。综上所述:运用AT89C51单片机采用中断方式定时计数的方案。三、 基于单片机的液晶显示频率测量电路的设计3.1系统硬件电路的设计3.1.1 信号转换处理电路 1、基本原理光电开关可以由一个光电发射管和一个接收管组成。当发射管和接收管之间无物体遮挡时,接收管由光电流产生,输出低电平电压。当发射管和接收管之间有物体遮挡时,接收管截止,输出高电平电压。可以利用光电开关的这种特性来进行零件计数。 2、

7、按传电路板感器实验指导书搭建好电路,可参考接线图3.1。图3.1 原理图3、观察输出的电压值是否为低,然后用一纸片遮挡在发射管和接收管之间,观察输出的电压值是否为高;加上直流电机套件,使小飞轮遮挡在发射管和接收管之间。用手轻轻旋转飞轮,观察输出的电压,当飞轮上面的小孔通过光电开关时,输出低电压,小孔转过去后输出高电压,如果电压不是这样变化的,调节光电开关同飞轮的相对位置。4、在已知发讯齿轮齿数的情况下,测得的传感器输出信号脉冲的频率就可以计算出直流电机的转速。如小孔孔数为N,转速为n,脉冲频率为f,则有:n=f/N 。常,转速的单位是转/分钟,所以要在上述公式的得数再乘以 60,才能转速数据,

8、即n=60 ×f/N。3.1.2 单片机的外围电路1、时钟电路单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:内部时钟方式和外部时钟方式,实际中常应用内部时钟方式。设计的内部时钟方式图如图3.2所示。 XTAL1单 片 机C1C230PF30PFXTAL2 图3.2 设计的内部时钟方式图电容在22PF33PF之间选择,起微调作用,在此采用30PF。晶振可采用6MHz或12MHz,但是若用6MHz的晶振,所测频率范围太窄,最高只能测到250KHz,用12MHz的晶振,最高频率可测到500KHz,故在此选用12MHz的晶振。2、复位电路单片机的复位电

9、路可采用上电复位或按扭复位,实际中常应用上电复位的方式,设计的上电复位方式图如图3.3所示。 图3.3 上电复位方式图3.1.3液晶显示模块16021602采用标准的16脚接口,从该模块的正面看,引脚排列从左向右为:116脚。其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为

10、低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:背光电源和地。3.1.4硬件电路原理图设计的系统硬件电路原理图如图3.4所示。+5V P2.0 P2.1 P2.2RST P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P3.5XTAL1 XTAL2 +5VVCCRSRW VDDED0D1 VLD2D3D4 D5D6 VSSD7 液 晶 显 示 模 块 1602AT89S5

11、1 单 片 机VSS被测信号 图3.4系统硬件电路原理图硬件电路图中,单片机的管脚必须接高电平,因为接低电平时只选用片外程序存储器,而试验所用的是片内程序存储器。液晶显示器1602的VL管脚必须接一个电位器来调节,因为VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过弱时,看不到屏幕上显示的数据。在PROTEUS环境下的仿真结果,如图3.5:图(七) 图3.5 仿真图3.2系统软件部分 基础部分流程图较为简单,该部分主要功能就是测量显示电机转速的频率值,其流程图如图3.6。开始LCD和89C51的初始化设置T0、T1工作方式定时1S计

12、数通过比较法显示显示频率的当前值、最大值、最小值、中间值是否停止计数结束否是 图3.6 基础部分流程图四、扩展部分的系统设计 4.1、扩展内容及其作用 设计一个可以控制电机转速的系统,从而使电机的转速可调,使整个测量系统更完善化。 4.2、设计方案 编程使单片机89C52产生占空比可调的PWM波,再经电流放大后接给小功率直流电机。由于占空比不同,等效为供给电机的电流大小不同,导致电机的转速不同,从而实现电机转速的控制。使用单片机89C52的定时器2工作在自动重装载定时方式的方法产生PWM波,因其具有自动重装载功能,编程方便。将单片机输出的PWM波加给功率放大管TIP122的基极,发射极接电机,

13、实现占空比大小到等效电流大小的转换。采用LCD1602定性显示电机的转动速度1、2、3、4,1最慢,4最快;同时采用4个按键来进行速度切换。 4.3、硬件部分设计硬件分五个部分:89C52单片机系统部分、LCD显示部分、速度选择部分(即按键部分)和电机部分;单片机部分电源采用外部现成的AC-DC 5V 100mA直流电源;电机的驱动电源采用12VDC电源。硬件部分电路图如图4.1。 图4.1 扩展部分仿真图 89C52 P10口输出PWM波,经TIP122放大后接电机;U2A是4输入与门,输出端接外部中断0 /INTRO;P0口输送数据给LCD1602的D0-D7,P12、P13、P14控制L

14、CD的工作模式和状态;P20-P24读取按键值,以改变PWM波占空比;调节变阻器RV1可以达到调节LCD清晰度的目的。4.4、软件部分4.4.1 主模块电路的工作流程 该模块作用是整个系统的工作方式选择,整个系统共两个大模块:电机频率测量工作模式、电机转速控制调节模式。流程图如下图4.2 。 图4.2 主模块流程图4.4.2电机转速调节模块流程 电机转速调节模块有两个作用:一是在测量模式下有4个档位可以调节出4种不同的电机工作频率;二是在控制模式下通过程序调节电机频率使其趋于设定值。该部分看流程图如图4.3。 图4.3 电机转图调节模块流程图五、结论基于STC89C52单片机的液晶显示频率计包

15、括单片机控制模块和液晶显示模块以及扩展模块,调试后的频率计可测量方波、正弦波、脉冲信号等波形,测量最高频率为999Hz,误差小于1Hz。本设计的优点:显示部分采用液晶显示模块1602,显示结果直接且能显示多行多位,功耗小,使用寿命长。该设计基本达到实验要求,不足之处是:测量频率范围窄,需要进一步扩展。本设计经过扩展模块可以实现简单的电机转速控制,使系统更加完善化。但是由于电机工作惯性较大、程序中占空比Z值的选择只限于整数、电机频率测量器件的简陋等原因,使扩展部分转速调节的功能误差偏大,这是该系统仍需要改善的地方。通过这次实习:首先掌握了单片机最小系统的结构,能够较为熟练的使用;其次更近一步地学

16、习掌握了C语言编程对单片机系统的控制;再次在实习中知道了更多写报告的注意事项,是其更标准规范化。参考文献1贵国庆.1602液晶显示频率计J.电子制作,2006,149(8):26-27.2陆容.液晶显示器(LCD)显示驱动原理及其应用J.电子制作,2005,134(5):58-59.3李建忠.单片机原理及应用 M.西安电子科技大学出版社,2002,3-40.5何立民.MCS-51系列单片机应用系统设计M.北京航空航天大学出版社,1995,30-34.6吴海州,王文理. 基于VHDL语言的数字频率计设计J.现代电子技术,2002,138(7):19-21.7 Song Pan ,Guodong

17、Wang. VHDL Application Course M . Chengdu :University of Elect ronic Science and TechnologyPress ,2000,15-20.8 Wanjie Song ,Ping Luo ,Shunjun Wu. CPLD Technology and Application M . Xipan :Xipan University of Elect ronic Science and Technology Press ,2000,27-3023程序清单#include "1602.h"uint i

18、=0,j=0,max=65535,min=0,middle;int jishu;sbit RS=P20; sbit RIW=P21;sbit E=P22;sbit tiao=P27;sbit jia=P26;sbit jian=P25;sbit yes=P24;sbit fuwei=P23;void timer()TMOD=0x51;TH1=0x00;TL1=0x00;TH0=0x3C;TL0=0xB0;ET0=1;EA=1;TR1=0;TR0=0;void timer0() interrupt 1uint temp0,temp1;i+;TH0=0x3C;TL0=0xB0;if(i=60)i=

19、0;temp1=TH1;temp0=TL1;jishu=(temp1*256+temp0)/3;TH1=0;TL1=0;if(j=0)max=jishu;min=jishu;j=1;if(max<=jishu)max=jishu;if(min>jishu)min=jishu;middle=(max+min)/2;void delay(unsigned char x) /x*0.14MS unsigned char i;while(x-)for (i = 0; i<1000; i+) void main()uint biaozhi=0,kongzhi=0;uint moshi,

20、kz1=1,kz2=1,kz3=1,shi,bai;uint cai1=0;int a=0,b=0,c=0,sheding=0;timer(); chushi();string(1,5,"65080303");string(2,4,"Huang Chao");P1=0xAA;while(kz3)if(kz3&&!tiao)while(!tiao);wi(0x01);string(1,2,"xuan ze mo shi");kz3=0;while(1)while(kz1)if(!tiao)while(!tiao);wi(

21、0x01);kz2=1;cai1=0;string(1,5,">count");string(2,6,"control");while(kz2)if(!tiao)while(!tiao);wi(0x01);kz2=0;cai1=2;string(1,6,"count");string(2,5,">control");if(!yes)while(!yes);kz1=0;kz2=0;wi(0x01);P1=cai1;if(!yes)while(!yes);kz1=0;wi(0x01);P1=cai1;whi

22、le(!cai1)TR1=1;TR0=1;string(1,1,"now:");writenum(1,5,jishu/100);writenum(1,6,jishu%100/10);writenum(1,7,jishu%10);string(1,10,"mid:");writenum(1,14,middle/100);writenum(1,15,middle%100/10);writenum(1,16,middle%10);string(2,1,"max:");writenum(2,5,max/100);writenum(2,6,ma

23、x%100/10);writenum(2,7,max%10);string(2,10,"min:");writenum(2,14,min/100);writenum(2,15,min%100/10);writenum(2,16,min%10);if(!fuwei)while(!fuwei)cai1=1;kz1=1;TR1=0;TR0=0;wi(0x01);string(1,2,"xuan ze mo shi");P1=0xFD;if(!tiao)while(!tiao);kongzhi=1;TR0=0;TR1=0;while(kongzhi)if(!ti

24、ao)while(!tiao);TR0=1;TR1=1;kongzhi=0;if(!fuwei)while(!fuwei)cai1=1;kz1=1;kongzhi=0;wi(0x01);string(1,2,"xuan ze mo shi");TR1=0;TR0=0;P1=0xFD;while(cai1=2)TR0=1;TR1=1;if(jishu-sheding)>=5)P1=0x44;sheding=c*100+b*10+a;if(sheding-jishu)>=5)P1=0x66;string(2,1,"now:");writenum(

25、2,9,jishu/100);writenum(2,10,jishu%100/10);writenum(2,11,jishu%10);string(1,1,"sheding:");writenum(1,9,c);writenum(1,10,b);writenum(1,11,a);if(!fuwei)while(!fuwei)cai1=0;kz1=1;wi(0x01);string(1,2,"xuan ze mo shi");TR1=0;TR0=0;P1=0xFD;if(!yes)while(!yes);sheding=c*100+b*10+a;P1=sh

26、eding;shi=0;bai=0;if(!jia)while(!jia);if(a=9)a=0;elsea+;if(!jian)while(!jian);if(a=0)a=9;elsea-;if(!tiao)while(!tiao);shi=1;while(shi)writenum(1,9,c);writenum(1,10,b);writenum(1,11,a);if(!fuwei)while(!fuwei)cai1=0;kz1=1;wi(0x01);string(1,2,"xuan ze mo shi");TR1=0;TR0=0;P1=0xFD;if(!yes)whil

27、e(!yes);sheding=c*100+b*10+a;P1=sheding;shi=0;bai=0;if(!jia)while(!jia);if(b=9)b=0;elseb+;if(!jian)while(!jian);if(b=0)b=9;elseb-;if(!tiao)while(!tiao);bai=1;shi=0;while(bai)writenum(1,9,c);writenum(1,10,b);writenum(1,11,a);if(!fuwei)while(!fuwei)cai1=0;kz1=1;wi(0x01);string(1,2,"xuan ze mo shi

28、");TR1=0;TR0=0;P1=0xFD;if(!yes)while(!yes);sheding=c*100+b*10+a;P1=sheding;shi=0;bai=0;if(!jia)while(!jia);if(c=9)c=0;else c+;if(!jian)while(!jian); if(c=0)c=9; elsec-; if(!tiao)while(!tiao); shi=0;bai=0; #include<reg52.h>#include<dydk.h>#include<hssm.h>unsigned char ITR=0;uns

29、igned char z=70;unsigned char k;unsigned char *p;unsigned char i;sbit wave=P34; /定义端口sbit RS = P35; sbit RW = P36;sbit EN = P37;void EXIR0(void) interrupt 0 EA=0; TR2=0;k=(P2|0xF0);delay_us(10);if(k!=0xFF) switch(k) case 0xFE:i=0,z=70;break; case 0xFD:i=1,z=63;break; case 0xFB:i=2,z=57;break; case 0

30、xF7:i=3,z=50;break; default:i=0,z=70;break; P2=0xFF; lcd_write_char1(8,1,*(p+i); EA=1; TR2=1; void main(void) unsigned char ii,jj;wave=0;delay_ms(100); lcd_init(); lcd_clear();z=100;T2CON=0x0;TL2=0x0F6;TH2=0x0FF;RCAP2L=0x0F6;RCAP2H=0x0FF;EA=1;ET2=1;EX0=1;TR2=1;while(1) if(P1=0) jj=1;EX0=1;lcd_clear(

31、);lcd_write_str(2,0,"Motor Speed"); delay_ms(25);p="1234"lcd_write_char0(8,1,*p);T2CON=0x0;TL2=0x0F6;TH2=0x0FF;RCAP2L=0x0F6;RCAP2H=0x0FF;EA=1;ET2=1;EX0=1;TR2=1;while(jj)P2=0xFF;if(P1=0xFD)jj=0; z=100;/*if(P1=0xFD)EA=0;ET2=0;EX0=0;TR2=0;*/if(P1=2)ii=1;EX0=0;lcd_clear();lcd_write_s

32、tr(2,0,"control"); T2CON=0x0;TL2=0x0F6;TH2=0x0FF;RCAP2L=0x0F6;RCAP2H=0x0FF;EA=1;ET2=1;/EX0=1;TR2=1;z=50;delay_ms(2000);while(ii)if(P1=0x44)z+;delay_ms(200);if(P1=0x66)z-;delay_ms(200);if(P1=0xFD)ii=0;z=100; void T2INR(void) interrupt 5 TF2=0;+ITR;if(ITR>=100)ITR=0;if(ITR<z) wave=0;el

33、se wave=1; #include <reg52.h>#define uchar unsigned char#define uint unsigned int/-1602写指令时序开始-void wi(uchar com) uint i=200; RS=1; RIW=1; RS=0; RIW=0; E=0; E=1; P0=com; while(i-); E=0;/-1602写指令时序结束-/-1602写数据时序开始-void wd(uchar dat) uint i=200; RS=0; RIW=1; RS=1; RIW=0; E=0; E=1; P0=dat; while(

34、i-); E=0;/-1602写数据时序结束-void chushi() /1602初始化程序 wi(0x01); /清屏 wi(0x06); /设置输入方式 AC自动加1,显示不发生移位 wi(0x0C); /显示开关控制 开显示 开光标 闪烁 wi(0x38); /功能设置 双行显示 5*8点阵 八位数据/*void writechar(unsigned int row,unsigned int rol,unsigned char zimu)uchar a;if(row = 1)a = 0x80;if(row = 2)a = 0xc0;a = a + rol - 1;wi(a);wd(zi

35、mu);*/void writenum(unsigned int row,unsigned int rol,unsigned char num)uchar a;num=num+0x30;if(row = 1)a = 0x80;if(row = 2)a = 0xc0;a = a + rol - 1;wi(a);wd(num);void string(unsigned char row,unsigned char rol,unsigned char *p)uchar a;if(row = 1)a = 0x80;if(row = 2)a = 0xc0;a = a + rol - 1;wi(a);while(1)if(*p = '0')break;wd(*p);p+;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!