基于单片机的脉冲周期测量.doc_第1页
基于单片机的脉冲周期测量.doc_第2页
基于单片机的脉冲周期测量.doc_第3页
基于单片机的脉冲周期测量.doc_第4页
基于单片机的脉冲周期测量.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 单片机原理与应用课程设计脉冲周期的测量 学院名称: 电气信息工程学院 班 级: 07电子1Z 姓 名: 张秀银 学 号: 07311126 目录一、课程设计的目的和意义 2二、程序设计的具体要求 2三、程序设计的硬件连接 2四、软件设计流程及描述 5五、程序清单 9六、调试与分析 13七、课程设计的体会 13八 参考文献 14一、课程设计的目的和意义(1)目的:通过本次课程设计,巩固和加深“单片机原理与应用”中的理论知识,了解和应用单片机仿真系统,结合软硬件,基本掌握单片机的应用的一般设计方法,提高电子电路的设计和实验能力,并且提高自身查找和运用资料能力(2)意义:通过本次课程设计,理论知识系统化,从中或得一些实战工作经验,提高个人与团体合作的能力。为以后从事生产和科研工作打下一定基础。二、 程序设计的具体要求利用单片机AT89C51单片机的T0、T1的定时/计数功能,完成对待测信号的频率进行测量,测量的结果通过8位动态数码管显示出来。设计要求的技术指标有:1、输入脉冲幅度:0-5v2、频率量测量范围:10010000HZ3、测量精度:正负1%4、显示方式:四位数字显示三、 程序设计的硬件连接1 总体框图被测信号89C51单片机控制器4位数码管显示晶振电路7407列驱动2 信号源的产生: 被测信号源用的是带RC电路的环形振荡器电路图 带RC电路的环形振荡器电路如图所示。即温度每增加10输入偏流将增加一倍。其中G4用于整形,OPA335.pdf REF3025.pdf 由运放OPA335及基准电压源REF3025在LOG102输入端构成具有失调补偿的电流源电路 如图所示为由运放OPA335及基准电压源REF3025在LOG102输入端构成具有失调补偿的电流源电路。以改善输出波形,由于功率放大器在大信号下工作,R为限流电阻,问题是要把失真控制在允许范围内,一般取100,输出端连接不同的脚(3、4、5)可以得到不同的系数K(1、3、5)。电位器Rw要求不大于1K。由于两管轮流地工作,电路利用电容C充放电过程,(2)晶体管的最大集电极电压Ucm2Ec。控制D点电压VD,BG1截止、BG2导通,从而控制与非门的自动启闭,自动气体循环炉控温电路图。形成多谐振荡,Icm=IcM/2,电容C的充电时间tw1、放电时间tw2和总的振荡周期T分别为:由于输出端使用变压器, tw10.94RC,请使用27K。 tw21.26RC ,串联输入式电压反馈的基本形式电路图。 T2.2RC调节R和C的值,内部放大器A1、A2是场效应晶体管(FET)输入,可改变输出信号的振荡频率。为了克服交越失真,以上这些电路的状态转换都发生在与非门输入电平达到门的阀值电平VT的时刻。555和R1,在VT附近电容器的充放电速度已经很缓慢,(1)甲类功率放大器:。而且VT本身也不够稳定,射频探头用负压源电路图如图所示,易受温度、电源电压变化等因素以及干扰的影响。对数和对数比率放大器LOG101104的偏流调零电路 如图所示为LOG101104的偏流调零电路。因此,运算放大器电路图:包含 单电源、低压、低功耗运算放大器电路图。电路输出频率的稳定性较差。扬声器的阻抗为400欧,信号源电路由RC振荡器构成,电阻选510欧姆,电容选择0.1uf,,产生矩形波后通过非门整形,非门由与非门74LS00构成,实际电路中用到四个与非门,使得整形更好,波形更稳定。根据公式 T=2.2*RC ,计算可得周期为112.2ms3 数码显示电路采用的为共阴极。P0口来送段选信号, P0口内部并没有带上拉电阻,在接收数码管时需要在两者之间加一排阻,降低电流来保护P0口。利用了P2.0P2.3来送位选信号即哪一个数码管来亮,且送低电平时有效,数码管用动态显示的方式来显示测量的周期值。 在单片机与数码管之间我们采用了7407来驱动,7407为位6输入高压缓冲器。4 单片机单片机使用12m的晶振晶振和C1、C2组成振荡器,使单片机内部产生产生周期为1us的脉冲信号。5 管脚接线图 管脚接线图四、软件设计流程及描述初始化将测量转换为十进制数拆为非压缩BCD数调用显示子程序重设TH1,TL1读TH0TL0到频率单元清零返回1 主程序如下所示:MAIN:MOV SP,#60H MOV TMOD,#01H ;计数器T0工作在方式1 MOV TH0,#00H MOV TL0,#00H ;计数器TO清零 MOV IE,#81H ;开总中断 外部中断0 SETB TR0 ;T0允许计数且当外部中断输入为高时计数 外部中断0为边沿触发 SETB IT0外中断0服务子程序如下:INTR_0:MOV 41H,TH0 MOV 40H,TL0 ;将计数器T0中的数转移到40H,41H中 MOV TH0,#00H MOV TL0,#00H;重新将定时器T0清零QQ: RETI2 数码转换由于单片机显示的是10进制的数,所以需要将2进制数转换为10进制数来显示二进制十进制转换的流程图如下:因为有16位的二进制,故循环次数为16次,放在R7中。38H37H中的十六位二进制数转换为十进制后放在34H35H36H单元中开始38H 41H37H 40H034H,35H,36H16R7C(38H37H)左移一位(移出位bi在C中)(34H35H36H)*2+C(34H35H36H) (十进制运算)(R7)-1-=0?返 回NY3 压缩BCD码转换成非压缩BCD码 压缩BCD码有4位,所以需要将压缩BCD码转换为非压缩BCD码供8段数码管显示USBCD: MOV A,34H CJNE A,#00H,PD ;判断第五位数值是否为0 为零则按四位有效值处理 不为零按5位有效值处理 MOV R1,#35H ;当有4位有效效值时 取后四位显示 小数点加在第一位 MOV R0,#36H ;显示的是以ms为为单位的 MOV A,#00H XCHD A,R0 ;将36H中的低4位转换为非压缩BCD码存到30H MOV 30H,A MOV A,R0 SWAP A MOV 31H,A ;高4位转换为非压缩BCD码存到31H MOV A,#00H XCHD A,R1 ;将35H中的低4位转换为非压缩BCD码存到32H MOV 32H,A MOV A,R1 ;高4位转换为非压缩BCD码存到33H SWAP A ADD A,#10;加小数点显示(如果显示us为单位可以不加小数点) MOV 33H,A RET PD: MOV R1,#34H ;当有5位有效值时取前四位显示 小数点加在第二位 MOV R0,#35H ;将35H中的低4位转换为非压缩BCD码存到31HMOV A,#00H XCHD A,R0 ;高4位转换为非压缩BCD码存到32H MOV 31H,A MOV A,R0 SWAP A ADD A,#10 加小数点显示(如果显示us为单位可以不加小数点) MOV 32H,A MOV A,#00H ;将34H中的低4位转换为非压缩BCD码存到33H XCHD A,R1 MOV 33H,A MOV A,R1 SWAP A ANL 36H,#0F0H MOV A,36H SWAP A MOV 30H,A RET4 数码管显示子程序LEDS:MOV DPTR,#TAB;显示千位 MOV A,U4 MOVC A,A+DPTR MOV P0,A MOV A,#0FEH;位选信号 第一个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示百位 MOV A,U3 MOVC A,A+DPTR MOV P0,A MOV A,#0FDH;位选信号 第二个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示十位 MOV A,U2 MOVC A,A+DPTR MOV P0,A MOV A,#0FBH;位选信号 第三个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示个位 MOV A,U1 MOVC A,A+DPTR MOV P0,A MOV A,#0F7H;位选信号 第四个数码管 MOV P2,A LCALL DELAY RET 选用4个共阴极数码管显示,每个数码管的选通是由P2.0P2.3来控制每位点亮时间为2048us,采用延时子程序,有四个数码管,用扫描的方式显示,每一个时刻只选通一个数码管。不带小数点的09的数据对应表 带小数点的09的数据对应表: 0 3FH 0 0BFH 1 06H 1 86H 2 5BH 2 0DBH 3 4FH 3 0CFH 4 66H 4 0E6H 5 6DH 5 0EDH 6 7DH 6 0FDH 7 07H 7 87H 8 7FH 8 0FFH 9 6FH 9 0EFH5 延时程序DELAY:MOV R7,#08H DELA:MOV R6,#80H DJNZ R6,$ DJNZ R7,DELA RET 采用软件延时,延时时间为8*128*2=2048us五、 程序清单下面的程序是本次课程设计的源程序:ORG 0000HAJMP MAINORG 0003HAJMP INTR_0;外部中断低电平触发处理ORG 0033HMAIN:MOV SP,#60H MOV TMOD,#01H ;计数器T0工作在方式1 MOV TH0,#00H MOV TL0,#00H ;计数器TO清零 MOV IE,#81H ;开总中断 外部中断0 SETB TR0 ;T0允许计数且当外部中断输入为高时计数 外部中断0为边沿触发 SETB IT0LOOPS:LCALL BCD ;二进制转十进制 LCALL USBCD ;压缩BCD码,转非压缩BCD码 LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS LCALL DELAY LCALL LEDS AJMP LOOPS ;循环处理显示INTR_0:MOV 41H,TH0 MOV 40H,TL0 ;将计数器T0中的数转移到40H,41H中 MOV TH0,#00H MOV TL0,#00H;重新将定时器T0清零QQ: RETI BCD:CLR A ;十进制转换;将41H 42H中的数值转换成BCD码 分别按高低存储在34H 35H 36H中 MOV 38H,41H MOV 37H,40H MOV 34H,A MOV 35H,A MOV 36H,A MOV R7,#16LOOPS1: CLR C MOV A,37H RLC A MOV 37H,A MOV A,38H RLC A MOV 38H,A MOV A,36H ADDC A,36H DA A MOV 36H,A MOV A,35H ADDC A,35H DA A MOV 35H,A MOV A,34H ADDC A,34H DA A MOV 34H,A DJNZ R7,LOOPS1 RET USBCD: MOV A,34H CJNE A,#00H,PD ;判断第五位数值是否为0 为零则按四位有效值处理 不为零按5位有效值处理 MOV R1,#35H ;当有4位有效效值时 取后四位显示 小数点加在第一位 MOV R0,#36H ;显示的是以ms为为单位的 MOV A,#00H XCHD A,R0 ;将36H中的低4位转换为非压缩BCD码存到30H MOV 30H,A MOV A,R0 SWAP A MOV 31H,A ;高4位转换为非压缩BCD码存到31H MOV A,#00H XCHD A,R1 ;将35H中的低4位转换为非压缩BCD码存到32H MOV 32H,A MOV A,R1 ;高4位转换为非压缩BCD码存到33H SWAP A ADD A,#10;加小数点显示(如果显示us为单位可以不加小数点) MOV 33H,A RET PD: MOV R1,#34H ;当有5位有效值时取前四位显示 小数点加在第二位 MOV R0,#35H MOV A,#00H XCHD A,R0 MOV 31H,A MOV A,R0 SWAP A ADD A,#10;加小数点显示 MOV 32H,A MOV A,#00H XCHD A,R1 MOV 33H,A MOV A,R1 SWAP A ANL 36H,#0F0H MOV A,36H SWAP A MOV 30H,A RET LEDS:MOV DPTR,#TAB;显示千位 MOV A,U4 MOVC A,A+DPTR MOV P0,A MOV A,#0FEH;位选信号 第一个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示百位 MOV A,U3 MOVC A,A+DPTR MOV P0,A MOV A,#0FDH;位选信号 第二个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示十位 MOV A,U2 MOVC A,A+DPTR MOV P0,A MOV A,#0FBH;位选信号 第三个数码管 MOV P2,A LCALL DELAY MOV DPTR,#TAB;显示个位 MOV A,U1 MOVC A,A+DPTR MOV P0,A MOV A,#0F7H;位选信号 第四个数码管 MOV P2,A LCALL DELAY RET DELAY:MOV R7,#08H ;延时程序DELA:MOV R6,#80H DJNZ R6,$ DJNZ R7,DELA RET TAB: DB 3fh, 06h, 5bh ,4fh , 66h ,6dh ,7dh, 07h, 7fh ,6fh DB 0Bfh,86h,0DBh ,0Cfh, 0E6h,0Edh ,0Fdh ,87h ,0FFh ,0Efh NOP END六、 调试与分析硬件调试:将信号源的输出脚接在示波器上,并加上正负电源,观察波形,如果得到的波形不太好,可将74LS00的4个与非门全部串联,并将对应的周期记录下来。软件的测试:在软件测试的时候,将各子程序分别进行调试,数码管显示可先编一段小程序来验证,不能利用数码管显示的程序部分可以利用软件上添加观察程序来实现观察结果是否正确。分析与误差计算:由于我们的理论值为T=2.2RC=112.2us,而我们实际测量得到的值

温馨提示

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

评论

0/150

提交评论