超声波液位计研发的探讨 二十八
PCA 包括一个专用的16 位计数器/定时器时间基准和5 个可编程的捕捉/比较模块。每个捕捉/比较模块都有6 种工作方式:边沿触发捕捉、软件定时器、高速输出、8 位脉冲宽度调制器、频率输出、16 位脉冲宽度调制器。时间基准的时钟可以是下面的六个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8。PCA 捕捉/比较模块的I/O 和外部时钟输入可以通过数字交叉开关连到MCU 的端口I/O 引脚。
综上所述,利用C8051F020 片内提供的功能强大、种类繁多的模拟与数字功能部件,可以省去许多外围硬件电路,极大的简化了系统的硬件设计,节省了硬件成本,有利于仪器的集成化,这便是选择它的主要原因。
§2-6 键盘及显示电路
本课题依据实际需要,设计了包含七个按键的键盘电路和四个LED 数码管组成的显示电路,以实现人机交互的功能。用户通过键盘可以对超声波液位计进行一些参数的预设置、调整以及相关功能的控制,例如液位计的开启和关断、数据的显示、仪表的各种参数校正等;显示电路则可以提供仪表的许多实时信息等。键盘有编码键和非编码键两种,本文采用非编码键盘设计方式。键盘电路如图2.24 所示。
多数键盘的按键均采用机械弹性开关。由于机械触点的弹性作用,当键被按下和放开时,可能会出现电平状态反复变化,称作键盘抖动,若不作处理会引起按键盘命令错误,所以要进行去抖动处理,以读取稳定的键盘状态为准。通常有两种方法去抖:一是用RC 滤波电路,合理选择R 和C 即可取得较好的果。因此,当按键的个数较多时,不仅增加了电路的成本,而且会降低系统的可靠性。因此,通常选用软件消抖的办法。键盘机械抖动的时间约在10ms 一40ms 之间,用软件延时的方法等待抖动自动消失,
然后再确认该键的状态是否改变,实质上它是以占用CPU 的时间为代价来实现的。本课题采用的是第二种软件去抖方法。
本系统设计了7 个按键,在实际的按键操作中,若同时按下两个以上的按键,本系统则认为这几个按键的操作均无效。若先后按下两个以上的按键,则只发送最先按下键的码值。当有键按下的时候,中断服务子程序中进行扫描并读入键码,判断是哪一个键被按下,然后执行相应的操作。软件上,采用中断查询的方式,进行键盘处理程序的设计。
超声波液位计