按键与显示电路的设计与实现.docx

上传人:b****5 文档编号:11623394 上传时间:2023-03-29 格式:DOCX 页数:16 大小:169.43KB
下载 相关 举报
按键与显示电路的设计与实现.docx_第1页
第1页 / 共16页
按键与显示电路的设计与实现.docx_第2页
第2页 / 共16页
按键与显示电路的设计与实现.docx_第3页
第3页 / 共16页
按键与显示电路的设计与实现.docx_第4页
第4页 / 共16页
按键与显示电路的设计与实现.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

按键与显示电路的设计与实现.docx

《按键与显示电路的设计与实现.docx》由会员分享,可在线阅读,更多相关《按键与显示电路的设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。

按键与显示电路的设计与实现.docx

按键与显示电路的设计与实现

 

电子产品设计制作

与故障诊断

 

学习情境4:

按键与显示电路的设计与实现

 

《电子产品设计制作与故障诊断》课程建设组

2010年2月

第一版

学习情境4:

按键与显示电路的设计与实现

4.1学习目标

通过本次学习情境要求学会:

(1)掌握单片机外围显示和按键电路的设计和制作;

(2)掌握按键和显示电路的C51程序的编写和调试。

4.2工作任务

4.2.1任务名称

在独立电路板上设计制作单片机的按键和显示电路,满足:

(1)在万用板上制作单片机的按键和显示电路,使该电路具有和单片机最小系统的接口,电路的结构简单,成本低廉;

(2)编写基本控制程序,下载调试,使该电路实现基本的按键输入和字符显示功能。

4.2.2任务背景

按键和显示是各种电子设备最基本的人机交互界面,良好的按键和显示界面是电子产品美观易用的基础。

本次工作任务是为一小型温度测控系统设计制作按键和显示电路。

4.2.3任务要求

(1)学习单片机按键和显示电路的原理和电路设计方法,合理选择按键和显示电路的控制芯片和电路结构;

(2)完成全电路理论设计、绘制电路图,自制电路板、焊接调试;

(3)撰写设计报告、调试总结报告及使用说明书。

4.2.4.工作任务所需要的设备、工具和材料:

具有232串行口的计算机、单片机最小系统板、双踪示波器、万用表(模拟或数字)、电烙铁、导线,自制电路板的各种工具一套及元器件若干。

4.3任务知识点

4.3.1七段LED显示器

LED显示器是由发光二极管按照一定的排列规律组成的显示器件,这种显示器有共阳极和共阴极两种组成形式,常用的七段LED显示器的内部结构和外引脚排列见图4-1。

在共阴极七段LED结构中,所有发光二极管的阴极接在一起形成公共极COM,使用时COM接低电平,当某段发光二极管的阳极接高电平时,则该段二极管发光显示字符。

共阳极七段LED是把所有的发光二极管的阳极接在一起形成公共端COM,使用时COM端接高电平,当某段发光二极管的阴极接低电平时,则该段二极管发光进行显示。

表4-1给出了七段LED的显示字型码。

表中的字型码未包扩小数点位Dp,段线的排列格式按g,f,e,d,c,b,a即g段为显示段码的最高位,a段为显示段码的最低位,当然段线也可按照其他方式进行排列。

从表中可看出共阴极结构与共阳极结构的显示段码互为反码。

a)共阴极结构b)共阳极结构c)外引脚图

图4-1LED结构及引脚排列图

表4-1七段LED字型码

显示字符

共阴极字型码

共阳极字型码

显示字符

共阴极字型码

共阳极字型码

0

3FH

C0H

A

77H

88H

1

06H

F9H

b

7CH

83H

2

5BH

A4H

C

39H

C6H

3

4FH

B0H

d

5EH

A1H

4

66H

99H

E

79H

86H

5

6DH

92H

F

71H

8EH

6

7DH

82H

P

73H

8CH

7

07H

F8H

40H

BFH

8

7FH

80H

全灭

00H

FFH

9

6FH

90H

问题:

单片机控制电路中,应如何选择LED显示器的结构?

4.3.2LED显示器的显示方式

在实际应用系统中,N片七段LED构成N位七段码显示器。

LED的公共端COM叫做显示器的位选线,a~g称为段选线,这样N位LED显示器有N根位选线,N8根段选线(包括小数点位)。

位选线控制LED的每一位是否显示,段选线控制每一位的显示字符。

根据位选线与段选线的接法,LED有两种显示方式:

静态显示方式和动态显示方式。

(1)静态显示方式

在静态显示方式,所有的位选线COM连接到一起接低电平(共阴极)或接高电平(共阳极),每一位LED的段选线连接到一个8位显示输出口上,这样N位显示器共需要8N根显示输出线,显示时位与位之间是相互独立的,彼此不产生影响。

图4-2为静态N位LED显示器原理图。

图4-2N位LED静态显示原理图

由于位选线接在一起,因此控制每一显示位的段选码即可控制每一位的显示字符,保持段选码不变,则显示的字符也不变,当需要改变显示内容时只需改变显示位的段码。

这种显示方式具有显示亮度高,显示稳定,控制方便等优点,但当显示的位数较多时,占用的I/O口线较多。

(2)动态显示方式

图4-3为N位动态显示硬件连接图。

图4-3N位动态LED显示原理图

与静态显示方式不同,动态显示方式是把段选线的对应位连接到一起,接到一个8位输出I/O口线上,每一位的位选线接到一根独立的I/O口线上,这样N位显示器共需要8+N根I/O口线(8根段选线,N根位选线)。

显示时段选码由同一8位I/O口输出,具体哪一位显示由位选码决定。

由于段选码并联接在一起,因此同一时刻只能有一位LED显示字符,其他位不显示,即只能有一位位选线有效。

为了能显示N位字符,必需N位LED数码管等间隔时间轮流发光显示,只要显示间隔时间比较短,利用人眼视觉暂留的特点可造成N位同时显示的效果。

动态显示与静态显示相比有需要I/O口线少、功耗小等优点,但控制程序较复杂,显示亮度低。

问题:

根据显示电路的要求,应如何选用数码管的显示控制方式?

4.3.3LED显示器与单片机接口

LED显示电路与单片机的接口分静态显示接口电路和动态显示接口电路两类,每一类中又可分为软件译码和硬件译码两种控制方式。

由于静态显示电路和静态显示控制程序比较简单,因此静态显示电路在此不作介绍。

软件译码方法是指将要显示的字符通过程序的方法译成七段LED显示字型码,通过I/O口直接输出LED的段选码;硬件译码是指将要显示的字符直接输出给硬件译码电路,通过硬件译码电路再把BCD码或十六进制码转换成七段LED显示字型码。

(1)软件译码显示接口

图4-4为通过8255A并行可编程扩展接口构成的8位LED显示电路。

其中8255A的PA口用于段选码的输出,PB口用于位选码的输出,采用软件译码动态显示方式。

图4-4软件译码动态显示电路

在该硬件电路中,反相器为位驱动器,LED的段限流电阻未画出。

按图所示电路进行连接时所用8255A的各端口地址为:

PA口地址:

7FFCH

PB口地址:

7FFDH

控制口地址:

7FFFH

PA、PB口均设定为输出工作方式,其控制字为10000000B。

控制程序如下:

DISP:

MOVDPTR,#7FFFH;选择8255A的控制口

MOVA,#80H;PA、PB口控制字为80H

MOVX@DPTR,A;8255A初始化

MOVR0,#TAB1;指向显示字符表

MOVR7,#08H;显示位数送R7

MOVB,#01H;显示初始位位选线COM1有效

LOOP:

MOVDPTR,#7FFDH;指向B口

MOVA,B

MOVX@DPTR,A;输出位选线

RLA

MOVB,A

MOVA,@R0;取显示字符

INCR0;指向下一个显示字符

MOVDPTR,#TAB2;指向七段LED显示字型表

MOVCA,@A+DPTR;取显示七段字型码

MOVDPTR,#7FFCH;指向A口

MOVX@DPTR,A;输出段显码

LCALLDELAY;调延时子程序

DJNZR7,LOOP;8位未显示完继续

···

上述程序为一次显示8位字符程序,若要不断显示可重复上述程序。

(2)硬件译码电路

硬件译码是采用硬件译码电路的方法完成显示字符到显示七段码的转换。

硬件集成译码电路类型较多,有BCD-7段译码器、BCD-7段译码驱动器、BCD-7段锁存译码驱动器、十六进制-7段锁存译码驱动器等。

表4-2给出了常用的硬件译码集成电路及其性能。

表4-2常用的硬件译码集成电路

元件名称

功能

驱动能力

备注

74LS46、47

BCD-七段译码/输出驱动器

段驱动8mA

输出开路

74LS48

BCD-七段译码/输出驱动器

段驱动8mA

输出需上拉电阻

74LS49

BCD-七段译码/输出驱动器

段驱动8mA

OC输出

4511

BCD-七段译码/输出驱动器

段驱动8mA

CMOS器件,输出锁存

MC14558

BCD-七段译码

无驱动能力

MC14547

BCD-七段译码/输出驱动器

段驱动8mA

MC14513

BCD-七段译码/输出驱动器

段驱动12mA

输出锁存

ICM7212

BCD-七段译码/输出驱动器

段驱动8mA

可静态驱动四位共阳极LED

ICM7218

8位动态BCD-七段译码器

段驱动20mA位驱动170mA

可动态驱动8位共阳极LED

动态扫描频率250HZ

硬件译码驱动器与单片机及显示器的接口见图4-5。

在该图中硬件译码驱动电路采用BCD-七段码/输出锁存/驱动集成芯片MC14513,位选驱动采用同向驱动器7407。

BCD码与位选信号输出均通过P1口。

图4-5硬件译码驱动器与单片机及显示器的接口

问题:

(1)LED显示器与单片机接口,应选用哪种译码方式?

为什么?

 

4.3.4LED的驱动电路

LED是电流控制显示器件,若想使LED发光则必需保证有足够大的电流流过LED的各段。

流过LED的电流大时,LED发光亮度高;流过LED的电流小时,LED发光亮度就低,为了LED能够长期可靠地工作应使流过LED的电流为其额定电流。

为LED显示器提供电流的电路称为LED的驱动电路。

由于显示分为静态显示和动态显示两种,因此驱动电路也分为静态驱动电路和动态驱动电路两种。

静态显示由于位选线接在一起,因此静态显示只有段码驱动电路,驱动电路比较简单。

图4-6为共阴极静态显示一段驱动电路原理图。

图4-6静态显示驱动电路

由于动态显示器驱动电路的位选线不再接在一起,且流过LED各段的电流也为非恒定的直流电流,因此动态显示器LED的驱动电路与静态显示器的驱动电路有很大的不同。

动态显示电路的驱动电路分为段驱动电路和位驱动电路两种。

段驱动电路与静态显示器的段驱动电路相同,考虑到所有的段电流均流过位选线,因此位驱动电路的驱动能力应为段驱动能力的8倍(最严重情况8段全亮)。

图4-7为动态显示时的驱动电路原理图,其中驱动采用了达林顿复合驱动电路。

驱动电路可采用分立元件电路,也可采用集成驱动电路,此外有些硬件译码电路本身包括驱动电路。

在实际应用系统中可根据实际情况选择显示驱动电路的类型。

图4-7动态驱动电路

问题:

在LED显示电路设计中,段码驱动和位码驱动应选用何种驱动方式?

有什么差别?

工作任务:

如何用74HC373芯片设计一种廉价的基于总线的LED显示电路?

4.3.5键盘抖动及其消除方法

键盘是单片机应用系统中不可缺少的输入设备。

通过键盘可向单片机应用系统输入数据和控制命令,键盘是操作人员控制干预单片机应用系统的主要手段。

根据键盘组成形式可分为独立式键盘、矩阵式键盘及拨码式键盘几种。

键盘可工作于循环扫描方式、定时扫描方式或中断方式。

键盘一般是由一组机械按键按照一定的规律组合而成,通过按键的通、断作用输入开关电压信号。

按键由断开到闭合及由闭合到断开时,由于机械触点的弹性作用,按键的动作不是立刻完成的,在闭合及打开的瞬间有机械抖动的发生,抖动时间一般为5~10ms,表现在输入电压信号上为输入信号是抖动的不稳定的电平信号,其信号波形见图4-8。

键被按下

闭合稳态

 

按下抖动释放抖动

图4-8按键抖动波形

按键闭合稳态时间由操作人员的按键时间决定,一般为零点几秒到几秒之间。

为了躲开键抖动的影响,保证在按键闭合稳定状态下读取键值,需要对键盘进行削抖处理。

常用的削抖措施有硬件削抖和软件削抖两种。

硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定的状态。

常用的削抖电路有触发器削抖电路、滤波削抖电路两种。

硬件削抖电路见图4-9。

图4-9硬件削抖电路

硬件削抖电路解决了键抖动问题,但当应用系统所需按键比较多时,硬件削抖电路将变得复杂,成本也比较高,因此硬件削抖一般只适用于按键比较少的应用系统中。

当系统中需要键盘数量比较多时可采用软件削抖方法对键盘抖动进行消除。

软件削抖的基本原理是当第一次检测到有键按下时,根据键抖动时间的统计规律先采用软件延时的方法延时一段时间(一般可取10ms),然后再确认键是否仍保持闭合状态,如仍保持闭合状态则键真正被按下,此时可读取键值,否则可视为干扰,对其不予理睬。

采用软件削抖方法可省去硬件削抖电路,但键盘的工作速度将被降低。

4.3.6独立式键盘

图4-10是通过8031单片机P1口组成的具有8个按键的独立式键盘。

从图中可看出,独立式键盘的各个按键之间彼此是相互独立的,每一个按键连接一根I/O口线。

独立式键盘电路简单,软件设计也比较方便,但由于每一个按键均需要一根I/O口线,当键盘按键数量比较多时,需要的I/O口线也较多,因此独立式键盘只适合于按键较少的应用场合。

独立式键盘可工作在查询方式下,通过P1口读入键状态,当有键被按下时相应的I/O口线变为低电平,而未被按下的键对应的I/O口线保持为高电平,这样通过读I/O口状态可判断是否有键按下和哪一个键被按下。

4.3.7矩阵式键盘

矩阵式键盘由行线、列线及位于行列线交叉点上的按键等部分组成。

当应用系统需要的按键数量比较多时可采用矩阵式键盘。

(1)工作原理

图4-11为一4x4矩阵式键盘的基本结构。

图4-11矩阵式键盘工作原理

该键盘需要4根行线和4根列线共8根I/O口线,由于采用矩阵式结构,与独立式按键不同,一根I/O口线已经不能确定哪一个键被按下,需要通过联接到键上的两根I/O口线的状态确定键的状态,同时键的两端均接到I/O口线上不能一端接I/O口线一端接地,因此必需采用行线与列线信号状态分别处理综合考虑才能判断键闭合的位置。

常用的键位置判别方法有扫描法和线反转法两种。

(2)键识别方法

键识别方法是指当键被按下时如何确定是哪一个键被按下。

常用的键识别方法有扫描法和线反转法,下面我们以图4-11为例加以说明。

扫描法

设图4-11的行线H1~H4连接到51单片机P1口的P1.0~P1.3,列线L1~L4连接到P1口的P1.4~P1.7上,可通过如下程序判断哪一个键被按下。

KEY:

MOVP1,#0FH;列输出低电平,行输出高电平

MOVA,P1;读P1口状态

ANLA,#0FH;保留行状态

CJNEA,#0FH,KEY0;有键按下转KEY0

SJMPKEY;无键按下等待,转键检测

KEY0:

LCALLDELAY10;调10mS延时取抖

MOVA,P1

ANLA,#0FH

CJNEA,#0FH,KEY1;不是抖动转键值判断

SJMPKEY;是抖动到键检测

KEY1:

MOVP1,#11101111B;第一列键被按下判断

MOVA,P1

ANLA,#0FH

CJNEA,#0FH,KEY11;第一列键被按下转KEY11处理

MOVP1,#11011111B;第二列键被按下判断

MOVA,P1

ANLA,#0FH

CJNEA,#0FH,KEY11;第二列键被按下转KEY11处理

···

MOVP1,#01111111B;第四列键被按下判断

MOVA,P1

ANLA,#0FH

CJNEA,#0FH,KEY11;第四列键被按下转KEY11处理

LJMPKEY;均不是转到键检测

KEY11:

MOVA,P1;读键值

键值处理

···

从程序中我们可看出,键扫描法实际上是先使列(行)线全输出低电平,然后判断行(列)线状态,若行线全为高电平,表示无键被按下;若行线不全为高电平表示有键被按下,然后依次使列线为低电平,再判断行线状态,当行线全为高电平时,表示被按下的键不在本列;当行线不全为高电平时,表示被按下的键在本列,把此时的行线状态与列线状态和在一起即为被按下的键的位置。

线反转法

扫描法对键的识别采用逐行(列)扫描的方法获得键的位置,当被按下的键在最后一行时需要扫描N次(N为行数),当N比较大时键盘工作速度较慢,而线反转法则不论键盘有多少行和多少列只需经过两步即可获得键的位置。

我们仍以图4-11为例,线反转法的第一步与扫描法相同均是把列线置低电平,行置高电平然后读行状态;第二步与第一步相反把行线置低电平,列线置高电平然后读列线状态,若有键按下则两次所读状态的结果即为键所在的位置。

这样通过两次输出和两次读入可完成键的识别,比扫描法要简单。

KEY:

MOVP1,#0FH;列输出低电平,行输出高电平

MOVA,P1;读P1口状态

ANLA,#0FH;保留行状态

CJNEA,#0FH,KEY0;有键按下转KEY0

SJMPKEY;无键按下等待,转键检测

KEY0:

LCALLDELAY10;调10mS延时取抖

MOVA,P1

ANLA,#0FH

MOVB,A

CJNEA,#0FH,KEY1;不是抖动转键值判断

SJMPKEY;是抖动到键检测

KEY1:

MOVP1,#0F0H;行输出低电平,列输出高电平

MOVA,P1

ANLA,#0F0H

ORLA,B

键值处理

···

(3)键盘工作方式

在实际应用系统中,键盘只是系统的一部分,键的识别也只是CPU工作内容的一部分。

系统在工作中采取何种方式对键盘进行识别,读取键状态这就是键盘工作方式。

键盘工作方式主要有扫描方式和中断方式两种。

扫描方式

键盘的扫描方式又可分为编程扫描和定时扫描。

编程扫描是指在特定的程序位置段上安排键盘扫描程序读取键盘状态,此时用户可输入数据和控制命令。

定时扫描是指利用单片机内部或扩展的定时器产生定时中断,在中断中进行键盘扫描的工作方式。

不论哪一种扫描方式,键盘程序都应当完成:

键是否被按下判断,按键削抖处理;求键位置等。

中断方式

中断方式是指,当无键按下时,CPU处理其他工作而不必进行键的扫描;当有键被按下时,通过硬件电路向CPU申请键盘中断,在键盘中断服务程序中完成键盘处理。

该种方法可提高CPU的工作效率。

工作任务:

(1)如何用74HC245设计一组独立式按键,使其连接于单片机并行总线上?

 

4.4任务实施

4.4.1设计显示和按键电路的原理图

按照要求设计一组廉价的LED显示电路和独立式按键电路,并使其连接于单片机扩展的并行总线上,尽量设计多个方案,进入后面的工作步骤,对多个方案进行比较选择。

4.4.2对显示和按键电路进行软件仿真

对上面设计好的电路使用proteus软件进行仿真,验证其可行性,选择能够实现的方案进行下一步的成本核算。

4.4.3显示和按键电路的元件清单和成本核算

将设计好的原理图的元件清单整理好填入下表中,进行成本核算。

序号

编号

元件名称

参数和封装

数量

单价(元)

合计(元)

1

2

3

4

5

6

7

8

9

10

11

12

总计

4.4.4焊接显示和按键电路的电路板

经过上面的软件仿真和成本核算,确定最终的方案,开始制作电路板。

按照接线图将元件焊到万能板上,完成电路板的制作。

在进行焊接之前一定要认真规划电路板上元件的分布,例如:

显示必须在电路板的上边,而按键必须在电路板的下边。

可以利用protel软件先进行原理图和PCB的制作,然后参照PCB电路,完成万用板电路的焊接。

注意:

此时不能完成本情景全部电路的焊接工作,需要按本情境中的功能模块先焊接一部分,例如:

可以首先完成显示电路的焊接,然后进入后面的工作过程,此部分电路通过程序调试后,再回到本步骤进行按键电路的焊接,然后再次进入后面的工作过程。

焊接完成后,对电路板的焊接工艺进行评价。

4.4.5对焊接完成的电路板进行测量

通电前测量:

接通电源之前,用万用表通断档测量电路板上电源VCC和GND之间是否短路,如果短路排除故障,再次进行测量。

同时组内各位成员分别检查电路的连接是否正确,检查完毕后进入后面的过程。

提示:

在接通电源之前,必须认真清理电路板上的导线头、剪下的元器件引脚以及焊锡屑等容易造成短路的杂物,同时清理电路板下面桌子上的杂物,切勿将焊接好的电路板放到导体上面,以免造成短路。

4.4.6编写程序调试显示和按键电路

将前面工作过程制作完成的按键和显示电路与单片机最小系统电路的并行总线对接,使用KeilC51为按键和显示电路编写控制程序。

写完程序后下载到单片机中使其工作。

观察按键和显示电路的现象是否和程序设计意图一致,如果现象不正确,记录并认真分析、查找错误的原因,修改程序或电路。

4.5总结评价

4.5.1中期评价

1.评价内容

以组为单位每人讲解:

1)在这个任务中,具体作了那些工作?

2)在整体任务中的作用是什么?

3)与哪些工作做了具体衔接?

4)对其他工作了解了什么?

讲解后由其他组同学提问,选出一位书记员记录问题及回答情况。

各组全部讲解、提问完毕后,指导教师总结出现频率较高的问题后,每个同学自我评分,其他同学打分。

2.修改、完善出现的问题,对出现的问题给予说明。

4.5.2后期评价

对出现的问题修改、完善后,除提交成果外,还需要提交以下资料:

1)对项目的掌握程度;

2)还有哪些地方需要改进;

3)项目中学到的知识在其他领域的应用等内容。

指导教师根据每个同学自我评分、其他同学打分、提交成果及提交资料给予总结评价。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1