微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 机器人常用的单片机使用经验(二)

机器人常用的单片机使用经验(二)

时间:09-21 来源:互联网 点击:
实践经验
A 刚开始看书时,按照书上的电路图连线然后通电调试,但总不成功,将自己的电路和书上的电路仔细对照发现不了问题。原因在于很多书上的电路图都是“简化图”,即省略了一些电路,而这些被省略的电路却关乎系统的运行。比如,当单片机书讲到AD转换电路,给出的电路图多省略了晶振和复位电路,按照AD转换电路图搭出来的系统自然不能运行。
B 51单片机P0口输出信号时需要上拉电阻,我经常忘记加电阻,导致电路不好使。
C 51单片机31引脚需要接正极,以选择采用内部程序存储器。如果忘记给这个引脚以正确的电压,你的单片机可能不能执行程序。


4 应用举例



四 爱好者制作机器人首选 AVR系列单片机

1 简介

AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。高可靠性、功能强、高速度、低功耗和低价位一直是衡量单片机性能的重要指标,而AVR单片机是典型高性能单片机。
早期单片机,比如51单片机为了提高可靠性(防止数据误读或跑飞)采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。例如51单片机需要12个晶振周期才能组成1个机器周期,而且很多指令需要2个机器周期才能执行。AVR单片机的推出,彻底打破这种旧设计格局,废除了机器周期,采用精简指令集,取指周期短,又可预取指令,实现流水作业,故可高速执行指令。AVR单片机在12个晶振周期中能执行12条指令,从这个角度看,如果晶振频率相同,AVR的速度是51的12倍到24倍。
AVR有32个通用寄存器,在进行大量复杂运算时,AVR的32个寄存器可相当于51的32个累加器,克服了51系列单片机只有单一累加器数据处理造成的瓶颈现象,在复杂运算时速度比51快5倍以上。由此可看出,51与AVR相比是多么慢,AVR是多么快。
AVR系列单片机多内部集成了多路AD转换器、电压比较器、ISP、I2C、JTAG总线电路、UART串口、大功率IO口、看门狗等实用电路,并且很多AVR单片机型号有EEPROM、FLASH、SRAM三种存储器,可以实现实时修改程序存储器中的内容,即AVR单片机可以自己修改自己的程序。同时AVR一般能工作在宽电压范围(2.7~6.0V),有的居然可以在1.8V电压下工作。以上这些性能只是AVR众多性能中的一部分,然而已经让51系列单片机望尘莫及了。
如此高性能的单片机价格居然和51单片机差不多,比如ATmega8价格为8元左右,ATmega16在13元左右,这是AVR有极高性价比的真实写照。


2 性能
AVR家族人丁兴旺,包括ATinyAVR(微小型)、低功耗类、ATmegaAVR高中低档5类单片机。它们都基于同一核心技术,但在内部集成的电路多少上有不同。不论你要做电子手表还是视频处理,都有一款合适的AVR单片机能满足你的需要。
本文只列出ATmega16中档单片机的性能:
16KB的FLASH程序存储器;512B的EEPROM;1KB的SRAM;32个快速寄存器;32个大功率IO口;20个中断;2个外部中断口;有SPI、SUART、I2C总线接口;2个8位定时器;1个16位定时器;3个PWM通道;有实时时钟RTC;8个10位AD通道;电压比较器;看门狗;内置时钟振荡器;JTAG接口;ISP在线编程;电压范围为2.7V-5.5V;外部时钟晶振0-16MHz;有PID和多种贴片封装。
AVR的IO口能输出20mA和吸收40mA的电流,不仅可直接驱动LED,甚至可直接驱动微型直流减速电机。而且AVR的IO口可编程设置成输入、输出、高阻态状态,是真正的3态IO口。和51相比使用AVR开发产品你会发 现前所未有的方便和自由。
AVR单片机可上操作系统,比如UCOS2、Linux等,自主编程实现操作系统功能也很容易。
根据任务具体需要选择最合适的单片机,使单片机资源充分利用,使系统性价比达到最高,同时兼顾未来扩展需要,不要一味选用高性能单片机,这就是选单片机的原则。
用ARM+操作系统做超声波测距仪——杀鸡用了牛刀。用AVR中档单片机做机器视觉——有些吃不消。如果把它们调换一下,一切就恰到好处了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top