第3章 系统硬件设计
图3-15 显示上拉电路图
3.8 电路PCB板
3.9 完成了整体电路图的设计,就要进行电路的PCB的设计,设计后得到的电路PCB板图如图3-16所示。
图3-16 电路PCB板
18
第4章 系统软件设计
第4章 系统软件设计
4.1 测频软件实现原理
测频软件的实现是基于电路系统来进行设计的。本次设计采用的是脉冲定时测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。
软件设计的基本思路是:1、把要用到的内部存储器的地址运用伪指令标号,方便后面设计中运用;2、跳转到中断程序进行初步数据采集;3、开始主程序,首先判断是否有待测信号,无信号就等待信号,有信号则进行下一步;4、判断是否定时到1S,若没有到达1S定时,则执行下面的5和6步得操作,若达到1S,则执行第6步以后的操作;5、判断是否第一次,若是,则判断当前的档位是否设置合适,若合适则直接跳转到返回主程序,若不合适,则进入第6步;6、调整档位,重新进入中断开始初步计数;7、判断档位是否合适,合适则把测得的数据转换为十进制数据,根据当前的档位相应的调整数位,并取表找到相应的显示数据,然后执行第10步操作;8、若上一步中判断出档位不合适,则根据频率进行相应的档位调整。9、恢复初值,重新开始计数;10、返回主程序。
4.2 软件流程图
根据上一节所叙述的电路设计的基本思路,我们可画出系统流程图如图4-1所示。
19
第4章 系统软件设计
返回 是 数码转换 返回主程序 是 判断是否有信号 是 判断是定时到1s 是否第一次 否 是 开始 否 否 档位是否合适适 否 否 是 判断是否适合显示 调整档位,重新设置计时 次数加1
图4-1 系统流程图
4.3 几个重要的分程序
本次系统由有几个关键的程序,分别是系统主控程序、数码转化程序和数据显示程序。下面分别介绍这几个程序。
1、控制程序:本文设计的是基于单片机的数字频率计的设计,用单片机来做为数字频率计的控制部分。因此,单片机的控制程序在本次设计中显得非常重要。经过设计,我们得到了如下的控制程序。
;********************************************************************** ;------------------------------- MAIN -------------------------------------------------------- ;**********************************************************************
20
第4章 系统软件设计
MAIN: NOP
CALL DISPLAY0;LED动态显示刷新 CALL DELAY100
JNB B_T1IF,MAIN;每50ms处理一次。
;====================================== CLR B_T1IF
MOV A,TIMES_50MS CJNE A,#20,NO_1S
JMP YES_1S; 满20次即为一秒钟 ;===================================== NO_1S:
;当TIMES_50MS为1时,判断当前所选档位是否过高或者过低
;若计数器BUF大于100,则说明满1秒时必然大于2000,则提前调高频率衰减档位,
;并清零各计数值,重新在新档位测量
MOV A,COUNTER_BUF_H
JNZ NO_1S_1;计数器高位不为0,说明超100 MOV A,COUNTER_BUF_L CJNE A,#100,NO_1S_0
MOV A,TIMES_50MS
CJNE A,#1,NO_1S_END ;TIMES_50MS不为1,返回
NO_1S_0:JC NO_1S_LOW;计数器BUF小于100,继续跳转到NO_1S_LOW判断是否需要调低档位
21
第4章 系统软件设计
NO_1S_1: 一档
CJNE A,#3,NO_1S_2 JMP NO_1S_END
MOV A,FREQ_LOSS;超量程,判断当前频率衰减档位,若小于3则加
NO_1S_2:JC NO_1S_3
NO_1S_3:
CJNE A,#1,NO_1S_4 SETB P153_B;FREQ_LOSS=1 CLR P153_A JMP NO_1S_20
INC FREQ_LOSS;频率衰减档位加1 MOV A,FREQ_LOSS
MOV A,#3
MOV FREQ_LOSS,A;档位大于3,则修正为3
NO_1S_4:CJNE A,#2,NO_1S_5
CLR P153_B;FREQ_LOSS=2 SETB P153_A JMP NO_1S_20
NO_1S_5:
CLR P153_B;FREQ_LOSS=3 CLR P153_A
22