MCS-51单片机系统结构_第1页
MCS-51单片机系统结构_第2页
MCS-51单片机系统结构_第3页
MCS-51单片机系统结构_第4页
MCS-51单片机系统结构_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2MCS-51单片机系统结构12.1电子计算机、微型计算机、单片机的硬件组成结构硬件软件微型计算机系统微型计算机〔主机〕外设运算器〔ALU〕控制器〔CU〕存放器阵列键盘、鼠标显示器、打印机软驱、硬盘、光驱扫描仪、微处理器内存储器〔ROMRAM〕输入/输出接口〔I/O〕

系统软件应用〔用户〕软件一、微机系统组成2核心级——微处理器中央处理机,简称CPU〔CentralProcessingUnit〕,是计算机的核心,主要包括:运算器ALU控制器CU存放器组Registers微处理器是集成在一个芯片上的CPU实现运算功能和执行指令的控制功能3硬件级——微型计算机以微处理器为核心,配上只读存储器(ROM)、读写存储器(RAM)、输入/输出(I/O)接口电路及系统总线等部件,就构成了微型计算机。能存储程序与数据、运行程序、对外传输数据将CPU及局部存储器、I/O接口集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。CPUROMRAMI/O接口BUSC/T4系统级——微型计算机系统以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。微型计算机如果不配有软件,通常称为裸机。软件分为系统软件和应用软件两大类。5明确3个概念3个层次的区别微处理器〔Microprocessor〕一个大规模集成电路芯片的CPU内含控制器、运算器和存放器等微机中的核心芯片微型计算机〔Microcomputer〕通常指主机局部:微处理器+内存+I/O接口还有一般的说法:微机、微型机、微型计算机系统〔Microcomputersystem〕指由硬件〔主机及外设〕和软件共同组成的完整的计算机系统,真正可投入使用的计算机。6微型计算机系统的层次结构运算器

控制器寄存器组

内存储器总线输入输出接口电路外部设备

软件微处理器微型计算机微型计算机系统7二、微型计算机的结构地址总线AB内存储器I/O接口输入设备I/O接口输出设备

微处理器CPU数据总线DB控制总线CBI/O接口特点:以微处理器〔CPU〕为核心CPU与其他部件间通过三总线连接AB:AddressBusDB:DataBusCB:ControlBus8总线:连接功能部件间的一组公共信号线地址总线AB:CPU输出地址码信号选择被访问的具体的存储单元、I/O端口*地址线的根数决定了CPU的寻址范围。*CPU的寻址范围=2n,n-地址线根数如:8位地址码,可寻址28

=256

个存储单元16位地址码,可寻址216

=64K个存储单元三、微型计算机的三总线〔BUS〕9数据总线DB:CPU与存储器、I/O接口之间(双向)传送数据的公共通路。*数据总线的条数决定CPU一次最多可以传送的数据宽度〔位数〕。如:8位机的DB有8条,CPU一次可读写8位数据16位机的DB有16条,CPU一次可读写16位

控制总线CB:用来传送各种控制或状态信号*CPU送出和接受的对存储器、I/O接口读写及中断等控制信号10内存存放当前运行的程序和数据类型分ROM、RAM特点:CPU快速存取,容量有限几个概念:

内存单元的地址和内容

内存容量

内存的操作四、微型计算机的内存储器〔主存储器〕11内存单元的地址和内容内存包含有很多存储单元,为区分不同的内存单元,计算机对每个内存单元进行编号,内存单元的编号就称为内存单元的地址每个内存单元存储假设干位二进制数据即存储单元内容,如每单元8bit二进制数据101101102004H内存单元内容(每单元8b内容为例)称“2004H单元中的内容为B6H”(2004H)=0B6H内存单元地址(16位地址为例,共64K个单元)

本例内存容量为64KB......76543210〔位次〕0000HFFFFH12内存操作存储器读:将指定内存单元的内容取出送到CPU中,该内存单元的内容不因此而被改变;存储器写:CPU将数据放入指定内存单元,该内存单元中原来的内容被覆盖;内存读写的步骤为:CPU把要访问的内存单元的地址放到AB上假设是写操作,CPU紧接着把要写入的数据放到DB上CPU发出读写命令数据被写入指定的单元或从指定的单元读出到DB假设是读操作,CPU紧接着从DB上取回数据13内存储器的分类〔3.1)随机存取存储器RAM〔RandomAccessMemory〕特点:可读可写,断电后RAM中的信息会丧失。RAM常用于存放经常要改变的程序或中间计算结果。 按制造工艺分为1.双极型RAM 速度快,功耗大,集成度低,价格贵。2.MOS型RAM 静态RAM〔SRAM〕:只要有电源加于RAM,数据就能长期保存。 动态RAM〔DRAM〕:写入的信息只能保持几毫秒时间,必须定时重写〔刷新〕。电路复杂,价格廉价。14只读存储器ROM〔ReadOnlyMemory〕特点:在正常操作时只能读出而不能写入,断电后ROM中的信息不会丧失。常用来存放一些固定程序或数据表等。ROM按编程〔存储信息〕的方式又可分为:掩膜ROM:信息由厂家固化,用户不能更改。可编程只读存储器PROM:信息由用户一次性写入,一旦写入,只能读出,不能再更改。〔OTP〕可擦除可编程只读存储器EPROM:紫外线擦除,可重复编程。电可擦除可编程只读存储器EEPROM/E2PROM:可通过加电写入或去除其内容。既有与RAM一样读写操作简便,又有数据不会因掉电而丧失的优点。快擦写存储器FLASH:既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后不丧失信息的特点。15五、微型计算机的输入/输出接口输入/输出接口〔I/O接口〕,是CPU与外部设备间的桥梁,也编有I/O端口地址由AB选通。CPUI/O接口外设*匹配计算机与外设之间的信号电平、速度、信号类型、数据格式等;*缓存发给外设的数据、控制命令和外设提供的运行状态信息;*提供驱动外设的电压或电流;*DMA〔直接存储器存取〕控制和中断控制。161.1单片微型计算机一、单片机的开展历史第一阶段〔1976-1978〕:单片机的探索阶段。探索计算机的单芯片集成,单片机〔SingleChipMicrocomputer〕的定名即缘于此。产品以Intel公司的MCS-48为代表。第二阶段〔1978-1982〕:单片机的完善阶段。表达工控特性的位地址空间及位操作方式;增加了许多突出控制功能的指令。产品以Intel公司的MCS-51为代表。第三阶段〔1982-1990〕:8位单片机的稳固开展及16位单片机的推出阶段,也是单片机向微控制器开展的阶段。第四阶段〔1990-〕:微控制器全面开展阶段。在各领域广泛应用,出现高速、大寻址范围、强运算能力的通用型单片机及小型廉价的专用单片机。17二、单片机的主要特点集成度高控制功能强可靠性高低功耗、低电压外部总线丰富功能扩展性强体积小、本钱低性价比高18三、单片机的分类按单片机数据处理位数来划分4位单片机8位单片机16位单片机32位单片机按单片机适用范围来划分通用型单片机专用型单片机按单片机并行总线来划分总线型单片机〔如8051、AT89C51〕非总线型单片机〔如AT89C2051〕19四、单片机的开展趋势CMOS化——单片机将具有更低的功耗、更低的电压。高性能化——精简指令集(RISC)结构和流水线技术将得到广泛应用。高可靠性——提高单片机的抗电磁干扰能力。大容量化——扩大片内存储器容量。多功能化——把众多的各种外围功能器件集成在片内,如模/数转换器、数/模转换器、液晶显示驱动器等。串行扩展技术——SPI、I2C、Microwire、1-Wire等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化。20五、单片机的应用单片机在智能仪表中的应用:单片机广泛应用于各种仪器仪表,使仪器仪表智能化,提高测量的自动化程度和精度。单片机在机电一体化中的应用:机电一体化是机械工业开展的方向。机电一体化产品是指集机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,如数控机车。单片机作为控制器,可提高产品的自动化、智能化程度。单片机在实时控制中的应用:如工业测控、航空航天、机器人。单片机在分布式多机系统中的应用。单片机在人类生活中的应用:如各种家用电器、玩具。单片机在计算机外围设备、网络产品的应用。211.2IntelMCS系列单片机简介MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个MCS-51系列单片机的核心,该系列其他型号的单片机都是在这一内核的根底上开展起来的。MCS-51单片机系列分为51和52子系列,并以芯片型号的末位数字加以标识。其中,51子系列是根本型,而52子系列是增强型。单片机型号带有字母“C”的,表示该单片机采用的是CHMOS工艺,具有低功耗的特点。8051的功耗为630mW,而80C51的功耗只有120mW。22MCS-51系列单片机技术参数表子系列片内ROM形式片内ROM片内RAM寻址范围I/O特性中断源无ROMEPROM定时器并行口串行口51子系列8031805187514KB128B2×64KB2×164×81580C3180C5187C514KB128B2×64KB2×164×81552子系列8032805287528KB256B2×64KB3×164×81680C3280C5287C528KB256B2×64KB3×164×816232.1.38051单片机的根本组成248051单片机在一块芯片上集成了一个微型计算机的主要部件,它包括以下几局部:1个8位微处理器(CPU)。1个时钟电路。4KB程序存储器。256B数据存储器。2个16位定时/计数器。64KB扩展总线控制电路。4个8位并行I/O接口P0~P3。1个全双工串行I/O接口。5个中断源,其中包括2个优先级嵌套中断。25内部结构262.28051单片机的引脚功能说明MCS-51单片机的封装形式有两种,一种是双列直插式(DIP)封装,另一种是方形封装。8051的40个引脚可分为:电源引脚2根时钟引脚2根控制引脚4根I/O引脚32根由于8051单片机是高性能的单片机,同时受到引脚数目的限制,采用引脚复用技术,局部引脚具有第二功能。278051单片机引脚图DIP引脚图逻辑符号

288051引脚的功能描述〔一〕

电源引脚(2根)VCC(40脚):电源端,接+5V电源。VSS(20脚):接地端。

时钟引脚(2根)XTAL1(19脚):接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。XTAL2(18脚):接外部晶振和微调电容的另一端。使用外部时钟时,对HMOS型工艺的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。298051引脚的功能描述〔二〕控制引脚(4根)RST/VPD(9脚):复位信号/备用电源输入引脚。当RST引脚保持两个机器周期的高电平后,就可以使8051完成复位操作。该引脚的第二功能是VPD,即备用电源的输入端,具有掉电保护功能。假设在该引脚接+5V备用电源,在使用中假设主电源VCC掉电,可保护片内RAM中的信息不丧失。ALE/PROG(-)(30脚):地址锁存允许信号输出/编程脉冲输入引脚。当CPU访问片外存储器时,ALE输出信号控制锁存P0口输出的低8位地址,从而实现P0口数据与低位地址的分时复用。当8051上电正常工作后,自动在ALE端输出频率为fosc/6的脉冲序列(fosc代表振荡器的频率)。该引脚的第二功能PROG是对8751内部4KBEPROM编程写入时,作为编程脉冲的输入端。VPP/EA(-)(31脚):外部程序存储器地址允许输入端/编程电压输入端。当EA(-)接高电平时,CPU执行片内ROM指令,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA(-)接低电平时,CPU只执行片外ROM指令。对于8031,由于其无片内ROM,故其EA(-)必须接低电平。该引脚的第二功能VPP是对8751片内EPROM编程写入时,作为21V编程电压的输入端。PSEN(-)(29脚):片外ROM读选通信号端。在读片外ROM时,PSEN(-)有效,为低电平,以实现对片外ROM的读操作。308051引脚的功能描述〔三〕

I/O引脚(4×8=32根)P0.0~P0.7(39~32脚):P0口的8位双向I/O口线。P0口即可作地址/数据总线使用,又可作通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。P1.0~P1.7(1~8脚):P1口的8位准双向I/O口线。P1口作为通用的I/O口使用。P2.0~P2.7(21~28脚):P2口的8位准双向I/O口线。P2口即可作为通用的I/O口使用,也可作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。P3.0~P3.7(10~17脚):P3口的8位准双向I/O口线。P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能。

31P3口第二功能323.2MCS-51存储器结构8051的存储器结构1.特点:8051的存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,有各自的寻址系统、控制信号和功能。2.配置:8051的存储器在结构上分为片内数据存储器、片内程序存储器、片外数据存储器和片外程序存储器4个存储空间。但从用户使用的角度看,8051的存储器分为3个逻辑空间。33存储空间分布图

三个逻辑空间:

片内外统一寻址的64KB程序存储器空间,地址范围为0000H~FFFFH。

64KB的片外数据存储器空间,地址范围也为0000H~FFFFH。

256B的片内数据存储器空间,地址范围为00H~FFH。343.2.1程序存储器ROM程序存储器ROM用来存放程序、常数或表格等。在8051中,其存储空间分布如下:片内有4KB的ROM存储单元,地址为0000H~0FFFH。片外最多可扩至64KB的ROM,地址为1000H~FFFFH。片内外ROM统一编址。当EA〔-〕引脚接高电平时,CPU将首先访问片内ROM,当指令地址超过0FFFH时,自动转向片外ROM取指令。当EA〔-〕引脚接低电平时,CPU只访问片外ROM。片外ROM的地址从0000H开始编址。对于8031,由于其片内无ROM,所以使用时必须使EA〔-〕接低电平,以便能够从片外扩展的EPROM中取指令。35外接程序存储器P0口作为地址/数据总线;P2口作为地址总线〔高8位〕8031最小应用系统36在程序存储器中,以下6个单元具有特殊含义。0000H:单片机复位后的程序入口地址。0003H:外部中断0的中断效劳程序入口地址。000BH:定时器0的中断效劳程序入口地址。0013H:外部中断1的中断效劳程序入口地址。001BH:定时器1的中断效劳程序入口地址。0023H:串行口的中断效劳程序入口地址。37⑶执行调用子程序或发生中断时,CPU会自动将当前PC值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的PC值,继续执行原顺序程序指令。

程序计数器PC※PC是一个16位的地址存放器,用于存放下一条将要执行的指令的地址。※PC不属于特殊功能存放器,不可访问,在物理结构上是独立的。※PC的根本工作方式有:⑴自动加1。CPU从ROM中每读一个字节,自动执行PC+1→PC;⑵执行转移指令时,PC会根据该指令要求修改下一次读ROM新的地址;383.2.2数据存储器RAM

数据存储器RAM主要用来存放运算的中间结果和数据等。在8051中,其存储空间分布如下:片外RAM最多可扩展至64KB存储单元,地址范围为0000H~FFFFH。片内RAM为256B存储单元,地址范围为00H~FFH。片内RAM地址空间共有256B,又分为两个局部:低128B(00H~7FH)为真正的RAM区(片内RAM;内部RAM),分为工作存放器区、位寻址区、数据缓冲与堆栈区。高128B(80H~FFH)为特殊功能存放器(SFR)区。39

一、内部〔片内〕RAM工作存放器区共有32个单元,地址00H~1FH,分为4组,每组有8个工作存放器〔R0~R7〕。单元地址位地址〔二进制位的地址〕数据缓冲与堆栈区注意:上述存储区的划分不是绝对的。40

堆栈(P15)什么是堆栈? 是RAM中一个专用的连续存储区,是一种单端读写操作的存储结构。 51单片机的堆栈在片内RAM 开辟。栈底栈顶70H71H72H73H74H75H76HSP堆栈指针41 堆栈指针〔SP〕:8位存放器,用来存放堆栈的栈顶地址。单片机复位后,SP=07H。 堆栈的操作 压入堆栈:SP自动加1,数据进栈。 弹出堆栈:数据出栈,SP自动减1。 例:假设SP=70H,将数据12H、34H依次压入堆栈的过程如下。42 SP自动加1,SP=71H;将数据12H压入SP所指的堆栈单元〔71H〕; SP自动加1,SP=72H;将数据34H压入SP所指的堆栈单元〔72H〕。 如下图:初始状态74H73H

72HSP

71H12H70H74H73HSP

72H34H71H12H70H74H73H

72H71HSP

70H43反之,现在要将堆栈单元的内容弹出的话,过程如下: 将SP所指堆栈单元〔72H〕的内容34H弹出;SP自动减1,SP=71H; 将SP所指堆栈单元〔71H〕的内容12H弹出;SP自动减1,SP=70H。 初始状态74H73HSP

72H34H71H12H70H74H73H

72H34H71H12HSP

70H74H73H

72H34HSP

71H12H70H44 堆栈操作的原那么:先进后出,后进先出。 堆栈的作用:用来保护断点地址和保护现场。 堆栈操作指令 压入堆栈 PUSHdirect;SP先自动加1,然后将direct单元内容压入SP所指的堆栈单元 弹出堆栈 POPdirect;先将SP所指堆栈单元的内容弹给direct,然后SP自动减145二、特殊功能存放器SFR〔SpecialFunctionRegister)〔2.3.2〕80C51将操作管理存放器统一成特殊功能存放器,以区别于通用存放器。通过SFR可实现80C51系列单片机内部资源的运行操作。80C51中共有21个特殊功能存放器,分布在片内RAM80H~FFH区间。46常用的特殊功能存放器:1.累加器ACC〔简称为A〕:8位存放器,用来存放参与运算的一个数及运算结果。2.存放器B:8位存放器,在乘、除法运算中用来暂存数据或作为普通存储单元使用。3.数据指针存放器DPTR:16位存放器,主要作为片外数据存储器的地址指针,也可拆成高字节DPH和低字节DPL两个独立的8位存放器。4.端口P0~P3:80C51把I/O当作一般的专用存放器来使用,不专设口操作指令。475.程序状态字存放器PSW:8位存放器,用作程序运行状态的标志。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV-PRS1RS0寄存器组R0~R7对应地址00000H~07H01108H~0FH10210H~17H11318H~1FH〔1〕RS1、RS0:工作存放器组选择位,用于选择当前工作存放器组48〔2〕CY:进位标志。在进行加法〔或减法〕运算时,假设运算结果最高位有进位〔或借位〕时CY=1,否那么CY=0。〔3〕AC:半进位标志。在进行加法〔或减法〕运算时,假设低半字节向高半字节有进位〔或借位〕时AC=1,否那么AC=0。〔4〕OV:溢出标志。两个带符号数运算,假设结果超出-128~+127时为溢出,OV=1,否那么OV=0。 OV=CYC6;C6为第6位向第7位的进〔借〕位〔5〕P:奇偶标志。假设A中内容“1”的个数为奇数个时P=1,否那么P=0。49例:

其中C6为D6向D7的进位标志。分析:1.假设将数据当作无符号数进行运算,那么CY=1表示结果大于255。2.假设将数据当作带符号数进行运算,那么OV=1表示溢出,结果出错;OV=0,结果正确。01010100+〕0110100110111101CY=0AC=0P=0OV=CYC6=111001011+〕11111000111000011CY=1AC=1P=0OV=CYC6=050存储器的访问MOV指令MOVC指令PSEN(-)信号MOVX指令RD(-)WR(-)51片外数据存储器和程序存储器地址重叠,但控制信号不同!522.3.3振荡器、时钟电路及时序一、CPU时序

CPU时序就是CPU在执行指令时所需控制信号的时间顺序。

单片机的时序定时单位从小到大依次为:时钟周期、状态周期、机器周期和指令周期。

MCS-51单片机共有111条指令,按照指令字节数和机器周期数可分为六类,即单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和三字节双周期指令。

53典型指令的取指、执行时序

时钟周期为单片机提供定时信号的振荡源的周期或外部输入时钟信号的周期,也称为振荡周期〔Tosc)。状态周期(或状态S)是振荡周期的两倍,它分为P1节拍和P2节拍。一条指令的执行过程分作几个根本操作,完成一个根本操作所需的时间称作机器周期〔TM〕。执行一条指令所需的时间称为指令周期。54二、时钟电路

8051单片机的时钟信号通常由两种方式产生:一是内部振荡方式,二是外部时钟方式。

(a)内部方式时钟电路(b)外部方式时钟电路内部振荡方式内部振荡方式是在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个电容构成稳定的自激振荡电路。电容C1和C2通常取30pF。晶振频率fosc=1.2MHz~12MHz。552.4并行I/O口结构

8051单片机有4个8位并行I/O端口,称为P0、P1、P2和P3口,每个端口都各有8条I/O口线,每条I/O口线都能独立地用作输入或输出。

在无片外扩展存储器的系统中,这四个I/O口都可以作为通用I/O口使用。

在有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址先和8位数据线。562.4.1并行I/O口的内部结构1.P0口P0口某一位的结构图如以下图所示,它由一个输出锁存器、两个三态输入缓冲器、一个转换开关MUX、一个输出驱动电路(T1和T2)和一个与门及一个非门组成。57C=0

VCC(1)P0口用作通用I/O口控制信号C=0,MUX与锁存器的Q端接通,与门输出为0,T1截止,输出驱动级就工作在需外接上拉电阻的漏极开路方式。①P0口用作输出口01100158②P0口用作输入口方式1:读引脚。CPU在执行“MOV”类输入指令时(如:MOVA,P0),内部产生的操作信号是“读引脚”。P0.X引脚上的数据经过缓冲器2读入到内部总线。注意,在读引脚时,必须先向电路中的锁存器写入1〔准双向口〕,使T2截止,P0.X引脚处于悬浮状态,可作为高阻抗输入。方式2:读锁存器。CPU在执行“读-改-写”类输入指令时(如:ANLP0,A),内部产生的操作信号是“读锁存器”,锁存器中的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑“与”,结果送回P0的端口锁存器并出现在引脚。除了MOV类指令外,其他的读口操作指令都属于这种情况。59(2)P0口用作地址/数据总线

MUX将地址/数据线与T2接通,同时与门输出有效。假设地址/数据线为1,那么T1导通,T2截止,P0口输出为1;反之T1截止,T2导通,P0口输出为0。当数据从P0口输入时,读引脚使三态缓冲器2翻开,端口上的数据经缓冲器2送到内部总线。C=160〔3〕P0口小结①P0口既可作地址/数据总线使用,也可作通用I/O口使用。当P0口作地址/数据总线使用时,就不能再作通用I/O口使用了。②P0口作I/O口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出。③P0口作输入口读引脚时,应先向锁存器写1,使T2截止,不影响输入电平。

612.P1口P1口是唯一的单功能口,仅能作为通用I/O口使用。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。同P0口一样,当作输入口时,必须先向锁存器写“1”,使场效应管T截止。

623.P2口图中的控制信号C决定转换开关MUX的位置:当C=0时,MUX拨向下方,P2口为通用I/O口;当控制信号C=1时,MUX拨向上方,P2口作为地址总线使用。在实际应用中,P2口通常作为高8位地址总线使用。

634.P3口P3口用作通用I/O口时,第二输出功能信号W=1,P3口的每一位都可定义为输入或输出,其工作原理同P1口类似。在真正的应用电路中,P3口的第二功能显得更为重要。64

P3口的第二功能

65P1口输出I/O应用实例【例1】P1口做输出口,控制八只发光二极管循环点亮(P1口输出低电平时发光二极管被点亮)。分析:由于发光二极管低电平点亮,所以,需要哪个发光二极管点亮,只需在相应的端口输出逻辑0即可。由于每个发光二极管点亮后要持续一段时间才熄灭,再使下个发光二极管点亮,因此需要编写延时子程序,供主程序反复调用。本例中,延时子程序采用指令循环来实现。

66地址机器码程序注释ORG0000H0000H021000LJMPMAINORG1000H1000H74FEMAIN:MOVA,#0FEH1002HF590LOOP:MOVP1,A1004H12100ALCALLDELAY;延时1007H23RLA;左移位1008H80F8SJMPLOOP;循环100AH7FFFDELAY:MOVR7,#0FFH;延时子程序100CH7EFAL1:MOVR6,#0FAH100EHDEFEDJNZR6,$1010HDFFADJNZR7,L11012H22RETEND67【例2】利用P1.0输出上下电平,控制继电器的开合,以实现对外部装置(如灯L1和L2)的控制。分析:将单片机的P1.0接继电器控制端JIN,继电器的JZ通过K1接地,常开触点JK接L1,常闭触点JB接L2。编制程序,使P1.0电平变化,高电平时继电器吸合,常开触点闭合,L1点亮,L2熄灭;低电平时继电器不工作,常闭触点闭合,L2点亮,L1熄灭。68地址机器码程序注释ORG0000H0000H022000LJMPMAINORG2000H2000HC290MAIN:CLRP1.0;P1.0送低电平2002H12200CLCALLDELAY;延时2005HD290SETBP1.0;P1.0送高电平2007H12200CLCALLDELAY;延时200AH80F4SJMPMAIN;循环200CH7F06DELAY:MOVR7,#06H;延时子程序200EH7EFFL1:MOVR6,#0FFH2010H7DFAL2:MOVR5,#0FAH2012HDDFEDJNZR5,$2014HDEFADJNZR6,L22016HDFF6DJNZR7,L12018H22RETEND69【例3】P3口的P3.0连接一个开关,作为输入端;P1口的P1.0~P1.7连接八只发光二极管,作为输出端。要求用P3.0来控制P1输出的循环灯,即当P3.0输出高电平时,控制P1口的发光二极管左循环点亮;当P3.0输出低电平时,控制P1口的发光二极管右循环点亮(P1口输出低电平时发光二极管被点亮)。分析:在主程序中要对P3.0的状态进行判断。如果P3.0为高电平,那么使用循环左移指令。如果P3.0为低电平,那么使用循环右移指令。延时子程序同例1。70地址机器码程序注释ORG0000H0000H023000LJMPMAIN ORG3000H3000H74FEMAIN:MOVA,#0FEH3002HF590LOOP:MOVP1,A3004H123010LCALLDELAY;延时3007H20B003JBP3.0,L1300AH03RRA;右移位300BH80F5SJMPLOOP;循环300DH23L1:RLA;左移位300EH80F2SJMPLOOP;循环3010H7FFFDELAY:MOVR7,#0FFH;延时子程序3012H7EFAL2:MOVR6,#0FAH3014HDEFEDJNZR6,$3016HDFFADJNZR7,L23018H22RET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论