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功能,因此凌阳适合进行语音识别。在我国凌阳单片机在学校比较常见,应用实例较多,可作为机器人爱好者选用的单片机。
上一篇:机器人常用的单片机使用经验(二)
下一篇:机器人常用的单片机使用经验
推荐阅读最新更新时间:2023-10-12 20:48
单片机中三极管的使用
三极管在数字电路里的开关特征,最罕见的使用有 2 个:一个是掌握使用,一个是驱动使用。所谓的掌握就是如图 3-7 里边引见的,我们可以经过单片机掌握三极管的基极来直接掌握后边的小灯的亮灭,用法人人根本熟习了。还有一个掌握就是停止分歧电压之间的转换掌握,比方我们的单片机是 5V 零碎,它如今要跟一个 12V 的零碎对接,假如 IO 直接接 12V电压就会烧坏单片机,所以我们加一个三极管,三极管的任务电压高于单片机的 IO 口电压,用 5V 的 IO 口来掌握 12V 的电路,如图 3-8 所示。 图 3-8 三极管完成电压转换 图 3-8 中,当 IO 口输入高电平 5V 时,三极管导通,OUT 输入低电平 0V,当 IO 口输
[单片机]
51单片机控制K9K8G08U0C NAND Flash读写程序
#include STC12C5A60S2.H #include intrins.h #include SMG.h /********************************************/ sbit NF_CLE=P0^3; //命令锁存使能(输出) CLE D3 sbit NF_ALE=P3^4; //地址锁存使能(输出) ALE RS sbit NF_WE=P1^3; //NAND Flash写使能(输出) /WE DB4 sbit NF_RE=P1^2; //NAND Flash读使能(输出) /RE DB3 sbit NF_CE
[单片机]
进博会预测:高通将携会打乒乓球的机器人亮相 5G是秘密武器
5G商用的第二年也即将进入尾声,相比5G元年同期,这一年5G产业已经发生了天翻地覆的变化:全世界5G产业都在如火如荼发展,仅中国,国内几乎大部分一二线城市也都有了或多或少的5G网络覆盖、5G手机已经成为高普及率的大众5G终端产品。 5G发展到今天,速度是非常之快的,在去年第二届中国国际进口博览会上,5G手机还被作为尖端旗舰终端品类展示,很多5G应用也处于概念状态。今年第三届进博会开展在即,从各个5G产业相关厂商的预热来看,5G已经在各行各业实际应用,为很多场景带来了技术革新。 知名5G技术供应商高通近日公布了公司在第三届进博会上的信息,其中「基于高通机器人RB5平台打造的庞伯特拟人型乒乓球机器人」引起了人们的兴趣。 据了解,高通机
[机器人]
恩智浦发布针对ARM微控制器的emWin图形库中文用户手册
恩智浦半导体(NXP Semiconductors N.V.)为其ARM微控制器用户使用的emWin图形库推出中文用户手册,为中文用户提供更为友好的操作协助。emWin图形库由德国SEGGER公司开发,可为图形LCD设计提供高级支持,极大简化了LCD设计并缩短上市时间。为恩智浦ARM微控制器用户免费提供的emWin图形库,以其免费提供商业图库、使用简单、提升MCU运行表现和色彩逼真,推出半年以来受到业界工程师的普遍欢迎。
SEGGER开发的emWin提供了稳定、有效的GUI,适用于任何图形LCD的操作应用,可输出高质量无锯齿的文字和图形。采用emWin后,UI设计可与固件开发分开,使用独立工具即可轻松实现基本UI设计
[工业控制]
MCU中上拉和下拉的意义
在很多MCU中,都有上拉和下拉的概念,从8051到AVR再到ARM,都有! 上拉: 简单理解起来,上拉就是通过一个电阻接到高电平,在MCU中主要是为了提高芯片的驱动能力,如8051的P0口,在8051的PDF中,我们可以看到: (1)每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA (2)每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA 图中的 D1,是接在正电源和引脚之间的,这就属于灌电流负载,D1 在单片机输出低电平的时候发光。这个
[单片机]
PIC单片机-Mplab的使用与实践
目录: 一、Mplab IDE的使用 1、Mplab IDE建立工程 1)简述 2)建立工程 3)调试 (1)源程序编译 (2)模拟仿真设置 (3)端口设置 (4)添加变量到Watch (5)查看ROM、RAM使用情况 (6)查看软仿真时间 2、Mplab IDE硬件仿真 1)简述 2)接入PICkit3出现Target Device ID (00000000) does not match expected Device ID (00002460) 3)首次使用PICkit3出现PK3Err0040 4)接入PICkit3烧录时要设置电源 5)Maplab的输出窗口看不见
[单片机]
基于单片机的OLED显示器的应用
1 前言
有机发光显示器(Organic Light Emitting Display,OLED)是一种新型发光和显示器件。OLED实质上是一个薄膜器件,它的发光层是有机材料层,当有电流通过时,这些有机材料就会发光。与传统的液晶显示器(LCD)相比,除了无需背光源外,OLED显示屏可实现低于1mm的厚度,这为实现软体显示提供了可能,此外可视角度更大,亮度更高,色彩更加丰富。OLED可广泛应用于手持设备、通信终端、仪器仪表等领域。
2 模块结构
下面以维信诺VGG12864E-S001模块为例,介绍OLED的模块结构。
2.1 模块框图
VGG12864E-S001 模块
[电源管理]
STM32单片机外部晶振配置时钟设置
学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STM32103F103RB芯片,使用的外部晶振是12M。 串口读取的是乱码 默认的外部晶振是8M 由于STM32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。 如果采用外部晶振8M或12M,配置时钟为72MHZ 。 1)在system32_stm32f10x.c文件中的void SetSysClockTo72(void)里这样改: 8M: RCC-》CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72 12M: RCC-》CFGR
[单片机]
小广播
热门活动
换一批
更多
最新模拟电子文章
- 安森美推出业界领先的模拟和混合信号平台
- 贸泽开售用于快速开发精密数据采集系统的 Analog Devices ADAQ7767-1 μModule DAQ解决方案
- 国产高精度、高速率ADC芯片,正在崛起
- 集Hi-Fi、智能和USB多通道等特征于一体的微控制器——迎接数字音频新时代
- 采用电容型PGA,纳芯微推出高精密多通道24/16位Δ-Σ型ADC
- 全差分放大器为精密数据采集信号链提供高压低噪声信号
- 意法半导体推出灵活、节省空间的车载音频 D类放大器,新增针对汽车应用优化的诊断功能
- ADALM2000实验:变压器
- 【TE Connectivity】泰科电池组端子上新|10,000次插配次数,寿命值Up!
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
11月13日历史上的今天
厂商技术中心