基于中颖8位MCU的触摸按键方案
- 格式:doc
- 大小:392.00 KB
- 文档页数:6
FT8T10-触摸MCU规格书1 产品简述FT8T10 是一颗采用高速低功耗 CMOS 工艺设计开发的 8 位高性能精简指令单片机,内部有2K×16位多次擦写编程存储器(MTP,擦写次数 1000 次),128×8位的数据存储器(RAM),18 个双向 I/O 口,FT8T10是深圳市富恒兴科技有限公司的优势产品,芯片广泛应用于直播环形灯线控上,除此以外,还广泛应用于:电磁炉,抽油烟机,茶炉,等白色家电;台灯,网红灯;电子秤,蓝牙音箱,平板电脑,卫浴镜及各种数码产品。
1.1 特性⏹ CPU 特性● 高性能精简指令● 2K×16位的MTP程序存储器● 128×8位的数据存储器● 8级堆栈缓存器● 支持查表指令⏹ I/O 口● 最多18个双向I/O口● 所有端口可设置弱上拉● IOB端口可设置弱下拉● IOB口变化中断● 两路外部中断⏹ 2 个定时器/计数器● TC0/TC1:具有自动装载功能的定时/计数器⏹ 2 路PWM● PWM0:8位分辨率PWM● PWM1:8+4位分辨率PWM,带死区控制及互补输出⏹ 系统工作模式● 普通模式:高低速时钟同时工作● 低速模式:仅低速时钟工作● 休眠模式:高低速时钟都停止工作⏹ 12+3 路12 位ADC● 内嵌参考电压2V(180mV)、3V、4V、VDD● 12路外部输入● 1路内部电源电压检测VDD/4● 1路内部GND电压检测● 1路内部参考电压检测⏹ 触摸按键模块● 休眠电流小于10uA⏹ 多路中断/唤醒源● 定时器中断:TC0/TC1● IOB口变化中断● 触摸按键中断● ADC转换中断● 外部中断1.2 封装SOP-16。
MCU8位单片机应用方案之独立按键消抖原因详解简单的说,进入了电子,不管是学纯模拟,还是学单片机,DSP、ARM等处理器,或者是我们的FPGA,一般没有不用到按键的地方。
按键:人机交互控制,主要用于对系统的控制,信号的释放等。
因此在这里,MCU8位单片机应用方案的按键消抖动,也不得不讲!一、为什么要消抖动在按键被按下的短暂一瞬间,由于硬件上的抖动,往往会产生几毫秒的抖动,在这时候若采集信号,势必导致误操作,甚至系统崩溃;同样,在释放按键的那一刻,硬件上会相应的产生抖动,会产生同样的后果。
因此,在模拟或者数字电路中,我们要避免在最不稳定的时候采集信号,进行操作。
对此一般产用消抖动的原理。
一般可分为以下几种:(1)延时(2)N次低电平计数(3)低通滤波在数字电路中,一般产用(1)(2)种方法。
后文中将详细介绍。
二、各种消抖动1. 模拟电路按键消抖动对于模拟电路中,一般消抖动用的是电容消抖动或者施密特触发等电路,再次不做具体介绍。
2. 单片机中按键消抖动对于单片机中的按键消抖动,本节Bingo根据自己当年写过的单片机其中的一个代码来讲解,代码如下所示:unsigned char key_sCAN(void){if(key == 0) //检测到被按下{delay(5); //延时5ms,消抖if(key != 0)retrurn 0; //是抖动,返回退出while(!key1); // 确认被按下,等下释放delay(5); //延时5ms,消抖while(!key1); //确认被释放return 1; //返回按下信号}return 0; //没信号}针对以上代码,消抖动的顺序如下所示:(1)检测到信号(2)延时5ms,消抖动(3)继续检测信号,确认是否被按下a) 是,则开始等待释放b) 否,则返回0,退出(4)延时5ms,消抖动(5)确认,返回按下信号,退出当然在单片机中也可以循环计数来确认是否被按下。
基于中颖8位MCU的触摸按键方案前言在需要用户界面的应用方案中,传统的机电开关正在被电容式触摸感应控制所替代。
S i n o w ea l t h已经开发了一套触摸感应软件,使得任意一款8位的中颖微控制器都可以作为一个电容式触摸按键控制器使用。
通过对由一个电阻和触摸电极电容组成的R C充放电时间的控制,该触摸感应软件可以检测到人手的触摸。
由于电极电容的改变,导致的R C充放电时间的改变,能够被检测出来,然后经过滤波等,最终通过专用的I/O端口,或者I2C/S PI接口发送给主机系统。
该软件库所需的元器件B OM表,成本低廉,因为每个通道只需要两个电阻就可以实现触摸检测功能。
R C感应原理R C采样原理就是通过测量触摸电极电容的微小变化,来感知人体对电容式触摸感应器(按键、滚轮或者滑条)的触摸。
电极电容(C)通过一个固定的电阻(R)周期性地充放电。
电容值取决于以下几个参数:电极面积(A),绝缘体相对介电常数( ),空气相对湿度( ),以及两个电极之间的距离(d)。
电容值可由下列公式得出:通过计算的电压达到阀值所需要的充电时间(),来得到电容值(C)。
在触摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容,)和当人手接触或者靠近电极时,由人手带来的电容(感应电容,)。
电极电容应该尽可能的小,以保证检测到人手触摸。
因为通常人手触摸与否,带来的电容变化一般就是几个p F(通常5p F)。
利用该原理,就可以检测到手指是否触摸了电极。
图3触摸感应这就是用于检测人手触摸的触摸感应软件中感应层所采用的基本原理。
硬件实现图4显示了一个实现的实例。
由R1,R2以及电容电极( )和手指电容( )并联的电容(大约5p F)形成一个R C网络,通过对该R C网络充放电时间的测量,可以检测到人手的触摸。
所有电极共享一个“负载I/O”引脚。
电阻R1和R2尽量靠近M C U放置。
电容R1(阻值在几百欧到几兆欧之间)是主要电容,用于调节触摸检测的灵敏度。
基于RISC技术的8位微控制器设计摘要介绍基于技术的8位微控制器的设计与实现。
主要包括指令集的选取;取指单元、译码单元、执行单元的设计;取指、译码、回写三级流水线技术的实现。
该微控制器包含8级硬件堆栈、1个8位计数器、1个计数器溢出中断、2个外部中断源、8位数据输入和输出端口、16个通用寄存器、2×16位的程序存储器、512字节的数据存储器。
设计使用可综合的语言描述,Ⅱ软件仿真,器件验证实现。
关键词8路的集成度和工艺水平不断提高,将整个应用电子系统集成在一个芯片中,已成为现代电子系统设计的趋势;以往高复杂度、高成本的嵌入式系统结构能够通过低成本的单片芯片实现。
另一方面,复杂可编程逻辑器件和现场可编程门阵列集成度和速度不断提高,功能不断增强,开发人员可以使用高性能的综合开发工具和硬件描述语言在短时间内设计出复杂的电子应用系统。
目前,嵌入式系统已经在各行各业得到广泛应用。
工控、通信、汽车、航空航天以及军事等各个领域都能看到嵌入式系统的身影,而微控制器则是嵌入式系统的核心。
1精简指令集计算机11的结构特征和设计原则范文先生网收集整理精简指令集计算机具有单周期单指令,存储器到寄存器的操作,简单的寻址方式和简单的指令格式的结构特征,其设计原则为①选择使用频率高的指令,补充少量高效指令;②指令的结构简单,所有指令长度相等;③采用流水线技术,尽量使=1;④使用操作指令访问存储器;⑤采用通用寄存器结构;⑥优化编译,提高执行效率。
12性能因子和执行时间性能因子是指微控制器每条指令的平均时钟周期数程序总的执行时间为执行时间是微控制器性能的主要指标。
在影响的三个因素中,时钟频率取决于硬件技术;与指令集和的组成结构有关;而指令数由指令集和编译技术决定。
要使微控制器的性能得到提高,优化指令集、减少程序的总指令数和降低值是设计主要考虑的问题。
2微控制器的系统结构图1所示的微控制器主要由以下几个模块组成①程序存储器单元。
LED调光引擎:基于8位MCU的开关模式可调光LED驱动器解决方案Microchip Technology Inc.8位单片机产品部主任应用工程师Mark Pallones开关模式可调光LED驱动器凭借其高效性以及对LED电流的精确控制而闻名。
这类LED驱动器还可以提供调光功能,使得最终用户在营造奇幻灯光效果的同时有效降低自身功耗。
基于8位单片机(MCU)的解决方案可针对此类应用提供必要的模块,从而实现通信、定制和智能控制功能。
此外集成的独立于内核的外设,与纯模拟或ASIC实现相比可显著提升灵活性,扩展照明产品功能的同时塑造产品差异化,从而实现创新。
这类智能照明解决方案具备故障预测和维护、能量监测,色温维持以及远程通信和控制等功能,功能之丰富不胜枚举,并且将因此而倍受青睐。
虽然LED驱动器与先前的照明解决方案相比具备诸多优势,但其实现过程中也会面临许多挑战。
但您不必担心,阅读完本文章后,您将会了解如何使用8位MCU来轻松应对这些设计挑战,从而打造出高性能的开关模式LED驱动解决方案,功能之丰富令传统解决方案只能望其项背。
8位单片机可独立控制最多四个LED通道,这是大多数现成LED驱动器控制器所不具备的一项独特能力。
在图1中,LED调光引擎可由单片机中提供的外设构成。
这些引擎均具有独立的封闭通道,极少需要甚至不需要中央处理单元(CPU)干预即可控制开关模式电源转换器。
这样可以释放CPU以执行其他重要任务,比如系统中的监控功能、通信功能或新增的智能功能。
STRING图1:通过Microchip的PIC16F1779 8位单片机控制四个LED串的图示LED调光引擎在图2中,基于电流模式升压转换器的LED驱动器由LED调光引擎控制。
该引擎主要由互补输出发出发生器(COG)、数字信号调制器(DSM)、比较器、可编程斜坡发生器(PRG)、运算放大器(OPA)和脉宽调制器3(PWM3)等独立于内核的外设(CIP)组成。
基于中颖8位MCU的触摸按键方案
前言
在需要用户界面的应用方案中,传统的机电开关正在被电容式触摸感应控制所替代。
S i n o w ea l t h已经开发了一套触摸感应软件,使得任意一款8位的中颖微控制器都可以作为一个电容式触摸按键控制器使用。
通过对由一个电阻和触摸电极电容组成的R C充放电时间的控制,该触摸感应软件可以检测到人手的触摸。
由于电极电容的改变,导致的R C充放电时间的改变,能够被检测出来,然后经过滤波等,最终通过专用的I/O端口,或者I2C/S PI接口发送给主机系统。
该软件库所需的元器件B OM表,成本低廉,因为每个通道只需要两个电阻就可以实现触摸检测功能。
R C感应原理
R C采样原理就是通过测量触摸电极电容的微小变化,来感知人体对电容式触摸感应器(按键、滚轮或者滑条)的触摸。
电极电容(C)通过一个固定的电阻(R)周期性地充放电。
电容值取决于以下几个参数:电极面积(A),绝缘体相对介电常数( ),空气相对湿度( ),以及两个电极之间的距离(d)。
电容值可由下列公式得出:
通过计算的电压达到阀值所需要的充电时间(),来得到电容值(C)。
在触摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容,)和当人手接触或者靠近电极时,由人手带来的电容(感应电容,)。
电极电容应该尽可能的小,以保证检测到人手触摸。
因为通常人手触摸与否,带来的电容变化一般就是几个p F(通常5p F)。
利用该原理,就可以检测到手指是否触摸了电极。
图3触摸感应
这就是用于检测人手触摸的触摸感应软件中感应层所采用的基本原理。
硬件实现
图4显示了一个实现的实例。
由R1,R2以及电容电极( )和手指电容( )并联的电容(大约5p F)形成一个R C网络,通过对该R C网络充放电时间的测量,可以检测到人手的触摸。
所有电极共享一个“负载I/O”引脚。
电阻R1和R2尽量靠近M C U放置。
电容R1(阻值在几百欧到几兆欧之间)是主要电容,用于调节触摸检测的灵敏度。
电容R2(10KΩ)是可选的,用于减少对噪声影响。
图4电容触摸感应实现实例
3软件实现
本章描述了触摸感应R C原理的实现。
3.1充电时间测量原理
为了保证健壮的电容触摸感应的应用,充电时间的测量需要足够的精确。
采用一个简单的定时器(无需IC功能)和一系列简单的软件操作,即定时地检查感应I/O端口上的电压是否达到阀值。
这样的话,时间测量的精确度就取决于执行一次完整软件查询需要的C PU周期数。
这种测量方法会由于多次测量带来一些抖动,但是由于没有硬件限制,这种方法适用于需要很多电
极的场合。
基本测量
使用普通定时器进行充电时间的测量。
对电容充电开始之前,定时器的计数器数值被记录下来。
当采样I/O端口上的电压达到某个阀值()时,再次记录定时器计数器的值。
二者之差就是充电或者放电的时间。
图5定时器计数器值
过采样
过采样的目的是以CP U时钟的精度,对输入电压达到高电平和低电平(和)的时间测量。
为了跨越所有的取值范围,每次测量都比上一次测量延迟一个C PU时钟周期的时间。
为了跨越所有的取值范围,测量的次数是和M C U核相关的。
图6说明了这个概念的应用情况。
图6输入电压测量
输入电压测量的原理
为了提高在电压和温度变动情况下的稳定性,对电极会进行连续两次的测量:第一次测量对电容的充电时间,直到输入电压升至。
第二次测量电容的放电时间,直到输入电压降至。
下图以及以下的表格详细说明了对感应电极(感应I/O)和负载I/O引脚上的操作流程。
图7电容充放电时间测量
表2电容充放电测量步骤
步骤描述
1 1. 负载I/O引脚设置成输出模式,输出V D D
2. 感应I/O引脚设置成输出模式,输出V D D
3. 保存定时器计数器的初始值(vi h_st a rt)
2感应I/O设置成输入高阻模式
于是电极电容开始充电
3当感应I/O引脚上的电压达到:
1. 保存定时器计数器的值(vi h_st op),并由此计算达到高电平的时间(vi h_st op–v i h_st a rt),并保存
2. 感应I/O引脚设置成输出模式,输出V D D
3. 负载I/O引脚设置成输出模式,输出到地
4. 保存定时器计数器的初值(vi l_st a rt)
4感应I/O引脚设置成输入高阻模式于是电极电容开始放电
5当感应I/O引脚上的电压降至:
1. 保存定时器计数器的值(vi l_st op),并由此计算降到低电平的时间(vi l_st op– vi l_st a rt),并保存
2. 将两次测量值“vi h_m ea s”和“vi l_m ea s”相加并保存
3. 重复步骤1的操作
触摸的效果
电极的电容值()取决于以下几个主要因素:电极的形状、大小,触摸感应控制器到电极之间的布线(尤其是地耦合),以及介电面板的材料和厚度。
因此,R C充放电时间直接和有关。
图8说明了这种“触摸的效果”。
时间<t1’>(即达到了电平的时刻)比<t1>长;同样对于降至电平的时间<t2’>也比<t2>长。
图8触摸效果实例
多次测量以及高频噪声的去除
为了提高测量的精确度,并去除高频噪声,有必要对和进行多次的测量,然后再决定是否有按键被有效“触摸”。
图9测量的种类
注意:下图说明了去除噪声的实例。
如果测量次数(N)设置为4,那么对一个电极的完整测量将包括4次正确的“连续组测量”(B G s)。
这些实例展示了不同噪声影响下的测量。
绿色线条表示正确的/测量;而红色线条表示不正确的/测量。
图10显示了没有噪声的影响,所有测量都有效的情况。
这个例子中,每个连续组测量中的测量都有效,使得一个完整的测量很快就可以完成。
图10实例1
图11显示了有一些噪声使得某些测量无效的情况(即r1和r2)。
在这个例子中,连续组测量BG3重复了好几次,直到其中的所有测量都有效,该次组测量才算通过。
这样就需要较多的时间来完成一次完整的测量。
图11实例2。