




已阅读5页,还剩67页未读, 继续免费阅读
(机械电子工程专业论文)基于80c196kc单片机的舞蹈机器人控制系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
两北1 = 业大学颂l 学位论文 摘要 中文摘要 随着经济的发展、社会的进步,单片机( s c m ) 这种高性能的控制器件在 实际中的应用日益广泛。论文针对单片机的应用,结合舞蹈机器人的机械结构 设计,开发了以8 0 c 1 9 6 k c 高性能的单片机为控制核心的舞蹈机器人控制系统。 控制系统提出了分时控制的思想,利用了r s 2 3 2 与1 2 c 串行通信的技术, 实现了机器人舞蹈动作的设计、存储、执行。为了增加舞蹈动作编辑的灵活性 及可读性,舞蹈动作在p c 机上,利用v c + + 开发的友好界面进行编辑,其数据 可通过r s 2 3 2 串行通信存储到单片机上。为了节省i o 口,舞蹈动作的存储采 用了具有i z c 接口的e 2 p r o m 存储器a t 2 4 c 1 6 。舞蹈动作的执行是通过控制舵 机与直流电机来实现,由于舵机数量较多,因而采用了分时控制的思想,直流 电机的控制采用了单片机的高速输出h s o 。 从单片机的应用来看,整个系统除了用到上面提到的r s 一2 3 2 和i z c 串行 通信、高速输出h s o 外,还用到定时器中断、外部中断等功能。定时器中断用 于产生舵机与直流电机的控制信号;外部中断是在机器人发生边缘碰撞时进行 处理,以保证后续舞蹈动作的正常执行。从而使整个系统趋于完善。 关键字:单片机,r s 一2 3 2 串行通信,1 2 c 总线,高速输出,分时控制 堕! ! 三些查堂型:兰堂垡堡塞 一一生= 兰一 a b s t r a c t w i t ht h ed e v e l o p m e n to fe c o n o m y a n d s o c i e t y , a sah i g hp r o f e r m a n c ec o n t r o l l e r , s i n g l ec h i pm i c r o c o m p u t e r ( s c m ) ,h a s aw i d er a n g eo ft h ea p p l i c a t i o ni nm a n y f i e l d s s w i m m i n g w i t ht h et i d e ,ad a n c er o b o tc o n t r o ls y s t e m ,w h o s e c o r ei s 8 0 c19 6 k cf a16 b i th i g hp r o f e r m a n c es c m ) ,i sd e v e l o p e d t oc o r r e s p o n dw i t ht h e r o b o t ss t r u c t u r ed e s i g ni nt h ea r t i c l e t h es y s t e mp u t sf o r w a r dt h ei d e ao ft i m e s h a r i n gh a n d l i n g ,a n da d o p t s t h e s e r i a lc o m m u n i c a t i o nt e c h n o l o g yo fr s 一2 3 2 a n d1 2 c ,a n dr e a l i z e st h ed e s i g n i n g , s t o r i n ga n de x e c u t i n go ft h e d a n c er o b o t s a c t i o n s c o n s i d e r i n gt h e f l e x i b l ea n d r e a d a b i l e ,a c t i o n s a r ee d i t e di nw i n d o w si n t e r f a c ed e v e l o p e db yt h ea p p l i c a t i o n s o f l w a r eo fv c + + o n p c ;m o r e o v e r ,a c t i o nd a t ac a n b et r a n s m i t t e db e t w e e nt h ep c a n dt h es c m b y r s 2 3 2 i no r d e rt os a v i n gt h ei n p u t o u t p u t ( i o ) p o r t s ,a c t i o n sa r e s t o r e di na t 2 4 c16w i t ht h e1 2 cp o r t s ,w h i c hi se l e c t r i c a l l ye r a s a b l ep r o g r a m m a b l e r e a do n l ym e m o r yr e 2 p r o m ) d a n c i n gi sa c c o m p l i s h e db yd r i v i n g t h ec o n t r o l a c t u a t o r sa n dd c m o t o r s f o r t h e q u a n t i t y o fc o n t r o l a c t u a t o r s ,t h e i d e ao f t i m e s h a r i n gh a n l d i n g i si n t r o d u c e d d c m o t o r sa r ec o n t r o l l e db yt h ec o n t r o ls i g n a l f r o mt h eh i g h s p e e do u t p u t ( h s o ) o f8 0 c l9 6 k c f r o mt h ep o i n to fs c m a p p l i c a n t i o n ,t h ew h o l es y s t e ma d o p t s n o t o n l yr s 一2 3 2 s e r i a lc o m m u n i c a t o n 、1 2 cs e r i a lc o m m u n i c a t o n 、h i g hs p e e do u t p u t ( h s o ) m e n t i o n e da b o v e ,b u ta l s o t i m e r i n t e r r u p t ,e x t e r n a li n t e r r u p t t i m e ri n t e r r u p t g e n e r a t e s c o n t r o l s i n g a l o fc o n t r o la c t u a t o r sa n dd c m o t o r s e x t e r n a li n t e r r u p t m a k e st h ed a n c i n gr o b o ta c ti nt h ec o r r e c to r d e lw h e n t h er o b o tc o m e si n t oc o l l i s i o n w i t ht h ee d g eo ft h es t a g e b o t ho f i n t e r r u p t m a k et h ec o n t r o ls y s t e mm o r e p e r f e c t e d k e y w o r d s :s i n g l ec h i pm i c r o c o m p u t e r , r s - 2 3 2s e r i a lc o m m u n i c a t i o n ,i n t e r 1 2 cb u s ,h i g hs p e e do u t p u t ,t i m e - s h a r i n gh a n l d i n g 1 1 - 西北工业大学硕i 学位论文 第一章绪论 1 1 研究背景 第一章绪论 自1 9 4 6 年美国宾夕法尼亚大学研制世界第一台计算机e n i a c ( e l e c t r o n i c n u m e r i c a li n t e g r a t o ra n dc o m p u t e r ) 以来,计算机的发展经历了四个时代( 电 子管时代、晶体管时代、集成电路时代、大规模及超大规模集成电路时代) 。现 代的计算机大都是大规模集成电路计算机,它们具有功能强、结构紧凑、系统 可靠等特点,其发展趋势是巨型化、微型化、网络化和智能化。微型化是计算 机发展的重要方向,把计算机的运算器、控制器、存储器、输入输出( i o ) 接口四个组成部分集成在一个硅片内,于是就出现了以一个大规模集成电路为 主要组成的微型计算机单片机微型计算机( s i n g l ec h i pm i c r o c o m p u t e r ) , 简称为单片机。 1 1 1 单片机的发展历史 从单片机的发展历史来看,可以分为四个阶段: 第一阶段( 1 9 7 4 1 9 7 6 ) :单片机初级阶段。因工艺限制,此阶段的单片 机采用双片的形式而且功能比较简单。例如仙童公司生产的f 8 单片机,只包 括了8 位c p u ( c e n t r a lp r o c e s s i n gu n i t ,称中央处理器,由计算机的运算 器和控制器组成,是计算机的核心) ,6 4 个字节r a m ( r a n d o ma c c e s sm e m o r v , 随机存取存储器) 和两个并行口,需要加一块具有i k b r o m ( r e a do n l ym e m o r y , 只读存储器) 、定时器计数器和两个并行口的3 8 5 1 芯片才能组成一台完整的 计算机。 第二阶段( 1 9 7 6 1 9 7 8 年) :低性能单片机阶段。此阶段的单片机已为 台完整的计算机,但内部资源不够丰富,以i n t e l 公司生产的m c s - - 4 8 系列为 代表,片内集成了8 位c p u 、8 位定时器计数器、r a m 和r o m 等,但无串行口, 中断系统也比较简单,片内r a m 和r o m 容量较小且寻址范围不大于4 k b 。 西北l 业大学硕士学位沦丈第一章绪论 第三阶段( 1 9 7 8 1 9 8 2 ) :高性能单片机阶段。此阶段的单片机内部资源 丰富,以i n t e l 公司生产的m c s 一5 l 系列为代表,片内集成了8 位c p u 、1 6 位定时器计数器、串行i o 口、多级中断系统、r a m 和r o m 等,片内r a m 和 r o m 容量加大,寻址范围可达6 4 k b 。有的型号内部还带有a d 转换器。 第四阶段( 1 9 8 2 一) :8 位单片机的巩固发展阶段及1 6 位、3 2 位单片机推 出阶段。1 6 位单片机以i n t e l 公司生产的m c s - - 9 6 系列为代表,在片内带有 多通道a d 转换器和高速输入输出( h s i h s o ) 部件,中断处理和实时处理能 力很强。 1 i 2 单片机的特点 综合来看,单片机具有如下明显的特点: 1 )小巧灵活、成本低、易于产品化。能利用它方便组装成各种智能式测控 设备及各种智能仪器仪表,很容易满足仪器设备即智能化又微型化的要求。 2 )可靠性高、使用的温度范围宽。单片机芯片一般是按工业测控环境要求 设计的,能适应各种恶劣的环境。这一特点是其他几种无法比拟的。 3 )易扩展、控制能力强。通过单片机本身或扩展可以方便地构成各种规模 的应用系统及多机和分布式计算机控制系统。 4 ) 指令系统相对简单,较易掌握,且指令中较丰富的逻辑控制功能指令, 能较方便地直接操作外部输入输出设备。 1 1 3 单片机的应用领域 目前单片机的应用已深入到国民经济的各个领域,对各个行业的技术改造 和产品的更新换代起重要的推动作用。 用领域一智能仪器仪表、机电一体化、 方面。 单片机在智能仪表中的应用: 由单片机的特点决定了单片机的主要应 实时控制、民用电子产品和国防工业等 单片机广泛应用于实验室、交通工具、计量等各种仪器仪表之中,使仪器 西北工业大学硕 学位论文 第一章绪论 仪表智能化,提高它们的测量精度,加强其功能,简化仪器仪表的结构,便于 使用、维护和改进。例如:电度表校验仪,电阻、电容、电感测量仪,船舶航 行状态记录仪,烟叶水分测试仪,智能超声波测厚仪等。单片机在该领域的应 用,不仅使传统的仪器仪表发生根本的变革,也给传统的仪器仪表行业的改造 带来了曙光和美好的前景。 单片机在机电一体化中的应用: 机电一体化是机械工业发展的重要方向。机电一体化产品是集机械技术、 微电子技术、自动化技术和计算机技术于一体,具有智能化特征的机电产品, 例如:微电控制的铣床、车床、钻床、磨床等等。单片机的出现促进了机电一 体化的进程,它作为机电产品中的控制器,能充分发挥它的体积小、可靠性高、 控制功能强、安装方便等优点,大大提升了机器的功能,提高了机器的自动化、 智能化程度。 单片机在实时控制中的应用: 单片机也可广泛应用于各种实时控制系统中,如对工业上各种窑炉的温度、 酸度、化学成分的测量和控制。将测量技术、自动控制技术和单片机技术相结 合,充分发挥数据处理和实时控制功能,是系统工作于最佳状态,提高系统的 生产效率和产品的质量。在航空航天、通信、遥控、遥测、工业机器人控制和 实时数据采集系统中都可以用单片机作为控制器。 在军工领域的应用: 利用单片机的可靠性高、适用的温度范围宽。能适应各种恶劣环境的特点 可广泛应用于导弹控制、鱼雷制导控制、智能武器装备、航天飞机导航系统等 领域。 单片机在分布式多机系统中应用 利用单片机可以构成分布式测控系统,系统中有若干台由单片机组成的功 能各异的仪器设备,它们通过通信相互联系,各自完成特定的任务,协调完成 整个任务,能同时采集或处理的信息更多,使单片机的应用进入了一个新水平。 在民用电子产品中的应用: 单片机在民用电子产品中的应用,能明显提高产品的性能价格比,提高产 西北工业大学硕士学位论文第一章绪论 品在市场上的竞争力,受产品开发商和用户的双重青睐。目前高档的家用电器、 电子玩具等几乎都是由单片机来做控制器。 1 1 4 单片机应用系统的结构 基本系统 单片机的基本系统也称最小系统,这种系统所选择的单片机内部资源已能 满足系统的硬件要求,不需要外接存储器或i o 口。这种单片机内含有用户的 程序存贮器( 用户程序写入到内部只读程序存储器) 。例如:e p r o m 型单片机、 e 2 p r o m 型单片机、f l a s hm e m o r y 型单片机、定制的r o m 型单片机。 单片机基本系统结构如图1 - 1 所示。 堕 片 机 图1 - l单片机基本系统结构 扩展系统通过单片机的并行扩展总线( 地址总线a b 。数据总线d b 、控制总 线c b ) 或串行扩展总线( 如s p i 或i 2 c b u s ) 在外部扩展程序存贮器、数据存贮 器、i o 接口等,以弥补单片机的不足,满足特定的应用系统的软硬件要求。 单片机扩展系统结构如图1 - 2 所示。 图1 2 单片机扩展系统结构 总线 西北工业大学颂l :学位论文 第一章绪论 1 2 论文内容及各章安排 论文来源于2 0 0 3 年全国舞蹈机器人大赛。开发和设计了以单片机8 0 c 1 9 6 k c 为控制核心的基本完整的舞蹈机器人控制系统。整个控制系统实现了舞蹈机器 人的动作编辑、动作存储、动作执行三部分功能。从论文内容来讲,首先介绍 了控制系统中用到的理论知识,然后重点分析了系统的硬件设计与软件编程。 论文中各章安排如下: 第一章:绪论。主要介绍论文的背景、来源、主要研究内容等。 第二章:8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用。主要介绍与机器人控 制系统相关的时钟信号、存储空间、中断系统、高速输出h s o 等8 0 c 1 9 6 k c 控制器的结构与功能。 第三章:舞蹈机器人用到的通信原理。一部分是1 2 c 总线,主要介绍1 2 c 的电器特性与结构、数据传输格式及可用i 2 c 进行存取的a t 2 4 c x x 系列的 e 2 p r o m 。另一部分是r s 2 3 2 串行通信,主要介绍与r s 2 3 2 串行通信有关的 数据传输形式与标准、时钟信号、传输速率、连接方式、通信规程及r s 2 3 2 接口。 第四章:舵机与直流电机的结构及控制原理。主要介绍舵机与直流电机的 结构、工作原理及控制方式。 第五章:舞蹈机器人控制系统的硬件设计。主要介绍舞蹈机器人控制系统 中的电源模块、8 0 c 1 9 6 k c c p u 及外围电路模块、串行通信模块、a t 2 4 c 1 6 存 储模块、舵机的驱动模块、直流电机驱动及边缘控制模块的硬件结构。 第六章:舞蹈机器人控制系统的软件设计。主要介绍了p c 机的程序设计, 对应丁 硬件各模块的单片机程序设计,并给出了详细的程序流程图。本章最后, 讨论了整个舞蹈机器人控制系统中的软硬件抗干扰设计。 第七章:舞蹈机器人控制系统的分析和总结。主要对整个系统的硬件与软 件的关键部分进行了强调性的说明。最后对系统的正确性和合理性做出了肯定。 第八章:结柬语。对论文进行总结并提出后续工作的方向。 两北工业大学坝 :学位论文 第二章8 0 c 1 9 6 k c 拄制器在舞蹈机器人中的施用 第二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 c p u 是舞蹈机器人控制系统的心脏。舞蹈动作的存储、舞蹈动作的读取、 舵机与直流电机的控制等都必须通过c p u 直接控制来协调,它的性能决定了整 个控制系统的优劣。因而,对于c p u 的选择至关重要。 m c s 一9 6 系列单片机是继m c s - - 5 1 后的1 6 位高性能单片机,特别适用于各 类自动控制系统,如工业过程控制系统、p w m 电机控制系统、伺服系统( 随动 系统) 、分布式控制系统等。其中i n t e l 公司的8 x c l 9 6 x x 是一系列高性能的 c h m o s l 6 位单片机。c h m o s 芯片耗电量少,除正常工作外还可以工作于两种结点 方式:待机方式和掉电方式,进一步减少了芯片的功耗。 i n t e l 的c h m o s l 6 单片机集成在单片机内的“外围设备”花样繁多,包含 时钟发生器,i 0 口,a d 转换,p w m ,串行口,定时器计数器,监视定时器, 高速输入输出( h s i h s o ) 等各种基本外设外,有的单片机还包含外部服务器 p t s 、事件处理器阵列e p a 、波形发生器、频率发生器等外设功能。在舞蹈机器 人的控制系统,选用了8 0 c 1 9 6 k c 控制器。因此,本章主要围绕8 0 c 1 9 6 k c 控制 器进行说明。 2 18 0 c 1 9 6 k c 的时钟信号 在舞蹈机器控制系统中,舞蹈动作的执行顺序是靠定时器中断来控制的, 对时间的要求较高。因而必须对8 0 c 1 9 6 k c 的时钟信号准确理解。 2 1 1 片内振荡器 8 0 c 1 9 6 k c 的片内振荡器电路包含一个晶体控制的正电抗振荡器,它与外 部晶体和外部电容的连接方法见图2 - - 1 。x t a l l 脚是内部反相器的输入端, 而x t a l 2 脚是该放大器的输出端。在晶体振荡器中,晶体工作于基本响应模 式,它作为一个感抗与外部电容形成并联谐振,使正反馈放大器维持振荡。振 西北工业大学硕士学位论文 第二:章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 荡器的工作受而信号( 掉电方式位) 的控制。当一p d - - - - 0 时,片内振荡器电路 中的一个n 型沟道m o s 开关处于截止状态,使振荡器停振。 2 1 2 内部时序 图2 1 外部晶体连接图 8 0 c 1 9 6 k c 的状态周期由振荡器信号2 分频后获得,它是芯片工作的基本时 间单位。当采用1 2 m h z 晶振时,8 0 c 1 9 6 k c 的状态周期为1 7 6 n s 。8 0 c 1 9 6 k c 定时 器在系统中作实时时钟用时,其时钟信号来自内部时钟发生电路,每8 个状态 周期计数器加l ,1 6 位计数器计满时,能触发一个溢出中断。由此可以计算: 产生0 2 5 秒的定时器中断,需要给定时器的寄存器赋值f f 4 4 h 。计算公式如下: ( 删唧一野4 4 h ) x 6 8 = 2 5 0 m s 式中,8 表示定时器记1 个数需要8 个状态周期: 6 表示外接1 2 m h z 晶振时,8 0 c 1 9 6 k c 预分频后得到的频率6 m h z ; 2 28 0 c 1 9 6 k c 的存储空间 8 0 c 1 9 6 k c 的存储器布局如图2 2 所示。其中0 0 0 0 h 0 1 f f h 单元和 i f f f h 2 0 8 0 h 单元是有专门用途的,所有其它单元可以用于放置程序、数据或 由按存储器映射的外部设备占用。 从8 0 c 1 9 6 k c 的存储器布局图可以看出:o o o h 到o f f h 属于专用寄存器和 寄存器阵列部分。其中o o h o i t h 是专用寄存器区,除了p 3 和p 4 外,8 0 c 1 9 6 k c 的所有其它片内外设装置都由这些专用寄存器控制,像程序中用到的c c r 、 h s o _ c o m m a n d 、i n t m a s k 、i n tm a s k i 、i o c o 、l o c l 、i c 0 2 、i o c 3 、t e m e 2 等各 种寄存器都位于此区:o i 8 h o f f h 是寄存器阵列,程序中定义的各种寄存器都 两北t 业大学硕上学位论文 第二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 位于此区。程序中用的中断向量有:外部中断,其向量单元为2 0 0 e h :串j 亍 接收中断,其向量单元为2 0 3 2 h :定时器中断,其向量单元为2 0 0 0 h 。需要说明 的是:8 0 c 1 9 6 k c 有两个定时器,分别为定时器1 与定时器2 。在控制系统中, 定时器溢出中断用的是定时器2 :t t s o 产生p w m 波是以定时器1 作为时间基准。 8 0 c 1 9 6 k c 单片机不同于m c s 5 l 系列的单片机,它的程序是从2 0 8 0 h 单元开 始执行的。因此,在设计中,编辑的程序必须放到2 0 8 0 1 1 单元处,以保证程序 的正确执行。 外部存储器或i o 内部r o m e p r o m 或外部存储器 保留 p t s 向量 高端中断向量 r o m e r p r o m 密钥 保留 芯片配置字节 保留 低端中断向量 p o r t 3 幂口p o r t 4 外部存储器 附力w r a m 寄存器阵列和专用寄存器 o f f f f t i 6 0 0 0 h 图2 - 28 0 c 19 6 k c 单片机的存储布局 2 38 0 c 1 9 6 k c 的中断系统 8 0 c 1 9 6 k c 提供了2 8 个中断源,1 8 个中断向量。其中非屏蔽中断n m i 、 软件陷阱中断t r a p 和非法操作码中断是3 种特殊的中断源。各占一个专门的 中断向量:其余2 5 个中断源分享1 5 个中断向量。结合舞蹈机器人控制系统, 以下主要对外部中断、串行口中断、定时器溢出中断的操作进行介绍。 2 3 1 外部中断e x i n t 和p 0 7 ( a c h 7 ) 8 0 c 1 9 6 k c 由2 个外部中断向量:e x i n t ( 2 0 0 e h ) 军d e x i n t i ( 2 0 3 0 h ) 。e x i n t 咖朗叶叶饼虬褂甜m矸岍洲删 裟裟篇篇篇篇一 西北工业大学硕士学位论文 第二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 可供2 个中断源使用,一个是外部中断引脚p 2 2 ( e x l n t ) ,另一个是 p 0 7 ( a c h 7 ) ,由i o c i 1 确定选择哪一个中断向量。中断向量e x i n t l 只供外 部中断引脚p 2 2 使用,也就是说,当不采用p o 7 外部中断时,p 2 2 的中断向 量是e x i n t ,当采用p o 7 作外部中断时,p o 7 的中断向量是e x l n t ,而p 2 r 2 的中断向量是e x i n t l 。 在舞蹈机器人设计中,采用p o 7 作为前后左右四个碰撞丌关的外部中断, 其中断向量为e x i n t ,初始化程序如下: a n d b i o c l ,# 0 f d h;选择p 0 7 为e x t l n t 的中断源 o r b i m a s k ,# 8 0 h;允许e x t i n t 中断 2 3 2 串行口中断 8 0 c 1 9 6 k c 中的串口有4 种操作模式,模式0 是同步的,其他是异步的, 模式2 与模式3 一起用于多机通信,两者的帧格式相同,模式1 可用于单机通 信的异步传输。异步模式是全双工的,即能同时收发。串行通信的两个主要寄 存器是控制寄存器s p c o n 和状态寄存器s p _ s t a t 。串行通信的操作模式是通 过s p c o n 的s p c o n 0 和s p c o n 1 来选择的;s l c o n 3 是指定串行通信 是否迸行奇偶校验:s c o n 4 是指定串行通信是否允许接收:s pc o n 7 是指 定发送时编排的第9 位数据,一般用于模式2 与模式3 种;s ps t a t 5 是t i 发 送中断标志;s ps t a t 6 是i u 接收中断标志。 串行1 5 的波特率决定于1 6 位波特率寄存器b a u d r e g 的内容。该寄存器 应以连续2 个字节装载之,低位字节在先。寄存器的最高位用于选择波特率发 生器的输入频率源。最高位为1 ,选用x t a l l 频率( 即振荡器频率) ,否则选 用来自t 2 c l k 引脚的外部频率。波特率的低1 5 位表示一个无符号整数b ,不 同模式下的波特率可用以下一些公式计算: 采用x t a t l l 时 模式o : 波特率= x t a l l 频率4 ( b + 1 ) ,b v a 0 两北工业犬学硕j :学位论文第二章8 0 c 1 9 6 k c 埠塑强垄塑堕坐堡! 塑丝:! ;:笪 其他模式:波特率= x n 玎1 频率6 4 ( b + 1 ) 采用t 2 c l k 时 模式0 :波特率= t 2 c l k 频率1 3 ,b 0 其他模式:波特率= t 2 c l k 频率1 6 b ,b o 与串行口有关的中断向量有3 个:发送中断t i ( 2 0 3 0 h ) ,接收中断r i ( 2 0 3 2 h ) 和串行中断s e r i a l ( 2 0 0 c h ) 。一般而言,发送和接收最好分别使用t i 和r i 中 断向量,同时禁止s e r i a l 中断。 在舞蹈机器人设计中,单片机与p c 机的通信采用的是异步全双工串行通 信。对应于8 0 c 1 9 6 k c 单片机,采用模式l ,无奇偶校验,波特率是9 6 0 0 ,选 用x t a t l 为输入频率源,则装入波特率寄存器的值是8 0 1 3 h 。在串行通信中, 从p c 机上接收数据是利用串行接收中断的方法,向p c 机发送数据是利用查询 的方法,即查询s ps t s t 的第6 位。其初始化程序如下: o r bi o c l # 2 0 h l d bb a u dr e g ,# 1 3 h l d b b a u d r e g ,# 8 0 h l d bs pc o n # 0 1 h ;选通t x d 引脚功能 ;设波特率位9 6 0 0 ;设置串行口模式1 ,不进行奇偶校验 s e n d d a t a : t i w a i t : l d b s p t e m p ,s ps t a t;暂存状态寄存器 j a ss p t e m p ,5 ,s e n d d a t a ;判断数据是否发送结束,没有继续等 待,否则。发送下一个数据 s j m pt i a i t o r b i m a s k l ,# 0 3 h:开放1 1 和r j 中断 a n d b i m a s k ,# 0 b f h;禁止s e r i a l 中断 西北丁业大学硕p 学位论文第二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 2 3 3 定时器溢出中断 在8 0 c 1 9 6 k c 中,定时器1 溢出和定时器2 溢出都可产生中断,它们共享 一个中断向量,向量单元为2 0 0 0 h 。中断可分别由i o c l 的位2 和位3 选通。 i o c l 2 = l ,允许t l 溢出中断;i o c i 3 = l ,允许t 2 中断。若同时允许t 1 和 t 2 中断,则进入中断服务程序后,可以靠i o s l 的位4 和位5 确定是由哪个定 时器溢出造成的中断,以控制程序流向,i o s l 4 = 1 表示t 2 溢出,i o s l 5 表示 t l 溢出。当两者有可能同时溢出时,可用软件来确定优先级:先查询i o s l 4 的状态,则t 2 溢出中断优先得到响应,反之亦然。 此外,t 2 还单独设立了一个中断向量,向量单元为2 0 3 8 h ,它的优先级高 于定时器溢出中断。t 2 溢出中断的屏蔽位是i n tm a s k 4 。 靠p 2 7 引脚上出现的上升沿触发一次定时器2 的捕捉功能,这也会产生一 次中断,其向量单元为2 0 3 6 h ,屏蔽位为i n tm a s k l 3 。 在舞蹈机器人的设计中,由于定时器1 已作为h s o 的时间基准。因而采用 定时器2 中作为舞蹈机器人的时间控制。其中断向量单元为2 0 0 0 h ,每0 2 5 秒 中断一次,t i m e r 2 应转载的值为f f 4 4 h ,其初始化程序如下: p u s h a ;利用窗口技术访问寄存器 l d bw s r 拌1 o r b i o c 3 ,# 0 1 h;i o c 3 0 = 1 ,定时器2 采用内部时钟 p o p a o r b i o c l ,# 0 4 h;i o c l 3 = 1 ,允许t 2 溢出中断 o r b i n t _ _ m a s k ,# 0 1 h;1 n t _ m a s k 0 = 1 ,打开定时器溢出中断 l d t i m e r 2 ,# 0 f f 4 4 h;f e 4 4 h 为o 2 5 m s 中断一次 西北工业人学坝 :学位论文 第一二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 2 4 高速输出器h s o 高速输出器h s o 用于按程序设定的时问去触发某一事件,要求c p u 的开销 极少,所以速度很高。被触发的事件包括:启动a d ,复位定时器2 ,设置4 个软件定时器标志和接通多达6 根输出线( h s 0 o h s o j ) ,同一时刻可以挂号 8 个事件。当事件被触发时,还会发生中断请求。 2 4 1h s 0c a m 阵列 c a m 是按内容寻址存储器( c o n t e n ta d d r e s s a b l em e m o r y ) 的英文缩写, 也称相联存储器,它不是根据地址而是根据所存信息的全部特征或部分特征进 行存取的存储器。在h s o 中,这个特征就是被设置的、用于触发事件的时间。 c a m 阵列是h s o 的核心控制部分,它由8 个2 4 位的存储器组成。每个存储器的 1 6 位用于存放触发某一事件的时间,8 位用于存放命令。每一个状态周期,来 自定时器的时间与c a m 中一个预定的时间进行比较,比较结构相符,说明触发 某一事件的时间已到,就读出c a m 这一项的内容,产生事件的触发信号。 h s oc o m m 舭n d i 76543210 c a m t m r 2 s e t i n t c h a n n e l l o c k 凇i c l e a r i n t 一锁定c a m 中的事件( 若i o c 2 6 = i ) 一定时器2 辰时器l 位置活礤 一中断历评面 0 5 :分别为h s o o h s o 5 6 :h s o o s u h s o 1 ( 同时) 7 :h s o 2 茅u h s o 3 ( 同时) 8 b :软件定时器o 3 c d :保留 e :复位定时器2 启动a d 转换 图2 - 3h s o 命令格式 姒俪 一一胛慨端笫裟 叫啡 旺 叫“ 西北工业大学硕二 学位论文第二章8 0 c 1 9 6 k c 拄制器存舞蹈机器人中的应用 h s o 的命令格式见图2 3 。其中低4 位产生的1 6 种代码规定6 个通道被触 发事件的性质。位4 决定是否产生中断,位5 决定输出的事件触发信号的性质, 但它对通道0 8 o f h 是不起作用的。位6 决定采用哪个定时器作为时间基准。 把命令和预定触发时间写入c a m 阵列的步骤如下:先把命令写入h s o 命令 寄存器( 0 0 0 6 h ) ,然后把时间写入h s o 时间寄存器( 0 0 0 4 h 和0 0 0 5 h ) ,在执行后 一操作时,会自动地把命令和时间装入到h s o 保持寄存器中,这时若有空闲的 c a m 寄存器,上述数据就会进一步装入到c a m 阵列中,否则就只能在保持寄存 器中等待而不能进入。每触发一个事件,c & m 就空出一个位置,可用于存放新 的数据。一个数据进入c a m 需花8 个状态周期,因而在不到8 个状态周期写入 2 个数据,则后一个数据就会把前一个数据覆盖掉。 写入一条命令的一般格式是: l d bh s 0c o m m a n d ,# w h a t t o d o a d dh s o _ t i m e ,t i m e r i ,# 斯h e n t o d o it 例如,用下列2 条命令: l d bh s o _ c o m m a n d ,# o o l 0 0 1 0 0 b a d dh s o _ t i m e ,t i m e r l ,# 4 这样,就可以在指令执行完后1 6 3 # s ( 若用1 2 m h z 晶振) 把h s o 4 设置为 1 ,不引起中断。装入到时间寄存器的最短时间因为t i m e r l + l ( 上例为4 ) ,再 短一些,有可能使定时器匹配时间比预期的时间晚6 5 6 3 6 个数( 约8 7 5 m s ) 。 每个状态周期检查c a m 中的一个单元,故保持寄存器访问完所有8 个c a m 寄存器需8 个状态周期。类似地,比较器访问完所有8 个c a m 寄存器也要花8 个状态周期。这就决定了h s o 的时间分辨率为8 个状态周期,在晶体为1 2 m h z 时,相当于4 3 p s ,这正是定时器1 的分辨率。也就是说,定时器l 所能分辩 的每一时刻,可以把c a m 中的8 个单元时间比较一遍,请注意,比较器并不访 问保持寄存器,故保持寄存器中的指令不会被执行的。 两北t 业大学硕士学位沧文第二章8 0 c 1 9 6 k c 控制器在舞蹈机器人中的应用 2 4 2h s o 的清除与锁定 在8 0 c 1 9 6 k c 的h s o 命令寄存器中,定义了c a m 锁定( l o c k ) 位。把条命令 写入h s oc a m 中时,在命令中设置c a m 锁定位( h s o _ c o m m s n d 7 = 1 ) ,可以使该 命令保持在c a m 中,否则,产生一次h s o 造成的事件,就会把c a m 中的相应的 命令清除掉。c a m 锁定功能必须靠设置i o c 2 6 = 1 来选通。为了从c a m 中清除被 锁定的事件,可以向c a m 清除位i o c 2 7 写入l ,这一操作将把整个c a m 寄存器 组的内容全部清除掉。使芯片复位也可以清除c a m 。没有办法单独清除一项被 锁定的命令。 2 4 3 在舞蹈机器人中用h s o 产生p w m 为了节省c p u 的开支,在舞蹈机器人控制系统中,利用h s o 来产生p w m 以 控制直流电机。通过上边的介绍,可以知道,只要使h s o 的6 个输出引脚按照 一定规律置高电平或置低电平,就可以产生p w m 波。在设计中,是按以下规律 来产生p w m :每当定时器计数到f f f f h 时,就使h s o 0 与h s o 1 变为低电平; h s o 0 与h s o 1 变为高电平的定时器计数个数取决于舞蹈动作数据,个数越接 近f f f f h ,经过反相光电隔离后,产生的p w m 高电平时间越长,也就是p w m 脉 宽越大,所产生的p w m 的平均电压也越大,直流电机的转角速度就越大,即控 制了直流电机的转速。 2 5 8 0 c 1 9 6 k c 的复位电路及各个引脚的复位状态 8 0 c 1 9 6 k c 有3 中复位方式( 1 ) 上电复位和手动复位:( 2 ) 监视定时器复位; ( 3 ) 靠复位指令复位。其复位电路如下图2 4 所示,主要是针对手动复位,有利 于程序的调试。 西北工业大学预二学位论文 第一章8 0 c 1 9 6 k c 控制器在藤蹈机器人中的应用 幽2 48 0 c 1 9 6 k c 复位电路图 关于8 0 c 1 8 6 k c 各个引脚的复位状态,主要说明一下几点:作为舵机 控制的p l 口,复位值为高电平,经过反相光电隔离后,可使舵机保持原来状态: 作为控制直流电机的h s 0 0 和h s 0 1 复位值为低电平,这样会使直流电机全 速转动。这样在给机器人上电后,必须执行一次h s 0 子程序,以使h s 0 0 和h s 0 1 输出高电平,以保持机器人的起始动作。对于没有用到的引脚应加驱动,不 要浮置。 晤北工业大学硕士学位论义 第三章舞蹈机器人用到的通信原理 第三章舞蹈机器人用到的通信原理 在舞蹈机器人的设计中,用到1 2 c 总线和r s 2 3 2 串行通信两种通信方式, 1 2 c 总线用于舞蹈动作的存取:r s 2 3 2 用于p c 机与单片机的通信。1 2 c 总线只 需要两条线,有利于节省单片机的i o 口。r s 一2 3 2 与p c 机上的c o m 接口标 准一致,可与单片机进行串行通信。本章分为两部分,对1 2 c 总线和r s 一2 3 2 分 别进行介绍。 3 1 用于动作存取的i2 c 总线 1 2 c ( i n t e r i c ) 总线是英文i n t e r i cb u s 或i ct 0i cb u s 的简称,十多年前 由p h i l i p s 公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线 标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封 装形式小,通信速度较高等优点。在主从通信中,可以有多个1 2 c 总线器件同 时接到i 2 c 总线上,所有1 2 c 兼容的器件都有标准的接口,通过地址来识别通 信对象,使它可以经由1 2 c 总线相互直接通信。此总线设计对系统设计及仪器 制造都有利因而可增加硬件的效率及简化电路,同时可以提高仪器设备的可 靠性,以及解决很多在设计数字控制电路上所遇到的接口问题。 1 2 c 总线是由数据线s d a 和时钟线s c l 构成的串行总线,可发送和接受数 据,在c p u 与被控i c 之间、i c 与i c 之间进行双向传送,最高传送速率为 4 0 0 k b s 。各种被控制电路均并联在这条总线上,就像电话机一样只有拨通各自 的号码才能工作,所以每个电路和模块都有唯一的地址。在信息的传输过程中, 1 2 c 总线上并联的每一模块电路既是主控器( 或被控器) ,又是发送器( 或接收 器) ,这取决于它所要完成的功能。c p u 发出的控制信号分为地址码和数据码 两部分:地址码用来选址,即接通需要控制的电路,确定总线通信的器件:数 据码是通信的内容。这样,各控制电路虽然挂在同条总线上,却彼此独立, 互不干扰。 两北工业大学硕l 学位论文 第三章舞蹈机器人用到的通信原理 3 1 ii2 c 的电气特性与结构 1 2 c 器件与1 2 c 总线的连接见图3 。1 。为了避免总线信号的混乱,要求各设 备连接到总线的输出端必须是开路输出或集电极开路输出的结构。在图3 1 中,s d a 及s c l 为双向线,用上拉电阻接到电源正极。当总线空闲时,此两 线都是“高”。设备上的串行数据线s d a 应该是双向的,输出电路用于向总线 上发数据,输入电路用于接受总线上的数据。串行时钟也是双向的,在总线上 作为控制数据传送的主机要通过s c l 输出电路发送时钟信号,同时要检测总线 上的s c l 上的电平,以决定什么时候发下一个时钟脉冲电平;作为接受主机命 令的从机,要按总线上的s c l 信号发出或接受s d a 上的信号,也可以向s c l 线发出低电平信号以延长总线时钟信号周期。总线空闲时,因各设备都是开路 输出,上拉电阻鼢使s d a 和s c l 线都保持高电平。任一设备输出的低电平都 使响应的总线信号线变低,也就是说各设备的s d a 是“与一关系,s c l 也是 “与”关系。由于不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 61325:1995 EN-D Insulators for overhead lines with a nominal voltage above 1000 V - Ceramic or glass insulator units for d.c. systems - Definitions,test methods and acc
- 【正版授权】 IEC 61753-084-02:2025 EN-FR Fibre optic interconnecting devices and passive components - Performance standard - Part 084-02: Non connectorised single-mode 980/1550 nm WWDM d
- 【正版授权】 IEC 61089:1991 FR-D Round wire concentric lay overhead electrical stranded conductors
- 【正版授权】 IEC 60665:1980 FR-D A.C. electric ventilating fans and regulators for household and similar purposes
- 【正版授权】 IEC 60364-7-705:2006 EN-D Low-voltage electrical installations - Part 7-705: Requirements for special installations or locations - Agricultural and horticultural premises
- 周围性面神经麻木护理措施
- 护理进修学习成果汇报
- 青花瓷映沧海:智慧与传承的汇报
- 酱酒烤酒知识培训课件
- 2025年结核病工作方案
- 知识图谱-课件
- 百年战争简史
- 2023年托幼机构幼儿园卫生保健人员考试题库及参考答案
- 2023年IDSA念珠菌病指南中文翻译
- 天生为卤人生为盐 课件
- 中医护理耳穴压豆课件
- YS/T 713-2009干式变压器用铝带、箔材
- YB 4068-1991热轧环件
- 阿尔茨海默病康复课件
- 老年人常见病防治与中医养生课件
- 雨果与《巴黎圣母院》课件
评论
0/150
提交评论