单片机小白学步(4) 模拟电路、传统数字电路与单片机

发布者:BlissfulDreams最新更新时间:2016-05-23 来源: eefocus关键字:单片机  小白学步  模拟电路  传统数字电路 手机看文章 扫描二维码
随时随地手机看文章
大家都用过计算器,有没有想过它是怎么实现的呢?这里我不详述计算器的原理,而只对思路进行简单介绍。等我们学会了单片机,也可以亲手制作一个计算器。

用电路进行数学计算

通过电路进行数学计算,应该怎么做呢?为了便于理解,下面我举个很简单的例子。

 

17520628

 

在这个电路中,电阻R1=R2,我给A、B两点分别接入3V和5V电压,这个时候,C点的电压则为(5+3)/2=4V。这个电路完成了一个求平均值的操作,如果我们用1V表示数字1,它计算出来3和5的平均值是4;如果我们定义1mV表示数字1,这个电路就计算出了3000和5000的平均值是4000。如果我能通过巧妙的方法,利用电阻电容乃至晶体管等元器件的特性,设计出很多类似这样的电路,它就可以完成很复杂的四则运算,以及平方、开方、对数等运算。这就是通过电路来帮助我们进行数学计算的简单例子。在这个例子中,并不见得能体现到电路计算相比于我们用笔纸计算的优势。但是如果我们把电路做的足够复杂,它的计算速度是相当快的,并且只要有电能供应,它就永远不知疲倦的计算,而且不容易出错。

上面我们设计了一个简单的模拟电路计算器,它能计算两个数的平均值,我们用电压值直接表示数字。但是这个电路在实际中工作并没有那么理想。做基本电学实验测量电压的时候,大家会发现,电压的测量总是有误差的,电压表有误差,读数也有误差,并且基本上无法避免。自然界中很多东西都是有误差的。在这里除了电压表测出来的值和实际值不同,实际C点电压值也并不完全等于AB电压值的平均,因为我们很难保证R1和R2阻值完全一致,并且导线也有电阻。于是我们计算出来的结果,更可能是3.99或者4.01而不是精确的4.00,这就导致我们的计算出了误差。如果电路复杂了,误差会逐步累积,越来越大,最后导致计算结果完全没有意义,而减小电路的误差也是相当不容易的。

模拟电路与数字电路、十进制与二进制

于是数字电路诞生了。相较于模拟电路的不精确,数字电路就有很大优势了。注意,数字电路是相对于模拟电路而言的,数字电路的本质也是模拟电路。通常我们所说的模拟电路,指的是除数字电路以外的电路。

我们人类用十进制计数法表示数字,原因是我们有十个手指。而数字电路中使用二进制数字来进行运算,因为很多电子器件往往会有两种很确定的状态,比如开关的“开”和“关”,灯的“亮”和“灭”。二进制数其实比十进制数简单多了。十进制中,从0到9,满10就向高位进位,即9+1=10;而二进制满二进一,所以二进制中1+1=10。一开始我们会感觉这样很别扭,实际上并非二进制有多难,只是我们习惯了十进制而已。

数字电路中,我们使用的比较多的一种用电压表示二进制数字的方式,称为TTL电平(TTL = Transistor-Transistor Logic,原意为逻辑门电路)。它规定+5V电压为高电平,表示数字“1”,0V电压为低电平,表示数字“0”。由于电路自身特点,实际上这种TTL电平电路输出的电压,并非绝对准确的5V和0V,而是规定将>2.4V的电压视为高电平, 电压<0.4V则视为低电平。也正是因为这样的特点,我们根本不需要将电压控制的很准确,就能很准确的表示出我们想要表示的数字。和前面的模拟平均数计算电路相比,明显很有优势。而这也正是数字电路得以广泛应用的根本原因。

传统数字电路和单片机

数字电路的介绍就到此为止,在原理篇中会有更详细的介绍。事实上,单片机的本质也是数字电路。下面我们要说的传统数字电路,指的是除单片机这类可编程器件以外的数字电路。下面我们来看看单片机和传统数字电路的区别。

利用一些常用的传统数字电路器件(一般都是集成电路芯片),我们可以设计出如下图的电路。它是一个电子表,有六个数码管显示时间,图中正显示的就是00:00:18。可以看出来这个电路还是挺复杂的,设计起来也是很费时间的。

 

clip_image0026a329d04-71a4-47b8-86e9-5e9fc8f7de58

 

但是单片机的出现,使得实现相同功能的电路设计难度大大降低。下图就是使用单片机设计的电路。同样是电子表,不仅显示效果比前面的那个要好,而且功能更强大了,两个按键可以像市面上常见的两个按键的手表一样调整时间和日期;而电路却简单了很多。我们只需要给单片机写进去特定的程序,就可以让它按照我们设计好的方式工作。

如果某天,我们想要给这个电子表增加马表计时的功能,对于前面的那个数字电路,恐怕整个电路都得重新设计制作;但是对于单片机制作的这个电路,我们只需要修改程序代码,然后重新写进去就可以了,就像在电脑上安装软件一样,根本不需要修改电路,十分方便。

 

clip_image004fdf54da0-f0a0-4061-802c-f4a5e19abad0

 

传统数字电路和单片机的关系就像非智能手机和智能手机的关系一样,智能手机最大的优势在于它可以安装各种软件游戏,而非智能手机就没有这么强大的功能。单片机也是如此,同样的电路,你可以给它下载各种程序,让它按照你的想法去工作。对于单片机来说,硬件电路是单片机的躯体,而程序才是它的灵魂,而写程序的你,就是它的上帝。

=======================================================

关键字:单片机  小白学步  模拟电路  传统数字电路 引用地址:单片机小白学步(4) 模拟电路、传统数字电路与单片机

上一篇:单片机小白学步(3) 偶遇51单片机
下一篇:单片机小白学步(5) 集成电路、封装相关知识

推荐阅读最新更新时间:2024-03-16 14:54

Keil C51单片机开发心得简介
用Keil写C51程序是最好不过的了。用伟福也可以写,但伟福的编辑能力就相差太远了。个人喜欢用Keil写代码,然后用伟福硬件仿真(只有WAVE的仿真头)。不过Keil是好用,但写代码关键还是C51水平,也就是编程能力,写C程序就离不开模块化这个词了。C51和A51,要扬长避短,发挥C的长处,就得将C模块化好。刚刚开始的时候就只是熟悉C51的语法规则了,熟悉了这个然后再追求程序的可读性和可移植性。 下面是使用Keil C51的一点心得: 1、程序可读性的提高 要提高程序的可读性,就得养成一良好的编程习惯了,例如变量用小写,常量用大写,函数第一个字母用大写等等。这样成习惯以后,自己看代码就会一目了然。另外还要灵活的在KEIL中使用
[单片机]
Keil C51<font color='red'>单片机</font>开发心得简介
VB实现PC与单片机串口通信
VB进行串口的关键在于MScomm控件,下面小厮先就MScomm控件进行介绍。 每个MSComm控件对应于一个串行端口。使用多个串行口时,要使用多个MSComm控件。MSComm控件的主要属性及说明如下。 属性 说明 CommPort 设置并返回通信端口号 Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位 PortOpen 设置并返回通信端口的状态。也可以打开和关闭端口 Input 从接收缓冲区返回字符 Output 向传输缓冲区写一个字符 工程 部件 ,选中Microsoft Comm c
[单片机]
基于单片机的智能太阳能路灯设计
太阳能路灯的应用具有重要的现实意义,尤其是靠小规模火力发电或季节性水力发电的地区,更应大力发展太阳能电力。太阳能路灯以其先进、稳定、智能、成熟的控制技术及显著的节能特性、简便的维护方式等特点得到推广。随着太阳能照明灯具产品的普及,很多应用项目存在质量和售后服务问题。因此,需及时分析原因、规范市场,使太阳能路灯市场健康有序地发展。太阳能是地球上最为直接、普遍、清洁的能源,其作为一种可再生能源,每天达到地球表面的辐射能约2.5亿万桶石油。 1 硬件电路设计 选择DS1302计时器、AT24C02存储器、4位数码显示器、过充过放电路、STC12C2051单片机等组成智能控制系统。根据各部分电路的功能不同,整体电路可分为以下几个部分:太阳
[单片机]
基于<font color='red'>单片机</font>的智能太阳能路灯设计
51单片机的中断源入口地址是程序存储器空间的5个单元
程序存储器低端的一些地址被固定地用作特定程序的入口地址: (1) 0000H——单片机复位后的程序入口地址。 (2) 0003H——外部中断 0 的中断服务子程序入口地址。 (3) 000BH——定时/计数器 0 的中断服务子程序入口地址。 (4) 0013H——外部中断 1 的中断服务子程序入口地址。 (5) 001BH——定时/计数器 1 的中断服务子程序入口地址。 (6) 0023H——串行口的中断服务子程序入口地址。 (7) 002BH——定时器 2 的中断服务子程序入口地址。 编程时,通常在这些入口地址开始的二三个单元中,放入一条转移指令,以使相应的 服务与实际分配的程序存储器区域中的程序段相对应(仅在中断服务子程
[单片机]
51<font color='red'>单片机</font>的中断源入口地址是程序存储器空间的5个单元
低功耗MCU设计理念
MCU功耗来自何处 在开始讨论低功耗MCU设计前,必须先探讨MCU功耗的来源,其主要由静态功耗及运行功耗两部分组成。考虑实际的应用,最后决定系统功耗性能指针则必须计算平均功耗。 运行功耗 现代 MCU 已整合相当多的的模拟外围,不能单纯考虑数字电路的动态功耗。MCU 运行时的总功耗由模拟外围功耗和数字外围的动态功耗相加而得。模拟电路的功耗通常由工作电压及其性能要求指针来决定,例如 100 ns 传递延迟 (Propogation Delay) 的比较器工作电流可能约为 40 微安,当允许传递延迟规格为 1 μs 时,工作电流有机会降到个位数微安。 数字电路的动态功耗主要来自开关频率、电压及等效负载电容,其计
[单片机]
低功耗<font color='red'>MCU</font>设计理念
Atmel推出具有高速通信功能的AVR32微控制器
  爱特梅尔公司 (Atmel Corporation) 日前宣布推出具有高速通信功能的全新AVR32微控制器AT32UC3A3,其核心是爱特梅尔的91 DMIPS AVR32 CPU,包含带On-The-Go 功能的高速USB接口、双高速SD/MMC卡接口,以及支持单层单元 (SLC) 和多层单元 (MLC)、纠错码 (ECC) 的SDRAM 和 NAND闪存接口。AT32UC3A3 瞄准快速增长的数字媒体解决方案和音频播放器基座 (docking station) 市场,爱特梅尔自2007年推出AT32UC3A系列以来在这些市场已取得了很大的成功。AT32UC3A3还适用于需要快速传输大量数据的广泛的嵌入式应用。   分布
[单片机]
带有高性能ADC的单片机C8051F060
1 引言 在混合信号单片机中,美国Cygnal公司新推出的C8051F06X系列高集成度混合信号单片机可谓一枝独秀。C8051F06X是高度集成的片上系统单片机,它有多达59个数字I/O口,采用与8051兼容的内核CIP-51,速度高达25MI/s。该系列单片机有C8051F060/2型和C8051F061/3型,与同家族的其他单片机相比,其模拟外设性能优异,除有一个带可编程放大器和多路选择器的8路10位ADC外,还有两路采样速度可达1 MS/s的16位ADC,两路12位DAC,3个电压比较器,1个片内温度传感器和参考电压源等。本文仅以C8051F060型为例,着重介绍其高速、高精度模/数转换器的使用方法。 2 高精度模/数
[单片机]
什么是汽车微控制器?汽车MCU的特点、分类及应用
随着智能汽车的发展,用户对汽车的安全性、稳定性、智能化不断提出更新的要求。车载各项功能的实现都需要复杂的芯片组和算法的稳定支持,MCU将发挥更大的作用。 什么是汽车微控制器? 汽车微控制器又称MCU,是汽车电气控制系统的核心部件。MCU必须具备良好的高温性能和稳定性,才能控制车内所有电子系统,包括多媒体、音响、导航、悬架等。与普通MCU相比,汽车MCU对品质要求更高,在复杂环境下不易损坏汽车的。一般来说,最重要的是可靠性和温度范围,民用级为0-70℃,工业级为20-85℃,汽车级为40-85℃。 MCU将成为“汽车大脑”的重要组成部分,是汽车的智能大脑,发挥着“思考、计算、控制”的核心功能。随着汽车电子电气架构向集中式演进,M
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved