单片机的基本构成及工作原理
有了电子电路和数字电路的基础知识,就可以开始学习嵌入式系统的核心元件-单片机。从本期开始我们将为大家介绍单片机的基础知识。
在单片机入门系列讲座中,首先学习单片机的基本构成和工作原理、以及外围功能电路,然后,挑战一个实际单片机的运行。
单片机是控制电子产品的大脑
现如今,我们生活中的许多电器都使用了单片机。例如:手机、电视机、冰箱、洗衣机、以及按下开关,LED就闪烁的儿童玩具。那么,单片机在这些电器中究竟做了些什么呢?
单片机是这些电器动作的关键,是指挥硬件运行的。例如:接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。
那么,单片机是如何构成的呢?
单片机是由CPU、内存、外围功能等部分组成的。如果将单片机比作人,那么CPU是负责思考的,内存是负责记忆的,外围功能相当于视觉的感官系统及控制手脚动作的神经系统。
尽管我们说CPU相当于人的大脑,但是它却不能像人的大脑一样,能有意识的、自发的思考。CPU只能依次读取并执行事先存储在内存中的指令组合(程序)。当然CPU执行的指令并不是“走路”、“讲话”等高难度命令,而是一些非常简单的指令,象从内存的某个地方“读取数据”或把某个数据“写入”内存的某个地方,或做加法、乘法和逻辑运算等等。然而这些简单指令的组合,却能实现许多复杂的功能。
CPU读取指令时需要知道要执行的指令保存在内存的什么位置,这个位置信息称为地址(相当于家庭住址)。程序计数器(PC)就是存储地址的寄存器。通常,PC是按1递增设计的,也就是说,当CPU执行了0000地址中的指令后,PC会自动加1,变成0001地址。每执行一条指令PC都会自动加1,指向下一条指令的地址。可以说,PC决定了程序执行的顺序。
◇指令解码电路
指令解码电路是解读从内存中读取的指令的含义。运算电路是根据解码结果操作的。确切地讲,指令解码电路就是我们在“数字电路入门(2)”中学过的解码电路,只不过电路结构稍微复杂些,所以,指令解码电路的工作原理就是从被符号化(被加密)的指令中,还原指令。
◇运算电路
运算电路也称为ALU(Arithmetic and Logic Unit),是完成运算的电路。能进行加法、乘法等算术运算、也能进行AND、OR 、BIT-SHIFT等逻辑运算。运算是在指令解码电路的控制下进行的。通常运算电路的构成都比较复杂。
◇CPU内部寄存器
CPU内部寄存器是存储临时信息的场所。有存储运算值和运算结果的通用寄存器,也有一些特殊寄存器,比如存储运算标志的标志寄存器等。也就是说,运算电路进行运算时,并不是在内存中直接运算的,而是将内存中的数据复制到通用寄存器,在通用寄存器中进行运算的。
单片机这么简单?一分钟看懂单片机最小系统电路原理图:STM8S
坚持每天分享本人十几年的单片机系统开发经验,循序渐进,逐步深入,您的关注是我的动力来源!
本文以ST公司的STM8S003单片机为例,给大家讲解一个单片机最小系统的电路原理图:通过单片机采集一个按键信号,点亮一颗LED灯。
如果你看懂了这张原理图,单片机硬件就入门了——真的到进门了!
一、系统框架
电源从电源插座P1进入电路板,经过LM7805稳压成VCC(=5V)给单片机供电,单片机采集按键S1的信号,点亮LED灯D2,编译好的程序经过程序下载口JP1下载到单片机里。
二、电路细节
电源插座P1可以采用12V电源,二极管D1的作用是为了防止电源不小心反接而损坏电路器件。
LM7805前面的两个电容C1和C2和后面的两个电容C3和C4是为电压滤波的,进一步稳定VCC的电压,让VCC的纹波不要太大,因为纹波大了会影响单片机的工作。
电容C5和C6是依据STM8S003的数据手册要求必须用的两颗电容,遵照执行即可,暂时不用深究,后续我的文章中会谈到。
电阻R1是为了限制发光二极管(LED)D2的电流。LED一般需要5-10mA的电流才能点亮,LED本身的压降一般比较固定,其值是1V左右,当单片机控制PC6口输出低电平时,LED将被点亮,这时LED中的电流为:(5V-1V)/0.47KΩ=8.5mA。
按键S1一端接地,一端接单片机PD3口,在PD3口内部可以通过软件设置上拉电阻,当S1断开时,PD3口为高电平;当S1闭合时,PD3口为低电平。单片机依据PD3口的电平状态即可获知按键是否闭合。
JP1是程序下载接口,所有STM8单片机的程序下载接口都是一样的。其中NRST为单片机复位接口,SWIM为程序下载的数据通道,电脑里的程序代码就是通过SWIM传输到单片机中的。
疑问:为啥没有时钟(晶振)电路?因为现在的单片机一般内部集成有RC振荡电路,通过软件可以设置单片机选用内部的RC振荡脉冲作为单片机内部的时钟。只是内部RC振荡电路的时钟不是太精准,对于一些时钟精度要求比较高的场合可以外接晶振电路。不过,大多数实际应用,内部RC振荡电路的精度已经足够了。
三、总结
所有STM8单片机相关的原理图基本上都是在这个电路基础上进行演进,万变不离其宗。
所有其它品牌和系列的单片机,其硬件原理图基本上也大同小异,掌握其中一个原理图,其它单片机的原理图也就都能看懂了。
这样是不是很简单呢?后续我还会讲解更多的单片机知识,内容是逐步深入的,留言加关注是对我最大的支持!
四、课后作业
如何实现LED灯的渐亮渐灭?
相关问答
单片机 控制卡 原理图[回答]你说的是Rabbit5000吗。Rabbit5000是第一个具备16位内部总线架构的Rabbit微处理器,对于使用外扩16位内存设备提供了明显的性能提升。它也支持8...
怎么看懂电梯电气 原理图 ?看电气控制电路图一般方法是先看主电路,再看辅助电路,并用辅助电路的回路去研究主电路的控制程序。电气控制原理图一般是分为主电路和辅助电路两部分。其中的...
设计电子时钟 要用AT89S51 单片机 的定时器实现,用4位数码管...用21134位数码管显示,用点的闪烁表示秒,就是共有52615位,7段;那么用一整个4102PIO口(8位)去对应7段数据,1653再用另外一个PIO口的部分(全部)管脚去...
四节五号干电池怎么转换为平稳5V电压供51 单片机 使用?用9V干...四节五号干电池怎么转换为平稳5V电压供51单片机使用?用9V干电池又如何转换为5V呢?求电路原理图啊?举报相机电池3人讨论528次围观关注问题写回答讨论回答...
双向可控硅的触发 原理图 及原理是什么?双向可控硅是两个方向都可以导通的,所以就不区分阳极和阴极和,我们可以命名为T1、T2极,另一个是脚是极,只要在G极注入正向电压就可以让T1和T2极志通了,非常...如...
如何更改Proteus 原理图 中网格显示?更改Proteus原理图中网格显示的操作较为简单,具体方法和步骤如下:1.打开Proteus软件;2.点击工具栏里的【view】,在展开菜单中点击【Grid】;3.可以看到工...更...