3 使用方法
学AVR单片机的好书是《AVR单片机嵌入式系统原理与应用实践》,封面见下图。
AVR一般采用CVAVR编程软件编程,也可用GUN GCC AVR、AVR Studio软件编程。可采用汇编或C语言编程。烧程序前先输出HEX文件,然后用SLISP(双龙ISP)软件加载,再通过ISP编程线或者25针并口连接线烧入AVR单片机,支持在线编程。
由于AVR单片机最小系统很简单,就是电源+晶振(可不用)+LED+ISP接口(通电就运行,断电就停止,不用复位电路),因此任何初学者都可以用面包板搭出AVR最小系统,并且编程实践。
4 实践经验
使用AVR单片机时注意要正确设置熔丝位,SLISP软件就可设置,熔丝位可决定单片机是采用外部晶振还是采用内部时钟振荡器,如果熔丝位设置为采用外部晶振,而电路中没有接入晶振,则AVR程序不能运行。很多初学者忽视了这一点,他们的AVR系统不能运行却找不到原因。再有就是AVR的IO口在使用前需先编程设置其状态,否则你将发现程序在运行,但IO口没信号。
4 应用举例
五 高级机器人控制器 ARM
1 简介
ARM是一个公司名,他们基于同一内核设计了很多高性能处理器,这些处理器都叫ARM。该技术被很多公司购买后生产出了集成很多功能电路的ARM芯片,使得ARM成为高性能单片机。ARM一般为32位单片机,适于处理大量复杂数据,很多ARM装上了UCOS2、Windows CE、Linux操作系统,能够同时运行多个程序。ARM广泛应用于手机、MP3、GPS导航仪、吸尘机器人等产品上。
六 音频视频处理首选 DSP
1 简介
DSP数字信号处理(Digital Signal Processing,简称DSP),它是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
在高速小车巡线、语音识别等领域DSP被广泛应用。但如果仅用DSP检测几个碰撞开关、控制几个电机显得大材小用。
七 新兴控制器 FPGA
1简介
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。简单说,如果使用者想开发一个用简单数字逻辑电路就能控制的小车,又嫌搭电路麻烦,他就可用软件给一个FPGA编程让它实现数字电路功能去控制小车。即FPGA可被用来模拟各种电路。有的FPGA甚至能模拟51单片机的运行。因FPGA通过编程即可修改它模拟的电路结构,因此在系统实验、调试中很方便,很多爱好者尝试用FPGA做机器人控制器。
八 更多可供选择的单片机
我们选择学一款单片机前首先要考虑自己面对的实际任务需要什么性能的单片机,然后在众多性能满足要求的单片机中作出选择。此时我们还要考虑不同单片机的“应用广泛程度”,比方说:当我们要做一个电子大赛智能小车,有AVR单片机和PIC单片机可满足任务需要,如何在两者中作出选择需要考虑哪种单片机学起来比较容易、学习资料容易获取、可供参考的程序和案例更加丰富、哪种单片机更容易获得编程软件和下载器等。笔者感觉要想做智能小车,AVR单片机的资料比较丰富。
世界上有种类繁多的单片机,它们当中绝大多数都可用来控制机器人,但存在一个是否合适的问题。比如PLC是可编程控制器,当然可以用来控制爱好者手中的机器人,但PLC多用于工业控制领域,设备庞大价格昂贵,同时不易获得用PLC控制小型机器人的资料。爱好者选择学一种单片机前,首先得明确自己要用单片机干什么,然后再选最合适的单片机学习。学单片机重在学精一两种单片机,如果有人泛泛地学ARM、PLC、PIC、凌阳、DSP、FPGA等所有有名的单片机,那么他将无法拥有真正的深度开发能力。所谓深度开发,以AVR单片机为例,初学者可以用它实现小灯交替闪烁,中级技术人员可以用它控制参加比赛的机器人,而真正的高级开发人员可以用AVR实现机器视觉、无人机自动驾驶、坦克火控系统……
AVR单片机过时了吗?
有初学者甚至中级开发人员认为因ARM性能一般比AVR性能高,因此ARM将代替AVR,AVR将退出历史舞台,或者MSP430将代替51系列单片机,或者FPGA将取代所有单片机等。这种看法不对,因为不同单片机都有各自的特点和优点,没有哪种单片机是完美的,在不同场合用最合适的单片机,发挥它们各自的特长,而不存在ARM一统天下,取代所有其他型号单片机的可能性。试想,原本十几元的电子表因为采用ARM控制买到几百元,谁能受得了?因此不要觉得AVR已经过时,学完51就直接学ARM,或者觉得学51没用,直接学ARM,否则你将碰壁。
MSP430系列单片机:比较适于机器人开发,是美国德州仪器推向市场的一种16位、具有精简指令集的、超低功耗的混合信号处理器。具有Flash存储器,中断源较多,并且可以任意嵌套,使用时灵活方便。MSP430系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。MSP430系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗、模拟比较器、定时器、串口0、1、硬件乘法器、液晶驱动器、10位/12位ADC、16位Sigma-Delta AD、直接寻址模块(DMA)、IO端口、基本定时器(Basic Timer)等的一些外围模块的不同组合。MSP430 系列单片机引进了JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。
PIC单片机:可用于机器人开发,是8位单片机,产品种类丰富,采用精简指令集,有不错的开发环境,引脚驱动能力强,可直接连接继电器控制强电。自带看门狗,有睡眠和低功耗模式。很多性能不如AVR和MSP430系列单片机,但因其有特殊优点,也被广泛应用。
凌阳单片机:比较适于机器人开发,以16位计算机为核心,集成不同规模的RAM、ROM和其他丰富的功能电路,使用者可以根据自己需要选择集成了特定功能电路的凌阳单片机。凌阳单片机指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和内积运算指令,为其应用添加了DSP功能,因此凌阳适合进行语音识别。在我国凌阳单片机在学校比较常见,应用实例较多,可作为机器人爱好者选用的单片机。
学AVR单片机的好书是《AVR单片机嵌入式系统原理与应用实践》,封面见下图。
AVR一般采用CVAVR编程软件编程,也可用GUN GCC AVR、AVR Studio软件编程。可采用汇编或C语言编程。烧程序前先输出HEX文件,然后用SLISP(双龙ISP)软件加载,再通过ISP编程线或者25针并口连接线烧入AVR单片机,支持在线编程。
由于AVR单片机最小系统很简单,就是电源+晶振(可不用)+LED+ISP接口(通电就运行,断电就停止,不用复位电路),因此任何初学者都可以用面包板搭出AVR最小系统,并且编程实践。
4 实践经验
使用AVR单片机时注意要正确设置熔丝位,SLISP软件就可设置,熔丝位可决定单片机是采用外部晶振还是采用内部时钟振荡器,如果熔丝位设置为采用外部晶振,而电路中没有接入晶振,则AVR程序不能运行。很多初学者忽视了这一点,他们的AVR系统不能运行却找不到原因。再有就是AVR的IO口在使用前需先编程设置其状态,否则你将发现程序在运行,但IO口没信号。
4 应用举例
五 高级机器人控制器 ARM
1 简介
ARM是一个公司名,他们基于同一内核设计了很多高性能处理器,这些处理器都叫ARM。该技术被很多公司购买后生产出了集成很多功能电路的ARM芯片,使得ARM成为高性能单片机。ARM一般为32位单片机,适于处理大量复杂数据,很多ARM装上了UCOS2、Windows CE、Linux操作系统,能够同时运行多个程序。ARM广泛应用于手机、MP3、GPS导航仪、吸尘机器人等产品上。
六 音频视频处理首选 DSP
1 简介
DSP数字信号处理(Digital Signal Processing,简称DSP),它是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
在高速小车巡线、语音识别等领域DSP被广泛应用。但如果仅用DSP检测几个碰撞开关、控制几个电机显得大材小用。
七 新兴控制器 FPGA
1简介
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。简单说,如果使用者想开发一个用简单数字逻辑电路就能控制的小车,又嫌搭电路麻烦,他就可用软件给一个FPGA编程让它实现数字电路功能去控制小车。即FPGA可被用来模拟各种电路。有的FPGA甚至能模拟51单片机的运行。因FPGA通过编程即可修改它模拟的电路结构,因此在系统实验、调试中很方便,很多爱好者尝试用FPGA做机器人控制器。
八 更多可供选择的单片机
我们选择学一款单片机前首先要考虑自己面对的实际任务需要什么性能的单片机,然后在众多性能满足要求的单片机中作出选择。此时我们还要考虑不同单片机的“应用广泛程度”,比方说:当我们要做一个电子大赛智能小车,有AVR单片机和PIC单片机可满足任务需要,如何在两者中作出选择需要考虑哪种单片机学起来比较容易、学习资料容易获取、可供参考的程序和案例更加丰富、哪种单片机更容易获得编程软件和下载器等。笔者感觉要想做智能小车,AVR单片机的资料比较丰富。
世界上有种类繁多的单片机,它们当中绝大多数都可用来控制机器人,但存在一个是否合适的问题。比如PLC是可编程控制器,当然可以用来控制爱好者手中的机器人,但PLC多用于工业控制领域,设备庞大价格昂贵,同时不易获得用PLC控制小型机器人的资料。爱好者选择学一种单片机前,首先得明确自己要用单片机干什么,然后再选最合适的单片机学习。学单片机重在学精一两种单片机,如果有人泛泛地学ARM、PLC、PIC、凌阳、DSP、FPGA等所有有名的单片机,那么他将无法拥有真正的深度开发能力。所谓深度开发,以AVR单片机为例,初学者可以用它实现小灯交替闪烁,中级技术人员可以用它控制参加比赛的机器人,而真正的高级开发人员可以用AVR实现机器视觉、无人机自动驾驶、坦克火控系统……
AVR单片机过时了吗?
有初学者甚至中级开发人员认为因ARM性能一般比AVR性能高,因此ARM将代替AVR,AVR将退出历史舞台,或者MSP430将代替51系列单片机,或者FPGA将取代所有单片机等。这种看法不对,因为不同单片机都有各自的特点和优点,没有哪种单片机是完美的,在不同场合用最合适的单片机,发挥它们各自的特长,而不存在ARM一统天下,取代所有其他型号单片机的可能性。试想,原本十几元的电子表因为采用ARM控制买到几百元,谁能受得了?因此不要觉得AVR已经过时,学完51就直接学ARM,或者觉得学51没用,直接学ARM,否则你将碰壁。
MSP430系列单片机:比较适于机器人开发,是美国德州仪器推向市场的一种16位、具有精简指令集的、超低功耗的混合信号处理器。具有Flash存储器,中断源较多,并且可以任意嵌套,使用时灵活方便。MSP430系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。MSP430系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗、模拟比较器、定时器、串口0、1、硬件乘法器、液晶驱动器、10位/12位ADC、16位Sigma-Delta AD、直接寻址模块(DMA)、IO端口、基本定时器(Basic Timer)等的一些外围模块的不同组合。MSP430 系列单片机引进了JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。
PIC单片机:可用于机器人开发,是8位单片机,产品种类丰富,采用精简指令集,有不错的开发环境,引脚驱动能力强,可直接连接继电器控制强电。自带看门狗,有睡眠和低功耗模式。很多性能不如AVR和MSP430系列单片机,但因其有特殊优点,也被广泛应用。
凌阳单片机:比较适于机器人开发,以16位计算机为核心,集成不同规模的RAM、ROM和其他丰富的功能电路,使用者可以根据自己需要选择集成了特定功能电路的凌阳单片机。凌阳单片机指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和内积运算指令,为其应用添加了DSP功能,因此凌阳适合进行语音识别。在我国凌阳单片机在学校比较常见,应用实例较多,可作为机器人爱好者选用的单片机。
评论
查看更多