微控制器
微控制器是将微型机的关键一部分集成化在一个集成ic上的soc芯片微型机。微控制器问世于20新世纪70时代中后期,通过20很多年的发展趋势,其成本费愈来愈低,而特性越发强劲,这使其运用早已无所不在,遍布各行各业。比如电机控制系统、商品条码阅读软件/扫码器、消费性电子器件、电玩设备、电話、HVAC、房屋安全性与门禁控制、工业控制系统与自动化技术和家用电器品牌(全自动洗衣机、微波炉加热)等。
微控制器(Microcontroller Unit,即MCU)可从不一样层面开展归类:依据系统总线总宽可分成8位、16位和32位机;依据储存器构造可分成Harvard构造和Von Neu ** nn构造;依据嵌入程序储存器的种类可分成OTP、掩膜、EPROM/EEPROM和闪存芯片Flash;依据命令构造又可分成CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。
微控制器原理
今日,在很多形形 ** 的商品中,都能够见到微控制器的身影。假如你的微波炉加热有发光二极管或者液晶显示器和实际操作功能键,那麼它就配有微控制器。如今全部的车辆都最少配有一个微控制器,多的可达六到七个: 汽车发动机、防抱死系统制动系统和巡航定速操纵都离不了微控制器的操纵。一切装有无线遥控的设施几乎都配有微控制器: 电视、摄录机和高档的环绕声系统软件都是这一类。 高精密的单反、数码照相机、手机上、便携式监控摄像头、电話应答机、激光打印机、带手机来电显示和号储存等作用的电話、寻呼机、作用全方位的家用冰箱、水槽洗碗机、全自动洗衣机及其含有显示器和实际操作电脑键盘的烘干机……你应该有一定的了解了。总体而言,一切必须与消费者开展信息交互的设备或机器设备都内嵌有微控制器。
在文中中,大家将讨论微控制器,协助你掌握他们的实质和原理。以后大家将进一步详细介绍怎样可以亲力亲为应用微控制器。提早表露一下,大家将做一个含有微控制器的数字电子钟!除此之外,大家还将制做一支数字温度计。 在整个过程中,你将学得很多有关微控制器怎样运用于商业服务商品的专业知识。
环境专业知识
假如你对数字逻辑、逻辑门和路线联接不了解,那麼请先阅读文章以下几点:
位和字节数
布尔逻辑的运用
电子门原理
什么叫微控制器?
一个微控制器就是一个电子计算机。全部的电子计算机——不管大家所指的本人台式计算机或者一台大型计算机或是一个微控制器——都是有许多相同点:
全部的电子计算机都是有一个用于实行程序的CPU(中间控制部件)。假如你正坐到一台台式计算机前阅读文章这篇文章,这台电子计算机的CPU如今已经实行一个程序,这一程序便是用以表明这一网页页面的Web电脑浏览器。
CPU从某一机器设备中载入程序。在你的台式计算机上,电脑浏览器程序是以电脑硬盘中加载的。
电子计算机具备一些用于储存“自变量”的RAM(随机存取储存器)。
除此之外,电子计算机也有一些键入和导出的机器设备,那样它才可以和客户互换信息内容。在你的台式计算机上,键盘和鼠标是输出设备,显示屏和复印机是外部设备。 电脑硬盘则是一个输入输出机器设备——它既可以键入又可以导出。
你已经应用的台式电脑是一种“通用性电子计算机”,它可以运作不计其数的各种程序。而微控制器则是作为独特用处的“专用型电子计算机”。它致力于做一件事。 微控制器也有很多一同的特性。假如一个电子计算机具有了下列绝大多数的特点,那麼你便可以称作“微控制器”:
微控制器都“置入”在别的设备(通常是一个消费性商品)內部来调整该商品的基本功能和实际操作。 因而,微控制器又被称作“内嵌式控制板”。
微控制器运作一个相应的程序来进行一项特别的工作中。该程序储存在ROM(只读存储器)中,一般不易被改动。
微控制器通常是节能型的设备。 台式计算机的电源线插头几乎自始至终插在墙壁插座中,其输出功率约为50瓦。充电电池配电的微控制器的输出功率大约为0.05瓦。
微控制器有一个专用型输出设备,通常(但并不一直)还有一个作为导出的发光二极管或液晶显示器。 微控制器也从它所操控的设备获得键入数据信号,并根据向机器设备中的差异一部分推送数据信号来调整该机器设备。
比如,电视中的微控制器从智能遥控器获得键入数据信号,随后在显示屏幕上表明出去。微控制器会操纵频道栏目选择符、音箱和一些如颜色、色度等显象管的电子器件调整。 车辆中的汽车发动机控制板从o2和发动机爆震等感应器中获得键入数据信号,对然料混和及其火花塞按时等开展操纵。微波炉加热控制板从实际操作电脑键盘得到键入数据信号,在液晶显示器上表明导出,并操纵承担微波发生器电源开关的汽车继电器。
微控制器通常具备精巧、成本低的特性。 对每个元器件的选用都秉持着使大小降到最低、使成本费最少化的标准。
微控制器通常都很经久耐用,但也并不一直那样。
比如,操纵小汽车柴油发动机的微控制器务必可以在一般计算机无法承担的溫度極限下工作中。美国阿拉斯加的车辆的微控制器就要工作中在零下34℃的严寒的天气里,而一样的控制板在国外内华达州则必须工作中在零上49℃的酷热自然环境中。再再加上汽车发动机运作传出的发热量,汽车发动机箱的气温可达到零上65-80℃。
而摄录机內部应用的内嵌式微控制器则沒有那么严格的规定。
事实上,作为微控制器的CPU各种各样。 比如,数字手机原理一文中的手机就包括一个Z-80CPU。Z-80CPU是一个8位微控制器,它出现于二十世纪七十年代,最开始用以那时候的家庭用电子计算机中。GPS接收器原理中的Garmin卫星导航系统,包括一个功耗低版的Intel 80386CPU,听说是那样。Intel 80386CPU最开始是致力于台式计算机设计方案的。
在很多商品中,比如微波炉加热,针对微控制器特性的标准很低,价钱是具体的考量要素。 在那样的情形下,生产商逐渐设计方案专用型的微控制器集成ic——一种专为低成本、体型小且功能损耗低设计方案的内嵌式cpu。Motorola 6811和Intel 8051全是这类集成ic的取得成功楷模。此外也有Microchip企业生产制造的名叫“PIC 微控制器”的系列产品控制板,也十分受大家喜爱。从今日的标淮看来,这种cpu简单得让人难以想象;可是大批选购的价钱十分便宜,并且通常只需一片就可以达到商品设计师的必须。
一个典型性的中低端微控制器集成ic大约有1000字节数的只读存储器和20字节数的随机存取储存器,有8个输入输出引脚。批量生产这类集成ic,产品成本但是几便士。 自然,你也无法寄希望于在这类集成ic上运作像Microsoft Word那样的程序——由于 Microsoft Word必须约30兆字节的随机存取储存空间和每秒钟可实行上百万条命令的CPU。但是操纵一台微波炉加热并不必须Microsoft Word那么错综复杂的程序。你需要应用微控制器进行的是一个实际的每日任务,并且成本低、功耗低运作才算是最重要的。
微控制器的应用
在电子门原理一文中,你掌握到了7400系列产品TTL(晶体三极管时序逻辑电路)元器件,在哪儿选购及其怎样安装他们。 你就会发现要完成一个简洁的设备通常必须许多逻辑门。 比如,在数字电子钟一部分,大家所制定的钟表很有可能必须15到20片集成ic。微控制器的具体优点之一就取决于,APP(你撰写并在控制板上实行的哪个小程序)可以替代很多逻辑门。 因而,文中中大家将用微控制器制做一台数字电子钟。 这将是一台十分价格昂贵的数字电子钟(近200美金!),可是在一环节中,你将累积下将来两年应用微控制器必须的各种各样专业知识。 即使并不具体动手能力制做这么一个数字电子钟,阅读文章相关内容就能使你获利甚多。
这儿使用的一款微控制器是致力于便捷日常日常生活设计方案的。 它是Parallax企业研发的名叫“BASIC Stamp”的微控制器。 BASIC Stamp是一个兼容BASIC程序设计语言的PIC微控制器。应用BASIC程序设计语言促使微控制器的APP撰写越来越十分非常容易。 微控制器配套设施给予了一个9伏充电电池配电的母板,根据和计算机系统的一个端口号相接对其进行程序编写。没有一个生产商会在具体的商品中应用BASIC Stamp——由于 Stamp价钱高且速度比较慢(相对来说)。 可是,为开展试验模型或一次性演试商品应用Stamp十分广泛,因为它的安装和应用是让人难以想象的轻轻松松。
该微控制器往往被称作“Stamps”是由于它仅有一张纪念邮票尺寸。
Parallax企业生产制造了二种版本号的BASIC Stamp:BS-1与BS-2。下边是二种版本号的比照:
较为新项目BS-1BS-2
随机存取储存器14字节数26字节数
电可擦掉只读存储器256字节数2000字节数
较大程序长短约75条命令约600条命令
实行速率每秒钟2,000行每秒钟4,000行
输入输出引脚816
文中中使用的是一个名叫“BASIC Stamp修正版D”的微控制器(如下图所示)。
BASIC Stamp修正版D是一个BS-1集成ic,安裝在一块9伏充电电池配电的母板上。配套设施部件包含:电压调节器、程序联接电缆线、输入输出引脚针插及其一小块模型地区。你还可以独立选购一块BS-1集成ic,在面包板上和别的元器件相接。修正版D只不过是更为便捷一些。
从以上可以看得出,你不太可能用BASIC Stamp作出十分奇妙的物品来。BS-1的75行(256字符的电可擦掉只读存储器可以储放约75行BASIC语言程序)程序的局限有非常的局限。殊不知,你能做些精致的物品,Stamp十分精巧并且用充电电池配电,这就代表着它几乎可以适用任何地方。
BASIC Stamp程序设计方案
您必须应用BASIC程序设计语言对BASIC Stamp开展程序编写。假如对BASIC语言早已有一些掌握,您会发觉Stamp中的BASIC语言十分通俗易懂,仅仅稍显零散。假如您不明白BASIC语言,可是您会应用如C、Pascal或者Java等程序设计语言,那麼把握BASIC对您而言是轻而易举。假如您没有程序设计工作经验,建议先阅读文章一下学编程。下边是Stamp BASIC程序编写常用到命令的简略目录。
规范BASIC语言命令:
for.。.next : 规范for语句
gosub : 自动跳转到子程序
goto : 自动跳转到程序标识处(比如 -“label:”)if.。.then : 规范的“if/then”(假如/那麼)分辨let : 取值(可选)return : 从子程序回到
end : 完毕程序,进到休眠模式
与输入输出引脚有关的命令:
button : 载入键入引脚上的键值,防堵跳并全自动反复high : 将输入输出引脚设定为高电平input : 将输入输出引脚的方位设定为键入
low : 将一个输入输出引脚设定为低电频
output : 将输入输出引脚的方位设定为导出
pot : 载入输入输出引脚上的传感器值
pulsin : 载入键入引脚上单脉冲的总宽
pulsout : 根据一个导出引脚传出特定总宽的单脉冲pwm : 在导出引脚上实行脉冲宽度调制reverse : 翻转引脚输入输出方位
serin : 载入键入引脚的串行通信数据信息
serout : 在导出引脚载入串行通信数据信息
sound : 向导出引脚推送特殊工作频率的响声
toggle : 转换导出引脚上的位
BASIC Stamp的独有命令:
branch : 载入迁移表
debug : 向台式计算机上的控制面板推送调节字符串数组eeprom : 将程序在线下载到EEPROMlookdown : 返回列表中某一值的表针
lookup : 应用数据库索引开展二维数组搜索
nap : 休眠状态一段时间
pause : 延迟时间特定的時间
random : 选择一个随机数字
read : 从EEPROM中读选值
sleep : 关闭电源特定的时间段长短
write : 向EEPROM载入数据信息
计算:
: 加
- : 减
* : 乘(低字)
** : 乘(高字)
/ : 除
// : 取余数
** x : 回到2个值中的最高值
min : 回到2个量的极小值
and : 与
| : 或
^ : 异或运算
and/ : 和非
|/ : 或者非
^/ : 异或者非
if 句子逻辑性:
=
《》
《
《=
》
》=
AND
OR
自变量
BS-1中的全部自变量都具备预订义的名字(您可以用自身的名字替代这种名字)。 请记牢,仅有14个字节数的RAM(随机存取储存器)可以用,因此自变量名字应简约。 以下是标准的名称:
w0, w1, w2.。.w6 : 16位字变量
b0, b1, b2.。.b13 : 8位字节变量
bit0, bit1, bit2.。.bit15 : 1位位变量
由于只有14个字节的内存可用,所以w0和b0/b1在RAM中是相同的位置,w1和b2/b3是相同的位置,以此类推。 此外,bit0到bit15位于w0中(因而b0/b1也是如此)。
输入输出引脚
您可以看到,BS-1中有14条指令与I/O引脚相关。之所以要强调这一点是因为输入输出引脚是BASIC Stamp与外界交流的唯一途径。BS-1有8根输入输出引脚(编号0到7),BS-2有16根输入输出引脚(编号0到15)。
这些输入输出引脚都是双向的,就是说既可以从引脚上读输入值也可以通过引脚输出。要向引脚发送值,最简便的方法是使用HIGH或LOW指令。 使用语句high 3可以在引脚3上发出一个1(+5伏),使用LOW则发出一个0(接地)。这里的3号引脚是任意选取的——您可以对0到7号任意引脚输出电平信号。
关于输入输出引脚有许多有趣的指令。 例如,如果您按照POT指令要求在电位计(可变电阻器)两端并联一个电容器,POT指令就可以读出电位计的设置。 PWM指令可以发出脉冲宽度的调制信号。借助类似这样的指令,为Stamp添加控制和驱动功能要轻松得多。有关语言的详细信息,请参见documentation。此外,诸如斯科特·爱德华所著Programming and Customizing the BASIC Stamp Computer(对BASIC Stamp计算机进行编程和自定义)这样包含大量示例项目的书,也是极有裨益的。
微控制器ATTINY88-AU的参数
高性能、低功耗 ** R?8位微控制器?高级RISC架构–1 ** 强大指令–大多数单时钟周期执行–32 x 8个通用工作寄存器–完全静态操作?高耐久性非易失性内存段–4K/8K字节的系统内自编程闪存程序内存– ** / ** 字节ES EEPROM–256/512字节内部SRAM–写入/擦除周期:10000次闪存/100000次EEPROM–数据保留:85°C下20年/25°C下100年–软件安全编程锁定?外围设备功能–一个8位定时器/计数器,带单独的预分频器和比较模式–一个16位定时器/计数器,带预分频器,并进行比较和捕获E模式–6通道或8通道10位ADC–主/从SPI串行接口–面向字节的2线串行接口(飞利浦I2c兼容)–可编程看门狗定时器,带单独的片内振荡器–片内模拟比较器–插脚更改时中断和唤醒?特殊微控制器功能–调试片内调试系统–输入-系统可通过SPI端口进行编程-上电复位和可编程断电检测-内部校准振荡器-外部和内部中断源-三种睡眠模式:空闲、ADC降噪和断电-芯片内温度传感器?I/O和软件包-24条可编程I/O线路:?28针PDIP?28垫QFN–28程序可编程I/O线路:?32线TQFP?32板QFN?32球UFBGA?工作电压:–1.8–5.5V?温度范围:–-40°C至+85°C?速度等级:–0–4 MHz@1.8–5.5V–0–8 MHz@2.7–5.5V–0–12 MHz@4.5–5.5V?低功耗–主动模式:1 MHz,1.8V:240微安–1.8V时的断电模式:0.1微安