数电课设ASCII码键盘编码电路设计.docx

上传人:b****5 文档编号:8277313 上传时间:2023-01-30 格式:DOCX 页数:13 大小:709.43KB
下载 相关 举报
数电课设ASCII码键盘编码电路设计.docx_第1页
第1页 / 共13页
数电课设ASCII码键盘编码电路设计.docx_第2页
第2页 / 共13页
数电课设ASCII码键盘编码电路设计.docx_第3页
第3页 / 共13页
数电课设ASCII码键盘编码电路设计.docx_第4页
第4页 / 共13页
数电课设ASCII码键盘编码电路设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数电课设ASCII码键盘编码电路设计.docx

《数电课设ASCII码键盘编码电路设计.docx》由会员分享,可在线阅读,更多相关《数电课设ASCII码键盘编码电路设计.docx(13页珍藏版)》请在冰豆网上搜索。

数电课设ASCII码键盘编码电路设计.docx

数电课设ASCII码键盘编码电路设计

数字电路课程设计报告

 

论文题目ASCII码键盘编码电路设计

学生专业班级通信工程2011级1班

学生姓名(学号)刘成(20112760)

设计小组其他同学姓名(学号)王骏(20112836)

指导教师宋彩霞

完成时间2013年10月26日

实习地点信息楼214

 

2013年10月27日

 

ASCII码键盘编码电路设计

一、课程的选择与设计要求:

ASCII码键盘编码电路的任务是把键盘上所按下之按钮产生的开关信号,编成一个对应的ASCII代码从输出端输出。

ASCII码编码表请参看有关教材。

键盘共8*8=64个键,在外加两个控制键Shift键和Ctrl键作用下,共完成128个键的ASCII码输出。

其中,Shift键为英文大小写字母及其它符号控制键。

Ctrl键为文字符号(也称控制符号)和字符控制符。

键盘字母排列参见下图。

当按下某键,变将键所在的列线与行线接通,于是将列线上的“1”电平传给行线,而没有按下之按键所在的列线与行线不同,这些行线仍保持低电平。

@

H

P

X

SP

0

8

A

I

Q

Y

!

1

9

B

J

R

Z

*

2

:

C

K

S

[

#

+

3

;

D

L

T

\

$

4

<

E

M

U

]

%

-

5

=

F

N

V

&

.

6

>

G

O

W

/

7

?

二、设计任务分析:

ASCII码键盘编码电路的任务是把键盘上所按下按钮产生的开关信号,编成一个对应的ASCII代码从输出端输出。

键盘共8*8=64个键,在外加两个控制键Shift键和Ctrl键作用下,共完成128个键的ASCII码输出。

其中,Shift键为英文大小写字母及其它符号控制键。

Ctrl键为文字符号(也称控制符号)和字符控制符。

当按下某键,变将键所在的列线与行线接通,于是将列线上的“1”电平传给行线,而没有按下之按键所在的列线与行线不同,这些行线仍保持低电平。

这个任务可以分解为如下几个部分:

1、开关:

通过控制键盘产生开关信号,也就是用高八个开关低八个开关和外加两个开关来控制信号的高低。

2、开关信号的编码如下。

高位

低位

000

001

010

011

100

101

110

111

000

@

H

h

P

p

Z

z

SP

  NUL

   BS

0

 DEL

8

  CAN

001

A

a

I

i

Q

q

Y

y

!

  SOH

   HT

1

  DC1

9

   EM

010

B

b

J

j

R

r

Z

z

  STX

*

   LF

2

  DC2

:

  SUB

011

C

C

K

k

S

s

[

{

#

  ETX

+

   VT

3

  DC3

;

  ESC

100

D

D

L

l

T

t

\

|

$

  EOT

   FF

4

  DC4

  FS

101

E

E

M

m

U

u

]

}

%

  ENQ

-

   CR

5

  NAK

=

  GS

110

F

F

N

n

V

v

^

~

&

  ACK

.

   SO

6

  SYN

  RS

111

G

g

O

o

W

w

_

DEL

  BEL

/

   SI

7

  ETB

?

  US

3、Shift键和Ctrl键的实现:

当按下某键时,在输出端会显示该键上档的ASCII码,对于键盘的前四列当按下该键的同时,按下Shift键输出端输出该键下档字符的ASCII码。

对键盘的后四列当按下该键的同时,按下Ctrl键输出端输出该健下档字符的ASCII码。

4、ASCII码的输出:

任意接通键盘按键的行、列,输出的ASCII码即为行列交点处字符的ASCII码。

三、具体设计过程的描述:

对比本编码与标准ASCII码可知,本编码的前四列上档字符比标准ASCII码小64(1000000B),下档字符比标准ASCII码小96(1100000B)。

后四列上档字符与标准ASCII码相同,下档字符比标准ASCII码大32(100000B)。

因此在编码后需对编码值进行修正以得到正确的ASCII码。

本设计采用加法器对编码进行修正。

观察本编码与标准ASCII码差值可知,只需要对编码所得高位部分进行适量的修正即可得到标准结果。

本设计采用串行进位加法器以实现该逻辑功能。

对键盘上的前四列上档字符需要使用加法器对其高位加1000B,当按住shift时要输出低档字符的ASCII时,高位需加上1100B。

对键盘的后四列,其上档字符的编码正好等于标准ASCII码无需处理,当按住ctrl输出其下档字符时,由于其编码比ASCII码大32,需要对其高位减去100B,即加上1100B(100B的补码),即得到所按键的ASCII码。

由于在未按下shift或ctrl在修正时所加的数不同,故本设计采用数值比较器对编码进行前四列与后四列的区分。

四、设计方案的确定:

图1

如上图1,此部分采用两个DSWPK_8开关来控制信号的输入。

其中上边的开关控制八列即ASCII码高三位,下边的开关控制八行即ASCII码低三位。

74LS148D即优先编码器主要是对输入进行编码,由于此编码器是低电平有效故需要反相器。

采用四个74LS04D即六反相器对74LS148D的输入与输出进行电平的转换,即高低电平的转换。

将U1、U2反相器和U5编码器的VCC接12V,GND接地。

U1的六个输入端依次接到开关的前六个代表着前六列,U2第5个和第6个输入端接到开关的后两个代表着后四列。

U1的六个输出端接到U5即编码器的前六个输入端,U2第5个和第六个输出端接到U5即编码器的后两个输入端。

将U5编码器的三个输出端接到U2反相器前三个输入端,至此U2反相器前三个输出端就是未修正的列ASCII码。

下面的U3、U4反相器和U6编码器的行接法与列接法类似,如图1。

 

图2

 

如上图2是最后一部分,此部分的作用是对74LS148D编码后的码进行修改,同时增加Ctrl和Shift在电路中的作用,主要作用为:

当不按下Shift时对键盘上的前四列上档字符需要使用加法器对其高位加1000B,当按住shift时要输出低档字符的ASCII需要使用加法器对其高位加上1100B。

对键盘的后四列,其上档字符的编码正好等于标准ASCII码无需处理,当按住ctrl输出其下档字符时,由于其编码比ASCII码大32,需要对其高位减去100B,即加上1100B(100B的补码),电路图实现如上。

采用U14即74LS85D数值比较器来区分前后四列。

其具体方法是:

前三个输入即A3、A2、A1为011,B3、B2、B1为编码器编码后的码。

则OAGTB即A>B与OAEQB即A=B输出端为前四列,与shift相接。

OALTB即A

最终实验时七个小灯泡的亮与否代表着最后的ASCII码,亮代表高电位1,不亮代表低电位0,读ASCII码时是从上向下读的。

 

图3

整体电路如上图3。

五、各元件的主要参数与系统实施:

1、74LS148

0-7编码输入端(低电平有效)

EI选通输入端(低电平有效)

A0、A1、A2编码输出端(低电平有效)

GS宽展端(低电平有效)

EO选通输出端

优先编码器74ls148功能表

输入

输出

EI

I0

I1

I2

I3

I4

I5

I6

I7

A2

A1

A0

GS

EO

1

x

x

x

x

x

x

x

x

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

0

0

x

x

x

x

x

x

x

0

0

0

0

0

1

0

x

x

x

x

x

x

0

1

0

0

1

1

0

0

x

x

x

x

x

0

1

1

0

1

0

1

0

0

x

x

x

x

0

1

1

1

0

1

1

1

0

0

x

x

x

0

1

1

1

1

1

0

0

1

0

0

x

x

0

1

1

1

1

1

1

0

1

1

0

0

x

0

1

1

1

1

1

1

1

1

0

1

0

0

0

1

1

1

1

1

1

1

1

1

1

1

0

2、74LS04

 

供电电压:

4.75V--5.25V

输出高电平电流:

-0.4mA

输出低电平电流:

8mA

74HC04是内含6组相同的反相器。

即1A输入高电平,1Y输出低电平  六反相器

3、74LS85

A0-A3字A输入端

B0-B3字B输入端

A>BA>B级联输入端

A=BA=B级联输入端

A<BA<B级联输入端

FA=BA等于B输出端

FA>BA大于B输出端

FA<BA小于B输出端

74LS85功能表

4、74LS183

引出端符号

1A、1B、2A、2B运算数输入端

1CIn、2CIn进位输入端

1COn+1、2COn+1进位输出端

1F、2F和输出端

功能表

任意接通键盘按键的行、列,输出的ASCII码即为行列交点处字符的ASCII码。

例如:

行线接001,列线接000,未按shift输出为1000001B即为A的ASCII码,如下图4。

图4

按住shift时输出为1100001B即为a的ASCII码,如下图5。

 

图5

行线接000,列线接100,未按ctrl时输出为0100000B即为的ASCII码,如下图6。

图6

按下ctrl时输出为0000000B即为NUL的ASCII码,如下图7。

 

图7

六、安装调试中的主要问题及解决方法:

在本次实习中电路图前半部分挺容易想出来的,但在ASCII码修正时有前后四列之分很难解决。

刚开始并没有想到用数值比较器只是用两根线来代表shift和ctrl,并以此来用加法器对其ASCII码修正,始终没想出解决的办法。

后来有人提议用数值比较器把前后四列分开这个问题才被解决,具体方法见上面的74LS85D数值比较器分析。

其次遇到的另一个问题是开关太多若一个一个分开按显得电路图很乱,并且不好分析。

为此我们用能同时控制8个不同电路的开关来代替。

最后电路原理图虽然设计出来了,由于芯片引脚比较多故在连线时一不小心就弄错接口使之运行失败,只是连这个图就连了三遍才运行成功,因此理论与实践都得重视啊。

七、收获与体验:

通过本次实习我学到了很多东西,通过和小组同学的讨论意识到自己考虑的太片面了,而且讨论时有一些自己想不通的也能解决。

这让我知道了团队合作的好处,在以后处理问题是一定要做好全面的思考,注重各方面的因素。

在知识方面进一步的掌握了74LS148、74LS04、74LS85、74LS183芯片的主要参数和功能,并能熟练的运用它们。

同时以前不管什么事情都是自己做,现在才明白与人合作效率要高得多。

此次课程设计涉及或、非门,简单组合逻辑电路芯片的使用以及对电路元器件的认识,在电路设计中更用到了软件Multisim11.0。

在此课程设计中我学到很多知识和技能,更加熟练地掌握了《数字电子技术基础》、《模拟电子技术基础》等课程,达到了学以致用的效果,并在实践中加强了对所学知识的理解程度。

而且只有自己动手操作才能更好掌握数字逻辑电路设计思路和方法,开拓我们的视野。

 

课程设计成绩评定表

学生姓名

刘成

专业班级

通信工程2011级1班

设计题目

ASCII码键盘编码电路设计

指导教师评语及意见:

 

指导教师评阅成绩:

指导教师签字:

年月日

 

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

当前位置:首页 > 工程科技 > 环境科学食品科学

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

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