下载

3下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 51单片机汇编语言教程:15课单片机位操作指令

51单片机汇编语言教程:15课单片机位操作指令.pdf

51单片机汇编语言教程:15课单片机位操作指令

hlmcu
2010-11-24 0人阅读 举报 0 0 暂无简介

简介:本文档为《51单片机汇编语言教程:15课单片机位操作指令pdf》,可适用于IT/计算机领域

单片机汇编语言教程慧净电子会员收集整理(全部课)推荐使用慧净实验板。推荐学习网WWWHLMCUCOM淘宝网:http:shoptaobaocom单片机汇编语言教程:第课单片机位操作指令(基于HJG、HJG实验板)前面那些流水灯的例程我们已经习惯了“位”一位就是一盏灯的亮和灭而我们学的指令却全都是用“字节”来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。用字节来处理一些数学问题比如说:控制冰箱的温度、电视的音量等等很直观能直接用数值来表在。可是如果用它来控制一些开关的打开和合上灯的亮和灭就有些不直接了记得我们上次课上的流水灯的例程吗?我们知道送往P口的数值后并不能马上知道哪个灯亮和来灭而是要化成二进制才知道。工业中有很多场合需要处理这类开关输出继电器吸合用字节来处理就显示有些麻烦所以在单片机中特意引入一个位处理机制。位寻址区在中有一部份RAM和一部份SFR是具有位寻址功能的也就是说这些RAM的每一个位都有自已的地址能直接用这个地址来对此进行操作。内部RAM的HFH这个字节就是的位寻址区。看图。可见这里面的每一个RAM中的每个位我们都可能直接用位地址来找到它们而不必用字节地址然后再用逻辑指令的方式。能位寻址的特殊功能寄存器中有一些SFR是能进行位寻址的这些SFR的特点是其字节地址均可被整除如A累加器B寄存器、PSW、IP(中断优先级控制寄存器)、IE(中断允许控制寄存器)、SCON(串行口控制寄存器)、TCON(定时器计数器控制寄存器)、PP(IO端口锁存器)。以上的一些SFR我们还不熟等我们讲解相关内容时再作详细解释。位操作指令MCS单片机的硬件结构中有一个位处理器(又称布尔处理器)它有一套位变量处理的指令集。在进行位处理时CY(就是我们前面讲的进位位)称“位累加器”。有自已的位RAM也就是我们刚讲的内部RAM的HFH这个字节单元即个位单元还有自已的位IO空间(即P…P,P……P,P……P,P……P)。当然在物理实体上它们与原来的以字节寻址用的RAM及端口是完全相同的或者说这些RAM及端口都能有两种使用办法。位传送指令MOVCBITMOVBITC这组指令的功能是实现位累加器(CY)和其它位地址之间的数据传递。例:MOVP,CY将CY中的状态送到P管脚上去(如果是做算术运算我们就能通过观察知道现在CY是多少啦)。单片机汇编语言教程慧净电子会员收集整理(全部课)推荐使用慧净实验板。推荐学习网WWWHLMCUCOM淘宝网:http:shoptaobaocomMOVP,CY将P的状态送给CY。位修正指令位清指令CLRC使CY=CLRbit使指令的位地址等于。例:CLRP即使P变为位置指令SETBC使CY=SETBbit使指定的位地址等于。例:SETBP使P变为位取反指令CPLC使CY等于原来的相反的值由变为由变为。CPLbit使指定的位的值等于原来相反的值由变为由变为。例:CPLP以我们做过的实验为例如果原来灯是亮的则执行本指令后灯灭反之原来灯是灭的执行本指令后灯亮。位逻辑运算指令位与指令ANLC,bitCY与指定的位地址的值相与结果送回CYANLC,bit先将指定的位地址中的值取出后取反再和CY相与结果送回CY但注意指定的位地址中的值本身并不发生变化。例:ANLC,P设执行本指令前CY=P等于(灯灭)则执行完本指令后CY=而P也是等于。可用下列程序验证:ORGHAJMPSTARTORGHSTART:MOVSP#FHMOVP#FFHSETBCANLCPMOVP,C将做完的结果送P,结果应当是P上的灯亮而P上的灯还是不亮单片机汇编语言教程慧净电子会员收集整理(全部课)推荐使用慧净实验板。推荐学习网WWWHLMCUCOM淘宝网:http:shoptaobaocom位或指令ORLC,bitORLC,bit这个的功能大家自行分析吧然后对照上面的例程编一个验证程序看看你相得对吗?位条件转移指令判CY转移指令JCrelJNCrel第一条指令的功能是如果CY等于就转移如果不等于就次序执行。那么转移到什么地方去呢?我们能这样理解:JC标号如果等于就转到标号处执行。这条指令我们在上节课中已讲到不再重复。第二条指令则和第一条指令相反即如果CY=就转移不等于就次序执行当然我们也同样理解:JNC标号判位变量转移指令JBbit,relJNBbit,rel第一条指令是如果指定的bit位中的值是则转移不然次序执行。同样我们能这样理解这条指令:JBbit,标号第二条指令请大家先自行分析下面我们举个例程说明:ORGHLJMPSTARTORGHSTART:MOVSP#FHMOVP#FFHMOVP#FFHL:JNBP,LP上接有一只按钮它按下时P=JNBP,LP上接有一只按钮它按下时P=LJMPLL:MOVP,#H单片机汇编语言教程慧净电子会员收集整理(全部课)推荐使用慧净实验板。推荐学习网WWWHLMCUCOM淘宝网:http:shoptaobaocomLJMPLL:MOVP,#FFHLJMPLEND把上面的例程写入片子看看有什么现象………按下接在P上的按钮P口的灯全亮了松开或再按灯并不熄灭然后按下接在P上的按钮灯就全灭了。这像什么?这不就是工业现场经常用到的“启动”、“停止”的功能吗?怎么做到的呢?一开始将FFH送入P口这样P的所有引线都处于高电平然后执行L如果P是高电平(键没有按下)则次序执行JNBP,L语句同样如果P是高电平(键没有按下)则次序执行LJMPL语句。这样就不停地检测P、P如果有一次P上的按钮按下去了则转移到L执行MOVP#H使灯全亮然后又转去L再次循环直到检测到P为则转L执行MOVP#FFH例灯全灭再转去L如此循环不已。大家能否稍加改动将本程序用JB指令改写?实验板推荐(点击下面的图片可以进入下载资料链接)HJGHJG

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

51单片机汇编语言教程:15课单片机位操作指令

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利