单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6
单片机的外围功能电路
本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识。这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识。
上期在《单片机入门(1)》中,我们讲解了单片机的基础知识。本期让我们来学习单片机必须具有的硬件电路(外围功能电路)。这样,下期就可以将挑战一个实际单片机的运行了!
“动力”―电源电路
上期我们学习了单片机的基本构成和工作原理。想必大家对单片机的工作原理已经有了大致的了解。这次我们将举例说明单片机工作所必须的硬件电路(外围功能电路)。
我们将以瑞萨电子的新一代产品,通用型单片机“RL78族(RL78/G14)”为例进行说明。
与迄今为止所学的各种电路相同,单片机的工作也需要电源。因此,单片机的外部都连接有象电池等电源部分。
请看图1,是“RL78族(RL78/G14)”的引脚配置,该产品有64个引脚。电源有2个引脚是13/14号(VSS/EVSS0)和15/16号 (VDD/EVDD0),
- 13号引脚(VSS)和14号引脚 (EVSS0)连接GND
- 15号引脚VDD和16号引脚 (EVDD0)连接电源正极
参阅“RL78族(RL78/G14)”数据手册(或硬件手册),您会发现“电源电圧VDD = 1.6~5.5 V”。这是指当电源电压处于1.6V到5.5V之间时,可以保证单片机的正常工作。这个电压范围称为工作电源电压。在有些单片机数据手册上把这个范围称为推荐工作电压范围。
图1:“RL78族 (RL78/G14)”(64引脚)的引脚连接图
图2是 “RL78族(RL78/G14)”的电源引脚连接的一个例子。
- 与15号引脚连接的C1称为旁路电容。可以防止因瞬间大电流引起的电源电压下降,而导致的单片机的误动作。通常选择0.01μF~0.1μF的陶瓷电容作为旁路电容。
- “RL78/G14”的内部电路工作电圧是通过内部电压调节器调节电源电压得到的,内部电路的工作电压是1.8或2.1V。为了保证内部电压调节器的稳定性,在12号引脚上也连接了电容C2。
图2:“RL78族(RL78/G14)”(64引脚)的电源电路连接实例
“总指挥”―振荡电路
正如数字电路入门③中所讲的那样,时序电路是按时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)同步工作的。单片机是由时序电路构成的,所以,要在外部连接一个振荡电路提供时钟信号。象这样从单片机的外部输入的时钟信号称为“外部时钟信号”。
图3:振荡电路的作用
图3是单片机(RL78/G14)接连一个振荡电路的例子。晶体振荡器被连接在X1和X2之间。
从图上可以看出一个外部时钟信号可以驱动单片机内部中的2个时钟振荡器。
- 主时钟振荡器主要用作CPU的工作时钟
- 子时钟振荡器主要用作外围电路和实时时钟的工作时钟
在内部外围功能十分强大的“RL78族(RL78/G14)”上内部有频率偏差仅为1%的高精度振荡电路。因此,无需从外部提供时钟信号 。这种单片机上内部的时钟产生电路称为“内部振荡器”。因为不需要外部振荡电路,减少了设计工序,降低了成本。
类似这样只要备有“内部振荡器”,大家可能认为就可以“无需从外部提供时钟信号”。但实际上在电子手表中,通常使用频率几乎不随温度而变化的、更加精确的晶体振荡器。
「闹钟」―复位电路
刚刚接通电源的单片机内部处于不稳定的状态,CPU无法正常运转。因此,就需要进行单片机状态初始化,这就叫做复位。单片机带有复位信号输入引脚,可以将这个信号调至低电平状态后让单片机复位。也就是说通过输入复位信号来彻底叫醒单片机进入工作状态。
接下来讲解一下复位的时序(图4)。只有在向单片机提供稳定的时钟信号和电源的状态下才能实现复位,同时需将复位信号调至低电平。为了实现这种状态,需要将相比电源上电稍迟一步上电的电路与复位输入引脚相连接。这种电路在电源上电后通过电阻电流慢慢流向电容,电压缓缓上升。因此,电源上电后经过一段时间可以形成解除复位的电 路。这种外部电路称为“上电复位电路”。
图4:简易复位电路及其波形
如上图4所示,上电复位电路左侧的电路称为“手动按钮复位电路”。这是通过手动按下按钮后让单片机进入初始化状态的电路。
普通单片机上复位信号必须在一定时间内保持低电平。具体时间记载在硬件手册和数据手册上。必须根据这个时间的长短来确定电阻R和电容C。
而“RL78族(RL78/G14)”采用的是内部型上电复位电路。因此,只要提供超过工作电压的电源,就可以叫醒单片机进入工作状态。真是太方便了!
CPU的复位操作
通过复位操作,可以使程序计数器PC回到初始值,PC中保存的是CPU将要执行的指令地址。程序计数器PC的初始值是应用程序的头地址。单片机开始运行应用程序的方式有“固定地址开始方式”和“向量方式”。在设计单片机时,决定要使用的方式。
- 固定地址开始方式是指从固定地址开始执行指令的方式。不同的单片机具体的地址也有所区别。如果固定地址是0,那么,就从0地址开始执行程序。
- 向量方式是指从ROM的固定地址中,读取要执行指令的地址信息。这种ROM上的固定地址称为复位向量。操作过程是先取读复位向量的地址,然后再将该地址存入程序计数器PC。这种看起来比较繁琐,但是却具有可以自由更改初始执行指令地址的优点。
*本文内容已在2015年3月30日作出修订。
下期在“单片机入门(3)”中,我们将学习单片机的开发环境,让您亲自驱动一个实际的单片机!
单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6的更多相关文章
- 外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6
外围功能电路控制 LET′S TRY“嵌入式编程”: 4 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的单片机的基础知识. 在<单片机入门(1)-(3)>中,我们一起学习了单片 ...
- 单片机的基本构成、工作原理 LET′S TRY“嵌入式编程”: 1 of 6
单片机的基本构成.工作原理 LET′S TRY“嵌入式编程”: 1 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识.有了电 ...
- 单片机ADC检测4-20mA电路,以及计算方法
单片机ADC检测4-20mA电路,以及计算方法 转载:https://www.hongchangzidonghua.com/?id=24 1,手里有一个4-20mA输出的压力传感器,假设测量范围是0M ...
- 单片机的编程语言和开发环境 LET′S TRY“嵌入式编程”: 3 of 6
单片机的编程语言和开发环境 LET′S TRY“嵌入式编程”: 3 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识. 在“ ...
- [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】
come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel ...
- STM32单片机串口一键下载电路与操作方法详解
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片出 ...
- Python程序入口 __name__ == ‘__main__‘ 有重要功能(多线程)而非编程习惯
文章来源于互联网(https://jq.qq.com/?_wv=1027&k=rX9CWKg4) 在Python中,被称为「程序的入口」的 if name =='main': 总是出现在各种示 ...
- 中断 LET′S TRY“嵌入式编程”: 5 of 6
中断 LET′S TRY“嵌入式编程”: 5 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的单片机的基础知识.本期为最后一期,将为大家介绍在单片机控制系统中不可缺少的 处理方式--“中断” ...
- 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...
随机推荐
- Cookie-parser
let express = require('express'); let app =new express(); // 引入cookie-parser; let cookieParser = req ...
- IdentityServer4【Introduction】之概括
The Big Picture 大多数现代应用看起来都像下面的样子: 大多数的交互是下面这样: 浏览器与web应用之间的通信 web应用和web APIs之间的通信(这两者有时是独立的,有时是有用户参 ...
- css实现三栏自适应布局(两边固定,中间自适应)以及优缺点
方法一:绝对定位(absolute + margin) 原理:给左右两边的元素设置absolute,这样左右两边的元素脱离标准文档流的控制,中间的元素自然会上来,然后给中间的元素设置margin留出左 ...
- sql 保留2位小数/换行
2.176544保留两位小数 1.select Convert(decimal(18,2),2.176544) 结果:2.18 2.select Round(2.176544,2) 结果:2.180 ...
- Java多线程之定时任务(Timer)
package org.study2.javabase.ThreadsDemo.schedule; import java.util.Date; import java.util.Timer; imp ...
- iframe与src一个性质 当js中修改了src的值后会重新向后台发送请求 ;为了防止浏览器缓存问题 当我们修改src时候 需要添加不同的值 这样浏览器就不会从缓存中取值 而是重新发起后台请求
- 皮皮虾FAQ
我们提供的软件,是市场上比较好操作的,如果有其他的软件也是可以使用我们的ip的 Windows 1.windows找不到粘贴的地方 window打开窗口后,请在屏幕右下角找小飞机,右键即可 2.win ...
- 【嵌入式】Arduino编程基础到应用全解析
Arduino Author: Andrew.Du 基础 基础语法: setup() loop() pinMode(引脚,模式) pinMode(13,OUTPUT):设置13号引脚为输出 //在使用 ...
- Django RBAC用户权限设计方案
RBAC基于用户权限系统设置方案 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干 ...
- Cash Machine POJ - 1276 多重背包二进制优化
题意:多重背包模型 n种物品 每个m个 问背包容量下最多拿多少 这里要用二进制优化不然会超时 #include<iostream> #include<cstdio> #in ...