版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实例解读51单片机完全
学习与应用第1章单片机在哪里2单片机在哪里?31.1.1电磁炉与单片机4输入设备(箭头指向单片机):加、减按钮输出设备(箭头指向设备):4个指示灯、电磁线圈的驱动电路1.1.2MP3播放机与单片机5单片机就好像核心控制者,统管着液晶屏、USB口、存储器、DAC及驱动电路、按钮等外部设备,并有序地在这些设备中传递、交换数据或信号。实例解读8051单片机完全学习与应用1.1.3更多单片机6单片机还隐藏在我们日常生活的许多电子产品中,如鼠标、遥控器、洗衣机、机器人等。综观这些电子产品都有一个特点,它们都有输入或输出设备。比如鼠标的按键、遥控器的按键等是输入设备;洗衣机的电机、机器人的执行机构是输出设备。形形色色的输入设备和输出设备都在单片机的控制下协调工作。实例解读8051单片机完全学习与应用
1.3.1Intel8051单片机7Intel8051单片机于1980年由Intel(英特尔)公司首先研制出来并应用于嵌入式系统中。AT89S51型单片机(8051兼容型单片机),呈现出集成电路特有的外观,两侧有整齐排列的金属管脚,尺寸为52mm(长)×15mm(宽)。实例解读8051单片机完全学习与应用
1.3.2PIC单片机8PIC单片机的低功耗、广泛用途使其成为产品设计和爱好者首选的控制器,PIC单片机家族的单片机在汽车电子、以太网、家电、机电一体化、USB、仪器仪表等产品中有着非常广泛的应用。实例解读8051单片机完全学习与应用
1.3.3AVR单片机9AVR是单片机设计及体系结构中的新生儿,它由Atmel公司于1996研制出来。目前AVR有UC3、XMEGA、megaAVR、tinyAVR等几大系列过百种型号的单片机可供设计时选择。实例解读8051单片机完全学习与应用
1.3.4其他单片机10ARM系列单片机STMicroelectronics公司的ST系列单片机
Freescale公司的单片机系列
TexasInstruments公司的单片机系列“中国的半导体行业与世界先进水平的差距目前依然很大,我国半导体公司与世界著名公司不在一个数量级上。”------Intel视觉计算事业部首席高级华人工程师江宏实例解读8051单片机完全学习与应用
1.4.1数字温度计工作原理11腋下的体表皮肤温度由温度传感器采集,温度传感器把体温这个物理量进行某种变换后形成电信号,这个电信号是连续的模拟信号,需要转换成数字信号才能显示。于是模数转换和显示处理电路实现转换并输出到液晶屏显示。实例解读8051单片机完全学习与应用
1.4.1数字温度计工作原理12实例解读8051单片机完全学习与应用
1.5.1需求分析13某工厂有一条图1-13所示的装小球生产线,小球被传送带运送并掉入下方的纸箱中,纸箱在另一条传送带上被运送,每个纸箱装满10个小球后就换下一个纸箱装球。现在需要设计一个单片机控制系统,实现以上的小球装箱要求,并实时显示当前装球的纸箱序号和已装的小球数。实例解读8051单片机完全学习与应用
1.5.2系统框架14
《实例解读8051单片机完全学习与应用》
第2章如何成为单片机系统设计师15知识储备16一个电子系统,比如机器人,其背后蕴涵的知识往往是相当丰富的。既有模拟电路、数字电路,还有嵌入式系统、机电一体化等。
《实例解读8051单片机完全学习与应用》
2.1.1综合素质17电子血压计,测量时将一个密封的袖带套在上臂上,按下按钮启动血压测量后,单片机控制气泵工作,向袖带中打气从而增加其中的压力。当压力达到200mmHg左右时即停止打气并缓慢放气,在气压下降的过程中,压力传感器实时监测袖带中的压力变化,通过ADC进行模数转换后送给单片机分析,从而计算出收缩压(高压)和舒张压(低压)。
实例解读8051单片机完全学习与应用
2.1.2软件工具18单片机及电路仿真:Proteus、Multisim等。电路原理图及PCB设计:AltiumDesigner(Protel)等
实例解读8051单片机完全学习与应用
2.1.3硬件工具之一:面包板19在面包板上观察电路的现象是不是与设计的一致,以验证电路图设计的正确性,这在电子电路设计中经常用到。
实例解读8051单片机完全学习与应用
2.1.3硬件工具之一:面包板20面包板的表面有规则排列的供插装元器件的插孔,在面包板中间有一条中心分隔槽把它分成上、下两个部分。上半部分每列5个插孔之间是导通的,下半部分每列5个插孔之间也是导通的。而上、下部分插孔之间不导通。
实例解读8051单片机完全学习与应用
2.1.3硬件工具之一:面包板21电阻1,它一支管脚插在电源正极排孔上,与电路的电源正极导通;另一支管脚插在下半部分的插孔中,而该插孔下方用一根导线跨接到第3列插孔中,而三极管1的e极插于同列插孔中,这样就实现了电阻1与三极管1的e极的电气连接。
实例解读8051单片机完全学习与应用
2.1.4硬件工具之二:万用板和印刷电路板22元器件插在万用板的一面,元器件管脚穿过万用板上的过孔,在万用板另一面使用电烙铁焊接管脚与万用板上的焊盘,然后焊接导线并通过导线实现元器件之间的电气连接。元器件一般都安装在万用板的同一面,导线可以焊接在万用板的任意一面。
实例解读8051单片机完全学习与应用
2.1.4硬件工具之二:万用板和印刷电路板23电路原理图可生成印刷电路板图。把印刷电路板图交给电路板生产厂家就可以把印刷电路板加工出来。电子产品的电路板已经具备工作的基本条件了。
实例解读8051单片机完全学习与应用
2.1.5焊接工具24
实例解读8051单片机完全学习与应用
2.1.6焊接方法25插元器件入过孔,焊接元器件管脚与焊盘。
实例解读8051单片机完全学习与应用
2.1.6焊接方法26焊接时,从个头较小的电阻、瓷介电容等元器件开始。把元器件插入印刷电路板的过孔,并从另一侧伸出。左手拇指和食指捏着焊锡丝,右手拿电烙铁(左撇子可反过来),先在电烙铁头上轻轻蹭一点焊锡以便更好的导热。接着把电烙铁头贴到管脚和焊盘之间,等焊盘上的温度升高之后,一般会看到铜黄色的焊盘表面产生微小的泡泡,这时再把焊锡丝推到焊盘上。由于焊盘温度已经可以把焊锡丝熔化,所以焊锡丝很快熔化在管脚和焊盘之间,当焊点形成一个较为圆滑、饱满的锡点后立即把焊锡丝拿走,然后是电烙铁头。不一会,焊锡冷却而即形成一个焊点。
实例解读8051单片机完全学习与应用
2.2.1需求分析27需求分析是分析功能、确定参数要求的过程。无论在学习单片机系统设计或是将来设计一些解决实际问题的项目,明确最终要达到的功能非常重要。比如一个简单的单片机控制发光二极管的例子,功能确定为单片机控制一个发光二极管点亮500ms,熄灭500ms,再点亮500ms,再熄灭500ms……如此反复。
实例解读8051单片机完全学习与应用
2.2.2电路设计28左边阴影框里就是单片机,右边的是发光二极管。
实例解读8051单片机完全学习与应用
2.2.3程序设计29单片机程序用汇编语言或C51语言编写,有许多计算机上的应用软件可支持这两种语言的单片机程序开发,比如第4章将要介绍的µVision软件等。用汇编或C51语言设计好的单片机程序,将通过一个连接计算机USB口和单片机下载接口的下载器,下载到单片机中。下载完成后,单片机启动时运行下载的程序就可以实现相应的控制功能了。
实例解读8051单片机完全学习与应用
2.2.4系统调试30在调试阶段,也就是“磨合”软件和硬件以便它们共同实现系统功能。当程序下载到单片机系统后,启动单片机运行程序,观察系统的“反应”和我们的设计是不是相符。比如发光二极管以500ms为间隔进行闪烁。当程序设计完成并下载到单片机之后,可能出现的问题是发光二极管不闪烁或闪烁的时间间隔不对。如果出现这些与设计不符的实验效果,首先在保证硬件电路是正确的前提下,回到程序中找错误,修改后再下载到单片机系统中。如此反复,直到系统运转正常为止。
实例解读8051单片机完全学习与应用
2.3.1发光二极管工作原理31发光二极管(LED,电路符号
)是一种最常用的指示器件,近几年因其成本下降和节能的特点大量使用在照明设备中。发光二极管有极性之分,当有足够的正向电流(正极流向负极的电流,约10mA~30mA)通过时便会发光。
实例解读8051单片机完全学习与应用
2.3.2单片机的控制32我们把发光二极管D1的负极连接在单片机的P0.4口(35管脚)上,电阻R1起到限流的作用。根据器件的连接关系分析知道:当单片机的P0.4口输出低电平时(接地),发光二极管D1正、负极之间获得电压而被点亮;当P0.4口输出高电平时(+5V),发光二极管D1则熄灭。所以要实现图2-17所示的功能,即让发光二极管以500ms为间隔闪烁,变成了让单片机的P0.4口以500ms为间隔输出高、低电平。
实例解读8051单片机完全学习与应用
2.3.3体验单片机控制发光二极管33
实例解读8051单片机完全学习与应用
2.4.1需求分析34反应时间测试仪的功能:单片机向蜂鸣器输出一个很短的鸣响信号Vout(比如500ms),测试者听到这个信号后立即按下按钮开关向单片机输入一个信号Vin,单片机只要计算出输出信号Vout与输入信号Vin之间的时间差就得到反应时间(以ms为单位),最后输出到反应时间显示器上显示即可。
实例解读8051单片机完全学习与应用
2.4.2电路设计35系统由4个模块(部分)组成:单片机、蜂鸣器及驱动电路、按钮开关、反应时间显示器。
实例解读8051单片机完全学习与应用
2.4.3程序设计36单片机P1.0在t1时刻输出一个高电平使驱动电路工作从而使蜂鸣器鸣响。同时单片机内部开始计时,等到按钮开关按下时,因开关的短路P1.7变成了低电平,此时为t2时刻,单片机计时结束。单片机的计时时长(t2-t1)即为反应时间,只要输出到显示器显示即可。
实例解读8051单片机完全学习与应用
实例解读8051单片机完全学习与应用
第3章单片机系统登场37典型的单片机系统38洗衣机是一个非常典型的单片机系统,外设如按钮、状态指示灯、电机等都在它的统一“领导”下发挥各自的功能并协同工作。当用户通过“程序”按钮选择了标准的洗涤程序,单片机获知后点亮标准程序对应的状态指示灯,并在洗涤时间显示器上显示所需洗涤时间。接着,用户按下“启动(暂停)”按钮,单片机通过重量传感器知道洗衣机中有多少衣物,从而估计控制注水阀打开的时间以注入适当的水量。当注水完成后单片机控制电机启动,电机带动波轮开始洗涤。
实例解读8051单片机完全学习与应用
3.1.1单片机本身39内部结构:在塑料基底的中央有一个微型的芯片,还有连接芯片和单片机管脚的细导线。单片机起主要作用的是芯片部分,细导线只是起到了在芯片和管脚之间传递信号的作用。
实例解读8051单片机完全学习与应用
3.1.2系统的构成40
实例解读8051单片机完全学习与应用
3.2.1AT89S51单片机的“外衣”41AT89S51单片机作为51系列单片机一个代表,被广泛应用在控制领域中。AT89S51是单片机的一个型号,这个型号下有DIP、PLCC、TQFP等封装。
实例解读8051单片机完全学习与应用
3.2.1AT89S51单片机的“外衣”42
实例解读8051单片机完全学习与应用
3.2.2AT89S51单片机的管脚43注意,有些电路符号中的管脚不是排从小到大的顺序排列的,而是把相近功能的管脚放到了一起。而旁边实际的AT89S51单片机器件的管脚则是按逆时针顺序排列的。
实例解读8051单片机完全学习与应用
3.3.1变压器基础知识44把220VAC转换成低压直流电压的第一步是降压,常使用的元器件是电源变压器(transformer),它专门用于变换交流信号的电压。
实例解读8051单片机完全学习与应用
3.3.2电源变压器45选购变压器时需要知道初级线圈和次级线圈的电压。一般初级线圈为220VAC,次级则需要根据实际需要来确定。比如单片机系统常常用5VDC供电,所以变压器可以选择次级线圈相等或略高的,比如6VAC等。还有一个参数在选购变压器时非常重要——变压器功率。如果某电路的工作电压为5V、工作电流为200mA,则电路的消耗功率P=VI=5V×200mA=1W,于是选择一个次级5V、额定功率1W以上的电源变压器就可以了。类似的,为电路设计电源时,可以大致估计一下电路的最大工作电流,用它乘以工作电压就可得到电路的消耗功率。电源的功率,或者说变压器的功率应该比这个功率大,否则电路有可能无法正常工作。变压器在使用前一定要注意区分好初级和次级管脚(见图3-6),一旦反接,轻则烧断电源保险,重则会使变压器线圈烧毁而彻底损坏。一般电源变压器在初级上都会标注有“220V”字样,如果没有标注可以按照下面的方法进行分辨:用万用表的电感器测量档,分别测量变压器的初级、次级线圈。电感大的为初级,应当接入220V。电感小的为次级,是输出端(相对降压变压器而言)。
实例解读8051单片机完全学习与应用
3.4.1二极管基础知识基础知识46二极管(diode),只允许电流单向流过它。二极管有两个管脚,这两个管脚分成正极和负极,电流只能从正极流向负极。电路符号中倒三角一端为正极,短横线一端为负极。实际器件中,二极管圆柱形外壳一端一般都有一个色环(银色、黑色、白色等),作为二极管负极的标记,与这个标记同侧的管脚为负极,另一侧的管脚则为正极。有些二极管在圆柱形外壳上还印刷有器件的型号。注意,二极管的正极、负极在电路中是不能接反的,否则二极管发挥不了单向导电的作用,有时还会烧毁二极管。
实例解读8051单片机完全学习与应用
3.4.1二极管基础知识基础知识47当电流从二极管正极流向负极时称为正向偏置(forwardbias),正向偏置一般在正极电压高于负极时产生。相反地,如果二极管负极电压高于正极,则处于反向偏置(reversebias)状态下,二极管不导通。正向偏置时,二极管正、负极之间会产生一个压降(电压下降)。这个压降也称为正向电压(VF,forwardvoltage),它的大小与二极管的种类有关。如果是硅半导体材料制成的二极管,正向电压VF=0.7V;如果是锗半导体材料制成则正向电压VF=0.15V。
实例解读8051单片机完全学习与应用
3.4.2整流48变压器帮我们变换了交流电压,不过从变压器次级输出的仍然是交流信号,这个交流信号的频率与市电相同,都是50Hz,其波形是正弦波。通常会用整流电路把交流信号变成单向脉动电压。常用的整流电路是一种称为桥式全波整流的电路结构:4支型号相同的二极管D1~D4按图示的方法连接在一起从而实现全波整流。
实例解读8051单片机完全学习与应用
3.4.2整流49
实例解读8051单片机完全学习与应用
3.4.3整流全桥50因为桥式全波整流实在应用得太多了,许多厂家干脆把4个同一型号的二极管集成在一起,制成整流全桥器件供电路设计时选用。整流全桥有3种等效的电路符号,每种电路符号的4个管脚分别为:2个AC管脚接交流输入信号(接变压器的输出),由于交流信号没有正负之分,所以这2个AC管脚可以混用。另外,“+”管脚为整流全桥的正极输出,“-”管脚为负极输出,这两个是整流全桥的输出。由于经过整流信号已经具有直流信号的特征,所以“+”和“-”管脚不能混用,否则将烧毁负载。
实例解读8051单片机完全学习与应用
3.5.1电容基础知识51电容器(capacitor)是一种储能器件,它不允许直流通过,但能让交流通过。电容容量的大小用法拉(farads,简写F)来描述,这也是电容容量的单位。由于F(法)是一个非常大的单位,通常还有mF(毫法)、µF(微法)、nF(纳法)、pF(皮法)等,它们之间的换算关系为:1F=103mF=106µF=109nF=1012pF
实例解读8051单片机完全学习与应用
3.5.1电容基础知识52电容采取直观的数字标记法来指明容量,方法为:电容表面印刷有容量的数值和单位,如1000µF等。另外,耐压值也常印在表面。单位缩写的方法来标记,如3n3代表3.3nF,33n代表33nF、4p7代表4.7pF等。纯数字的方法来标记,如103,其中“10”代表容量的前两位数,最后一位“3”代表倍数(0的个数),单位一律是pF。所以103代表10000pF,即10nF=0.01µF。类似的222代表2200pF、474代表470000pF,即470nF等。
实例解读8051单片机完全学习与应用
3.5.1电容基础知识53电容工作在电路中,需要考虑其耐压值的问题。如果在其两端的电压超过了这个值电容肯定是要烧毁的。如果电压超过得很夸张,那电容还会发生爆炸,殃及其他元器件。电容的耐压值一般都会标记在其外壳上,在容量参数旁边往往都能找到其耐压值。如3n3的电容,其耐压值为2000V,说明施加在该电容两端的电压不能超过2000V。
实例解读8051单片机完全学习与应用
3.5.2电容的种类54电容分为涤纶电容、云母电容、瓷介电容、电解电容、可变电容等几种。其中涤纶、云母、瓷介电容为无极性电容,它们有图所示相同的电路符号和外观。无极性电容的两个管脚没有极性之分,可以调换使用。
实例解读8051单片机完全学习与应用
3.5.2电容的种类55电解电容是一种极性电容,其电路符号和外观如图所示,它在无极性电容电路符号的基础上多出了一个“+”号。标有“+”号的一端为正极,另一端为负极。
实例解读8051单片机完全学习与应用
3.5.2电容的种类56注意,无论是铝电解电容还是钽电解电容都是有极性的电容,两个管脚有正、负极之分,在使用时切不可接反,否则很容易烧毁器件。此外,电解电容在选用时还需要注意其额定电压,在器件两端施加的电压值如果超过了额定电压,器件就会发热甚至爆炸。常用的额定电压有10V、16V、25V、35V、50V、75V、100V、125V、300V等,如图所示的铝电解是一个容量为1000µF、额定电压10V的器件。在已知电路工作电压VCC的情况下,要选择额定电压高于VCC的电解电容器件。
实例解读8051单片机完全学习与应用
3.5.3电源滤波57利用电容对电源进行滤波是一种最简单的方法。在整流全桥之后加上了一个滤波电容C1,这样一来,从整流全桥输出的单向脉动电压信号在上升段给电容C1充电,而在下降段电容C1向负载R1放电而使电压不会马上掉下来,相当于滤波之后输出了一个直流电压信号。滤波电容C1根据负载电流大小和滤波需要一般选择容量范围为100µF~10000µF,耐压值应该高于变压器的输出电压。
实例解读8051单片机完全学习与应用
3.6.1三端稳压基础知识58稳压,也就要在负载等条件改变时尽量稳定、稳住电源的输出电压,使电路中的用电器不受影响。许多电子电路中都使用集成电路稳压器(ICregulator)对电源进行稳压。集成电路稳压器按管脚的多少可分为三端固定式、三端可调式、多端可调式等。其中以三端式集成电路稳压器(简称三端稳压)最为常用。图示为78系列三端稳压的外观及管脚排布,该系列三端稳压可提供最大1A的电流,在大电流流过时发热量较大,所以在使用时通常都在器件背面安装散热器。
实例解读8051单片机完全学习与应用
3.6.1三端稳压基础知识5978系列三端稳压共有10个型号的器件(其管脚排布相同):7805、7806、7808、7809、7810、7812、7815、7818、7820、7824。每个型号后两位数字表示器件的稳压值。三端稳压基本应用电路:在220VAC经过变压器降压、整流全桥整流、电容滤波之后,输入到7805的IN端,从其OUT端输出的信号就形成稳定的5V直流电压(5VDC)。即便输入电压(市电)或负载电流在一定范围内变化,三端稳压总能将输出电压维持在5VDC。电容C1、C3起到储能、滤波的作用,电容C2、C4容量较小,可对高频噪音进行滤波。
实例解读8051单片机完全学习与应用
3.7.1晶振基础知识60晶振(crystal,全称为“石英晶体振荡器”)是利用石英晶体的压电效应制成的一种谐振器件。每一个晶振都有自己惟一且稳定的固有振荡频率,这个频率会印在晶振器件的外壳上。由于石英晶体的固有振荡频率不会随温度变化而改变,因此,晶振的振荡频率非常稳定,并且利用晶振设计的振荡器电路广泛应用于计算机、家电等各类电子系统中。图示为一种金属外壳封装的无源晶振外观,其两个管脚对应着电路符号中两端的引脚,没有极性之分。
实例解读8051单片机完全学习与应用
3.8.1单片机最简系统61最简系统,是使用最少的外围元器件让单片机能够工作的电路。AT89S51单片机的最简系统如图所示,首先,单片机的VCC、GND接+5V以获得工作电源。此外,还多出了两个部分(阴影框),一个是复位电路,另一个是振荡器。最后还有一个细节,就是单片机的
(31管脚)也接到了+5V上。
实例解读8051单片机完全学习与应用
3.8.2电源端(VCC、GND)62AT89S51的VCC(40管脚)和GND(20管脚)分别为电源端和接地端,AT89S51的供电电压范围为直流+4.0~+5.5V。电路中所有具有同名的电源标号或网络标号之间是连通的,只是为了电路图的美观,没有把这些连通的节点全部连接起来。
实例解读8051单片机完全学习与应用
3.8.3时钟信号端(XTAL1、XTAL2)63AT89S51单片机的XTAL1端(19管脚)、XTAL2(18管脚)内部有一个片内振荡器结构,但仍然需要在XTAL1和XTAL2之间连接一个晶振Y1,并加上两个容量介于20~40pF的电容C1、C2组成时钟电路,如图所示。单片机上电后,用示波器可在XTAL1管脚观察到频率与晶振频率相同的方波信号。
实例解读8051单片机完全学习与应用
3.8.3时钟信号端(XTAL1、XTAL2)64像图示这种使用晶振配合产生时钟信号的方法称为内部时钟方式。晶振的频率决定了该系统的时钟频率,比如晶振频率选择12MHz,那么单片机工作的频率就是12MHz。根据系统对速度的要求,一般可以选择1.2MHz~12MHz的晶振。通常我们使用12MHz的晶振。
实例解读8051单片机完全学习与应用
3.8.4复位端(RST)65AT89S51单片机的RST端(9管脚)是复位端。当向RST端输入一个短暂的高电平单片机就会复位,复位后单片机从头开始执行程序。如果在单片机执行程序的过程中触发复位,则单片机立即放弃当前操作而被强行从头开始执行程序。最简单的复位电路就是在RST端与电源端之间连接一个10μF左右的电解电容。单片机上电瞬间,电容C3的正极电压瞬间变为+5V,C3对于这个瞬间的电压突变相当于短路(隔直通交),于是+5V(高电平)相当于直接加到了单片机的RST端上。正是这个加在RST端的瞬间高电平使单片机复位。很快,电容C3充满电,在电路中相当于断路,于是RST端电平由高转低,单片机随即开始执行程序。
实例解读8051单片机完全学习与应用
3.8.4复位端(RST)66有时,只使用一个电解电容的复位电路可靠性不高,所以图中给出两种较好的复位电路。其中,按钮开关S1可对单片机实现手动复位,当按下S1时,RST端获得复位信号(高电平)而使单片机复位,此时无论单片机在进行什么操作都得乖乖的从头开始执行程序。
实例解读8051单片机完全学习与应用
3.8.5外部程序存储器访问控制端67最简系统中,AT89S51单片机的
端(31管脚)接了高电平。这是单片机的外部程序存储器访问控制端,顾名思义,
的电平控制着单片机是否去访问外部程序存储器。接高电平时,单片机执行本单片机内部程序存储器中的程序,并在读取完内部程序存储器地址为0FFFH上的数据后自动转向读取外部的程序存储器;如果
接低电平,则单片机访问的全部是外部程序存储器。
实例解读8051单片机完全学习与应用
3.8.6从最简系统出发68最简单片机系统是所有AT89S51单片机系统的基础,翻开任何一幅单片机系统电路图都离不开这个最简系统。就拿单片机控制一支发光二极管闪烁的系统电路来说,可在最简系统的基础上向单片机的I/O口(比如P0.4口)添加一个发光二极管D1和限流电阻R1。
实例解读8051单片机完全学习与应用
3.9.1电阻基础知识69电阻器(resistor),简称电阻,是一种两端电子器件,当电流流过时,其两端的电压与电流成正比。任何材料都会对流经的电流产生一定的“阻力”,这种阻碍电流的作用叫阻抗,电阻就是利用材料的这一特性制作出来的。电阻是电路中使用得最多的器件,由于电流流经它时会在其两端形成不同的电压,于是可利用电阻改变电路节点的电压。欧姆(Ohm)是电阻阻值的单位,用来描述电阻阻值的大小。通常用希腊字母Ω(欧)来表示。比Ω更大的阻值单位有kΩ(千欧)和MΩ(兆欧)。以下是它们之间的换算关系。1MΩ=103kΩ=106Ω
实例解读8051单片机完全学习与应用
3.9.1电阻基础知识70电阻表面有五颜六色的色环,图为常用的5(色)环电阻及颜色所代表的数值。5(色)环电阻使用前4个色环标示电阻的阻值,第5个色环标示电阻的允许误差。
实例解读8051单片机完全学习与应用
3.9.2电阻的参数和种类71电阻的功率也是常常需要考虑的。电路设计时需要明确电阻在电路中会获得多大的实际功率,从而选择一个额定功率比这个实际功率还要大的电阻。电阻的额定功率一般有1/16W、1/8W、1/4W、1/2W、1W、2W、5W、10W等几种,如果电阻功率大于1/4W,应该在电路图中按照图所示的大功率电阻电路符号标明,否则很容易让自己或他人因误用电阻而导致事故的发生。如果电路中使用的是电阻的一般符号
,则可使用额定功率为1/16W、1/8W、1/4W的电阻。
实例解读8051单片机完全学习与应用
3.9.3电阻的分压、限流、上拉作用72电阻常常在单片机系统中实现分压、限流、上拉等作用。分压,顾名思义就是分担电压。图示的电路,电阻R1、R2串联,电流I从3V电源正极流出,从节点A流向P点,继而流向B点后回到电源负极。接地符号定义电源负极(也就是节点B)为电势零点,于是B点电压VB=0V。因电源为3V,得A点电压VA=3V。根据欧姆定律,可计算电路的干路电流
,则P点电压
。
实例解读8051单片机完全学习与应用
3.9.3电阻的分压、限流、上拉作用73电阻的另一个角色是限流,顾名思义就是限制电流。如图示,由于单片机系统常常使用+5V电源,而发光二极管D1只需要2V左右的电压就可以被点亮,点亮时电流约为15mA。如果在发光二极管D1两端直接加+5V将有可能烧毁它。于是我们常常串联一个限流电阻R1。假设发光二极管工作电流为15mA,正常工作时两端的压降VF=2V,所以电阻R1上应该分担的电压为3V。于是得电阻R1的阻值为:R1=3V/15mA=200Ω。
实例解读8051单片机完全学习与应用
3.9.3电阻的分压、限流、上拉作用74除了分压、限流作用之外,电阻还常常作为上拉电阻存在于开集电极输出的电路中。如图示,三极管Q1的集电极作为非门输出端,如果没有上拉电阻R1,无论IC输出是高电平或低电平,也就是无论三极管Q1的基极是高电平或低电平,它都因为集电极没有电压而不工作。如果Q1不工作,其集电极输出就像开路一样,没有什么状态可言。这个“像开路一样”就是“开集电极输出”的由来。
实例解读8051单片机完全学习与应用
3.10.1发光二极管交替发光75
需求分析:将要设计一个单片机控制系统,如图示,单片机控制发光二极管1和发光二极管2交替发光,交替的时间间隔为500ms。
电路设计:因为外设为两支发光二极管,所以可以在最简系统基础上添加这两个外设,并给每个发光二极管串联一个限流电阻,。两支发光二极管的负极分别与单片机的P0.4口(35管脚)和P2.0口(21管脚)相连,如果这两个I/O口为高电平发光二极管不发光,而如果I/O口为低电平发光二极管发光。
实例解读8051单片机完全学习与应用
3.10.2程序设计76程序操作流程如图所示:一开始,令P0.4=0、P2.0=1,这样,发光二极管D1点亮而D2熄灭。延时500ms使得这个状态保持500ms,接着P0.4=1、P2.0=0,发光二极管D1熄灭而D2点亮,再保持这个状态500ms后回到一开始的D1点亮而D2熄灭。以此循环,发光二极管D1、D2就在不断的交替发光。
实例解读8051单片机完全学习与应用
3.10.2程序设计77
ORG 00H ;设置起始地址
MAIN: ;标号 MOV P0,#00H ;向P0口输出低电平,使发光二极管D1点亮 MOV P2,#0FFH ;向P2口输出高电平,使发光二极管D2熄灭 CALL DELAY ;调用延时子程序 MOV P0,#0FFH ;向P0口输出高电平,使发光二极管D1熄灭 MOV P2,#00H ;向P2口输出低电平,使发光二极管D2点亮 CALL DELAY ;调用延时子程序 JMP MAIN ;跳回MAIN,循环执行DELAY: ;延时子程序(500ms) MOV R3,#50 D1: MOV R4,#20D2: MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RET ;返回主程序 END ;汇编程序结束3.10.3初见汇编语言78汇编语言书写的单片机程序,以伪指令ORG和END为开始和结束的标志。伪指令只是告诉汇编器一些汇编的信息,对单片机的操作没有影响。真正指挥单片机干活的是从“MAIN:”开始到“END”之前的多行指令。
实例解读8051单片机完全学习与应用
3.10.4初识指令79汇编程序中除了标号以外每一行都是一条指令,每一条指令都指挥着单片机完成一个操作。比如指令“MOVP0,#00H”,实现将立即数00H从单片机的P0口输出,执行完这条指令后,单片机的8个P0口全为低电平。则与P0口相连的发光二极管被点亮。指令一般由助记符、目的操作数、源操作数、注释(有时可省略)组成,如图示,有时还为某条指令或某段程序添加标号。汇编语言对字母的大小写不敏感,但习惯上程序中都使用大写字母。
实例解读8051单片机完全学习与应用
3.10.4初识指令80标号——以英文字母开头的字符串,用于指向某条指令的地址。例如“LOOP_1:”、“START:”、“KEY2”等都可作为标号。另外,标号可以和其他指令在同一行,也可以单独为一行。助记符——表达指令的功能。比如助记符“MOV”是移动的单词“Move”的缩写,其功能是把源操作数“移入”或者“载入”目的操作数中。目的操作数——指令最终作用的对象。一条指令执行过后最终影响的是目的操作数。源操作数——参与指令的操作。指令的执行将使用到源操作数,如图示指令把源操作数00H载入目的操作数P0口。在源操作数中的“#”号代表其后的00H(十六进制数)是一个立即数,表明该指令的源操作数由一个立即数充当。立即数可以暂时理解为一个常数。注意目的操作数和源操作数之间有“,”号分隔。注释——是为了他人或自己阅读程序时方便而标记的。汇编程序中,“;”号之后的部分都是注释,不会被单片机执行。注释可提高程序的可读性和调试的方便性。
实例解读8051单片机完全学习与应用
3.10.5立即数81在图示指令中,立即数00H是一个十六进制数,“H”是十六进制数(hex)特有的后缀。在汇编语言中,十六进制数后面必须附上H,否则将认作十进制数。如果十六进制数以字母A、B、C、D、E、F开头时,应该在前面加上0。例如,十六进制数B7H,在指令中应当写成0B7H,如“MOV
P1,#0B7H”。如果把十六进制的立即数转换成二进制数,就可知道指令所影响目的操作数每一位的情况。比如指令“MOV
P0,#00H”,立即数00H转换成二进制数为00000000,所以指令把这8个0载入P0口,于是单片机P0口都出现低电平。有时为了直观,可把二进制数作为立即数,但是需要在后面加上B,如“MOV
P0,#00000000B”。当然,立即数也可以由十进制数充当,比如“MOV
P0,#23”实现把十进制数23载入P0寄存器中,执行后P0口的状态为00010111(十进制数23对应的二进制数)。
实例解读8051单片机完全学习与应用
3.11.1控制交替发光的原理82
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示3.12.1开关基础知识83开关(switch)是一种允许电流通过或阻止电流通过的器件。开关的种类非常多,如乒乓开关、拨动开关、船型开关等。开关的底部都有管脚,与电路符号的引脚对应,使用时将开关的管脚接到电路中即可。
实例解读8051单片机完全学习与应用
3.13.1需求分析84需求分析:一开始,两支发光二极管与3.10节、3.11节中介绍的一样以500ms为间隔进行交替发光,直到按钮开关按下时,交替发光的频率变快,变成以200ms为间隔。直到按钮开关释放后交替发光又恢复以500ms为间隔。
实例解读8051单片机完全学习与应用
3.13.2电路设计85
实例解读8051单片机完全学习与应用
3.13.3程序设计86当S1没有按下时,由于电阻R3的上位作用P1.0=1;当S1按下后,P1.0口因接入地中于是P1.0=0。只要单片机检测P1.0口的状态就知道用户有没有按下按钮开关,从而对发光二极管的闪烁时间进行调整即可。
实例解读8051单片机完全学习与应用
3.13.3程序设计87
实例解读8051单片机完全学习与应用
3.13.3程序设计88
实例解读8051单片机完全学习与应用
3.13.3程序设计89
实例解读8051单片机完全学习与应用
3.13.3程序设计90
实例解读8051单片机完全学习与应用
3.13.4延时子程序91在主程序中指令“CALLDELAY”的功能是调用子程序DELAY。当单片机执行到“CALLDELAY”时,就转到子程序DELAY中去执行,而在子程序DELAY的最后一行的指令RET是子程序结束的标志,表明将要返回主程序的CALLDELAY的下一行继续执行。
实例解读8051单片机完全学习与应用
3.13.4延时子程序92在标号“D1:”后的指令“MOVR4,#20”使R4=20,R4是单片机的工作寄存器,可以保存数据,这里也可以理解成为一个变量。同理,指令“MOVR5,#248”使R5=248。指令“DJNZR5,$”的功能是将R5的值减1,不等于0则重新执行本行指令,继续将R5减1看是否等于0。指令中的美元符号“$”指向本条指令的地址。
实例解读8051单片机完全学习与应用
3.13.4延时子程序93一条DJNZ指令执行花费的时间为2个机器周期(附录B),由于R5=248,所以执行完“DJNZR5,$”所耗时间为2×248个机器周期。加上前一条1个机器周期的指令“MOVR5,#248”共花去1+2×248=497个机器周期。接下来,指令“DJNZR4,D2”将R4的值减1,不等于0则跳回标号D2处继续执行。由于R4预先装入了20,所以这4条指令共花去了20×(497+2)+1=9981个机器周期。如果使用的是12MHz的晶振,1个机器周期就为1μs(微秒),则以上这段程序所花的时间为9981×1μs=9981μs≈10ms。
实例解读8051单片机完全学习与应用
3.13.4延时子程序94500ms延时程序实际上在此之上再加上一层循环,由于一开始R3=50,这样,通过指令“DJNZR3,D1”把程序3-3重复执行了50次,所以程序3-4的总延时约为50×10=500ms。修改工作寄存器R3、R4、R5的值可以改变延时的时间。
实例解读8051单片机完全学习与应用
杨欣YangX张延强ZhangY编著莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011.295
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
第4章单片机系统设计辅助软件96单片机系统97单片机系统由硬件和软件两部分构成。所以单片机系统的设计一般包括硬件设计和软件设计两方面。硬件实际就是单片机系统的电路,它是系统的运行平台;软件实际就是下载到单片机中的程序,它指挥着单片机如何控制外设发挥系统功能。Proteus软件可对设计好的电路和程序进行仿真,观察系统运行的现象、效果是不是与我们的初衷吻合。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.1.1Proteus软件界面98从“开始”菜单的“程序”中找到一个名为“Proteus7Professional”的文件夹(假设安装的是Proteus7),单击文件夹中的“”命令即可启动Proteus,并打开图示的软件界面。界面中有许多图标,各个图标实现的功能可参考附录D。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.1.1Proteus软件界面99
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示4.1.2用Proteus仿真100
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示4.2■µVision单片机程序开发101
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示4.3■µVision的调试及仿真功能102
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示4.4.1下载器与单片机103AT89S51单片机的P1.5、P1.6、P1.7口除做一般I/O口外还肩负着下载程序的任务。如图示,在实际电路会为单片机系统添加一个下载接口,它与下载器的JTAG口连接,而下载器可插入计算机的USB口中,通过计算机上下载器附带的下载软件就可以把在µVision中生成的执行代码HEX文件下载到单片机中了。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.4.1体验下载过程104
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示4.5.1需求分析105单片机控制着8支发光二极管,每一时刻只有一支发光二极管点亮,如图示,延时200ms后熄灭而与之相邻的发光二极管点亮。直到点亮最后一个发光二极管后又以相反的方向依次点亮发光二极管。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.2电路设计106从单片机最简系统出发,给I/O口添加8支发光二极管,得系统电路如图示。当然,除了使用P2口外还可以使用P0、P1、P3完成这个实例。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计107单片机的P2口依次输出低电平就可以实现流水灯的效果,如图示,相当于一个“0”在P2口的8个位中先向右“跑动”,再向左“跑动”。指令RRC
A可让进位标志位C在累加器A中从左向右移动。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计108进位标志位C:在单片机中有一个叫做“程序状态字”的特殊功能寄存器,英文缩写是PSW。PSW有8位(1个字节),如图示,最高位叫做进位标志位C,有时也标记为CY。其他位分别为辅助进位标志位(AC)、标志0(F0)、工作寄存器组别位1(RS1)、工作寄存器组别位0(RS0)、溢出标志(OV)、奇偶标志位(P)。单片机在执行加法(或减法)运算过程中如果有进位(或借位)则PSW中的进位标志位C被硬件自动置1,如果没有进位(或借位)则为0。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计109累加器A:是单片机另一个1个字节长度的特殊功能寄存器,可以在单片机运行时存储数据,是一个相当重要的寄存器。它与程序状态字PSW不同的是,累加器A与程序运行的状态无关,可提供给用户任意使用。在汇编程序中,可以简单地把累加器A看成是一个变量,进行赋值、运算等操作。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计110回到指令“RRC
A”上,它让程序状态字PSW的进位标志位C在累加器A中右移一位。假设一开始进位标志位C=0且累加器A的8个位全为1,如图示。当执行指令“RRCA”时,C=0进入了A的最高位(最左侧),原来最高位的1被0“挤”到它右边的邻居位上,而这个邻居位则被“挤”到它的右边邻居位上,重复这个向右“挤”的过程,直到最低位(最右侧)被“挤出”累加器A,如图示,最低位被“挤出”来则进入了进位C中,使C=1。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计111首先,“MOVR1,#8”指令把立即数8载入工作寄存器R1,此时R1=8。第2行“LOOP”是一个标号,“RRC A”让进位标志位C在累加器A中从左向右轮换一次。第3行“DJNZR1,LOOP”将R1减1,看R1是不是等于0,如果不等于,则跳到“LOOP”标号处循环执行。这样一来,每执行一次“DJNZR1,LOOP”,R1的值就少1,程序回到LOOP,进位标志位C在累加器A中从左向右轮换一次,完成一个循环。直到这个循环把R1减到0后,指令“DJNZR1,LOOP”失效,程序转到这条指令的下一条指令开始执行。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计112
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
4.5.3软件设计113
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
杨欣YangX张延强ZhangY编著莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011.2114
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
第5章单片机的触角——I/O口115I/O口116单片机管脚是控制外设或与外设交换信息的通道。如前面的发光二极管、开关,以及后面将要介绍的数码管、液晶屏、电机、继电器等都将在单片机的管脚下工作。I/O是输入/输出的意思,单片机的I/O口肩负着控制外设和接收信号的责任。在单片机学习中,理解I/O口是如何在程序的控制下工作是首要解决的问题。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1■
何谓I/O口5.1.1I/O口的功能117
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.1I/O口的功能118
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.2I/O口与单片机的关系119I/O口暴露在单片机的外部,用来与外设的管脚连接。在单片机内部有相应的I/O口电路,除了4组I/O口外,单片机内部还有CPU、中断控制、片内ROM、片内RAM、Timer0/1、串行口、看门狗、总线控制、振荡器等功能模块组成。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.3I/O口的操作120P0口(32~39管脚)是一个8位的开漏型双向I/O口。P0口在作输入/输出口使用时需要添加外部上拉电阻,
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.3I/O口的操作121单片机上电复位时,P0口默认作为输出口,如果需要作输入口使用,需要先用程序向每个I/O口写入。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.3I/O口的操作122P1口(1~8管脚)是一组带内部上拉电阻的双向I/O口,由于P1口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。作输入口时,也需要向每位写入1。P1.5、P1.6、P1.7除作一般I/O口外,还作为下载接口用于向单片机下载程序。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.1.3I/O口的操作123P2口(21~28管脚)也是一组带内部上拉电阻的双向I/O口。由于P2口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。当P2口作输入时,需要写入1。P3口(10~17管脚)同样是一组带内部上拉电阻的双向I/O口。由于P3口内置有上拉电阻,于是在作输入/输出口时不再需要添加外置上拉电阻。当P3口作输入时,需要写入1。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.2■
元器件插曲之八:场效应管5.2.1JFET124场效应管有两类,一类称为结型场效应管,英文缩写JFET。另一类称为金属氧化物半导体场效应管,英文缩写MOSFET。图示为nchannel和pchannel两种JFET的电路符号和代表器件的外观,JFET有三个管脚——D极(漏极)、S极(源极)、G极(栅极)。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.2.1JFET125首先,调节电源VGG电压至0V,相当于JFET的G极接地,G极与S极之间的电压VGS=0。此时增加D极电压VDD,也就是增加JFET的D极与S极之间的电压VDS。在增加的过程中,流过D极的电流ID渐渐增大,当ID增大到12mA时就不再增大,如图所示的ID=IDSS对应右侧的曲线。至于IDSS的数值可从器件的技术手册获得。当VGG不等于0,即VGS不等于0,对应图左侧曲线部分,发现随着VGS的增大,JFET的D极电流ID在减小。所以对于JFET来说,VGS控制着D极电流ID,且VGS越大,ID越小。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.2.2MOSFET126MOSFET是另一类场效应管。MOSFET分为耗尽型MOSFET(英文缩写D-MOSFET)和增强型MOSFET(英文缩写E-MOSFET)两种,MOSFET也有三个管脚——D极(漏极)、S极(源极)、G极(栅极)。对于nchannel的FET来说,当G极得到高电平时产生D极电流ID,即FET导通;当G极为低电平时截止。而pchannel的FET正好相反,当G极为低电平时产生D极电流ID,即FET导通;当G极为高电平时截止。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.3.1非门 5.3.2或门127
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.3.3或非门 5.3.4与门5.3.5与非门 5.3.6异或门128
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.3.7缓冲器5.4.1门控D锁存器129
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.4.2边沿D触发器门控D锁存器:EN端是门控端,高电平使能。D为输入端,当EN=1时,锁存器的输出端Q与输入端D状态相同。当EN=0时,输出Q将维持原来的状态不变。5.5■I/O口结构探密5.5.1P1口130P1口主要由D锁存器、两个缓冲器、场效应管、内部上拉电阻等组成。当程序让该I/O口输出1时,“内部总线”出现1,当“写锁存器”信号到来时,输出端Q就输出1,/Q
输出0。于是FET截止,于是“管脚P1.x”因电阻的上拉也输出1。当程序让该I/O口输出0时,“内部总线”出现0使/Q=1,于是FET导通,“管脚P1.x”接地而呈现0。如果I/O口作输入时,与“管脚P1.x”相连的外设使该管脚出现1或0,程序控制“读管脚”使能缓冲器,则“管脚P1.x”的状态就通过缓冲器进入“内部总线”上,指令就可接收到“内部总线”上的数据了。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.5.2P3口131P3口比P1口多出了“第二功能输入线”和“第二功能输出线”。“第二功能输出线”与锁存器的输出端Q通过一个与非门和FET的G极连接。这样,如果“内部总线”=1时,与非门的输出端与“第二功能输出线”相反。比如“第二功能输出线”=1,FET的G极为0,所以FET截止,“管脚P3.x”=1。当P3口作第二功能输入时,“管脚P3.x”上的信号通过一个缓冲器出现在“第二功能输入线”,程序只要把这个信号读走即得到第二功能的输入数据。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.5.3P0口132P0中的模拟开关,由“内部控制信号”控制,以选通P0口所要交换的是一般I/O口数据或是访问外部存储器的地址/数据。由于P0口是没有内部上拉电阻的,所以它作一般I/O口使用时需要添加外部上拉电阻。不过在访问外部存储器时上拉FET(受与门控制的FET)会导通而不需要再添加外部上拉电阻。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.5.4P2口133P2口由于在访问外部存储器时作为高位地址使用,所以它与P0口结构相似。它也由“内部控制信号”控制模拟开关的切换从而实现P2口的功能转换。只不过P2口具有内部上拉电阻,在作一般I/O口使用时不需要外部再添加。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.5.5I/O口小结134每一个I/O口都可以独立地作输入或输出口使用,但P0和P2在访问外部存储器时作地址/数据总线,此时它们将不能再作为I/O口使用。
AT89S51单片机复位时每一个I/O口的“内部总线”=1,如果随后程序使“内部总线”=0,那么当I/O口作为输入时,必须通过程序通过输出1使FET截止,这样从“管脚Px.x”输入的信号才能在“读管脚”信号的帮助下被正确读走。
P1、P2、P3因为内部上拉电阻而被称为“准双向口”。在作输入时,上拉电阻将“管脚Px.x”拉高并在外设输入低电平时向外输出电流。
P0口没有内部上拉电阻,是一个真正的双向口。作输入时因开漏结构而浮地。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.6■
应用体验——控制流水灯5.6.1功能与电路135一开始,8支发光二极管为全亮状态。当按下按钮S1时,8支发光二极管做单一灯的从右向左流动。当按下按钮S2时,8支发光二极管做单一灯的从左向右流动。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.6■
应用体验——控制流水灯136
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
见本书光盘中的视频演示5.7■
实例解读——晃晃灯5.7.1原理分析137
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.7.2需求分析138
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
一列发光二极管(5支)从左向右移动(手动),在移动过程中显示3.1416。扫描的原理:这列发光二极管将在A、B、……、L这12个位置上规律点亮,比如在位置F点亮的是发光二极管1、2、3,在位置G上点亮3,在位置H上点亮1、2、3、4、5等。这样在位置F、G、H上显示出数字“4”。这列发光二极管在位置A~L上的移动需要在0.1s内完成。5.7.2需求分析139
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
单片机在某一时刻控制某几个发光二极管点亮一小会,然后熄灭一瞬间,再点亮另几个发光二极管点亮,期间我们把这列发光二极管在眼前快速移动(晃动),就会看到3.1416这几个数字。5.7.3电路设计140
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.7.4软件设计141
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
假设3.1416这几个数字在50ms(<0.1s)内显示完毕,则在图中12个位置上显示与熄灭的时间长度为50ms/12=4167(µs),可以分配给点亮约3500µs,熄灭约670µs。所以让P2口输出一列数据,点亮对应的发光二极管。延时3500µs后熄灭所有发光二极管,再延时670µs后P2口输出下一列数据,直到所有数据输出完后跳回一开始循环,这样就会在晃晃灯上看到3.1416不断循环显示。5.7.4软件设计142
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.7.4软件设计143
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
5.7.4软件设计144
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
杨欣YangX张延强ZhangY编著莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011.2145
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
第6章七段数码管显示146七段数码管147数字显示最常使用的器件就是七段数码管,它的7个亮段组成了一个“8”,点亮不同亮段的组合就形成了数字0~9。在数字钟、微波炉、电饭煲、洗衣机等电子产品中常常使用七段数码管来显示数字信息。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
6.1■
二进制与数据6.1.1二进制与数字148“MOVP2,#15H”指令从P2口输出立即数15H,即输出00010101B。将会看到输出为0的I/O口上发光二极管被点亮。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
6.1.1二进制与数字149“MOVP2,#15H”指令中立即数15H本身就是一个十六进制的数字,如果使用七段数码管与P2口接口,就能直接把数字“15”给显示出来。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
6.1.2二进制与语音150语音信号可以用波形来表示,比如把信号的一小段波放到一个纵坐标为幅度值、横坐标为时间的坐标系中,纵坐标上由二进制表示幅度,这样可以把每个时刻的幅度都由二进制数来表示。比如图中t0时刻对应的波形幅度为0101(A点),由此可得到一系列二进制数表示不同时间的波形幅度。
《实例解读51单片机完全学习与应用》
实例解读8051单片机完全学习与应用
6.2■
元器件插曲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年幼儿照护服务协议范例
- 2024专业不锈钢定制加工协议范本
- 2024定制大客车租赁业务协议
- 2024土石方工程建设项目协议
- 2024年固定资产买卖专项协议
- 2024英汉对照工程承包协议范本
- 2024餐饮业食材供应正式协议
- 2024公办园所运营承包协议样本
- 2024外贸女士内衣批量采购协议
- 二手房自助交易全流程指导协议
- 水浴式灭菌柜的工作原理及其验证
- (完整版)外贸合同(中英双语)
- 嵌入式系统设计专题实践嵌入式交通信号灯
- 医院胸痛中心奖惩办法(完整版)
- 行政管理存在的问题与对策
- CJJ101-2016埋地塑料给水管道工程技术规程
- 文化广场规划设计方案说明书
- 2012年数学建模机器人避障问题
- 燃气经营企业安全生产主体责任清单
- 规模化养猪场的科学用水管理
- 日本泡沫经济专题讲座PPT
评论
0/150
提交评论