(机械电子工程专业论文)机电设备的单片机控制系统开发研究.pdf_第1页
(机械电子工程专业论文)机电设备的单片机控制系统开发研究.pdf_第2页
(机械电子工程专业论文)机电设备的单片机控制系统开发研究.pdf_第3页
(机械电子工程专业论文)机电设备的单片机控制系统开发研究.pdf_第4页
(机械电子工程专业论文)机电设备的单片机控制系统开发研究.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

, 山东大学硕士学位论文 摘要 本文着重讨论以p c 键盘作为输入设备、c r t 显示器作为输出设备的单 片机控制系统的设计与实现。首先在对几种常见的单片机与键盘接口技术 进行分析比较的基础上,设计出了一种简单实用的单片机和p c 键盘的接 口电路同时编写了详细的键盘初始化和按键处理程序;然后以常见的显 示适配器t v g a 8 9 0 0 c 为例对显示器的工作原理进行了详细的剖析,通过测 试适配器在微机环境下的正常运行得到保证c r t 正常显示的最少的控制 信号以及地址和数据信号,在此基础上设计出硬件电路,利用单片机模拟 徽机总线信号对t y g a 8 9 0 0 c 进行控制;在初始化程序的编写方面,不同于 现有的在微机环境下跟踪b i o s 程序以获得适配器初始化程序的方法,本 文通过对t v g a 8 9 0 0 c 适配器的各类寄存器的分析直接得到了其初始化程 序,并通过实验得以证明了其正确性。最后借助仿真器对硬件电路和相关 软件进行综合调试,从而成功的完成了利用8 0 c 1 9 6 单片机实现键盘直接 控制c r t 显示器的接口电路设计。 f f 此控制系统在机电一体化控制设备中具有广泛应用前景。 、, 打印机上的应用表明该系统具有移植性好、兼容性强等优点。 关键词:单片机,p c 键盘,c r t 显示,适配器:控制系统 v 一 l , p , 第l 页 芦牌 ( 山东大学硕士学位论文 a b s t r a c t t h e d e s i g n a n dr e a l i z a t i o n o ft h e s i n g l ec h i p m i c r o c o n t r o l l e r ( s c m )c o n t r o l s y s t e m w h i c h i n c l u d i n gi m p o r t e q u i p m e n t p c k e y b o a r d a n d e x p o r te q u i p m e n t c r t d i s p l a y a r e d e s c r i b e di nt h i sp a p e r f i r s t i y ,s e v e r a lc o m m o n l yu s e di n t e r f a c e t e c h n i q u eb e t w e e ns c ma n dk e y b o a r da r ea n a l y z e da n dc o m p a r e d ,o n t h eb a s eo ft h s o e ,as i m p l ea n da p l l i e di n t e r f a c ec i r c u i tb e t w e e n s c ma n dp ck e y b o a r da r ed e s i g n e d a tt h es a m et i m e ,t h ek e y b o a r d i n i t i a l i z a t i o np r o g r a ma n dk e y p r e s sd i s p o s a lp r o g r a ma r e _ r r i t e d s e c o n d l y ,t h ec r tc o n t r o l l e ri si n t r o d u c e d a sa ne x a m p l e ,t h ew o r k p r i n c i p l eo fd i s p l a ya d a p t e rt v g a 8 9 0 0 ci sa n a l y z e di nd e t a i l t h e l e a s tn u m b e ro ft h es i g n a l so fc o n t r o la n da d d r e s sa n dd a t at h a t e n s u r e st h ed i s p l a yr u n n i n gn o r m a l l ya r ea c h i e y e db yt e s t i n gt h e d a p a t e ri np cs y s t e m o nt h eb a s eo fa b o v e ,ac i r c u i tt h a ts i m u l a t e s p cs i g n a l st oc o n t r o lt v g a 8 9 0 0 cw i t hm s ci sd e s ig n e d t h e n t h e i n i t i a l i z a t i o ni s d i r e c t l yg o t i nt h ew a yo f a n a l y z i n g t h e r e g i s t e r so ft v g a 8 9 0 0 c ,w h i c hi sd i f f e r e n tf r o mo n et h a tg e tt h e a d a p t e ri n i n i a l i z a t i o np r o g r a mb yt r a c k i n gb i o si np cs y s t e m ,a n d i t sv a l i d i t yi st e s t e db ye x p e r i m e n t i n g l a s t l y ,t h ed e s i g n e d c i r c u i ta n dt h ei n t e r r e l a t e ds o f t w a r ea r ed e b u g g e ds y n t h e t i c a l l y o nt h ee m l u a t o r a c c o r d i n g l y ,t h ed e s ig no ft h ein t e r f a c eb e t w e e n s c ma n dp ck e y b o a r da n dc r td i s p l a ya r ec o m p l e t e ds u c c e s s f u ll y t h i sc o n t r o l s y s t e m c o u l db e u s e dw i d e l yi nm e c h a t r o n i c s 第1 i 页 山东大学硕士学位论文 e q u i p m e n t s i t sa p p l i c a t i o no nt h el a b e ls t a m p i n gp r i n t e rs h o w s t h a tt h i ss y s t e mh a st h ea d v a n t a n g eo fv e r yg o o dt r a n s p l a n t a b l ea n d s t r o n gc o m p a t i b i l i t y ,e t c k e y w o r d s :s c m ,p ck e y b o a r d ,c r td is p l a y ,a d a p t e r ,c o n t r o l s y s t e m 第i 页 山东大学硕士学位论文 i 概述 i i 单片机的发展及特点 众所周知,数字技术和计算机技术已渗透到了工业、农业、商业、教 育、医疗、军事、娱乐等每一个领域以及生活中的每一个角落,其应用的 广度和深度已经到了令人无不为之惊叹的地步! 当今,工程技术人员在设 计开发一个系统或一个新产品的时候,首先考虑的是如何应用计算机技术 以提高市场竞争能力。 尽管p c 机的应用已相当普遍,但是,在工控领域,在日益追求小而精、 轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,p c 机仍有所 不相适宜。而工业控制、仪器仪表、家电产品等市场广阔,要求p c 机技术 与之相适应。在这种情况下,单片机应运而生了( 也称作微型计算机) 。 在单片机的发展史上,美国i n t e l 公司的贡献十分突出:1 9 7 6 年该公 司研制出第一代通用单片机一m c s 一4 8 系列,1 9 8 0 年相继推出第二代8 位增强型单片机一m c s 一5 1 系列,1 9 8 3 年又推出1 6 位单片机一m c s 一9 6 系列,近年又推出了3 2 位乃至6 4 位的单片机可谓发展迅猛。另外,除 i n t e l 公司以外,p h i l i p s 公司、s i e m e n s 公司、t o r o l a 公司等许多大公 司,纷纷推出了名目繁多的派生芯片n i 2 1 。归纳起来,它是沿着两条路发展 的: 1 改进集成电路制造工艺,提高芯片的工作速度,降低工作电压和降 低功耗: 2 在保留共同的c p u 体系结构、最基本的外设装置( 如异步串行口,定 时器等) 和一套公用的指令系统的基础上,根据不同的应用领域把 第1 页 山东大学硕士学位论文 不同的外设装置集成到芯片内,在同一家族内繁衍滋生出各种型号 的单片机。 另外,在单片机的应用中,可靠性是首要因素。为了扩大单片机的应 用范围和领域,提高单片机自身的可靠性是一种有效方法。近年来单片 机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,主要表现 在以下几点: i e f t ( e l e c t r i c a lf a s tt r a n s i e n t ) 技术 2 低噪音布线技术及驱动技术 3 采用低频时钟 总之,单片机在目前的发展形势下,表现出几大趋势: 1 可靠性及应用水平越来越高,和i n t e r n e t 连接已是一种明显的走 向; 1 所集成的部件越来越多; 2 功耗越来越低: 3 和模拟电路结合越来越多。 实质上,如上所述,单片机的出现是有两个方面的因素促成的。其一 是人类生产的需要,如仪表的智能化、工业过程控制系统的智能化等都要 求构成这些设备的核心部件必须体积小、控制功能强、抗干扰等。另一方 面,计算机技术和电子学技术的迅猛发展,使技术发达国家在7 0 年代已具 备了制造超大规模集成电路的能力,使得单片机可以被实现。 单片机的设计目标主要是增强“控制”能力,满足实时控制方面的需 要。因此,它在硬件结构、指令系统、i l o 端口、功率消耗及可靠性等方 面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。 因此,单片机又常常被人称为微控制器。 单片机和微型计算机类似具有三总线,可以进行算术运算和逻辑运 第2 页 , 山东大学硕士学位论文 算,并通过控制逻辑由总线将运算结果输出到存储器和u o 设备等。但是, 它与微型计算机在内在表现和外在表现方面又有许多差别。概括起来,单 片机具有以下特点旧: 存储器r o m 和r a m 是严格分工的。 采用面向控制的指令系统在实时控制方面,尤其是在“位”操 作方面单片机有着不俗的表现。 应用注重现场工程因此体积小。 品种规格的系列化。属于同一个产品系列的、不同型号的单片机, 通常具有相同的内核、相同或者兼容的指令系统其主要的差别仅是在片 内配置了一些不同种类或不同数量的功能部件,以适应不同的被控对象。 单片机的硬件功能具有广泛的通用性。同一种单片机可以用在不 同的控制系统中,只是其中所配置的软件不同而已。 只能借助专门的开发系统进行开发。 功耗低。 价格低。8 0 3 1 和8 0 1 9 6 的价格只有几十元左右,比d a 芯片价 格便宜许多,并有逐年下降的趋势。 1 2 单片机的应用现状 草辟机啦用于电话机、寻呼机、对讲机等电信设备,电视机、录像 机、摄像机、v c d 机、洗衣机等家用电器,电子玩具,计算机外围设备 办公自动化设备,工业控制设备、仪器仪表r 军用设备等等全世界单片 机的年产量数以亿计,应用范围十分广阔,许多科技期刊还专门开辟了单 片机专栏。 单片机应用的意义不仅仅限于它的广阔范围以及所带来的经济效益, 镇3 丽 山东大学硕士学位论文 更重要的还在于从根本上改变了传统的控制系统设计思想和设计方法。以 前,必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单 片机通过软件方法实现了。这种以软件取代硬件并能提高系统性能的控制 技术称之为微控制技术微控制技术标志着一种全新概念,随着单片机的 推广普及,微控制技术必将不断发展和日趋完善,而单片机的应用必将更 加深入、更加广泛。 当前,单片机的产量正以每年2 7 的速度递增【1 1 据统计1 9 9 5 年单片 机产量已达1 6 亿片,到2 0 0 0 年差不多达到2 8 亿片由此可见,单片机技 术无疑是9 0 年代乃至2 l 世纪最为活跃的新一代电予应用技术。随着微控 制技术( 以软件代替硬件的高性能控制技术) 的日臻完善和发展,单片机 的应用必将导致传统控制技术发生巨大变革。换言之,单片机的应用是对 传统控制技术的一场革命p i l 9 1 我国在8 0 年代初就开始引进了单片机,在资金严重不足的情况下,自 行研制了开发工具和应用软件,根据我国的实际生产需要和借鉴国外单片 机应用实例,逐步在我国开展了单片机的应用工作,现在在各行各业都可 看到单片机应用的踪迹。 与世界的单片机发展,应用情况相比,我国处于相当落后的状态。据 统计,1 9 9 5 年我国单片机产品的实际产量仅为1 0 0 0 万片,占世界产量的 百分之几,人均单片机的拥有量还不足一片。从单片机使用角度看,我国 单片机使用面虽广,但是使用的批量也仅集中在空调,洗衣机及电饭煲等 家用电器中。可见我国的单片机市场很大,尤其在智能仪表和智能传感器, 通讯,测控网络和现场总线,农用单片机以及智能i c 卡等方面都有着广阔 的前景,可以大大拓宽单片机应用领域。 第4 页 山东大学硕士学位论文 2 课题选择及意义 2 1 本课题芯片选择依据 对于单片机的分类,目前还没有公认的方法。一般是根据生产厂家不 同来归纳,不同厂家生产的单片机其共同特点是一致的,只是在个别功能 性能上有些差异,指令系统有所不同国际上比较流行的单片机有以下几 种:i n t e l 系列;m o t o r o l a 系列:n e c 系列;p h i l i p 系列;n s 系列 z i l o g 系列;a t m e l 系列。 如同生产微型计算机的微处理器一样i n t e l 公司在单片机的研究和制 造方面也堪称先锋。 m c s 一4 8 系列是i n t e l 公司1 9 7 6 年推出的第一代单片机由于其功能受到 限制,此系列单片机目前在工程上应用很少。 m c s 一5 1 系列是i n t e l 公司的第二代8 位单片机,与m c s 一4 8 系列相比 其i o 功能和指令系统有很大改善和增强,目前该系列在国内还有较为广 泛的应用。m c s 一5 1 与m c s - 4 8 系列一样,c p u 操作采用累加器结构,外部数 据进入a l u 必须通过a c c 累加器,因此,存在着信息流通的“瓶颈”现象, 降低了运行效率。 m c s 一9 6 系列1 6 位单片机特别适用于各类自动控制系统如工业过程 控制系统、伺服系统( 随动系统) 、分布式控制系统、变频调速电机控制系 统等。还适用于一般的信号处理系统和高级智能仪器,以及高性能的计算 机外部设备控制器和办公自动化设备控制器。这些系统通常要求实时处理、 实时控制。和m c s 一5 1 系列相比,m c s - 9 6 系列单片机至少在以下几个方面 第5 页 ( 山东大学硕士学位论文 提高了系统的实时性: 1 m c s 一9 6 c p u 操作方式采用寄存器一寄存器结构,m c s 一5 1 则采用 累加器方式。与m c s 一5 1 相比,m c s 一9 6c p u 操作速度更快更方便,功能更 强。c p u 的操作直接面向2 5 6 字节的寄存器,消除了一般c p i j 结构中存在 的累加器的瓶颈效应,提高了操作速度和数据吞吐能力; 2 2 5 6 字节寄存器中,2 4 字节是专用寄存器,其余2 3 2 字节均为通 用寄存器。其通用寄存器的数量远比般的c p o 的寄存器数量多。这样就 有可能为各中断服务程序中的局部变量制定专门的寄存器,免除了中断服 务过程中保护寄存器现场和恢复寄存器现场所支付的软件开销,并大大方 便了程序设计。 3 有一套效率更高,执行速度更快的指令系统。可以对带符号数和不 带符号数进行操作;1 6 位乘1 6 位指令的执行时间为i 4 u s “6 2 5 u s ( 对不 同型号的芯片) ,3 2 位除1 6 位指令的执行时间为2 4 u s 6 2 5 u s ;还有符号 扩展,数据规格化( 用于浮点计算中) 等指令。此外,3 操作数指令大大提 高了指令效率。 4 在8 0 c 1 9 6 k c 以后的芯片中,增加了一个外设事务服务器p t s ,专门 用于处理外设中断事务,和普通中断服务过程相比,p t s 服务大大减少了 c p u 的软件开销。 除上述几点外,m c s 一9 6 系列单片机还集成了更为丰富的外设装置如模 拟数字转换器、高速输入输出器( h i s h s o ) 或事件处理器阵列( e p a ) 、脉 宽调制输出和外设事务服务器( p t s ) 等。所以综上所述,m c s - 9 6 系列1 6 位 单片机具有更丰富的软硬件资源,具有更高的性能,它比8 位单片机更适 用于一些比较复杂的系统中。并且价格也比较低性价比相对较高。考虑 到所设计系统的硬件和软件资源的需要和为以后的扩展提供足够的空间, 本课题选择8 0 c 1 9 6 单片机作为主控制器。 第6 页 山东大学硕士学位论文 2 2 本课题研究的意义和主要工作 2 2 1 本课题研究的意义 当前国内许多机电产品,特别是涉及到控制方面的设备,有很多是p c 机或工控机来完成其控制功能的,这仅仅利用了计算机很小的一部分功能, 这样就势必造成了资源的巨大浪费,并且使成本提高,占用空间加大。另 外,在一些操作环境相对较差韵场合,如灰尘较多、温度较高的地方,显 然不适合p c 机和工控机的正常工作,会大大降低系统的可靠性以及缩短机 器的寿命,在一定程度上影响了用户的正常生产,给经济效益带来不必要 的损失。 本课题来源于实际生产需要,数控标牌打印机是由山东大学瑞兹机电 公司研制开发的科技含量很高的机电一体化产品,在国内同行业中处于领 先地位,属于生产急需设备,现在的生产销售已初具规模产品已销售到 全国各地,市场潜力巨大。现在其控制功能就是由计算机来完成的,这样 除了会出现以上所说的成本提高、占用空间大外,同时还存在由于操作人 员的误操作使驱动程序或操作系统瘫痪等问题。基于以上原因,决定开发 单片机系统来实现计算机所起到的各项功能,由于单片机在价格方面比p c 微机要便宜得多,体积也小,可靠性也高,并且其控制性能丝毫不比p c 机 和工控机逊色,这样既可以节省成本,充分利用资源,又可以提高标牌机 工作的可靠性,最大限度的使工作环境对控制性能的影响降到最小。同时, 从单片机的发展趋势来看,单片机的网络功能和存储功能也在不断得到完 善,能够满足以后产品的升级和换代来适应企业向网络化和大型化发展的 需要,所以开发这一套控制系统的市场潜力很大,具有较高的商业价值。 第7 页 山东大学硕士学位论文 2 2 2 本课题研究的主要工作 本课题的主要工作是实现单片机替代p c 微机的部分控制功能,开发出 利用标准键盘作为输入设备、c r t 显示器作为显示设备的控制系统,实现 过去由p c 微机完成的控制工作。并开发出和p c 机相对应的软件系统,使 操作和用户界面尽可能的和p c 机相近,便于用户使用。主要包括以下几个 方面: ( 1 ) 单片机控制硬件系统开发。包括8 0 1 9 6 单片机与p c 标准键盘及 显示器的硬件接口以及周围相应的电路设计; ( 2 ) 单片机控制软件系统开发。包括8 0 1 9 6 对p c 标准键盘的初始化 及控制、对显示适配器的初始化及控制咀及控制整个系统运行的软件设计; ( 3 ) 控制硬件系统制作。 ( 4 ) 控制系统的软、硬件综合调试。在仿真器环境下把软、硬件两 部分有机的结合起来,通过调试实现p c 键盘和c r t 显示器脱离主机在所设 计的单片机环境下正常运行。 ( 5 ) 控制系统的性能考核与应用研究 第8 页 山东大学硕士学位论文 3 单片机与键盘之间的接口电路设计 3 i 概述 随着单片机在各种智能仪表、工业过程自动控制系统中的应用日益广 泛,在某些应用场合往往需要对单片机控制的工艺过程进行参数的修正或 设置,人为对单片机的工作进行必要的干预此时作为人与单片机之间进 行对话的接口设备键盘则显得特别重要其键盘输入成为不可缺少的一 部分。目前,在单片机应用系统中,大多数键盘是根据不同的应用要求分 别定做的。根据硬件的组成或其工作方式,可分为外部中断键盘、矩阵扫 描键盘,或者采用专用键盘接口以及使用标准键盘。 单片机与一般矩阵式键盘的接口方法有两种:通过8 1 5 5 或8 2 5 5 接口 芯片与其接口;用8 2 7 9 可编程键盘显示器芯片实现接口。另外还有一种 是采用外部中断键盘实现接口。下面分别做以简单的介绍: 3 28 2 5 5 构成的动态扫描显示与行列式键盘电路 在键盘显示电路中,最常用的电路之一是由i o 接口外加译码驱动器 构成的动态扫描显示与键盘接口电路。与静态显示电路相比,这种电路的 优点是使用芯片较少,显示位数、键盘个数较多;缺点是动态扫描占用c p u 时间较多,当显示位数较多时显示亮度低。为弥补这一缺点,一般选用高 亮度型号l e d 数码管。 图3 - i 是以8 2 5 5 为主构成的动态扫描显示与键盘接口电路。8 2 5 5 由 第9 页 山东大学硕士学位论文 单片机8 0 3 1 控制,片选线为p 1 7 ,这时8 2 5 5 各口的地址分别是:p a 口: 7 f o o h ;p b 口:7 f o i h :p c 口:7 f 0 2 h ;命令状态口:7 f 0 3 h 。p a 口为动态 显示数据输出口,经t t l 7 4 0 7 后驱动共阴极l e d 数码管。p c 口的低位 p c o p c 3 做显示与键盘的动态扫描口,送出数据采用b c d 编码,经t t l 7 4 1 4 5 译码驱动输出,供l e d 数码管扫描驱动和键盘扫描。p b o p b 3 傲键盘数据 回送线。 本电路中扫描口输出b c d 编码,由硬件进行译码。在显示扫描过程中, 扫描口p c o p c 3 依次输出b c d 码0 7 ,p a 口输出各位显示数据的段码。在 键盘扫描时,p c o p c 3 输出0 7 ,从p b o p b 3 依次读取键盘回送数据。当读 回的数据取反后全为0 时,则无键闭合;若不为0 ,则有键闭合,将p b o p b 3 读回的数据与扫描口输出的数据结合即可得到各键的代码。在所附程序中 ( 参见参考文献i n ) ,将p c o 3 输出的扫描码作为键代码的低4 位,将从 p b o 3 读入的数据作为键代码的高4 位,即p b 3 、p b 2 、p b l 、p b o 、p c 3 、p c 2 、 p c i 、p c o 则得到的键代码如表3 - 1 所示。 为了消除动态显示闪烁现象,在所附程序的显示子程序和键扫描子程 序中,当改变扫描口p c 数据时,先将显示数据口p a 清0 ,这样将改善显 示的效果。 表3 1 键代码表( 表中数据为1 6 进制数) 泌 0l234567 l1 0l l1 21 31 41 51 61 7 22 02 12 22 32 42 52 62 7 44 04 14 24 34 44 54 64 7 88 08 18 28 38 48 58 68 7 第1 0 页 山东大学硕士学位论文 图3 - l 动态扫描显示与键盘接口 第1 1 页 山东大学硕士学位论文 3 3 以8 2 7 9 为核心构成l e d 数码显示与键盘接口 上述键盘显示接口电路中,需要扩展i o 口,并且键盘显示程序设计 比较复杂c p u 开销较大。i n t e l8 2 7 9 是一种通用的可编程键盘和显示器 接口器件,能完成键盘输入和l e d 显示控制两种功能。8 2 7 9 能对显示自动 扫描,能识别键盘上按键的键值,自动清除抖动从而可以代替微处理器 完成键盘和显示控制,减轻了主机c p u 的负担。 i n t e l 8 2 7 9 对外引线主要分为两类:一类是对乙e d 显示和键盘的控制 线,另一类是与微机的接口线。前者中o u t a o 3 、o u t b o 3 是8 2 7 9 寄存器 的8 位输出线,专供显示使用。s l o 3 是扫描输出线,是显示和键盘公用 的。r l o 7 、s h i f t 、c n t l s t b 十根线是专供键盘使用的;在键较少时。仅 使用r l o 7 即可。在后一类引线中,d o “d 7 八位数据总线可直接与8 ) 3 1 9 6 等单片机的数据总线连接;其余连线见图3 2 所示。 8 2 7 9 的显示和键盘扫描原理与图3 1 中8 2 5 5 p a 、p 8 口构成的动态显 示与键盘扫描原理相同,但这里的动态显示和键盘扫描等工作由8 2 7 9 自己 独立完成,不需单片机干预。因此与图3 - 1 相比,这种接口电路占用c p u 时间少,显示扫描无问断,质量高。8 2 7 9 内部有1 6 x 8 显示r a m 、8 x 8 先进 先出( p i f o ) 堆栈式键盘r a m ,当c p u 无时间读键盘时,8 2 7 9 可存储8 个 键命令而不丢失。 以8 2 7 9 为主构成的8 位l e d 数码显示、2 4 位键盘接口硬件电路如图 3 2 所示。图中8 2 7 9 与显示器和键盘的联接,采用了两片7 4 0 7 作为显示 数据输出口驱动器,l 片7 4 1 4 5 作扫描口的译码和驱动器。这种选择比一 片译码器再加驱动器的方案节省l 2 个芯片。实践证明采用高亮度显示 器时,这一电路的显示效果还是令人满意的1 7 1 9 1 。 第1 2 页 山东大学硕士学位论文 图3 - 28 2 7 9 控制的8 位l e d 显示、2 4 位键盘接口电路 第1 3 页 n卜n寸卜 吼o t 山东大学硕士学位论文 3 4 单片机外部中断键盘设计 中断是工业过程控制和职能仪器、仪表用单片机中应用最多的一种数 据传送方式,中断能力的强弱是衡量计算机能力的重要标志之一。8 0 c 1 9 6 单片机有2 8 个中断源,1 8 个中断向量。其中有e x t i n t 、e x t i n t l 、p 0 7 三种外部中断源。合理的利用这三种外部中断可实现高速、实时的人机 对话,为用户提供十分友好的硬件界面。 如前两节所述,8 0 c 1 9 6 的c p u 与一般矩阵式键盘的接口方法有两种: 通过8 2 5 5 或8 1 5 5 接口芯片与其接口;用8 2 7 9 可编程键盘显示器芯片实 现接口。在软件方面,前者常采用程序控制扫描或丁式扫描方式,8 2 7 9 采 用定时扫描法或中断法。对于这类键盘,当某键闭合时,或者得不到c p u 的响应,或者在被响应前要占用c p u 的一定时间。这在某些高速监控系统 中,就不能满足实时、快速的要求。 外部中断键盘是基于直接的中断扫描方式。当某一键被按下时,便产 生中断请求,如果该外部中断e x t i n t 或e x t i n t l 或p o 7 被允许,则c p u 一般在不超过6 1 个状态周期( 对于8 i h z 晶振8 个状态周期为2 u s ) 的时 间内响应中断,执行中断服务程序判别键盘上闭合键的键号,从而做出 相应的处理。当无键按下时,c p u 不对键盘扫描,因此最大限度的提高了 c p u 的效率l 。0 1 。 能提供1 8 个独立式按键,用以产生e x t i n t 或e x t i n t i 或p 0 7 外部 中断的硬件接口电路如图3 3 所示。每个按键对应于用户系统的一个或多 个功能,当某一键闭合,产生c p u 允许的外部中断请求时,该键将被实时 响应。7 4 l s l 4 7 编码器的输出端( 输出反码) 经光电耦合管送给系统的i o 口,大大提高了抗干扰能力。每个独立式按键可采用如图3 4 所示的去抖 动电路,即r s 触发器,否则就应加软件延时去抖动。 第1 4 页 c 山东大学硕士学位论文 图3 38 0 c 1 9 6 外部中断键盘接口电路 第1 5 页 图3 - 4 去抖动电路 3 5 单片机与标准微机键盘之间的接口 目前通用p c 系列微机在国内市场的销量逐年增加,其配套通用键盘 具有价格低、键位数量多、可靠性高、通用性强等优点:而单片机应用系 统中,其键盘尚无统一标准,一般根据实际需要选用键的型号及键位的数 量,这就形成了各自特色的键盘矩阵扫描电路,并且都不具备互换性。同 时普通键盘接口在要求键的数量较多时往往造价较高,而减少键的数量往 往会增加键控程序的软件编写工作量及操作的复杂性。在使用环境许可的 情况下,p c 微机通用键盘用于单片机应用系统,将使单片机的键盘设计更 为简便在造价较低的情况下可获得1 0 0 个键左右,使键功能的安排非常 方便,键控程序编写更加容易。 、 第1 6 页 亡 山东大学硕士学位论文 3 5 1p c 通用键盘及其特性 我们对p c 微机通用键盘比较熟悉,目前用的键盘一般有1 0 1 个键或 1 0 3 个键。它内部含有专用单片机控制,通过5 ( 或6 ) 芯电缆与系统主机 相接。一条数据线,一条时钟线均是双向的( 即可向系统发键盘数据,又 可接收系统发来的键盘命令) ,一条是复位线( 一般不用) ,另两条分别是 + 5 v 和地线。 c i k 双向时钟线 g n d 地线 d a t 双向数据线 c i k 双向时钟线 g n d 地线 d a t 双向数据线 图3 5 微机键盘插头布局图 p c 机键盘本身也是一个由单片机组成的智能系统,它通过软件周期性 地检查按键,当有键被按下时,消除抖动后向主机周期性地发送该键的接 通码( 扫描码) 。这种周期性地发送接通码的过程称为拨发。当该键释放后, 又向主机发断开码( o f o h ( o e o l t + o f o h ) + 扫描码】,从而完成一个按键数据 的传送。当有多个键同时被按下时只有最后闭合的键被拨发,而当这个 第1 7 页 咎q 蛾螈 豫蝴u 鳅 觥哪珈 一一 一一肌 璐+ 盼+ l 虽 陋 c 4 乞 山东大学硕士学位论文 键被释放后,其它键也不被拨发即其它键只发送一个接通码。任意一个 闭合的键断开时键盘都会向主机发送该键的断开码。键盘扫描码暂存在 其缓冲器内,在键盘时钟脉冲同步下,键盘内单片机将缓冲器所存放的扫 描码由低位至高位,依次通过引出的信号线向外发送串行信号。现在常见 的五芯和六芯键盘插头布局如图3 - 5 所示【1 3 】。 微机键盘尽管形式各异,但键盘在同微机通讯时只存在两种传输协 议:x t 传输协议,串行数据为9 位;a t 传输协议串行数据为1 1 位,是 较常用的一种标准,目前许多微机键盘都兼容这一标准。下面分别作以介 绍 3 5 2p c x t 标准( x r 传输协议) 当键盘工作在p c x t 标准下时,d ( 数据线) 和c ( 时钟线) 发出的 信号有如下特性: ( 1 ) 按下或释放键时,d 、c 线将以串行方式发送一组数据和时钟信 号:按下键不动超过一定时间时,键盘按一定的时间间隔,由d 、 c 发出多组信号。 ( 2 ) d 、c 发出的每组信号中,c 有9 个负脉冲,d 有9 个数据,d 与c 脉冲同步输出,d 的宽度( 0 或1 ) 比c 的脉冲高电平稍宽 一些。设d 最先发出的数据为d o ,最后发出的数据为d 8 ,则d 依次发出d o d 8 。 ( 3 ) 九位串行数据d 0 d 8 中,d 0 d 6 七位为各键的扫描码j 在键按 下时发出的( 包括超时后发出的) 数据中,d 7 = o ;在键释放时发 出的数据中,d 7 = 1 ;d 8 为结束标志,d 线发出d 8 = i 时,表示一 组数据已发送结束。 第1 8 页 c c 山东大学硕士学位论文 在这种传输协议下,键盘只能接收主机的复位命令和向主机传送数据, 而a t 标准就不同了,其功能要比x t 标准强大的多,所以a t 标准要比x t 标准常用,并有逐步代替的趋势。 3 5 3p c a t 标准( a t 传输协议) 1 键盘功能f l 】j f l 2 1 f 1 3 】 a t 标准键盘的串行数据为1 1 位键盘通过数据线和时钟线与系统通 信它接收系统发来的键盘命令码,送出键盘数据,在接通电源后键盘首 先进行复位等初始化工作,然后进行键盘扫描,作好接收命令和发送键盘 数据的准备工作。键盘和系统相互间的数据通信均采用l l 位格式的串行方 式:第一位起始,第2 9 位是8 位数据位( 低位在前高位在后) ,第1 0 位 是奇偶校验位,第1 1 位是停止位,数据的起始位为低电平。系统接收的键 盘数据和键盘接收的键盘命令均在移位时钟的下降沿同步输入,时钟周期 为5 0 u s 。 2 键盘命令 键盘命令是由系统发给键盘的命令码。键盘在接收到这些命令时,在 2 0 m s 内予以响应,即送回一个响应( f a h ) 。键盘命令的含义如下: ( 1 ) f f h 复位键盘使键盘复位和内部自测试操作。 复位键盘过程为【1 5 】; 键盘接收到f f h 后立即回送f a h 作答; 键盘接口收到f a h 后,使键盘时钟和数据线置为高电平; 键盘检测到此状态后,开始程序复位和内部自测试操作: 若程序复位和内部自测试正确完成,键盘发送从h 以表示结束,否 则以f d h 表示诊断有误。 第1 9 页 r 山东大学硕士学位论文 ( 2 ) f e h 重新发送检测到键盘数据错误时,要求键盘重新输出 原来的内容。 ( 3 ) f 6 h 设置键盘缺省值使键盘复位到初始状态,并允许键盘 扫描和输出数据。 ( 4 ) f 5 h 设置缺省值并停止键盘使键盘复位到初始状态,并停 止键盘扫描。 ( 5 ) f 4 h 启动键盘清除键盘输出缓冲器,并启动键盘扫描和输 出数据。 ( 6 ) f 3 h 设置拍发速率延时参数。 ( 7 ) e e h 回响命令要求键盘接收到此命令时回送e e h 予以响 应。 ( 8 ) e d h 置位复位l e d 指示器。 主机通过设置数据线和时钟线的状态,指导键盘收发数据1 9 】: ( 1 ) 时钟线为低电平,禁止键盘传送数据; ( 2 ) 时钟线为高电平,数据线为低电平,通知键盘接收命令或参数; ( 3 ) 时钟线和数据线都为高电平,允许键盘传送数据。 3 键盘数据 键盘数据包括键盘扫描码和命令响应码。键盘扫描码是用户按下键盘 按键时,键盘发送给系统的数据,不同的键,其码值是不同的。可通过查 阅有关资料【1 7 i 或测试获科】。1 0 1 键盘( a t 标准) 扫描码对应键功能如表 3 - 2 所示。 第2 0 页 山东大学硕士学位论文 表3 21 0 1 键盘扫描码对应键功能 扫描码基键上档键值扫描码基键上档键值 a ae s ce s c3 3hh 1 61 t 3 b jj 1 e2 4 2kk 2 63#4 8ll 2 5 4$4 c 2 e55 2 3 66o e 3 0 71 2 l e f t s h if tl e f ts h i f t 3 e8 士 5 d |i 4 69 ( 3 lnn 4 5 o ) 3 amm 4 e4 1 6 6 b s p a c eb s p a c e 4 a 9 _ o dt a bt a b5 9 r i g h t s h i f t r i g h t s h i f t 1 5 qq 1 1l e f ta 1 tl e f ta l t 1 d ww e o ,i l l e f tc t r ll e f tc t r l 2 4e e2 9 s p a c eb a rs p a c eb a r 2 drr5 8 c a p s l o c kc a p s l o c k 2 c tt0 5f lf 1 3 5y y0 6f 2f 2 3 cu u0 4f 3f 3 f 4 4 31io cf 4 4 4o 00 3f 5f 5 4 d p po bf 6f 6 1 c aa8 3f 7f 7 1 bsso a f 8f 8 2 3 ddo lf 9f 9 4 bf f0 9f i of 1 0 3 4 g g7 8f 1 1f 1 1 第2 1 页 c c 山东大学硕士学位论文 ( 续表3 - 2 ) 扫描码基键上档键值扫描码基键上档键值 0 7f 1 2f 1 27 7n u ml o c kn u ml o c k 1 6z z e o 4 a k 2 2x x7 bk - k - 2 1cc6 ck 7h o m e 2 6v v 7 5k 8 u pa r r o w 3 2b b7 dk 9 p a g eu p 5 ae n t e re n t e r7 9 k +k + e 0 ,7 0 i n s e r ti n s e r t6 bk 4l e f ta r r o w b 0 6 ch o m eh o m e7 3k 5k 5 e o ,7 dp a g eu pp a g e 7 4k 6 r i g h t u p a r r o w e 0 7 1d e l e t ed e l e t e6 9k 1e n d e o ,6 9 e n de n d7 2k 2d o w na r r o w e 0 7 a p a g e p a g ed o w n 7 ak 3 p a g ed o w n d o w n e 0 7 5 u pu pa r r o w e 0 5 ake n t e rke n t e r a r r o w e o ,7 2 d o w nd o w n7 0k oi n s a r r o wa r r o w e o 6 bl e f tl e f t7 lk d e l a r r o wa r r o w e o 1 1r i g h tr i g h t e 0 1 4 r i g h tc t r lr i g h tc t r l a r r o wa r r o w 5 8 7 ck 丰 毒 5 7) 7 es c r o l ls e r o l l l o c kl o c k e 0 1 2p r i a tp r i n te 1p a u s e p a u s e s c r e e nb c r e e n 表中带“k ”字的为小键盘的键;当扫描码为“e 0 ”开头的双码扫描 码时,断开码为:e o + f o + 扫描码。命令响应码,则是键盘对系统命令的 响应。其含义如下: 第2 2 页 山东大学硕士学位论文 ( 1 ) f e h 请求重发收到一个奇偶校验错或无效命令时,请求系 统重发命令。 ( 2 ) f a h 正常应答一对任何一个有效的键盘命令,均以该响应作 答。 ( 3 ) o o h 超限应答一当用户按键速度超出键盘内缓冲器存放的1 6 个扫描码时,发出该应答。 ( 4 ) f i ) i _ i 诊断故障应答键盘在自测试过程中若有故障则以f i ) h 应答, ( 5 ) a a i 诊断正常应答键盘在自测试过程中,若无故障则以a a i 应答。 ( 6 ) e e h 回响命令应答一键盘收到系统的回响命令( e e h ) 时, 也发出一个e f a 作答。 ( 7 ) f o h 断开扫描码前缀字节断开扫描码前两个字节,第一个 字节总是f o h ,第二个字节和接通扫描码相同。 4 通讯方式 ( 一) 键盘向主机发送数据 由于键盘输入是异步的,且具有实时性,所以主机系统以中断方式支 持键符的随机输入。每当键盘接口接收完从键盘送来的串行扫描码时,即 向中断系统发出一个键盘中断,若c p u 响应该中断则由键盘中断程序读 取此扫描码,经转换后成为系统扫描码,存到键盘缓冲区,或仅设置某种 键盘状态( 如c a p sl o c k ,n u ml o c k 等控制键按下) 。键盘发送数据时, 数据线和时钟线都由键盘控制。 键盘发送一个字节的数据格式见表3 3 。如果一组数据由多个字节构 成,则以该格式依次传送每一个字节。 第2 3 页 c 山东大学硕士学位论文 表3 - 3 键盘数据格式 例如发送字符“q ”的接通扫描码( 15 h ) 和断开扫描码( f o h ,1 5 h ) 时序见图3 - 6 所示。 弋一n 1 n n 几兀iuuu 1厂 i i 广 厂 厂 一厂一 r 蒜鼍扫描田时序 f 开扫珥时序 图3 6 键盘首先检测时钟线和数据线的状态,当两者皆为高电平时,开始传 送数据。依次传送起始位、8 b i t s 的数据位、校验位和停止位。每传送一 位,时钟线同步地产生一个脉冲。当主机收到该数据后,将时钟线置成低 电平并保持一段时间,禁止键盘继续发码,以便于检验该数据的正确性 并产生中断,进行代码转换和执行相应的操作。如果检验出错,就向键盘 传送命令f e h ,要求重送。 ( 二) 接收键盘命令和参数 开机时以及在某些特殊情况下( 如设置指示灯或拍发速率) ,主机会发 送一些键盘命令和参数。一条命令或参数占用一个字节。例如,主机向键 盘发送复位命令( f e h ) ,键盘接收该命令的时序见图3 - 7 。 前一n n o n n 1 1 f l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论