基于AVR的移动小车通信与控制软件设计.doc

上传人:h**** 文档编号:128932 上传时间:2018-07-09 格式:DOC 页数:74 大小:1,017.50KB
下载 相关 举报
基于AVR的移动小车通信与控制软件设计.doc_第1页
第1页 / 共74页
基于AVR的移动小车通信与控制软件设计.doc_第2页
第2页 / 共74页
基于AVR的移动小车通信与控制软件设计.doc_第3页
第3页 / 共74页
基于AVR的移动小车通信与控制软件设计.doc_第4页
第4页 / 共74页
基于AVR的移动小车通信与控制软件设计.doc_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、 I 摘 要 本文主要介绍 了 基于 AVR 的移动小车通信与控制软件设计。 AVR 单片机是 ATMEL 公司推出的世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体,它的 EEPROM 电可擦除技术、闪速存储器 技术和质量、高可靠性的生产技术,在 COMS 器件生产领域中, ATMEL 的先进设计水平、优秀的生产工艺及封装技术一直处于世界的领先地位。 软件设计的 核心芯片选用 8 位的 AVR 单片机 ATmega32。 采用 C 语言设计单片机应用系统程序, C 语言具有良好的程序结构 , 适用于模块化程序设计 。 通过 C 语言 编译器ICC AVR 和 集成开发环境 A

2、VR studio 编译和写入硬件 。 连接 PC 机进行程序调试, 按下键盘“ m”“ n”和空格键,在 PC 机中中能正确显示。按下键盘“上”“下”“左”“右”键, 小车 能 按照键盘的指示,左转、右转, 或者 前进、后退。 软件编程主要 是 依据 PS/2 键盘协议 的 , 它是 一种双向同步串行协议。每次数据线上发送一位数据并且每在时钟线上发一个脉 冲就被读入。键盘可以发送数据到主机,而主机也可以发送数据到设备 , 但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘的通讯,只要把时钟 拉低即可。 所有数据安排在字节中,每个字节为一帧 ,包含了 11-12 个位 。 程序 写入后

3、 , 小车能按照键盘的指示正常运行 。 关键词 : AVR 单片机 ; 移动小车; C 语言; PS/2 键盘协议 II Abstract The article mainly introduced based on the AVR traversing crane correspondence and the control software design. The AVR microcontroller is in the world which ATMEL Corporation promotes the famous high performance low power loss no

4、nvolatile storage and digital integrated circuits first-class semiconductor, its EEPROM electricity may clean the technology, dodge the fast memory technology and the quality, the redundant reliable production technology, in the COMS component realm of production, the ATMEL advanced design horizonta

5、l, the outstanding technique of production and the seal technology has been in the world the leading position. Software designs core chip selects 8-bit AVR microcontroller ATmega32. Uses the C language design monolithic integrated circuit application system procedure, the C language has the good pro

6、gram structure, is suitable in the modularized program design.Through C language compiler ICC AVR and integrated development environment AVR studio translates and reads in the hardware. Connects PC machine to carry on the program debugging, presses down the keyboard m n and the space bar, can demons

7、trate correctly in PC machine. Presses down the keyboard up down left right the key, the car can defer to keyboards instruction, advance, backlash,or left-turn,right-turn. The software programming is mainly based on the PS/2 keyboard protocol, its a bidirectional synchronous serial protocol. Data is

8、 sent one bit at a time on the Data line and is read on each time Clock is pulsed. The keyboard/mouse can send data to the host and the host can send data to the device, but the host always has priority over the bus and can inhibit communication from the keyboard/mouse at any time by holding Clock l

9、ow. All data is arranged in bytes with each byte sent in a frame consisting of 11-12 bits. After the procedure reads, the car can defer to keyboards instruction normal operation. Key words: AVR microcontroller; Traversing crane; C language; PS/2 keyboard protocol III 目 录 1 绪 论 . 1 1.1 AVR 单片机的发展过程及现

10、状 . 1 1.2 基于 AVR 的移动小车设计原则 . 1 1.3 课题背景及意义 . 2 1.4 论文结构 . 2 2 AVR 单片机简介 . 4 2.1 AVR 单片机的主要特征 . 4 2.2 AVR 单片机的选型 . 6 2.3 AVR 单片机的型号标识解析 . 7 3 移动小车硬件与编程环境 . 9 3.1 硬件电路原理图 . 9 3.2 主要元器件的工作原理 . 10 3.3 软件开发工具 . 11 3.3.1 C 编译器 . 11 3.3.2 集成开发环境 . 16 4 PS/2 简介 . 17 4.1 PS/2 键盘协议 . 17 4.1.1 概述 . 17 4.1.2 设备

11、到主机的通讯 . 17 4.1.3 主机到设备的通讯 . 20 4.2 PS/2 键盘接口 . 22 4.2.1 PS/2 接口简介 . 22 4.2.2 扫描码 . 23 4.2.2 通码、断码和机打重复率 . 23 4.2.3 命令集 . 24 5 程序 设计 . 26 5.1 移动小车的结构框图 . 26 5.2 单片机 C 语言的主要特点 . 26 IV 5.3 主流程图 . 27 6 运行结果 . 29 6.1 程序下载方法 . 29 6.2 系统运行结果 . 32 结 论 . 34 致 谢 . 35 参考文献 . 36 附录 A: 英文原文 . 37 附录 B: 中文翻译 . 49

12、 附录 C: 程序代码 . 58 1 1 绪 论 1.1 AVR单片机 的发展过程及现状 早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS 单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观;此间虽有某些精简指令集单片机( RISC)问世,但依然沿袭对时钟分频的做法。 ATMEL 公司是世界上著名的高性能、低功耗、非易失性存储器和数字集成电路 的一流半导体制造公司。 20 世纪 90 年代初 , ATMEL率先把 MCS-51 内核与其擅长的 Flash技术相结

13、合,推出轰动世界的 AT89 系列单片机。 1997 年, ATMEL 挪威设计中心出于市场需求考虑,充分发挥其 Flash 技术优势,推出全新配置的精简指令集( RISC)单片机,简称 AVR。几年来, AVR 单片机已形成系列产品,其 Attiny, AT90, Atmega 分别对应为低、中、高档产品。 电子技术如今迅猛发展 , 尤其是单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表、机器人制作等领域 , 使产品功能、精 度和质量大幅度提高 ,且电路简单,故障率低,可靠性高,成本低廉。 AVR 单片机价格低廉、可擦除 1000 次以上,不再有报废品产生,且对掉电后数据的

14、保存带来方便,来电时能记住掉电时的工作状态,给用户带来极高的可靠性,受到一致好评。 1.2 基于 AVR的移动小车设计原则 可靠性:系统应保证长期安全地进行。系统中的硬软件及信息资源应满足可靠性的设计要求。 安全性:系统应具有必要的安全保护和保密措施。 抗干扰性:系统应具有较强的抗干扰性,对各类用户的误操作应有提示或自动消除的能力。 适应性:系统应对不断发展和完善的统 计核算方法,调查方法和指标体系具有广泛的适应性。 2 可扩充性:系统的硬件应具有扩充升级的余地,不可因硬软件扩充、升级或改型而使原有的系统失去作用。 实用性:注重采用成熟实用的技术,使系统建设的投入产出比最高,能产生良好的社会效

15、益和经济效益。 先进性:在实用的前提下,应尽可能跟踪国内外最先进的计算机硬软件技术、信息技术及网络通信技术,使系统具有较高的性能指标。 易操作性:贯彻面向最终用户的原则,使用户操作简单直观,易于掌握。 1.3 课题背景及意义 近十几年来,随着移动通信技术飞速发展,越来越多的信息采集和 远程控制系统采用了无线数据传送技术,它与有线数传相比主要有布线成本低、安装简便、便于移动的优点,而且随着互联网技术的迅猛发展和快速普及,越来越多的基于单片机为微控制器的的 测控设备或智能仪器仪表都需要通过互联网上进行数据交换或传输数据。 随着技术的飞速发展,单片机的应用范围日益广泛,已远远超出了计算机科学的领域。

16、小道玩具、信用卡,大到航天器、机器人,从实现数据采集、过程控制、模糊控制等智能系统到人类的日常生活,到处离不开单片机,而 AVR 的应用目前占主导地位,研究它的发展和应用具有现实意义。 移动小车的设计也是 对移动机器人技术的延伸, 移动机器人是近年来发展起来的一门综合学科,集中了机械、电子、计算机、自动控制以及人工智能等多学科最新研究成果,代表了机电一体化的最高成就。移动机器人在工业生产中常用来完成运输和上下科等任务,同时也被广泛用于农业、医疗、军事等不同行业。 虽然移动机器人的概念和工作硬件已经出现了几十年,但是近年又不断发生的自然灾害和持续的军事冲突,促使世界各国工程师以新的眼光去重视机器

17、人技术。移动机器人技术的范围广泛,从带摄像头的独轮车,到携有军事装备的无人驾驶飞机,它可以挽救无数人的生命,因此成为最有 希望的开发项目。 本设计就是在 Atmega32 单片机的基础上将小车的通信与控制智能化,便于人们使用和改进,并能在此基础上做进一步的开发。 1.4 论文结构 本论文 主要介绍了基于 AVR 单片机的移动小车控制与通信 软 件设计,共从以下 六3 部分进行了介绍: 第一部分介绍了 AVR 单片机 的发展过程及现状,设计原则以及课题相关的背景和意义 ; 第二部分 对于 AVR 单片机 的主要特征、选型和型号标识 做了介绍; 第 三 部分 介绍了小车的 部分 硬件和开发环境 ;

18、 第 四 部分对 PS/2 键盘协议和接口 进行了说明 ; 第 五 部分是 程序设计部分, 介绍了 移 动小车的结构框图, 单片机 C 语言编程的 主要特点 和 程序的主流程图 ; 第 六 部分介绍了 移动小车的程序下载方法和系统运行 结果。 4 2 AVR 单片机简介 2.1 AVR单片机 的主要特征 高可靠性、功能强、高速度、低功耗和低价位 , 一直是衡量单片机性能的重要指标,也是单片机占领市场、赖以生存的必要条件。 AVR 单片机废除了机器周期,抛弃复杂指令计算机 ( CISC) 追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中 ( 指令

19、集中占大多数的单周期指令都是如此 ) ,取指周期短,又可 预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。 AVR 单片机硬件结构采取 8 位机与 16 位机的折中策略 , 即采用局部寄存器存堆 ( 32个寄存器文件 ) 和单体高速输入 /输出的方案 ( 即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑 ) 。提高了指令执行速度 ( 1Mips/MHz) ,克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故 AVR单片机在软 /硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。 AVR 单片

20、机内嵌高质量 的 Flash 程序存储器,擦写方便,支持 ISP 和 IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的 EEProm可长期保存关键数据,避免断电丢失。片内大容量的 RAM 不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序 , 并可像 MCS-51 单片机那样扩展外部 RAM。 AVR 单片机的 I/O 线全部带可设置的上拉电阻、可单独设定为输入 /输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得 I/O 口资源灵活、功能强大、可充分利用。 AVR 单片机片内具备多种独立的时钟分频器,分 别供 URAT、 I2C、 SPI 使

21、用。其中与 8/16 位定时器配合的具有多达 10 位的预分频器,可通过软件设定分频系数提供多种档次的定时时间。 AVR 单片机独有的 “ 以定时器 /计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法( 即脉宽调制输出 PWM) ” 更是令人耳目一新。 增强性的高速同 /异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,5 方便程序编写,更便于组成分布式网络和实现多机 通信系统的复杂应用,串口功能大大超过 MCS-51/96 单片机的串口,加之 AVR

22、单片机高速,中断服务时间短,故可实现高波特率通讯。 面向字节的高速硬件串行接口 TWI、 SPI。 TWI 与 I2C 接口兼容,具备 ACK 信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主 /从机的收 /发全部 4 种组合的多机通信。 SPI 支持主 /从机等 4 种组合的多机通信。 AVR 单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路 BOD,多个复位源 ( 自动上下电复位、外部复位、看门狗复位、 BOD 复位 ) ,可设置的启动后延时运行程序,增强了 嵌入式系统的可靠性。 AVR 单片机具有多种省电休眠模式,且可宽电压运行( 5-2.7V),抗干扰能力强,可降低一般

23、 8 位机中的软件抗干扰设计工作量和硬件的使用量。 AVR 单片机技术体现了单片机集多种器件 ( 包括 FLASH 程序存储器、看门狗、 EEPROM、同 /异步串行口、TWI、 SPI、 A/D 模数转换器、定时器 /计数器等)和多种功 能 ( 增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器 /计数器、具替换功能的 I/O 端口 ) 于一身,充分体现了单片机技术 的从 “ 片自为战 ” 向 “ 片上系统 SoC” 过渡的发展方向。 单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品

24、功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选用 AVR 单片机呢? 1、简便易学,费用低廉 首先,对于非专业人员来说,选择 AVR 单片机的最主要原因,是进入 AVR 单片机开发的门槛非常低,只要会操作电脑就可以学习 AVR 单片机的开发。单片机初学者只需一条 ISP 下载线,把编辑、调试通过的软件程序直 接在线写入 AVR 单片机,即可以开发 AVR 单片机系列中的各种封装的器件。 AVR 单片机因此在业界号称 一线打天下 。 其次, AVR 单片机便于升级。 AVR 程序写入是直接在电路板上进行程序修改、烧录等操作

25、,这样便于产品升级。 2、 高速、低耗、保密 首先, AVR 单片机是高速 嵌入式单片机 : ( 1) AVR 单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取6 进来,使得指令可以在一个时钟周期内执行。 ( 2) 多累加器型,数据处理速度快。 AVR 单片机具有 32 个通用工作寄存器,相当于有 32 条立交桥,可以快速通行。 ( 3) 中断响应速度快。 AVR 单片机有多个固定中断向量入口地址,可快速响应中断。 其次, AVR 单片机耗能低。对于典型功耗情况, WDT 关闭时为 100na,更适用于电池供电的应用设备。有的器件最低 1.8 V 即可工作。 再次, AVR 单片

26、机保密性能好。它具有不可破解的位加密锁 Lock Bit 技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。 3、 I/O 口功能强 ,具有 A/D 转换等电路 ( 1) AVR 单片机 的 I/O 口是真正的 I/O 口,能正确反映 I/O 口输入 /输出的真实情况。工业级产品,具有大电流 (灌电流 )10 40 am,可直接驱动可控硅 SCR 或继电器,节省了外围驱动器件。 ( 2) AVR 单片机内带模拟比较器, I/O 口可用作 A/D 转换,可组成廉价的 A/D 转换器 。 ATMega48/8/16 等器件具有 8 路 10 位 A/D。 ( 3) 部分 AVR 单片机可组成零

27、外设元件单片机系统,使该类单片机无外加元器件即可工作, 简单方便,成本又低。 ( 4) AVR 单片机可重设启动复位 ,以提高单片机工作的可靠性。有 看门狗定时器 实行安全保护 ,可防止程序走乱 (飞 ),提高了产品的抗干扰能力。 4、 有功能强大的 定时器 /计数器及通讯接口 定时 /计数器 T/C 有 8 位和 16 位 ,可用作比较器。计数器外部中断和 PWM(也可用作D/A)用于控制输 出,某些型号的 AVR 单片机有 3 4 个 PWM,是作电机无级调速的理想器件。 AVR 单片机有串行异步通讯 UART 接口 ,不占用定时器和 SPI 同步传输功能 ,因其具有高速特性,故可以工作在一般标准整数频率下 ,而波特率可达 576K。 2.2 AVR 单片机的选型 单片机是硬件系统的核心,它直接决定了整个系统的功能和性能,同时,不同封装形式的单片机芯片也会影响到系统的物理尺寸和重量,因此单片机的选型主要考虑两个

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。