当前位置:首页 > 单片机 > 单片机
[导读]   1.关于并行I/O口的“读引脚”和“读锁存器”指令的区别    读并行I/O口有“读引脚”和“读锁存器”之分。以Pl口为例,当P1口的P1.0引脚外接一个发光二极管LED的阳极,LED的阴极接地。若想查看

  1.关于并行I/O口的“读引脚”和“读锁存器”指令的区别
  
  读并行I/O口有“读引脚”和“读锁存器”之分。以Pl口为例,当P1口的P1.0引脚外接一个发光二极管LED的阳极,LED的阴极接地。若想查看一下单片机刚才向P1.0脚输出的信息是0还是1,这时不能直接从P1.0读取,因为单片机刚才向P1.0输出的信息如果是1的话,则LED导通点亮,此时P1.0引脚就为0电平,如果直接读引脚,结果显然是错误的。正确的做法是读D锁存器的Q端状态,那里储存的才是前一时刻送给Pl.0的真实值。也就是说,凡遇“读取P1口前一状态以便修改后再送出”的情形,都应当“读锁存器”的Q端信息,而不是读取引脚的信息。
  
  当P1口外接输入设备时,要想P1口引脚上反映的是真实的输入信号,必须要设法先让该引脚内部的场效应管截止才行(如图2-7所示),否则当场效应管导通时,P1口引脚上将永远为低电平,无法正确反映外部设备的输入信号。让场效应管截止,就是用指令给Pl口的相应位送一个1电平,这就是为什么读引脚之前,一定要先送出1的原因。
  
  指令“MOV C,Pl.0”读的是Pl.0引脚,同样,指令“MOV A,Pl”也是读引脚指令,读引脚指令之前一定要有向Pl.0写1的指令。而指令“CPL Pl.O”则是“读锁存器”,也即“读-修改-写”指令,它会先读Pl.O的锁存器的Q端状态,接着取反,然后再送到Pl.0引脚上。而指令“ANLPl,A”也是“读锁存器”命令。类似的“读-修改-写”指令举例如下:
  
  2.关于操作数的字节地址和位地址的区分问题
  
  如何区别指令中出现的字节变量和位变量呢?例如指令“MOV C,40H”和指令“MOV A,40H”两条指令中的助记符相同,但是指令中源操作数“40H”都是以直接地址形式给出的,“40H”究竟是字节地址还是位地址?对于助记符相同的指令,观察操作数就可看出。显然前条指令中的“40H”是位地址,因为目的操作数C是位变量。而后条指令中的“40H”是字节地址,因为目的操作数A是字节变量。当然,对于助记符不同的指令,从助记符的形式,就可以看出其中指令究竟是“字节”操作,还是“位”操作。
  
  3.关于累加器A与ACC的书写问题
  
  累加器可写成A,也可写成Acc,它们的区别是什么?在51单片机汇编语言指令中是有区别的。Acc在汇编后的机器码必有一个字节的操作数是累加器的字节地址EOH,A在汇编后则隐含在指令操作码中。例如指令“INC A”的机器码,查表3-2是04H。如写成“INC Acc”后,则成了“INC direct”的格式,再查表3-2,对应的机器码为“05H EOH”。在对累加器A的直接寻址和累加器A的某一位寻址要用Acc,而不能写成A。例如,指令“POP Acc”不能写成“POP A”;指令“SETB Acc.O”,不能写成“SETB A.O”。
  
  4.书写2位十六进制数据前要加“0”
  
  在书写源程序时经常遇到必须在某些数据或地址的前面多填一个“前导0”的问题,否则在汇编成时机器语言汇编就通不过。这是汇编语言的严格性和规范性的具体体现。由于部分十六进制数是用字母来表示的,而程序内的标号也常用字母表示,为了将标号和数据区分开,几乎所有的汇编语言都规定,凡是以字母开头(对十六进制数而言,就是A~F开头)的数字量,应当在前面添加一个数字“0”。至于地址量,它也是数据量的一种,前面也应该添加“0”。例如:
  
  如果不加“前导0”,就会把字母开头的数据量当作标号来处理,从而出错以及不能通过汇编。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

 米兰诺维奇博士提出"语言能力双轨进化论",动态命题技术破解安全性困局 贵阳2025年7月23日 /美通社/ -- 7月22日,在第八届英语教学与测评学术研讨会上,国际语言测评权威专家、朗...

关键字: AI 人工智能 指令 研讨会

北京 2025年7月14日 /美通社/ -- 近日,主线科技为广州港设备自动化改造示范区项目圆满完成了纯电集卡的自动驾驶技术升级,并将其商业化交付,助力项目顺利迈入"前沿设备远控半自动+堆场设备全自动+水平运...

关键字: 智能化 自动化 线控 指令

广州 2025年7月4日 /美通社/ -- 日前,在德国慕尼黑机器人及自动化技术展览会(Automatica)期间,国际独立第三方检测、检验和认证机构德国莱茵TÜ...

关键字: 自动化 CE 工业机器 指令

广州 2025年7月4日 /美通社/ -- 日前,在德国慕尼黑机器人及自动化技术展览会(Automatica)期间,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"T...

关键字: 指令 电磁兼容 协作机器人 AN

上海 2025年5月15日 /美通社/ -- 5月12日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵"...

关键字: 机器人 CE 指令 软硬件

AI与自动化驱动生命科学研发革新 北京2025年2月20日 /美通社/ -- 近日,镁伽科技正式推出LABILLION™实验室智慧管理平台,并于线上发布。作为镁伽在"AI for Science(AI4S)&...

关键字: LAB IO ABI 指令

CPU的工作原理‌主要包括以下几个核心步骤:获取指令、解码、执行和存储结果。‌中央处理器(Central Processing Unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。C...

关键字: CPU 指令

深圳2024年11月29日 /美通社/ -- 包装是产品生命周期的重要组成部分,随着循环经济不断推进,欧洲对产品包装的可回收性和正确标签的要求也越来越严格。12月13日起,在线或者通过远程销售方式销售至欧盟消费者的产品,...

关键字: 电池 研讨会 指令 电子

广州2024年10月18日 /美通社/ -- 10月17日,由中国对外贸易中心、SGS、上海艾瑞市场咨询股份有限公司共同举办的"广交会行业趋势论坛—工具产品欧美市场新机遇"在第136届广交会现场隆重举...

关键字: 测试 电动工具 指令 电子电气

北京2024年8月27日 /美通社/ -- 8月23日,在2024世界机器人大会库卡展台,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"...

关键字: 指令 机器人 CE CTU
关闭