快捷搜索:

C8051F020单片机对监控示波器面板的一键多义按键

设计采纳高机能单片机C8051F020为节制芯片,监控示波器面板上40个按键、3个编码开关及4个电位器的状态。分手先容了键盘、编码开关和电位器的事情道理,以及其与单片机连接的硬件电路及软件编程的实现。按键部分采纳一键多义的键盘法度榜样设计措施,给出了键码匹配子法度榜样流程图。

监控法度榜样认真系统中整个硬件和软件资本的分配、调整事情,它供给用户接口,应用户得到友好的事情情况,是系统设计中一个紧张组成部分。

1C8051F020单片机概述

伴跟着电子技巧快速的成长,越来越多的人加入电子开拓的大年夜军。在进修电子技巧和研发项目的历程中,避免不了要应用一些仪器,例如万用表、示波器等等,然而对付一些非专业的喜欢者,拥有一台数字示波器是对照“奢侈”的。本设计C8051F020单片机,因其具有资源低、制作简单、丈量精度高等上风,恰好满意了这一部分人的需求。

C8051F020单片机是高度集成的片上系统。在芯片内集成了2个多通道ADC子系统(每个子系统包括1个可编程增益放大年夜器和1个模拟多路选择器)、2个电压输出DAC、2个电压对照器、电压基准、SMBus/I2C总线接口、UART、SPI总线接口、5个通用的16位准时器、1个具有5个捕捉/对照模块的可编程计数器/准时器阵列(PCA)、内部振荡器、8个8位通用数字I/0端口和64KBFLASH法度榜样存储器,以及8051兼容的高速微节制器内核。

C8051F020单片机是所有模拟和数字外设均可由用户固件使能/禁止和设置设置设备摆设摆设。Flash存储器还具有在系统从新编程能力,可用于非易掉性数据存储,并容许现场更新8051固件。片内JTAG调试电路容许应用安装在终极利用系统上的产品MCU进行非侵入式(不占用片内资本)、全速、在系统调试。该调试系统支持察看和改动存储器和寄存器,支持断点、察看点、单步及运行和停机敕令。在应用JTAG调试时,所有的模拟和数字外设都可全功能运行。

Cygnal出的一种混杂旌旗灯号系统级单片机。片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。此中的C8051F020单片机含有64kB片内Flash法度榜样存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个对照器、5个16位通用准时器、5个捕捉/对照模块的可编程计数/准时器阵列、看门狗准时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其事情电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与曩昔的51系列单片机比拟,C8051F020增加了许多功能,同时其靠得住性和速率也有了很大年夜前进。

2一键多义键盘事情道理

一台完善的智能仪表功能每每很多,设定的量程、参数也很多。假如照样用一键一个功能,势需要有一个很大年夜的键盘,面板响应扩大年夜,不美不雅,而且资源增添。是以在这类仪表中,键盘设计成一键多义,一个键有多种功能。

在一键多义的环境下,一个敕令不是由一次按键组成,而是由一个按键序列组成。也便是说,对一个按键含义的解释,不仅取决于本次按键,还取决于曩昔按了些什么键。是以,对付一键多义的监控法度榜样,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法敕令。若已构成合法敕令,则履行敕令,否则等待新按键输入。一键多义键盘治理法度榜样,主要办理键盘按键序列的识别和若何根据键盘的按键序列去找响应的操作法度榜样这两个问题。

上述问题可用“一图三表”的措施来办理。即,建立一张键图,寄托阐发法度榜样状态表,阐发法度榜样进口表和动作例行子法度榜样表来完成。此中阐发法度榜样状态表统共分为4栏,分手为现状态PSTi、键码、下一状态、动作例行子法度榜样编号。

3编码开关事情道理

编码开关有3个引脚和5个引脚的,此中2个引脚是按下功能,别的3个引脚节制编码开关的左旋和右旋功能,与引脚1、2相连的是两个是非不一的金属静片,与引脚3相连的是一周有12或24个齿的金属动片。当脉冲电位器扭转时可呈现4种状态:引脚3与引脚1相连,引脚3与引脚2及引脚1全相连,引脚3与引脚2相连,引脚3与引脚2及引脚1全断开。

在实际应用中,一样平常将引脚3接地作为数据输入端。而引脚1、2作为数据输出端与单片机I/0口相连。本设计顶用到3个编码开关,此中一个将引脚1与单片机的P4.0相连,引脚2与单片机的P4.1相连。当脉冲电位器左旋或右旋时,P4.0和P4.1就会周期性地孕育发生图1所示的波形。假如是12点的脉冲电位器扭转一圈就会孕育发生12组这样的波形,24点的脉冲电位器就会孕育发生24组这样的波形。一组波形(或一个周期)包孕了4个事情状态。是以只要检测出P4.O和P4.1的波形,就能识别脉冲电位器是否扭转,是左旋照样右旋。

4C8051F020单片机ADC0

C8051F020的ADC0子系统包括:一个9通道的可设置设置设备摆设摆设模拟多路开关(AMUX0)、一个可编程增益放大年夜器(PGA0)和一个100ksps的12位分辨率的逐次贴近亲近寄存器型ADC。ADC中集成了跟踪维持电路和可编程窗口检测器。AMUX0、PGA0、数据转换要领及窗口检测器都可用软件经由过程特殊功能寄存器来设置设置设备摆设摆设。只有当ADC0节制寄存器(ADCOCN)中的ADOEN位被置1时,ADC子系统才被容许事情。当ADOEN位为0时,ADC子系统处于低功耗关断要领。

ADC0端口的每一对均可用编程设置成为单端输入或差分输入。差分输入时的端口配对为(0,1)、(2,3)、(4,5)、(6,7),此设置由通道选择寄存器AMUXOSL的低4位和通道设置设置设备摆设摆设寄存器AMUXOCF的低4位确定。在AMXOCF中,位3~O各对应2个引脚通道。位值=0,表示是自力的单端输入(复位值均为单端输入);位值=1,表示是差分输入对。

C8051F系列单片机中ADC的速度都是可编程设置的,但起码要用16个系统时钟。一样平常在转换之前还自动加上3个系统时钟的跟踪/维持捕获光阴(》1.5μs)。设置F020内ADC速度的措施是经由过程设置设置设备摆设摆设寄存器ADCOCF的位7~3来进行的,其复位值为11111(位7~3=SYSCLK/CLK(SAR)-1)。

一样平常在启动ADC之前都要处于跟踪要领,节制寄存器ADCOCN的位6假如为“O”,则不停处于跟踪要领(此时启动4种启动要领都可比跟踪启动快3个系统时钟);如为“1”,则有4种跟踪启动要领可选择,即对ADCOCN中的位3~2赋值:00为向ADBUSY写1时跟踪(软件敕令),01为准时器3溢出跟踪,1O为CNVSTR上升沿跟踪(外部旌旗灯号),11为准时器2溢出跟踪。

5系统硬件电路设计

键盘部分采纳6×6矩阵键盘,P7.O~P7.5为行线,P3.0~P3.5为列线。P3.0与P7.O交叉处为一键,P7口接10kΩ的上拉电阻至3.3V。3个编码开关的1、2脚直接与单片机的I/0引脚相连,这里选择P4.O~P4.5,3脚接地,4、5脚用作按键应用。仅以接P4.O和P4.1引脚的编码开关为例,电路图如图2所示。模数转换部分应用内部电压基准,故将VREF引脚与VREF0引脚相连即可。采纳电位器调节模拟量的输入,单端输入,电位器阻值为10kΩ,基准电压范例值为2.43V,电源电压采纳3.3V供电。为使基准电压达到最大年夜,必要一个阻值约为3.58kΩ的电阻与电位器串联接到模拟端口,硬件电路如图3所示,电位器的4、5脚也用作按键应用。

6系统软件设计

6.1一键多义键盘法度榜样设计

在键盘阐发中,运用一个事情状态寄存器保存键盘的现状态,当键盘扫描到一个按键时,根据现状态的值从阐发法度榜样进口表中找到阐发法度榜样状态表地址,从该地址处进入阐发法度榜样状态表,找到相匹配的值,把下一状态送到现状态单元里,掏出动作号,根据动作号谋略出动作子法度榜样进口地址,再履行响应子法度榜样。图4为键码匹配子法度榜样的流程图。

6.2编码开关法度榜样设计

由图1可以看出,引脚1和引脚2有同时为高电平的环境,之后假如引脚2比引脚1先到达高电平则表示左旋,假如引脚1比引脚2先到达高电平则表示右旋。编程的时刻依据这个特征来判断引脚1、引脚2的状态即可。以1引脚接P4.0,2引脚接P4.1为例:

6.3模数转换软件设计

经由过程设置ADCO节制寄存器ADCOCN位3~2(ADOCM1~O)A/D转换启动要领选择位,来启动A/D转换:位3~2为00时,向ADOBUSY(ADCOCN位4)写1启动A/D转换;位3~2为01时,准时器3溢出启动A/D转换;位3~2为10时,CNVSTR上升沿启动A/D转换;位3~2为11时,准时器2溢出启动A/D转换。本设计采纳第一种启动要领。

因为单片机的事情量并不大年夜,以是软件设计时采纳查询的要领。单片机赓续地查询键盘、编码开关以及电位器的状态,假如有变更时,单片机将动作信息通报给ARM主MCU,等待主MCU的处置惩罚。因为单片机模数转换的速率异常快,是以在法度榜样中加延时,以便察看到模数转换的变更量。别的,硬件设计时没有斟酌滤波,故用软件实现滤波。一样平常的滤波的措施有限幅滤波法、中位置滤波法、算术匀称滤波法等,现在提出一种新的滤波措施。因为应用12位A/D,但只要8位就可以达到所要的精度,以是可以采纳去掉落低4位的措施来实现滤波的目的。因为篇幅有限,下面只给出法度榜样的一部分,以AIN0为例:

结语

本文先容的一键多义的按键治理法度榜样,对多按键的智能仪表可以通用。编码开关的编程措施简单易懂。在A/D转换部分,提出的去掉落低4位的软件滤波措施靠得住可行,对精度要求不高的场合异常适用。这3部分构成了一个完备的监控法度榜样,当单片机监控到某一部分有变更时,就将其动作信息通报给ARM主CPU,主CPU进行响应的处置惩罚。

您可能还会对下面的文章感兴趣: