《“单片微机原理与应用”课程设计.doc》由会员分享,可在线阅读,更多相关《“单片微机原理与应用”课程设计.doc(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机综合设计讲义薛晓书 李克艰西安石油大学电子工程学院仪器系前 言 在“单片微机原理及应用”课程中,我们学习了MCS-51单片机的基本知识和一些接口技术,了解和初步掌握了MCS-51单片的基本性能和使用方法。但仅凭此基础而进行单片机应用系统的开发研究是远远不够的,这个问题在毕业设计中表现比较突出。 为此,我们在教学计划中设置了“单片机综合设计”这个教学环节,试图在学习“单片微机原理及应用”课程基础上,通过学习一个难度比较适中,而又实际的单片机应用系统的分析和设计实例,使学生了解和初步掌握单片机应用系统的分析和设计方法,以及所要求的基本的软、硬件开发环境和工具。以提高学生的工程实践开发能力。
2、我们选择了简易数字频率计做为实例。这是1999年第三届全国大学生电子设计竞赛试题,其设计指标及难度适中,涉及到的硬件、软件均比较丰富,而且与其它几门功课的教学联系比较紧密,教学量容易把握。以此做为单片机综合设计的基本教学内容,可以达到我们希望的教学目的。 本讲义由薛晓书同志编写,李克艰同志绘制了部分电路图,两同志一起制做了实验装置,并对硬、软件进行了调试。“单片机综合设计”课程设计由薛、李两同志合作开发完成,工作量比较大。在此做一说明。 编者19991125目 录 第三届全国大学生电子设计竞赛试题(1997)(1) 第一章 简易数字频率计的硬件设计 (2) 第一节 频率及周期的测量及误差分析
3、(2) 一、电子计数器测频原理与误差分析 (2) 二、电子计数器测周方法及误差分析 (4) 第二节 简易数字频率计硬件设计的基本要求 (4) 一、测频、测周、测脉宽、测占空比 (5) 二、闸门时间、时标脉冲、测频测周交界频率、计数器 (5) 第三节 简易数字频率计的硬件设计 (7) 一、方案确定 (7) 二、简易频率计的工作状态及工作步骤 (9) 三、部分硬件电路说明 (9) 第二章 简易数字频率计的软件设计 (16) 第一节 简易数字频率计的操作方法 (16) 第二节 主要程序流程框图 (17) 一、主程序流程框图 (17) 二、测频子程序流程框图 (18) 三、测周子程序流程框图 (19)
4、 四、测脉宽子程序流程框图 (20) 五、三字节二进制整数转三字节浮点数模块流程框图 (20) 六、测占空比子程序流程框图 (21) 七、调整刷新时间子程序框图 (22) 第三节 简易数字频率计的程序及说明 (22) 一、主程序 (22) 二、测频子程序 (23) 三、测周子程序 (28) 四、测脉宽子程序 (34) 五、测占空比子程序 (36) 六、调整刷新时间子程序 (40) 七、刷新时间延时子程序 (40) 八、显示子程序 (41) 九、通用规格化子程序 (43) 十、浮点数取数子程序 (44) 十一、浮点数存数子程序 (44) 十二、16位二进制整数转换为浮点数子程序 (44) 十三、
5、定点无符号双字节小数乘法子程序 (45) 十四、三字节浮点数乘法子程序 (45) 十五、定点无符号双字节小数除法子程序 (46) 十六、三字节浮点数除法子程序 (47) 十七、二进制浮点数转为十进制浮点数子程序 (48) 第四节 简易数字频率计用到的三字节浮点数运算子程序说明(52) 一、通用规格化子程序FSDT (52) 二、浮点数取数子程序FMLD (52) 三、浮点数存数子程序FSTR (54) 四、双字节二进制整数转换为三字节浮点数子程序INTF (54) 五、定点无符号双字节小数乘法子程序DMUL (55) 六、定点无符号双字节小数除法子程序DDIV (55) 七、浮点数乘法子程序F
6、MUL (56) 八、浮点数除法子程序FDIV (56) 九、二进制浮点数转换为十进制浮点数子程序FBTD (57) 附图1 简易数字频率计的原理图(59) 附图2、3 电源原理图、简易数字频率计的面板图(60)第三届全国大学生电子设计竞赛试题(1997)一、题目 简易数字频率计二、任务 设计并制作一台数字显示的简单频率计三、要求 1、基本要求 (1)频率测量 a测量范围:信号:方波、正弦波 幅度:0.5V5V 频率: 1Hz1MHz b.测试误差0.1% (2)周期测量 a测量范围:信号:方波、正弦波 幅度:0.5V5V 频率: 1Hz1MHz b.测试误差0.1% (3)脉冲宽度测量 a测
7、量范围:信号:脉冲波 幅度:0.5V5V 脉冲宽度100 b.测试误差1% (4)显示器:十进制数字显示,显示刷新时间1-10秒连续可调,对上述三种测量功能分别用不同颜色的发光二级管指示。 (5)具有自校功能,时标信号频率为1MHz。 (6)自行设计并制作满足本设计任务要求的稳压电源。 2、发挥部分: (1)扩展频率测量范围为0.1Hz10MHz(信号幅度0.5V5V),测试误差提高到0.01%(最大闸门时间10S)。 (2)测量并显示周期脉冲信号(幅度0.5V5V,频率1Hz10KHz)的占空比,占空比的变化范围为10%90%,测试误差1%。 (3)在1Hz10MHz范围内测试误差0.1%的
8、条件下,进行小信号的频率测量,提出并实现抗干扰的措施。四、说明 (1)不能采用频率计专用模块 (2)在设计报告前附一份400字以内的报告摘要。第一章 简易数字频率计的硬件设计第一节 频率及周期的测量及误差分析 一、电子计数器测频原理与误差分析 所谓“频率”就是周期性信号在单位时间(1秒)内变化的次数。若在一定时间间隔T内计得这个周期性信号的重复变化次数N,则其频率可表达为 (1-1) 电子计数器可以严格按照式(1-1)所表达的频率的定义进行测频,其原理方框图如图1-1所示,其工作波形图示于图1-2。 图1-1 电子计数器测频原理方框图 图1-2 工作波形图图1-1 图1-2 我们来分析计数器测
9、频的测量误差。从式(1-1)可知,上述测频方法的测量误差,一方面决定于闸门时间T准不准,另一方面决定于计数器计得数准不准。根据误差合成方法,从式(1-1)可得 (1-2) 式(1-2)中,为被测频率,第一项是数字化仪器所特有的误差,而第二项是闸门时间的相对误差,这项误差决定于石英振荡器所提供的标准频率的准确度。现分析如下。 (一)1误差 在测频时,主门开启时刻与计数脉冲之间关系是不相关的,所以它们在时间轴上的相对位置是随机的。这样,在相同的主门开启时间内,计数器所计得的数都不一定相同,当主门开启时间T接近甚至等于被测信号周期的整数(N)倍时,此项误差为最大。这个最大的计数误差为个数。所以考虑到
10、式(1-1),可以写成: (1-3) 从上式可知,不管计数值N多少,其最大误差总是个计数单位,故称“个字误差”,简称“误差”。 从式(1-3)可知 ,当一定时,增大闸门时间T,可减少误差对测频误差的影响。 例=1MHz,选闸门时间T=1S,则由误差产生的测频误差为 若T增加为10S,则测频误差为110-7,即可提高一个数量级。 式(1-3)又告诉我们,当T选定后,越低,则由误差产生的测频误差越大。 (二)标准频率误差 闸门时间T准不准,主要决定于由石英振荡器提供的标准频率的准确度,若石英振荡器的频率为,分频系数为(例如,=1MHz,为了得到的时基信号,应等于106,),则,而所以 (1-4)
11、可见,闸门时间的准确度在数值上等于标准频率的准确度,式中负号表示由引起的闸门时间的误差为。图1-3 计数器测频时的误差曲线 通常,对标准频率准确度的要求是根据所要求的测频准确度提出来的,例如,当测量方案的最小计数单位为1Hz,而Hz,在时的测量准确度为(只考虑误差),为了使标准频率误差不对测量结果产生影响,石英振荡器的输出频率准确度应优于110-7,即比误差引起的测频误差小一个数量级。 (三)结论 综上所述,可得如下结论: 1、计数器直接测频的误差主要有两项:即误差和标准频率误差。一般,总误差可采用分项误差绝对值合成,即 (1-5) 可把式(1-5)画成图1-3所示误差曲线,即与以及的关系曲线
12、。从图可见,在一定时,闸门时间T选的越长,测量准确度越高。而当T选定后,越高,则由于误差对测量结果的影响减小,测量准确度越高。但是,随着误差的影响减小,标准频率误差将对测量结果产生影响,并以(图中以510-9为例)为极限,即测量准确度不可能优于510-9。 2、测量低频时,由于误差产生的测频误差大得惊人,例如,Hz,则由误差引起的测频误差可达10%,所以,测量低频时不宜采用直接测频方法。 二、电子计数器测周方法及误差分析 (一)计数器测周的必要性及测周的基本原理 图1-4 测量周期的原理方框图 正如前述,当较低时,利用计数器直接测频,由误差所引起的测频误差将会大到不可允许的程度。所以,为了提高
13、测量低频时的准确度,即减小误差的影响,可改成先测周期,然后计算。因为越大,计数器计得的数N越大,误差对测量结果的影响自然减小。 计数器测周的原理方框图如图1-4。 (二)误差分析 与分析电子计数器测频时的误差类似,根据误差传递公式,并结合图1-4,可得 (1-6) 根据图1-4测周原理 ,而 所以,式(1-6)可写成 (1-7) 从式(1-7)可见,测周时的误差表达式与测频的表达式形式相似,很明显愈大(即被测频率愈低)误差对测周精确度的影响愈小。图1-5显示出了测周时的误差曲线。图中三条曲线,其中10和100两条曲线是采用多周期测量时的误差曲线。第二节 简易数字频率计硬件设计的基本要求 根据电
14、子大赛试题基本要求和发挥部分要求,以及对测频、测周原理和误差的分析,我们可以概括出对简易数字频率计硬件设计的基本参数要求。 图1-5 测周时的误差曲线 一、测频、测周、测脉宽、测占空比 试题中对测频的基本要求是信号频率范围1Hz1MHz,测试误差0.1%,发挥部分要求频率的测量范围为0.1Hz10MHz,测试误差为0.01%。根据图1-3所示的误差曲线,要满足测试误差要求,在高频段可直接采用测频方法,在测量低频时,则必须采用测周的方法得到信号的周期值,求其倒数而得到信号的频率值。 试题中对测周的要求是测量范围1Hz1MHz,测试误差0.1%,根据图1-5所示的误差曲线,要满足测试误差要求,在低
15、频时,可直接采用测周的方法,在高频段,则必须采用测频的方法得到信号的频率值,求其倒数而得到信号的周期值。 考虑到试题中有测脉宽和占空比的要求,因此,硬件设计必须具备直接测频、测周、测脉宽的功能,通过运算得到信号的占空比。 二、闸门时间、时标脉冲、测频测周交界频率、计数器 我们知道,无论测频还是测周,要达到测试误差要求,它们都必须在低频段采用测周的方法,在高频段采用测频的方法,经过求倒数运算得到测量值。下面我们来确定时标脉冲,闸门时间,测周测频的交界频率。 (一)满足基本要求 大赛试题中,对频率计的基本要求是,测频、测周范围为1Hz1MHz,测试误差0.1%。我们拟用MCS-51单片机来实现频率
16、计。该单片机ALE端的输出频率为单片机振荡器频率的1/6。它可以用作对外输出的时钟,或用于定时的目的。若选择单片机的外接晶体为12MHz或6MHz,则ALE端的频率为2MHz或1MHz。我们拟用ALE端输出作为频率计的时标脉冲。 现分析测周情况。见式(1-7)。项与前项比较非常小,可忽略不计。式(1-7)可写为 (1-8) 引入测试误差要求,则有 (1-9) 设时标脉冲为1MHz,即MHz,则有 0.1%1MHz=1KHz 由此可知,测周时,当时标脉冲为1MHz,被测信号频率1KHz时,可达到测试误差0.1%的要求。 现分析测频情况。见式(1-5),项与前项比较非常小,可忽略不计,式(1-5)
17、可改写为 (1-10)引入测试误差要求,则有 0.1% (1-11)即 T 考虑到测周时,1KHz,为保证整个被测频段 测试误差要求,我们只能选1KHz,则闸门时间T必须1S。我们可选T=1S。由此可得出如下结论: 1当被测信号频率1KHz时,采用测周方法,时标脉冲为1MHz,可满足测试误差要求; 2当被测信号频率1KHz时,采用测频方法,闸门时间T选择lS,可满足测试误差要求; 3时标脉冲为1MHz,也满足大赛试题中关于脉冲宽度测量的测试误差要求。也就满足了计算占空比的要求。 (二)达到发挥部分要求 1发挥部分要求测量范围为0.1Hz10MHz,测试误差为0.01%(最大闸门时间为10S)。
18、引入误差要求,式(1-8)可写为 0.01% (1-12) 我们设时标脉冲为10MHz,即=10MHz,则 0.01%10MHz=1KHz可知,测周时,时标脉冲为10MHz,1KHz,可达到测试误差要求。 引入误差要求,式(1-10)可写为 0.01% (1-13) 即 T 为保证整个被测频段的测试误差要求,选1KHz,则闸门时间T10S。而题目要求T10S,故T只能为10S。 2占空比测量。周期脉冲信号频率为1Hz1KHz,占空比的变化范围为10%90%,测试误差1%。 我们知道,当选择时标脉冲为1MHz时,在1KHz频段周期的测量误差0.1%,比起占空比测量的测试误差要求要小一个量级。因此
19、占空比的测试误差主要取决于脉宽测量。 被测信号的最小脉宽为1/100010%=100() 测量误差必须小于1%,即1001%=1 即时标脉冲的最小周期须1,频率1MHz,因此,时标脉冲选1MHz,即基本满足测占空比的误差要求。 3试题发挥部分要求进行小信号的频率测量,提出并实现抗干扰的措施。灵活运用电子技术所学知识,和数字滤波的办法,可实现其要求。 (三)计数器 同时考虑基本要求及发挥部分要求,求计数器的最大计数值。 1达到基本要求 最大计数值为 1MHz1S=1M(个脉冲数) 2达到发挥部分要求 最大计数值为 10MHz10S=100M(个脉冲数) 故我们选择24位二进制计数器(单片机内16
20、位,外部8位)。由于224=16,777,216而有1M224100M,很容易满足基本部分要求。对于发挥部分,由于单片机内部的16位计数器操作灵活,多次读取、清零,然后将多次计数值与外部计数器计数值相加,可得到总的计数值。以上我们从测频、测周的基本原理,误差分析入手,得到了实现简易数字频率计的基本设计参数,以及用单片机实现的可能性。为其硬件、软件设计提供了基础。第三节 简易数字频率计的硬件设计 一、方案确定 为了使大家更容易理解和学习单片机技术,初步掌握单片机应用系统的硬件和软件的图1-6 电路原理框图设计思想、设计方法,由浅入深,我们设计了一个简易数字频率计的实现方案。该方案可完全满足试题基
21、本部分要求,部分实现扩展部分要求。 该方案基本参数:时标脉冲1MHz,闸门时间1S,24位二进制计数器,1KHz时采用测周方式,1KHz时采用测频方式。 该方案在0.1Hz10MHz范围内测试误差0.1% 在100Hz,10KHz时 测试误差0.01% 而且该方案对硬件电路的要求不是很高,软件编程相对容易。 简易数字频率计电路原理框图见图1-6,电路原理图见附图1、2,频率计的面板图见附图3。 二、简易频率计的工作状态及工作步骤 我们以某一被测信号的频率测量为例,说明简易频率计的工作状态及工作步骤。 1接好电源,接好被测信号。 2开机、单片机内部初始化,监视灯全灭,数码显示“”。 3根据要求,
22、设置刷新时间。 4闭合测频开关,开始频率测量,程序运行监控指示灯亮,测频状态指示灯亮,数码显示“”。 5估算被测信号频率。单片机首先选择测频方式。内部、外部计数器清零,给出地址信号,使数据选择器选择脉冲信号,屏蔽时标信号。 6单片机给出数据选择器的选通信号,数据选择器输出脉冲信号,计数器开始计数,计数时间为100ms,时间到,选通信号彻消,数据选择器停止工作,计数器停止计数。 7单片机读计数值,通过运算判被测信号频率是否大于1KHz。当大于1KHz,则采用测频方式,当小于1KHz,采用测周方式。设小于1KHz,则程序自动转入测周方式。 8系统内部外部计数器清零,单片机给出地址信号,使数据选择器
23、选择时标信号,屏蔽脉冲信号。 9单片机给出数据选择器的选通信号,数据选择器输出时标信号,计数器开始计数,计数时间1S,时间到,选通信号彻消,数据选择器停止工作,计数器停止计数。 10单片机读数据,整理数据,通过运算,得到被测信号的频率值。 11整理数据,输出显示,对应的单位指示灯亮,程序运行监控指示灯灭,一次测频结束。 12执行刷新时间、时间到重新测频。 13若想停止测频,可按下复位键,系统回到初始状态,可选择其它测量项目。通过阅读上述简易频率计的工作状态及工作步骤,简易频率计的硬件、软件设计思路也就进一步明晰了。 三、部分硬件电路说明 大赛试题要求,被测信号为方波、正弦波、脉冲波,信号幅度为
24、0.5V5V,频率范围图1-7 整形放大计数及部分状态显示电路为0.1Hz10MHz。其中,方波、正弦波可测量其频率和周期,脉冲波除测其频率和周期外,还要测其脉宽和占空比。我们按完全实现基本要求,部分实现发挥部分要求的原则,设计了硬件电路。 (一)信号放大、整形部分电路 为了使输入信号能转化成可以计数的脉冲,对信号放大和整形是必要的。电路原理图见图1-7。 LM318高速运放是一个四级放大器,其输入级的设计着眼于获得高的转换速率,第二级放大级的设计兼顾了电平位移,第三级重点考虑电压放大,第四级主要考虑增加负载能力,它的主要特点是高的转换速率,宽的单位增益带宽。电压输入范围20V。其常温参数为:
25、 * 输入失调电压VID 4mV * 输入失调电流IID 30mV * 差模输入阻抗RID 3M * 正电源电流 5mA * 差模电压增益AVD 200V/mV * 转换速率SR 70V/ * 单位增益带宽GB 15MHz 电路的电压放大倍数为 当LM318的正负电源选择5V,将0.5V信号放大到5V,AV应大于10。 施密特电路可以把缓慢变化的输入信号整形成矩形波。TTL六施密特反相器74LS14具有如下特点: * 输入边沿变化缓慢的信号仍能正常工作。 * 具有阀值电压温度补偿。 * 具有回差温度补偿,回差典型值为0.8V。 * 具有高抗干扰性。 * 上限触发电平VT+为1.52V,下限触发
26、电平为0.61.1V。 在施密特触发器前面加入一个电阻R和检波二极管D,作用是将信号的负半周去掉,使放大后的双极性信号变成单极性信号。满足施密特触发器的工作要求。 (二)计数部分电路 测量频率、周期、脉宽,其实质都是计数。计数部分电路图见图1-7。 74LS151是一个互补输出的8选1数据选择器,它有3个地址输入端A、B、C,八个数据输入端D0D7,一个选通端。地址输入端A、B、C的状态可以确定D0D7中的一个数据被选中,并在Z、端输出。选通端低电平有效。其真值表见表1-1。本设计只用两个数据输入端D0、D1,分别联接信号脉冲和时标脉冲,D2D7接地。根据真值表,B、C接地,当保持低电平,A0
27、为低电平,输出选择D0,A0为高电平,输出 表1-1 74LS151真值表CBAZ1010000D00001D10010D20011D30100D40101D50110D60111D7选择D1。89C51的P1.1与相接,P1.2与A相接,由单片机控制74LS151的选通及输出选择。89C51ALE端与D0相接,提供时标脉冲。同时,信号脉冲可由89C51P3.2来查询,用以完成测周的目的。 74LS393为双4位二进制异步计数器,内含两个独立的4位二进制异步计数器。每个计数器有脉冲输入端CLK,清除控制MR,和计数输出Q0Q3。MR为异步清除,当MR为高电平时,Q0Q3为低电平。当MR由高变低
28、后,进行加计数。两个计数器可以级联,构成8位计数器。级联时,第一级计数输出的最高位作为第二级计数器的输入脉冲。本设计中,芯片74LS393作为24位二进制计数器的低8位,高16位由单片机内部计数器1组成,输入为74LS393计数器的最高位,由89C51之P3.5(T1)输入。MR端与P1.0相接,由单片机控制74LS393进行清零,计数。 74LS244是一个具有三态输出的缓冲器,常用作并行输出输入口的扩展。它具有很强的负载能力。该器件有8个数据输出端,以及两个低电平有效的输出允许控制1、2,分别控制两个缓冲器。当1、2为高电平时,输出端呈高阻抗状态。本设计中,该芯片用作计数值的读入。数据输入
29、端接计数器输出端,输出端与单片机的数据口P0口相接。1、2与单片机端相接,当计数结束,单片机执行读指令MOVX A,R0,端呈低电平,数据读入单片机A中。 (三)状态灯指示电路 为了直观了解仪器所处状态如测频、测周、测脉宽、测占空比,以及数码管显示的数据单位,我们采用8位发光二极管来指示。选用74LS273芯片作锁存驱动器,见图1-7。 74LS273是带清除端的八D锁存器,内含8个锁存器,每一个锁存器有一个数据输入端D和输出Q,清除端CLR和锁存允许控制端CLK为8个锁存器共享。清除端为高电平时具有锁存功能,上升沿锁存。即当CLK端为低电平时,锁存器输出(1Q8Q)状态和输出端(1Q8Q)状
30、态相同,当CLK端由低变高时,输入端数据被锁存。将输出端与单片机P0口相接,CLK端与单片机相接,CLR端保持高电平,当单片机执行MOVX R1,A指令可将A中内容锁存到74LS273,同时二极管灯亮。A中数据与某个发光二极管点亮对应,如A中为B,则Q1端为高电平,与之相接的发光管亮。74LS273驱动能力有限,选限流电阻1K,以减小驱动电流。图1-8 “8”字形数码管 (四)显示驱动电路图1-9 MC14499引脚配置 图1-9 LED显示块是由发光二极管显示字段组成的显示器,一般分为共阴极和共阳极两种。本设计中所采用的是共阳极LED显示块。见图1-8。LED显示器有静态和动态显示两种方式。
31、静态显示是将各位的共阴极连接在一起并接地,每位的显示段(adp)分别与一个8位锁存器输出相连。由于显示器的各位可以相互独立,各位可以独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。并且由于各位分别由一个8位锁存器控制段选线,故在同一时间里,每一位显示的字符可以各不相同。这种显示方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的阴级分别由相应的I/O口线控制,实现各位的分时选通。要LED能够显示出相应的字符,就必须采用动态扫描显示方式。只要每位显示时间间隔足够短,则可造成多位同时显示的假象,达成显示的目
32、的。 本设计中,我们选用了专用的显示驱动接口芯片MC14499。MC14499芯片接收串行数据,有一个20位移位寄存器,一个锁存器,一个多路输出器。这种芯片可自动将BCD码转换成段选码,采用动态显示方式,管理驱动4位LED显示器。其引脚配置见图1-9。 各引脚说明如下: D:串行数据输入端。 * ag、Dp:七段显示输出,小数点显示。 * IIV:四位选通端。 * OCS:接上电客,使片内产生200800HZ的扫描信号。 * CLK:时钟输入端、作为串行数据接收的同步信号,标准时钟频率为250KHZ。 * :使能端,为低电平时,允许接收串行输入数据,为高电平时,片内寄存器将数据送入锁定器中锁存
33、。 MC14499每次接收20位串行输入数据,其串行输入时序如图1-10。其中16位表示4个4位BCD码,另4位表示小数点选择位。一帧数据格式如图1-11。BCD码显示字符见表1-2。图1-10 MC14499串行输入时序图图1-11 MC14499一数据格式图MC14499与89C51的接口容易实现。其数据显示及驱动部分电路图见图1-12。P3.1与MC14499的CLK相接,提供移位时钟,P3.0与串行数据输入端口相接,并以P3.3口线图1-12 数据显示及驱动部分电路图与端相接,产生使能信号。这种接口方式简单明了,而且编程容易。 显示数据时,P3.3给出低电平,P3.1给出时钟脉冲,P3
34、.0输出串行数据,一帧数据结束,P3.3恢复高电平。MC14499接收到一帧数据后,锁存,将BCD码译码转换成7段码送至码段和小数点驱动器输出。由片内振荡器产生的时钟信号经分频,提供4个位控信号,送至4条控制线(IIV),电路选用了共阴级LED显示器,4条控制线接了4个反相驱动器74HC05,驱动和选通4位LED显示器。 图1-13 开关及其它部分电路图 (五)其它电路 除上述电路外,其余电路见图1-13。这些电路在微机原理及应用中讲述过这里不在说明。第二章 简易数字频率计的软件设计第一节 简易数字频率计的操作方法 参看简易数字频率计的面板图附图1。以测频为例,说明仪器的操作方法。 1测频、测
35、周、测脉宽、测占空比开关置于空开状态。 2接好电源、接好被测信号,数字频率计处于待命状态。 3刷新时间初始自动设置为1s,若调整刷新时间,按调整刷新时间按钮,每按一次,刷新时间翻倍,即2s、4s、8s、16s,然后循环。 4若进行测频,将测频开关置于闭合状态,测频指示灯亮,测示指示灯亮,经一段时间(约1.1s10s,依被测信号频率而定)测量结束,测示指示灯灭,4位数码显示数值,与之对应的单位指示灯亮。 5显示数值时间由刷新时间决定,刷新时间到,自动进行下一次测频。 6若停止测频,则将测频开关恢复空开状态,经一段时间仪器恢复到待命状态,若按复位键,仪器立即恢复待命状态。熟悉以上操作步骤,可以帮助
36、我们分析、理解频率计的软件设计思想。一、主程序流程框图NNNNNNyyyyy开 始图2-1 主程序流程框图调整刷新时间测占空比子程序测脉宽子程序测周子程序测频子程序P1.7=0?P1.6=0?P1.5=0?P1.4=0?P1.3=0? 程序初始化第二节 主要程序流程框图二、测频子程序流程框图N采用测频方式NYY采用测周方式图2-2 测频子程序流程框图返回主程序继续测频?执行刷新时间三字节浮点数转十进制数由周期值求频率值三字节整数转三字节浮点数计数值存入内部RAM检查一个周期信号选择1MHz时标脉冲外部、内部计数器清零启动计数、记录一个周期,停止计数单位指示灯亮显示数据确定小数点位置和单位4位十进制BCD码送显示单元测试指示灯灭三字节浮点数转十进制数三字节整数转三字节浮点数计数值存入内部RAM启动计数、定时1S、停止计数选择信号脉冲输入外部、内部计数器清零信号频率1KHz?计数值存入内部RAM启动计数、定时100ms,停止计数选择信号脉冲输入外部、内部计数器清零4位数码显示“