单片机作业(冉懋淞092003111093)

单片机作业(冉懋淞092003111093)

ID:40633328

大小:179.50 KB

页数:10页

时间:2019-08-05

单片机作业(冉懋淞092003111093)_第1页
单片机作业(冉懋淞092003111093)_第2页
单片机作业(冉懋淞092003111093)_第3页
单片机作业(冉懋淞092003111093)_第4页
单片机作业(冉懋淞092003111093)_第5页
资源描述:

《单片机作业(冉懋淞092003111093)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、引言:随着集成电路技术的发展、单片机的普及,用单片机组成的测量电路频率具有精度高、速度快、成本低的优点,日益受到人们的重视。MCS-51系列单片机内部精确的时钟源及校正电路,能进行在线检测及显示,具有测试精度和速度好大的优点。设计任务:设计一个基于MCS-51的简易频率计设计要求:1:测量范围:幅度0.5V—5V,频率1Hz—10KHz;2:测量精度≤0.1℅;3:用4位数码管显示,当频率变化时,能通过数码管及时看到变化后的信号频率。4:若信号为A、B频率相同,要求测出这两个信号的相位差。设计原理:如图1所示。待测信号V1,V2经过前

2、置处理和整形后,经过相位差检测电路,输出结果直接送入单片机进行处理,标准正弦信号由ICL8038产生,用于对待测信号V1,V2的相位差进行校正,提高精度(精度≤0.1℅)。前置处理模块前置处理模块主要是对信号进行滤波,滤除干扰并进行适当的放大,它与整形模块一同构成信号预处理电路,输出TTL电平,为相位差的检测作好准备。信号整形信号经过带通滤波器滤掉高频干扰和低频漂移信号并进行线性放大后,变为一波形正规、幅值适当的正弦信号,然后经过滞回比较器及晶体三极管整形成TTL电平。采用滞回比较器,能够提高电路的抗干扰能力,本系统将滞回比较器的阈值

3、电压设为0.4V,能够有效滤除放大后幅值小于0.4V的干扰信号,并得到与输入信号同频率、占空比为50%的方波。电路如图2所示。相位差检测电路由两个J-K触发器组成的边沿触发型相位差检测电路如图3所示。F1的输出Q1和分别接F2的J2和K2,所以F2在CLK2端受下跳沿触发后,建立的状态与F1相同;F2的输出Q2和分别接F1的K1和J1所以F1在CLK1端受下跳沿触发后,建立的状态与F2相反。根据上述特点,并考虑到F1和F2是下跳沿触发的J-K触发器,可画出Q1和Q的输出波形以及经过与非门后的输出脉冲波形,如图4所示。图4(c)中实线波

4、形对应,虚线波形对应。由图4可见,输出电压平均值与相位差成线性关系校正电路标准正弦信号由ICL8038产生,经反相后分成两路信号,即标准相位差为180∀,用于对待测信号V1,V2的相位差进行校正,提高精度。信号的采集、处理及显示信号从P3.3和P3.5输入,从P3.5输入的信号用于测量方波的频率时作用,而P3.3信号时用于测量正脉冲信号宽度时作用。设计思路对于测量频率:采用定时闸门计数方法测量脉冲频率。设定时器/计数器0为定时方式,提供100MS的基准闸门时间TR。在10TR期间,定时器/计数器1对外部脉冲进行计数,所获得的计数值M即

5、为被测脉冲信号的频率。设定时器/计数器参数设定定时器/计数器0用来提供100MS的基准闸门时间,单片机时钟振荡器频率为6MHZ,定时器/计数器1对外部脉冲进行计数。定时器/计数器0采用方式1,定时器状态由内部TR0控制启停;定时器/计数器1采用方式1,计数器状态由内部TR1控制启停。因此TMOD=01010001B=51H.T0的计数初值为式中,,则程序见附录1对于测量脉冲宽度:由外部引脚控制计数器定时计数的启动,停止,高电平时启动计数,低电平时停止计数。当为高电平时,计数器中的计数值N为12分频的时钟频率的周期数,则脉冲宽度定时器/

6、计数器的控制字本程序中选用T1,方式1,外部控制启/停(GATE=1),及定时器方式()故TMOD=1001B.令TMOD=90H程序见附录1计算公式附录一MAIN:SJMPMSFC;跳转到MSFCMOVR4,#64HSSS:MOVTMOD,#01H;设定T0状态字MOVTL0,#0CH;计数器TH,TL0装入初值MOVTH0,#0FEHSETBTR0;开始计时SSS1:JBCTF0,SSS2SJMPSSS1SSS2:DJNZR4,SSSCLRTR0SJMPSTW;跳转到STWSJMPMAINMSFC:MOVTMOD,#51H;设T0

7、,T1控制字MOVR0,#0AH;100MS定时的10倍扩展MOVTL1,#00H;T1计数器清零MOVTH1,#00HMOVTL0,#0B0H;T0计数器装入计数初值MOVTH0,#3CHSETBP3.5;置T1引脚为输入方式JBP3.5$;等待为低电平SETBTR0;动T0计数SETBTR1;启动T1计数WAIT:JBCTF0,SECC;查询100MS定时时间,定时时间到,转SECCSJMPWAIT;100MS定时未到,等待SECC:MOVTL0,#0B0H;重装计数初值MOVTH0,#3CHDJNZR0,WITH;查询1S定时到

8、,为转到WAITCLRTR1;1S定时到,停止T1计数CLRTR0;停止T0计数MOV31H,TH1;将T1计数值M送入31H,30HMOV30H,TL1MOVR3,0AH;给R3赋初值MOVA,31HMOVB,R3DI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。