`
decentway
  • 浏览: 161052 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

lab2000p程序H1a.asm

 
阅读更多

程序:

;p1口输入输出实验

KeyLeft equ P1.0

KeyRight equ P1.1

LedLeft equ P1.2

LedRight equ P1.3

 

setb KeyLeft

setb KeyRight

 

Loop:

     mov c,KeyLeft

     mov LedLeft,c

     mov c,KeyRight

     mov LedRight,c

     ljmp Loop

 

     end

解释:

准双向口我也不了解。总之,准双向口作为输入时,必须要先置1。

准双向口

  C51的说明书上说:”Because Ports 1, 2, and 3 have fixed internal pullups, they are sometimes called quasi-bidirectional ports. When configured as inputs, they pull high and source current (IIL) when externally pulled low. Port 0, on the other hand, is considered truly bidirectional, because it floats when configured as an input. "  翻译是:因为P1、2、3有固定的内部上拉电阻,所以有时称它们为准双向口。当用做输入时被拉高,低则要靠外部电路拉低。而P0则是真双向口,因为作为输入时它是悬浮的。  “准”就是“基本上的意思”,也就是“准双向口”不是正真的双向口。  其实重点在P0口.  P0口是双向指的是它被用作地址/数据端口时,只有在这个时候,P0口才处于两个开关管推挽状态,当两个开关管都关闭时,才会出现高阻状态.当P0口用于一般I/O口时,内部接Vcc的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管起作用,P0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平;  如果P0口作为输入,则必须先对端口写1,使拉地的开关管断开,这个时候,如果不接上拉电阻,则是高阻状态,就是一个双向口,如果接上拉电阻,则本身输出高电平,对输入信号的逻辑无影响(注意是对逻辑无影响,对实际参数有无影响我不确定,但是我认为是有的).  双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,P1~P3口因为有内部上拉电阻,因此无论如何不是双向;P0口内部无上拉电阻,在处于数据/地址功能时,自动完成3态的转换,是双向,处于一般I/O口时,如果不接外部上拉,而且先向端口写了1,那么就处于高阻状态,此时,它也是一个人为的双向口,这与它处于地址/数据功能时的自动双向有区别,以及与P1~P3处于输入时输出锁存器为1是有区别的跟I2C总线上那种漏极开路或者集电极开路结构差不多. 通过上拉电阻(或者下拉电阻)来提供一种电平的驱动.  当作为输入使用时,就将开关断开,这样就只剩下上拉(或者下拉)电阻,因而阻抗比较高,  可以由其它设备驱动该IO口。准双向口在做为输入使用时,实际上还是一种输出状态.  只是该输出状态的内阻比较大而已. 而真正的双向IO口,有方向控制寄存器,作为输入  使用时输出部分被断开.  双向口与准双向口的区别为双向口有高阻态,输入为真正的外部信号,准双向口内部有上拉,故高电平为内部给出不是真正的外部信号!软件做处理时都要先向口写“1”!  P0口为真正的双向口,其余为准双向口!  说明一点:51的基础是8031,8031的I/O口只有P1口!  而P0及P2口为外扩存储器,P3为多功能口!  51后来增加了其余口的I/O口功能!  P0内部无上拉(开漏输出),外加NMOS电路需接上拉!  输入为高阻悬浮态!  P0的驱动能力是单个其余口的两倍!  p0是一个双功能的8位并行I/O口,字节地址为80H,位地址为80H~87H。它既可以作为通用的输入/输出端口使用,在系统扩展时又可以作为地址/数据总线使用。  P1口是唯一的单功能并行I/O口,字节地址为90H,位地址为90H~97H。它只能用作通用的数据输入/输出端口使用。  P2口是一个双功能的8位I/O端口,字节地址为A0H,位地址为A0H~A7H。它可以作为通用的输入/输出端口使用,在单片机扩展外部设备或芯片时,它又可以用作高8位地址总线与P0口的低8位地址线一起构成16位的片外地址总线。  P3口是一个双用途端口,字节地址为B0H,位地址为B0H~B7H。它的第一功能是通用输入/输出端口。它还具有第二功能。  
P3口引脚 第二功能
P3.0 RXD(串行口输入端)
P3.1 TXD(串行口输出端)
P3.2 INT0的非(外部中断0请求输入端)
p3.3 INT1的非(外部中断1请求输入端)
P3.4 T0(定时/计数器0外部信号输入端)
P3.5 T1(定时/计数器1外部信号输入端)
P3.6 WR的非(外部RAM写控制信号输出端)
P3.7 RD的非(外部RAM读控制信号输出端)

<!--EndFragment-->
分享到:
评论

相关推荐

    org.springframework.asm-3.0.1.RELEASE-A.jar

    rg.springframework.asm-3.0.1.RELEASE-A.jar

    org.objectweb.asm-3.3.1.v201105211655.jar

    asm字节码jar包,仅需要一个就可以。具体使用,可以参考http://blog.csdn.net/gaoshan12345678910/article/details/78131784

    org.springframework.asm-3.0.5.RELEASE.jar

    《深入解析Spring ASM库:org.springframework.asm-3.0.5.RELEASE.jar》 Spring框架是Java开发领域中不可或缺的一部分,而org.springframework.asm-3.0.5.RELEASE.jar是Spring框架中的一个关键组件,主要涉及到字节...

    org.springframework.asm-sources-3.0.5.release.jar

    org.springframework.asm-sources-3.0.5.release.jar

    lcd.rar_0802A.ASM_1602显示0-9_key.asm_液晶显示一个a

    1602A.asm 为驱动1602液晶显示器显示一个字母A的源程序。 1600logo.asm 为驱动1602液晶显示器(hd44780兼容芯片) 160209.asm 为1602液晶显示器(hd44780兼容芯片)的全屏显示0-9驱动程序 1602key.asm 小键盘控制的...

    hello.asm 一个简单汇编程序

    hello.asm 汇编程序 Data SEGMENT string DB "HELLO WORLD! $" data ENDS CODE SEGMENT ASSUME CS:code,DS:data start: MOV AX,data MOV DS,AX MOV DX,OFFSET string MOV AH,9 INT 21H MOV AH,4CH INT 21H...

    PC三级考试中的IO.ASM

    IO.ASM就是用来编写这些低级别I/O操作的程序。 IO.ASM的编写通常包括以下部分: 1. **初始化**:在程序开始时,可能需要设置某些寄存器或者端口,以便后续的I/O操作。例如,设置中断向量或配置设备的工作模式。 2...

    com.springsource.org.objectweb.asm-3.2.0.jar

    严重: Exception sending context initialized event to listener instance ... nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type ssh 框架的java web项目部署到tomcat报上面错误 添加此包

    E158255MatrixKey.asm.asm.asm

    E158255MatrixKey.asm.asm.asm

    com.springsource.org.objectweb.asm.tree-3.2.0.jar

    jar包,官方版本,自测可用

    汇编\示例\Sample.asm

    汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm

    子程序示例01.asm

    子程序示例01.asm

    menuetos应用程序源代码.ZIP_Bootmosf.asm 6_MenuetOS_asm 应用_menuet _menue

    "AIRC.ASM"、"FTPS.ASM"、"HTTPC.ASM"和"HTTPS.ASM"这些文件名暗示了网络相关的功能。它们可能是实现简单网络协议的客户端程序,如AirCom(无线通信)、FTP、HTTP和HTTPS。这些源代码展示了如何在MenuetOS上使用汇编...

    DSP_examples.rar_SINX.ASM_dsp 源码_dsp源码

    《深入理解DSP源码:以SINX.ASM为例》 在数字信号处理(DSP,Digital Signal Processing)领域,源代码是实现算法的核心。这里提到的"DSP_examples.rar"压缩包,内含"DSP_examples"文件夹,以及一个名为"SINX.ASM...

    LAB_4_KEYPAD.asm

    LAB_4_KEYPAD.asm

    com.springsource.org.objectweb.asm-3.1.0.jar

    jar包,官方版本,自测可用

    Mader.C.ASM

    在提供的文件名"Mader.C.ASM"中,我们可以推测这可能是一个使用Mader.C.ASM编码器编写的汇编程序源文件。打开这个文件,我们可以看到一系列的汇编指令,以及可能的宏定义和数据结构,这些都是为了实现特定的功能。...

    written_mult.asm.rar_Mult. asm_space

    标题中的"written_mult.asm.rar_Mult.asm_space"表明这是一个关于汇编语言编程的资源,特别是与多重(Mult)操作和空间控制(space control)相关的。这个压缩包可能包含一个名为"Mult.asm"的源代码文件,该文件是用...

    lcd.asm.rar_lcd.asm

    本文将深入探讨一份名为“lcd.asm.rar_lcd.asm”的液晶显示屏应用源程序,分析其在嵌入式系统中的作用及其技术细节。 首先,我们需了解汇编语言对于硬件操作的重要性。汇编语言是计算机编程的基础语言之一,它将...

    lxt.ASM.asm

    lxt.ASM.asm

Global site tag (gtag.js) - Google Analytics