实验0 聊聊单片机与机器人
扫描二维码
随时随地手机看文章
对于机器人这个名词,大家应该都有所了解,我在这里就不讲太多。我主要来说说机器人是怎样工作的,单片机又是什么,有什么作用,如何来学习单片机。
单片机是可以用来编程的芯片,它对于机器人来说就相当于人的大脑。一个机器人,它除了有单片机,还应有传感器用来接收外界的图像、声音、温度等等信息,然后单片机去读取传感器接收的信息,就相当于人的感官。机器人可以采集外界信息,也可以对外界做出动作,例如控制电机等执行元件,通过机械结构做出行走或行驶动作,就相当于肌肉带动骨骼动作;又例如机器人也可以通过蜂鸣器或者喇叭发出声音、音乐,像人一样说话,也可以通过液晶屏显示文字或者图像信息。机器人与机器人或者电脑之间还可以进行通信来传递信息。以上所有功能都是要依靠机器人的大脑——单片机来实现。
单片机的编程,我个人认为可以分为两部分,第一部分是对寄存器的操作,第二部分就是对寄存器的操作之外的所有运算、逻辑、算法的编程。
寄存器是什么东西?打个比方,我们常用的手机,我们都设置过它的,比如调节亮度、音量、打开关闭WiFi和移动数据。单片机的寄存器就是这个功能,我们对单片机寄存器进行操作,就是设置单片机各种各样的功能和工作模式。寄存器实质上是单片机flash中的地址,flash存储中最小的单位是位(bit),这个位只有两种状态,1或者0,就像WiFi功能打开和关闭这两个状态。寄存器有8位的、16位的、32位的。
我们常用的寄存器有三类,数据寄存器、控制寄存器、状态寄存器。数据寄存器是用来存储数据的,通常可以进行写入和读取操作;控制寄存器是用来设置单片机的工作模式的,通常只能进行写入操作;状态寄存器是用来存储单片机状态信息的,通常只能进行读取操作。
关于单片机,还有一个电平的概念要和大家介绍一下。电平有两种,高电平和低电平。简单地说(这样说不准确,但是为了方便初学者容易理解),理想状态下,5V供电的单片机,高电平就是5V,低电平就是0V,单片机芯片引脚可以向外输出高低电平,也可以从外界采集高低电平。
下面我来介绍STM8单片机,这款单片机是意法半导体公司推出的8位单片机,和该公司的STM32单片机不同,后者是32位ARM内核的单片机,前者是自家设计的内核。STM8单片机和16位、32位单片机相比,功能和性能相差很大,但在8位单片机中,性价比、功能、性能还是非常优秀的。STM8单片机的命名规则在这个网站上可以了解。
http://www.ebvchina.com/STM8_MCUzhuanlan/93799.html
STM8S系列单片机支持3.3V和5V两种工作电压。
本套教程,我们用STM8S105K4这款芯片来做教学。它有32个引脚,其中25个是IO引脚。STM8S105K4有7路10位模拟输入通道、8路16位PWM(脉冲)输出通道、4个定时器、1个UART串口、1个SPI、1个I2C,主频最高16MHz。STM8单片机A、B、C、D、E端口每个引脚都可以使用外部中断功能,D7有TLI功能(不可屏蔽的最高优先级的硬件中断)。它有16KB的FLASH用于存储程序和数据,2KB的RAM,1KB的EEPROM。
本套教程是以库函数(个人做的库,并非官方库)的方案来教大家编程,很少直接对寄存器进行编程,这样优点是可以很轻松入门,缺点是不接触单片机编程底层的东西(指寄存器),学起来不扎实。如果想系统地学习寄存器编程,可以在土豆网上搜索STM8S105视频教程进行学习。内容有点错误,请注意视频下方的简介,会有纠正与补充。
STM8S105视频教程http://www.tudou.com/plcover/UXH0mcvkSqE/
STM8S105K4芯片引脚图。
STM8S105K4核心板V1,板上有芯片、晶振电路、复位电路、下载接口。
STM8S105K4核心板V2。
STM8S105K4单片机学习套件,由STM8S105K4核心板(最小系统板)、开发板、ST-LINK V2下载器和Nokia5110液晶屏组成。
以后我们还有机会用到STM8S207MB芯片。
DAHUME MAX控制器