版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机逻辑原理前言我们讲,单片机不是凭空产生的,人们想要这样的东西至少有文明以来就有。从最早的算盘,到机械计算器,到电子管计算机,到晶体管计算机。1957年随着诺伊斯等人发明集成电路制作工艺,单片机才出现在我们面前。1971年1月INTEL推出第一颗4004单片机,之后单片机如雨后春笋般涌现。1974年8月摩托罗拉推出6800单片机;德州仪器推出TMS1000;国家半导体推出PACE单片机逻辑原理结构我们先来了解下单片机的内部结构,下图是8051单片机的内部结构图,其实所有类型的单片机结构都大同小异,都包含算术逻辑单元,程序存储器,数据存储器,外设等。为什么是这样的结构,要从计算机的历史说起。
2、1946年第一台电子计算机埃历阿克面世,这台“巨型机”占地面积为170平方米,总重量达到30吨,运算速度在当时是惊人的1秒5000次加法。虽然速度“很快”,但埃历阿克没有程序存储器,所有指令得手动输入。单片机逻辑原理结构手动输入运行指令意味着,再快计算速度都是白搭,因为输入指令占用大部分时间。埃历阿克顾问,数学家及“计算机之父”冯诺依曼针对埃历阿克发表计算机史上著名的“101页报告”,指出计算机要包括5个单元:运算器CA、逻辑控制器CC、存储器M、输入装置I和输出装置O,并用二进制替代十进制运算。单片机逻辑原理逻辑为什么要采用二进制,因为计算机先驱们发现电路在处理二进制“开、关”上要比十进制方
3、便的多。1938年数学家香农在他的硕士论文继电器和开关电路的符号分析中用布尔代数对开关电路进行相关分析,证明可以通过继电器电路来实现布尔代数的逻辑运算,同时明确地给出了实现加,减,乘,除等运算的电子电路的设计方法。单片机逻辑原理逻辑与为了便于了解,这里用继电器电路表示逻辑电路。VAB我们来看下左图两个继电器控制灯泡的电路情况。C单片机逻辑原理逻辑与BCVACVAB单片机逻辑原理逻辑与A B都闭合时,灯泡才亮,这就是与门逻辑电路。CVABABCA B C0 0 00 1 01 0 01 1 1单片机逻辑原理逻辑或A B只要一个闭合灯泡就亮,这就是逻辑或电路。VABCVABCA B C0 0 00
4、 1 11 0 11 1 1单片机逻辑原理逻辑或A B只要一个闭合灯泡就亮,这就是逻辑或电路。ABCA B C0 0 00 1 11 0 11 1 1VBCVA单片机逻辑原理逻辑或A B只要一个闭合灯泡就亮,这就是逻辑或电路。VACVABCA B C0 0 00 1 11 0 11 1 1VA单片机逻辑原理逻辑或A B只要一个闭合灯泡就亮,这就是逻辑或电路。CVABCA B C0 0 00 1 11 0 11 1 1VAVA单片机逻辑原理逻辑非A断开时灯泡亮,A闭合时灯泡灭,逻辑非电路。ACA C0 11 0VA单片机逻辑原理逻辑非A断开时灯泡亮,A闭合时灯泡灭,逻辑非电路。A C0 11 0
5、ACVA单片机逻辑原理逻辑与非门与门与非门组合逻辑,与非门。CVAVBA B C0 0 10 1 11 0 11 1 0ABC单片机逻辑原理逻辑或非门与门与非门组合逻辑,或非门。CVABABCA B C0 0 10 1 01 0 01 1 0单片机逻辑原理逻辑ABCABCACABCABC与门或门非门或非门与非门我们来看下几个逻辑电路的符号,就是这几个逻辑电路,组成我们丰富的数字世界,用继电器表示是为了直观体现,现在的数字电路都是在晶体管,场效应管的基础上的。单片机逻辑原理二进制加法为什么要用二进制,前面说过了,电路在处理二进制“开、关”上要比处理十进制简单的多。接下来我们来看看二进制加法电路怎
6、么实现,实际上只要能实现加法就能实现任何数学计算,我们编程的数学算法都是基于加法基础上的,集成硬件加法器的处理器芯片并不多见,DSP是一种。我们来看下一位的二进制加法:A、B输入,C和输出,D进位输出。你可能在学校里记过上面这张表,并背诵过如下口诀:0加0等于0,0加1等于1,1加0等于1,1加1等于0,进1。与十进制加法一样,二进制加法也从最右边的一列开始,逐列相加两个数:A B C D0 0 0 00 1 1 01 0 1 01 1 0 1 0 1 1 0 0 1 0 1+ 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1单片机逻辑原理二进制加法半加器A B S CO0
7、0 0 00 1 1 01 0 1 01 1 0 1数学上写写简单,谁都会,用电路怎么表示表示出来呢?我们来看下和C与进位D与输入AB之间的逻辑关系,可能大家都看出来了,进位D好简单,就是与门电路,这个和怪别扭的,既不是与,也不或,非也不是,怎么弄?可能大家还是能看点名堂出来,AB输入不同时,和输出为1,聪明的先辈们早就给我们想好这样的电路了,并取名异或门,如下是电路连接,我们来分析下。ABS与门,输入都为1时输出1或门,输入有一个为1时输出1与非门,输入不都为1时输出1ABS异或逻辑表示单片机逻辑原理二进制加法半加器和为异或逻辑,进位为与逻辑,好了,我们的1位二进制加法电路就出来了,由于没有
8、进位相加,我们称之为半加器,我们把电路简化为右图, 它可以把两个二进制位A和B相加,从而得到一个和输出(简称S) 和一个进位输出(简称CO)。ABCOSAB半加器SCO单片机逻辑原理二进制加法全加器但大部分二进制数是多于1位的,半加器不能够把前一步的进位加到本次运算中。例如做如下加法: 1 1 1 1+ 1 1 1 11 1 1 1 0 只能用半加器来计算最右边一列数:即1加1等于0,进位为1。对于右边第2列数,由于进位的存在,需要加3个数,需要按如下方式把两个半加器和一个或门连接起来,我们称之为全加器:AB半加器SCOAB半加器SCO进位输出和输出进位输入AB全加器SCOCI单片机逻辑原理二
9、进制加法8位加法器有同学可能已经想到了,我们把8个全加器串起来就是一个8位加法器,理论上可以串无限多。如何实现减法?A BFACICO SA BFACICO SA BFACICO S8位和进位输入进位输出A7.A0B7.B0 8位加法器CICO S7.S0单片机逻辑原理时钟在单片机构成图里面有个CLOCK,是什么东西。我们先来看下这样的一个电路,如下图,当A闭合时,线圈通电,触电下拉;触点下拉,线圈断电,触点复位;触电复位,线圈通电,触点下拉看起来C的电压如下:有周期的通断,时钟。所以数字电路都依赖于时钟触发,所有程序的执行也都依赖于时钟,所以时钟对于单片机是不可缺少的。VCAV0单片机逻辑原
10、理触发器时钟是如何控制数字电路的呢?接下去我们再来看个电路。左边或非门的输出是右边或非门的输入,右边或非门的输出是左边或非门的输入。这是一种反馈。事实上,这和在振荡器中类似,输出又返回作为一种输入。一开始只有左边或非门输出1,因为它的两个输入都是0。现在我们操作两个开关看看。V或非门,输入都为0时,输出1单片机逻辑原理触发器闭合上面开关,灯亮,断开灯还是亮着。由于或非门一个输入输出就为0。V或非门,输入都为0时,输出1V或非门,输入都为0时,输出1单片机逻辑原理触发器我们操作下面的开关看看,闭合灯泡灭了,断开灯泡依旧不亮。V或非门,输入都为0时,输出1V或非门,输入都为0时,输出1单片机逻辑原
11、理触发器我们来总结下: 闭合上面的开关使灯泡点亮,当再断开时,灯泡仍然亮着。 闭合下面的开关使灯泡熄灭,当再断开时,灯泡仍然不亮。电路的奇特之处是:有时当两个开关都断开时,灯泡亮着;而有时,当两个开关都断开时,灯泡却不亮。当两个开关都断开时,电路有两个稳定状态,这样的一个电路称为触发器。触发器电路可以保持信息,换句话说,它有记忆性。有了触发器我们时钟就可以控制数据了,也可以将我们的电路跟时钟联系在一起。触发器有多种,下图是最简单的RS触发器。单片机逻辑原理锁存器具体数据怎么保存呢,我们来看下这个电路:S和R输入以及输出Q均为0。只要保持位为0,数据端输入对于电路输出就没有影响;当保持位为1时,
12、电路反映出数据端输入的值。这个电路称为电平触发的D型触发器,D表示数据端输入。通常情况下保持位会标为“时钟”。实际上图中电路数据在时钟高电平时输出,也就是电平触发,实际上用的为边沿触发。单片机逻辑原理锁存器把多个锁存器如下组合连接时可以构成计数器,8位锁存器构成8位计数器。锁存器,在数据跳变沿写入单片机逻辑原理锁存器跟8位加法器一样,我们把8个锁存器连接在一起就构成了8位锁存器。8位加法器与8位锁存器组成电路就可以实现数据累加。D7.D0 8位锁存器CLK Q7.Q0单片机逻辑原理存储器存储器的类型有很多,比如EEPROM,FLASH,SDRAM等,他们的作用都是存储数据,当然各有优缺点,RO
13、M,FLASH掉电也能保存数据,RAM不行,但读写速度快。比如电脑系统文件安装在磁盘里,但是运行程序往往在内存中运行,这就是为什么内存大小会影响电脑运行速度。我们看下右图的电路表示8X1的RAM单元电路,通过地址选择一位数据信息读写,可以用如下表示。单片机逻辑原理存储器两个81 RAM阵列也可以按照与单个锁存器连接相同的方式组合构成RAM阵列。单片机逻辑原理自动操作前面我们提到加法器跟锁存器可以构成一个累加器,它可以在时钟的控制下,累加我们的输入数据。但是这个累加器存在一个待解决的问题,如果我要累加100个数据,得一个个输半天,如果中间一个不小心输错了,又得重来。如果先把数据输入到存储器中,再
14、进行累加,那么修改数据将变得简单。将它们结合在一起。单片机逻辑原理自动操作我们就有了这样的电路图结构。振荡器提供时钟信号。在清零开关断开后,当时钟由0变为1时,将同时发生两个事件:锁存器保存来自加法器的结果,16位计数器加1,指向R A M阵列的下一个地址。当时钟第一次由0变为1时,锁存器保存第一个数,同时,计数器增加到0 0 0 1 h;当时钟第二次由0变为1时,锁存器保存第一个数与第二个数之和,同时计数器增加到0 0 0 2 h;依此类推单片机逻辑原理自动操作前面讲的只是简单的对存储的数据进行累加,现在我如果想要这样的操作,比如将RAM中0000H-0002H的3个数据累加存放到0003H
15、中,将0005H-0006H的2个数据累加存放到0006H中,将0007H-0009H的3个数据累加存放到000AH,停止。详细的说,应完成如下工作: 把地址0000h中的数装载到累加器中 把地址0001h中的数加到累加器中 把地址0002h中的数加到累加器中 把累加器中的数保存到地址0003h中 把地址0004h中的数装载到累加器中 把地址0005h中的数加到累加器中 把累加器中的数保存到地址0006h中 把地址0007h中的数装载到累加器中 把地址0008h中的数加到累加器中 把地址0009h中的数加到累加器中 把累加器中的数保存到地址000Ah中 停止运行单片机逻辑原理自动操作怎样完成这些工作呢?只是简单地键入一组数到RAM中并期望自动加法器来正确操作是不可能的。对于R A M中的每个数字,我们还需要一个数字代码来表示自动加法器所要做的工作:装载,加,保存或停止。也许最容易的方法是把这些代码存储在一个完全独立的RAM阵列中。这第二个RAM 阵列与最初的RAM阵列同时被访问,但它存放的不是要加的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年漳州城市职业学院单招综合素质笔试模拟试题含详细答案解析
- 2026年菏泽家政职业学院高职单招职业适应性测试模拟试题及答案详细解析
- 2026年湖南劳动人事职业学院单招综合素质笔试备考试题含详细答案解析
- 2026年郑州西亚斯学院单招综合素质考试参考题库含详细答案解析
- 2026年贵州工商职业学院单招综合素质笔试备考试题含详细答案解析
- 2026年青岛电影学院单招综合素质笔试参考题库含详细答案解析
- 2026江西工业职业技术学院宿舍指导老师岗位招聘2人考试重点题库及答案解析
- 2026年南充电影工业职业学院单招职业技能考试备考试题含详细答案解析
- 2026年上海杉达学院单招职业技能考试备考试题含详细答案解析
- 2026年鄂尔多斯职业学院高职单招职业适应性测试模拟试题及答案详细解析
- 儿童颅咽管瘤临床特征与术后复发风险的深度剖析-基于151例病例研究
- 防潮墙面涂装服务合同协议
- GB/T 15237-2025术语工作及术语科学词汇
- 外卖跑腿管理制度
- 造价咨询保密管理制度
- 冷链物流配送合作协议
- 生物-江苏省苏州市2024-2025学年第一学期学业质量阳光指标调研卷暨高二上学期期末考试试题和答案
- 2024年人教版一年级数学下册教学计划范文(33篇)
- 成都随迁子女劳动合同的要求
- 万象城项目总承包述标汇报
- 小学英语完形填空训练100篇含答案
评论
0/150
提交评论