1、安徽工程大学毕业设计(论文)基于单片机的电容触摸按键设计摘 要随着微电子技术的应用,市场上使用的传统机械式按键已经满足不了一些特殊场合的要求。电容触摸感应式技术是按键史上的又一个里程碑,它具有完全不怕磨损、防水保护、不受温度、湿度影响、造价低廉等优点,而且还有丰富的资源供选择。目前已经被广泛的应用于手机、VCD、DVD、电磁炉,油烟机,热水器、洗衣机,微波炉、咖啡机、MP3、MP4、DPF数码相框、CAR DVD等产品。本文在了解和分析了电容感应原理的基础之上,设计出了基于AT89S51的电容式触摸按键。由LM324芯片搭建一个张弛振荡器回路,根据电容感应的原理,当有手指触摸按键时感应电容充电
2、时间会变长,张弛振荡器的频率就会发生变化,通过单片机检测张弛振荡器输出口的频率,来判断是否有触摸动作,并通过LED灯进行指示。通过此次设计了解到,按键和周边PCB布局对感应电容和检测电路都有直接的影响,在设计中,通过硬件和软件来解决这问题。整个系统结构简单,使用方便,灵敏度高,价格低和功耗低等特点。此设计所完成的电容触摸按键很大程度上满足了特殊场合的应用需求,具有一定的开发价值。关键词:电容感应;触摸按键;AT89S51Design Of CapSense Touch Button Based on MicrocontrollerAbstractWith the applicating of
3、microelectronics technology,traditional mechanical buttons used in the market have failed to meet the requirements of special occasions.Capacitive touch-sensitive technology is another milestone in the history of button development, it has many advantages including having nothing to fear from wear a
4、nd waterproof protection, independence from the temperature and humidity, low cost and so on.It alse has a wealth of resources to select.Now the technology has been widely used in mobile phones, VCD, DVD, electric stove, range hood, water heaters,washing machines, microwave ovens, coffee machines, M
5、P3, MP4, DPF , CAR DVD, etc.Based on the understanding and analysis of the capactive touch-sensitive theory,this note has given the design of capacitive touch-sensitive buttons based on AT89S51. According to the principle of capacitive sensing,it has fulfilled the functions of touch-buttons by detec
6、ting the change of capsense in MCU,instructed by LED.We can learned from the design that the distribution of buttons and PCB have a direct impact on capsense and detecting circuit,solving it by hardware and software in the design.The system is simply structured,easy to use.It also has other features
7、 including high sensitivity,low price and low power consumption.The capacitive touch-sensitive buttons done by this design has largely to meet the application requirements of special occasions and it also has much value for development. Key words:Capsence; Touch Button;AT89S51目 录引 言1第1章 绪论21.1 课题研究背
8、景21.2 课题研究目的21.3 基本设计思路3第2章 电容触摸理论基础与原理分析52.1 电容感应检测基本原理和分析5第3章 系统硬件设计63.1 总体设计方案63.2 感应电容充放电回路63.3 AT89S51的外围电路设计93.4 指示电路的设计143.5 电容感应触摸系统外部硬件的设计14第4章 软件设计174.1 软件总流程图17结论与展望19致 谢20参考文献21附录A 原理图22附录B 一篇引用的外文文献及译文23附录C 参考文献及摘要34附录D 软件程序清单36插图清单图2-1 感应电容5图3-1 系统总设计框图6图3-2 使用MCU片上比较器的张弛振荡器原理图7图3-3 比较
9、器输出高电平且给感应电容充电7图3-4 比较器输出低电平且感应电容放电7图3-5 张弛振荡器的输出频率8图3-6 LM324芯片俯视图8图3-7 LM324张弛振荡器9图3-8 AT89S51引脚图12图3-9 内部振荡电路连接图12图3-10 外部振荡电路连接图13图3-11 上电复位电路连接图13图3-12 手动上电复位电路连接图14图3-13 按键形状设计15图3-14 感应电容分布16图3-15 焊盘与PCB设计16图4-1 软件总流程图17- 37 -引 言触摸式按键其实已经有很多年的发展,但是由于成本及稳定性方面的原因,直至近几年才开始在电子设备上大量流行,特别是在一些家电设备中,
10、触摸按键的优势更加明显。由于不需要机构结构,因此在浴室及厨房设备中显示出传统按键几乎无法比拟的优势。目前被广泛采用的触摸按键主要有两关键技术,分别为电阻式与电容式。电阻式的触摸按键原理非常类似于触摸屏技术,需要由多块导电薄膜上面按照按键的位置印制成的,因此这种按键需要在设备表面贴一张触摸薄膜。电阻式触摸屏一直由于其低廉的价格而深受厂商的喜爱,但是由于导电薄膜的耐用性较低,并且也会降低透光性,因此已经被越来越多的厂家所抛弃。电容触摸感应式技术是按键史上的又一个里程碑,传统的机械按键具有易磨损、安装复杂、受温度湿度影响变化较大等缺点,而压电薄磨式触摸按键造价高昂,而且 容易损坏,受温度湿度影响变化
11、更大等缺点。电容触摸感应式技术完全弥补了以上两种按键的缺点,具有完全不怕磨损、防水保护、不受温度、湿度影响、造价低廉 等优点,而且还有丰富的资源供您选择。新一代电容触摸感应式技术目前已经被广泛的应用于手机、VCD、DVD、电磁炉,油烟机,热水器、洗衣机,微波炉、咖啡机、MP3、MP4、DPF数码相 框、CAR DVD等产品,由于没有传统的按键,面板可以采用一个整块的面板,玻璃、有机玻璃、塑料都可以,方便清洁,美观大方! 触摸技术在监控产品市场也有很好的发展前景,因监控产品的使用环境不是很好,采用触摸按键可有效做到防尘防水,降低系统故障率。第1章 绪论按键是人们生活中随处可见然而又必不可少的东西
12、。一般来说,按键都是机械型的。然而,随着产品和应用的不断发展,对按键也开始有了新的要求,例如,在工业环境中要求按键能防尘等,在消费类产品中用户要求按键超薄和美观时尚等等。另一方面,随着检测技术的不断发展,对这些新的需求有了实现的可能。在这种背景下,触摸按键等按键检测技术,正在成为当前大家设计和实现的热点之一。1.1 课题研究背景 触摸技术是近年研究的热点之一。在前几年大屏幕触摸技术开始被应用于一些公共场所的检索设备,在近年也开始流行在消费类产品如手机屏幕上采用触摸式屏幕。在这些系统中,均采用点阵式的结构来感应手指的存在,所以需要复杂的信号发送和接收设备来确定手指的具体位置,一般需要采用价格较昂
13、贵的专用芯片来完成,并需要配以较强功能的CPU来做计算处理和判定。 随着消费需求的发展,现在触摸技术开始从大屏幕向触点型按键发展,从少量的大系统向大量的消费类应用发展。由于触摸按键方案实际上并不需要真正的按键材质,只需要一个薄薄的铜箔层,所以它提供了一种革命性的进步,即它使按键厚度几乎为零!由于没有了按键的厚度和重量,易于实现超轻超薄的设计。超轻超薄的特性在今天的消费类产品设计和应用中是非常受用户青睐的,是目前消费类产品发展的一个方向。目前已经有的触摸按键的检测技术,包括:电阻性薄膜测量,场效应检测,和电容感应式检测。 但是,电阻性薄膜测量和场效应检测这两种触摸检测技术都有一定的缺陷性,譬如高
14、成本,高损耗率等,不便于在消费类产品上大规模应用。而电容感应式的触摸按键检测技术,是一种新的研究方向,用电容触摸感应技术设计的按键不仅成本低而且也易于实现和应用在一些特殊的场合,所以被广泛的发展和研究。1.2 课题研究目的1.2.1 触摸按键检测技术的发展现状 按键检测技术目前有电阻性薄膜测量,场效应检测和采用ASIC芯片来实现电容感应式触摸按键等方式。但是总体上这些技术都有一定的缺陷性,目前都还没有在消费类产品领域成为主流的得到广泛应用的技术。1, 电阻性薄膜测量实现触摸按键 方案是采用两个电阻性薄板,手指触按动作使两个薄板间产生电压变化,通过检测这种电压变化并加以处理判断,来确定按键动作。
15、这种方案的缺点是电阻性薄膜不仅价格昂贵,而且容易磨损,使用寿命不长。显然这种方案的成本和使用寿命都不适于被大批量的应用于要求低成本和耐用的消费类产品。2,采用场效应方式实现触摸按键这种方式则是采用专用器件来发生电场,当存在导电元件时会形成电场的变化,通过检测这种电场的变化和计算,来判定是否有手指触按动作及其位置。目前,场效应实现方案的造价非常昂贵,因为它需要一个系统控制器,而且每个开关都将增设一个IC来作感应器。由于每个IC感应器都必须与附近的感应器隔离开,因此,场效应设计欠缺灵活性,存在一定的局限性,实际上不可能实现具有任何有效分辨率指标的滑块和触摸板。场效应实现方案在制造过程中常常需要进行
16、成本高昂的开关校准。所以,这种方式的缺点是高成本,和缺乏设计的灵活性,而且设计的精确度也不易把握。3,采用ASIC方式实现电容感应式触摸按键(1),电容感应式触摸按键系统的基本原理电容感应式触摸按键检测是相对最新的一种触摸按键检测技术。简单来说,两个相邻的金属导体间会产生电容。在按键位置,采用PCB上的焊盘做成按键,焊盘和周边接地层之间产生感应电容,就形成一个电容性的开关。当导电元件接入(譬如手指触摸)会使按键上的电容增大。对感应电容持续充放电,电容增大,则对它充电的周期变大。通过检测充电周期的变化,来检测到电容的变化,从而判断是否有导电元件的接入,即是否有手指触摸。(2),使用ASIC芯片实
17、现电容感应式触摸按键的局限性如果采用固化的ASIC芯片实现电容感应式触摸按键,则每个按键都需要对应的端口且需要独立处理,所以能处理的按键有限而且不能轻易扩展接口,并且需要外置的控制元件来做参数调整。总体上用户不能对方案再做配置和改动,设计不太灵活也不易扩展。如果用户需要改动设计,就不得不为模块供应商所做的重新设计模块支付费用,增加成本而且设计周期过长。即使当用户在产品升级时,需要简单的扩展更多的按键接口也很不方便。1.2.2 触摸按键检测技术的研发要求和难点触摸按键检测系统首先要求检测的准确性,即在有手指触摸时能准确判断出来,没有或尽量少的漏判或误判,并且具有一定的抗干扰能力,不会因为噪声而误
18、判。其次,如果要大规模的推广应用,譬如应用到消费类电子产品,就必须要求该系统的实现是低成本的。另外消费类产品由于更新换代较快,往往要求产品的设计周期短且产品容易升级,所以也要求系统的设计和实现必需灵活和易实现。现在,由于电子元器件的选择很多,既有专用器件也有很多高处理性能的CPU和DSP等,所以目前实现系统的准确性已经不再是一个难点。出于广泛推广应用的需要,目前触摸按键系统集中的难点在于设计和实现的低成本性,易实现性及易扩展性。1.3 基本设计思路在本设计中,采用AT89S51作为主控芯片,采用普通焊盘作为触摸按键的载体,设计了触摸按键和LED指示灯,当触摸按键实现按键功能时, LED指示灯会
19、变亮,以此表示触摸按键按下。由焊盘做成的触摸按键对地产生感应电容,由LM324芯片组成的张弛振荡器回路对感应电容持续进行充放电,当有手指触摸时,焊盘上的对地的感应电容变大,刚对该电容的充放电时间变长。将LM324输出端接入AT89S51的计数器端口,由单片机通过设计好的软件程序,在20ms内由计数器检测比较器输出的周期个数,然后把这个数值和预先设计好的数值进行比较,如果周期个数小于设置值则判定为有触摸动作,点亮LED灯表示有按键动作。如果周期个数大于设置值则判定为无触摸动作,LED灯保持熄灭状态,程序返回到检测电路,循环进行检测和判定动作。第2章 电容触摸理论基础与原理分析2.1 电容感应检测
20、基本原理和分析 电容感应检测的基本原理是:两个相邻的金属导体间会产生电容,在按键位置,采用PCB上的铜箔做成按键形状,就形成一个电容性的开关。当导电元件接入(譬如手指触摸)会使电容性开关上的电容发生改变,会比平常时候的电容值要大。通过对该电容持续充放电和检测充电电压的改变,即能检测到电容的变化,从而判断是否有导电元件的接入,即是否有手指触摸。 图2-1 感应电容 电容感应式按键的基本形式是一对相邻的平行板,如图2-1所示。如果将导体置于靠近两个平行板的位置,那么就会在导体和一个电极之间产生电容,与此类似,导体和另一个电极之间也会存在电容。电容按键组的最常见形式为:一组电容中每个电容的一侧都接地
21、。这样,工作电容只有一侧可存取;按键是接地的可变电容。导体的存在加大了按键接地的电容,决定按键是否激活取决于电容测量是否发生了改变。一般来说,在没有导体触摸的正常情况下,感应电容大概是1030pF;在有手指触摸的情况下,感应电容增大,典型值是20pF以上,具体的数据和按键计及应用环境相关。与上述两种电阻性薄膜测量和场效应触摸感测技术相比,电容性触摸感测采用普通的PCB上的铜箔即可做成按键,不需要专用焊盘材料,焊盘的成本极低且设计很容易实现。由于不需要象电阻性薄膜测量方式构建一个电压场,也不需要象场效应检测方式构建交流电场,所以它的检测判定电路也要方便很多,不需要复杂的计算,也就不需要成本较高的
22、CPU或专用处理芯片。除了可以降低处理芯片的成本,也能提高设计的灵活性。第3章 系统硬件设计3.1 总体设计方案根据设计要求和要实现的功能,在设计系统时可分为以下几个部分:单片机基本系统,指示电路,张弛振荡器电路和电源电路。如下图3-1所示。单片机电 源复 位 下载线张弛振荡器LED指示晶振图3-1 系统总设计框图单片机采用51系列单片机AT89S51为核心部件,实现电容触摸按键的基本功能。考虑到软件实现电容触摸按键的基本功能时所需要的软件量并不是很大,不需要太大的程序存储空间,因此不需要在片外再扩展程序存储器。张弛振荡器电路采用LM324芯片搭建,张弛振荡器回路的感应电容实际上就是一个PCB
23、焊盘,也就是电容触摸按键。程序下载采用ISP在线可编程;LED采用普通的发光二极管进行指示。3.2 感应电容充放电回路 当使用一个张弛振荡器作一个触摸感应开关的线路时,焊盘本身是一个充放电的感应电容。感应电容是使用PCB板的焊盘做成的,焊盘的一面接地与地形成感应电容,另一面接入张弛振荡器电路中,通过张弛振荡器中的比较器输出端口提供的电压持续对感应电容进行充放电。3.2.1 张弛振荡器电路 如下图3-2所示,用一个标准的比较器和扩展的电阻来设计一个比较好的张弛振荡器。比较器负极的输入(CP0-)是开关电容两端的电压,正极的输入(CP0+)取决于开关状态的高和低事件阈值之间转换。当正极的输入大于负
24、极的输入时,比较器的输出是logic 1,反之输出0。比较器的异步输出路由外部引脚,也是设置需要阈值所需的部分反馈信息。图3-2 使用MCU片上比较器的张弛振荡器原理图当正极的电压高于负极的电压,比较器的输出是1或者VDD,通过使用由三个电阻组成的电阻分压器使正极电压设置到2/3 VDD。同时,由比较器的输出作为电压源给感应电容充电,如图3-3所示。图3-3 比较器输出高电平且给感应电容充电当负极的电压走到高于2/3 VDD时,比较器的输出变为0,同时感应电容开始放电,直至输出到达1/3 VDD,如图3-4所示。图3-4 比较器输出低电平且感应电容放电一旦感应电容的电压低于1/3 VDD,比较
25、器的输出变为a 1,并且重启充电循环。在异步比较器输出(CP0A)上展现的输出波形是张弛振荡器的频率,如图3-5所示。图3-5 张弛振荡器的输出频率在正极与负极间的异步比较发生器在系统时钟中,并且比较器的输出自动的由比较器的硬件设置。一旦张弛振荡器启动,没有任何固件干预可以控制它。3.2.2 LM324芯片介绍LM324系列器件为价格最便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流大致为MC1741的静态电流的五分之一(对每一个放大器而言)。共模输入范围包括负电源,因而消除了许多应用
26、场合中采用外部偏置元件的必要性。输出电压范围也包含负电源电压。LM324的特点主要有以下几点:短路保护输出;真差动输入级;单电源工作(3.0伏至32伏);低输入偏置电流(最大100纳安);每一封装四个放大器;内部补偿;共模范围扩展到负电源;行业标准引脚输出;在输入端的静电放电箝位增加可靠性而不影响器件的工作。如下图3-6所示为LM324的引脚图:图3-6 LM324芯片俯视图3.2.3 LM324张弛振荡电路 如下图3-7所示,为由芯片LM324组成的张弛振荡器电路图。通过LM324的比较器1搭建张弛振荡器电路,通过比较器的输出端口的电压变化持续对感应电容进行充放电,循环这个过程。当感应电容没
27、有变化时,这个系统的周期就是固定的,从比较器的输出端口的图形是一个高低电平,单片机计数器可以用来检测这个高低电平。图3-7 LM324张弛振荡器 当无手指触摸时,由这些元件搭建的张弛振荡器在20ms的时间内振荡的次数大概是4万次,而在手指触摸时,只有约12000多次,为了避免一些误差和误判,在设计中设定判断是否有触摸动作的值为25000次,当计数器在20ms的时间内检测到的周期个数小于25000次时视作有触摸动作,大于25000次则视作无触摸动作。3.3 AT89S51的外围电路设计3.3.1 芯片介绍本设计采用ATMEL公司生产的AT89S51单片机,它是一个低功耗,高性能CMOS 8位单片
28、机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编
29、程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复
30、位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。1主要特性: 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2管脚说明:VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以
31、被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
32、这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0
33、)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操
34、作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持
35、RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每
36、个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S51引脚图如图3-8所示图3-8 AT89S51引脚图3.3.2 AT89S51晶振连接电路设计 AT89C51单片机有一个用于构成内
37、部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图3-9。在本设计系统中采用的是内部振荡电路连接法,如图3-10所示图3-9 内部振荡电路连接图图3-10 外部振荡电路连接图外接晶体以及电容C1、C2构成并联谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡,一般晶振可在212MHz之间任选。对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。外接晶体时,C1和C2通常选30pF左右;外
38、接陶瓷谐振器时,C1和C2的典型值为47pF。3.3.3 AT89S51复位电路设计单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的RST引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有24个时钟周期以0上。本系统中单片机时钟频率为12MHz则复位脉冲至少应为2us。方案一:上电复位电路上电瞬间,RST端的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。复位电路的典型参数为:C取10uF,R取10
39、k,故时间常数=RC=10101010=100ms足以满足要求。其电路如图3-11所示图3-11 上电复位电路连接图方案二:外部复位电路按下开关时,电源通过电阻对外接电容进行充电,使RES端为高电平,复位按钮松开后,电容通过下拉电阻放电,逐渐使RET端恢复低电平。图3-12 手动上电复位电路连接图考虑到电路对复位电路的要求不高,且尽量使电路简单,故采用方案一:上电复位电路。3.4 指示电路的设计指示很简单,采用LED(发光二极管),考虑到单片机端口常态是高电平,设计采用低电平点亮发光管。I/O口的灌电流最大30mA左右,假设每根线20mA,C系列都低于20mA,假设单个发光管耐压2V(不同的管
40、子不同,相差不多),系统采用5V供电,则限流电阻R的阻值为:实际选择470,实验发现发光二极管显示正常。通过程序控制LED灯亮。3.5 电容感应触摸系统外部硬件的设计3.5.1 感应电容的设计CP是触摸按键上的电容和寄生电容之和,当手指触摸到按键时,CP会比平时要高,如图2-1,通过在焊盘周边铺设接地层以及在PCB层的反面铺设接地层,将尽可能的减小寄生电容的影响,在下文关于焊盘和PCB的设计章节将会详述。实验表明,在一般情况下,Cp大概是10到30pF,而在有手指触摸时,Cp会大概增加20pF以上。3.5.2 关于PCB布局设计PCB布局的意义在于提高信号的质量,减少非按键信号的误判。从按键到
41、单片机接入管脚的导线不是作为电容感应区域的,所以,导线和其他PCB上的器件只会减小电容感应能力和产生其他影响,所以PCB布局必须注意减少导线等对电容感应的影响,如果不能减少,那么必须尽量让这些因素的影响均一化,以便后续在软件算法中统一的剔除或调整。另外,通过实验了解到,如果在PCB板上按键的反面布上金属,那么会增加信号的强度,而同时不增加噪声等级。例如,对于一个1.5mm的PCB板来说,在没有手指触摸的情况下,对感应电容的计数会增加2%到20%,具体由当时情况而定。在有手指触摸的情况下,相应对感应电容的记数也会增加。3.5.3 关于按键的焊盘及相关设计 作为一个简单的按键来说,判断比较简单,它
42、不需要判断手指的覆盖范围,只需要判断手指存在与否即可。 按键的灵敏度取决于焊盘的形状,周边铺地情况,按键覆盖层的厚度,以及这个厚度与PCB板厚度的比率,等等。我将焊盘设计为如下图3-13的形状,即按键周围被接地包围,以便形成最大范围内的感应: 图3-13 按键形状设计在图3-13中,Pad指作为按键的焊盘,Clearance指焊盘与周边接地层的间隔距离。经过实验证明,一般情况下,按键越大,那么感应效果越好,灵敏度越高。通常我把按键的焊盘大小设计成手指接触时的实际接触面大小,实验证明这时的感应效果和灵敏度已经足够做判定。3.5.4 关于按键周围接地层的设计及其影响 按键和接地层的设计有如下两种方
43、式,如下图3-14。如果反面没有接地层,经过实验证明,这样得到的感应电容相对较小。反之,在按键的反面PCB层也做成接地层,然后连接按键的引线从反面接地层连接到感应芯片,这样实验证明得到的电容值相对要高。图3-14 感应电容分布同时,从噪声角度来说,由于在按键的反面加了接地层,屏蔽了感应电容形成的电磁场,所以把应用芯片也放在反面接地层,从而减小了对系统的干扰。另外,在实验中,我发现作为按键的焊盘与周边接地层的间隔也会显著影响感应电容的大小,间隔越小,按键的对地感应电容越大,表现为检测到的“初始感应数据”越大。综合以上考虑,确定按键和周边接地层的典型设计如下图3-15,即:设计焊盘尺寸为0.4英寸
44、,焊盘与周边接地层的间隔为0.04英寸。图3-15 焊盘与PCB设计第4章 软件设计4.1 软件总流程图 如下图4-1所示,为软件总流程图,程序先进行初始化:包括设置阈值,定时/计数器T0工作在计数器状态,方式1;定时/计数器T1工作在定时器状态,方式1;初始化计数器T0,置0;初始化定时器T1,定时20ms。初始化检测到低电平T0数值加1开始T1是否到20ms?判断T0数值是否小于25000LED指示灯亮否是是否图4-1 软件总流程图 计数器T0开始工作,每当张弛振荡电路比较器的输出端口输出一个低电平,计数器T0就加1,直至计时器T1计时达到20ms; 当计时器T1计时达到20ms时,就会产
45、生一个中断,进入中断程序把计数器T0的值和预先设置的阈值进行比较。当T0的值小于25000时,则视作有触摸动作,点亮LED灯表示有触摸动作,然后进行计时器T1和计数器T0的初始化,解除中断,计时器T1重新进行下一个20ms的计时,计时器T0重新从0开始计数;当T0的值大于25000时视作无触摸动作,同样进行初始化计时器T1和计数器T0,重新在下一个计时器T1的20ms的时间周期内用计数器T0进行计数和判断。 程序整个就是一个循环在每20ms的时间周期内检测计数器T0的数值并和预先设置的阈值进行比较,比较完成以后初始化定时器T1和计数器T0,重新进行上述比较和判断过程。结论与展望电容式触摸感应按
46、键的基本原理就是一个不断地充电和放电的张弛振荡器。如果不触摸开关,张弛振荡器有一个固定的充电放电周期,频率是可以测量的。如果我们用手指或者触摸笔接触开关,就会增加电容器的介电常数,充电放电周期就变长,频率就会相应减少。所以,我们通过单片机测量在固定时间周期的个数变化,就可以侦测触摸动作。通过本系统的研究和实现,得到如下设计成果:1,分析电容感应的原理,设计了触摸按键系统的整体方案;2,利用单片机设计了感应电容的检测电路,研究并给出了信号处理流程和算法;3,设计完成软件部分,包括设计软件系统的处理流程和按键判定算法等;4,通过实验,明确了按键和周边PCB布局设计要求,并分析按键尺寸等因素和检测电路的输出结果之间的统计关系;从上文可见,本文实现的电容感应式触摸按键系统的方案非常简洁,外围器件所需极少,方案需要的大部分硬件资源由单片机内部的模块设计而得,使系统具有很高的集成度。一方面这个方案减低了系统的成本,另一方面,由于软件和硬件结合设计,且硬件资源和参数都可以灵活配置和调整,所以整个设计很灵活,同时也降低了设计时间和设计成本。和其他的触摸按键检测方案,如电阻性薄膜测量和场效应检测方式相比,由于本方案只需要单片机的成本,不需要象电阻性薄膜测量法采用较贵的电阻薄膜等元器件,也不需