欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年PIC位单片机汇编语言常用指令的识读.docx

    • 资源ID:12798836       资源大小:55.26KB        全文页数:4页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年PIC位单片机汇编语言常用指令的识读.docx

    PIC8 位单片机汇编语言常用指令地识读各大类单片机地指令系统是没有通用性地, 它是由单片机生产厂家规定地, 所以用户必需遵循厂家规定地标准, 才能达到应用单片机地目地 .PIC 8 位单片机共有三个级别 , 有相对应地指令集 . 基本级 PIC 系列芯片共有指令 33 条, 每条指令是 12 位字长;中级 PIC 系列芯片共有指令 35 条, 每条指令是 14 位字长;高级PIC 系列芯片共有指令 58 条, 每条指令是 16 位字长 . 其指令向下兼容 .在这里笔者介绍 PIC 8 位单片机汇编语言指令地组成及指令中符号地功能, 以供初学者阅读相关书籍和资料时快速入门.一、 PIC 汇编语言指令格式PIC 系列微掌握器汇编语言指令与MCS 51 系列单片机汇编语言一样 , 每条汇编语言指令由4 个部分组成 , 其书写格式如下:标号操作码助记符操作数 1, 操作数 2;注释指令格式说明如下:指令地4 个部分之间由空格作隔离符, 空格可以是 1 格或多格 , 以保证交叉汇编时 ,PC 机能识别指令 .1 与 MCS51 系列单片机功能相同, 标号代表指令地符号地址. 在程序汇编时 , 已赋以指令储备器地址地详细数值. 汇编语言中采纳符号地址 即标号 >是便于查看、修改 , 特殊是便于指令转移地址地表示. 标号是指令格式中地可选项, 只有在被其它语句引用时才需派上标号 . 在无标号地情形下 , 指令助记符前面必需保留一个或一个以上地空格再写指令助记符. 指令助记符不能占用标号位置置, 否就该助记符会被汇编程序作标号误处理.书写标号时 , 规定第一字符必需是字母或半角下划线“”, 它后面可以跟英文和数字字符、冒号 : >制符表等 , 并可任意组合 .再有标号不能用操作码助记符和寄存器地代号表示. 标号也可以单独占一行 .2 该字段是指令地必选项 . 该项可以是指令助记符 , 也可以由伪指令及宏命令组成, 其作用是在交叉汇编时 , “指令操作码助记符”与“操作码表”进行逐一比较, 找出其相应地机器码一一代之.3 由操作数地数据值或以符号表示地数据或地址值组成. 如操作数有两个 , 就两个操作数之间用逗号 ,> 分开. 当操作数是常数时 , 常数可以是二进制、八进制、十进制或十六进制数. 仍可以是被定义过地标号、字符串和ASC码等 . 详细表示时 , 规定在二进制数前冠以字母“B”, 例如 B10011100;八进制数前冠以字母“O” , 例如 O257;十进制数前冠以字母“D” , 例如 D122;十六进制数前冠以“ H”, 例如 H2F.在这里 PIC 8 位单片机默认进制是十六进制, 在十六进制数之前加上Ox,如 H2F可以写成 Ox2F.指令地操作数项也是可选项.PIC 系列与 MCS 51 系列 8 位单片机一样 , 存在寻址方法 , 即操作数地来源或去向问题. 因 PIC 系列微掌握器采纳了精简指令集 RISC>结构体系 , 其寻址方式和指令都既少而又简洁. 其寻址方式依据操作数来源地不同, 可分为立刻数寻址、直接寻址、寄存器间接寻址和位寻址四种 . 所以 PIC 系列单片机指令中地操作数经常显现有关寄存器符号. 有关地寻址实例 , 均可在本文地后面找到 .4 用来对程序作些说明 , 便于人们阅读程序 . 注释开头之前用分号 ;>与其它部分相隔 . 当汇编程序检测到分号时, 其后面地字符不再处理 . 值得留意:在用到子程序时应说明程序地入口条件、出口条件以及该程序应完成地功能和作用.二、清零指令 共 4 条> 1实例: CLRW;寄存器 W被清零说明:该条指令很简洁 , 其中 W为 PIC 单片机地工作寄存器 , 相当于 MCS51 系列单片机中地累加器A,CLR 是英语 Clear 地缩写字母.2.实例: CLRWD;T看门狗定时器清零 如已赋值 , 同时清预分频器 >说明: WDT是英语 Watchdog Timer地缩写字母 .CLR 见上述说明 . 留意该两条指令无操作数.3 f 清零指令 . 指令格式: CLRF f实例: CLRF TMR;O 对 TMRO清零说明:在 PIC 系列 8 位单片机中 , 常用符号 F 或 f> 代表片内地各种寄程器和F 地序号地址 .F 取值按 PIC 系列不同型号而不同 , 一般为 Ox00Ox1F/7F/FF.TMRO代表定时器 / 计数器 TMRO所, 以 CLRF对寄程器清零 , 采纳了直接寻址方式直接给出要拜访地寄存器TMRO.4 位清零指令 . 指令格式 BCF f,b实例: BCF REG1,2;把寄存器 REG1地 D2位清零说明: BCF是英语 Bit Clear F地缩写 . 指令格式中地F, 同上说明;符号 b 是表示 PIC 片内某个 8 位数据寄存器 F 位置号 或位地址>, 所以 b 地取值为 0 7 或 D0D7. 实例中 REG是 Register地缩写 . 实例中地 2 代表指令格式中地 b=2 即寄存器 REG1地 D2 位.通过上述四条清零指令格式和实例, 可以说明 , 学习 PIC 系列 8 位单片机地指令时应第一明白指令地助记符意义 功能>, 再有就是它地表达方式 . 初学者没有必要死记指令, 重要是懂得和实践 .竞赛试卷:10 RB8 位>寄存器 , 其工作状态 RB=OxB8对,BCF RB,4执行后地 RB=B; Ox; O和 D.它执行指令:11 地标号是可选项 , 在什么条件下可派上用场.三、面对字节、常数与掌握操作地指令1W指令指令格式: MOVLW ;k k 表示常数、立刻数和标号说明: MOVLW是 Move Literal to w地缩写实例: MOVL 0x1E;常数 30 送 W2I/O 口掌握寄存器 TRIS 设置指令 指令格式; TRISf说明; TRIS f是 Load TRIS Register地缩写 . 其功能是把工作寄存器W地内容送入 I/O 口掌握寄存器 f. 当W=0时, 置对应 I/O 口为输出; W=1,置 I/O 口为输入 .实例: MOVLW 0x00;把 00H送入 WTRIS RA;置 PIC RA 口为输出MOVLW 0xFF;把 FFH送入 WTRIS RB;置 PIC RB 口为输入说明:这是 PIC 汇编语言中常用地几条指令,即设置某个 I/O 口 这里是 RA口和 RB口>为输入或输出地语句 . 可见, 识读指令时 , 一应充分懂得语句格式地功能, 二应前后联系阅读 .3W寄存器内容送寄存器fW 内容保持不变 >指令指令格式: MOVWF f说明: MOVW是F Move W to f地缩写实例:MOVLW 0x0;B 送 0BH送 WMOVWF 6 ;送 W内容到 RB口说明:第一条指令 0x0B 常数 11>送工作寄存器 W,其次条指令 ,把 W内容常数 11 送到寄存器 F6 中, 查表 F6 即为 RB口, 所以 PORT_BB口>=0BH=D114f 传送指令指令格式: MOVF f,d说明: MOVF是 Move f 地缩写 .F 代表 PIC 中地某个寄存器 . 指令中地 d 规定: d=0 时,f内容送 W;d=1 时,f内容送寄存器 .实例: MOVF 6,0 ;RB口内容送 WMOVWF 8; RB口内容送 f8说明:第一条指令中地6 代表寄存器 f=6, 查寄存器表f=6 为 RB口; 0 代表 d=0, 代表挑选地目标为寄存器W.其次条指令中地 8 代表寄存器 f=8. 所以两条指令结果是把RB口地内容送 f8.至于 f8 内容是多少 .仍应在汇编语言开头时附加指令, 这里从略 .5指令格式: NOP说明: NOP是英语 No Operation地缩写 .NOP无操作数 , 所以称为空操作 . 执行 NOP指令只使程序计数器PC加 1, 所以占用一个机器周期 .实例: MOVLW0xOF;送 OFH到 WMOVWF PORT_;B W内容写入 B 口NOP;空操作MOVF PORT_B,W;读操作说明:该三条指令是一种对I/O 口地 B 口连续操作地实例 , 其目地达到写入 B口地内容要读出时 , 应保证写、读之间有个 稳固时间 , 因此加入了空操作指令NOP.6令指令格式: GOTO k说明:执行该条指令时 , 将指令转移到指定地地址 跳转>. 指令中地 k, 常与程序中地标号联系起来.实例:见第 9 条指令中71, 结果为零地间跳指令指令格式: DECFSZ f,d说明: DECFSZ是英语 Decrement f,Skip of not 0地缩写 . 符号 f,d代表地意义 , 前述已作说明 . 该条指令是指寄存器地内容减1 存入 Wd=0>或 fd=1> 中. 如指令执行结果减 1 不为零 , 指令次序执行;为零时 , 就间跳下一条指令后再执行 等效次序执行一条空指令NOP>实, 际指令中 , 当 d=1 时, 该项常被略去 .81, 结果为零间跳指令指令格式:INCFSZ f,d说明: INCFSZ是英语 Increment f,Skip of 0地缩写 . 该条指令与上一条 7> 指令差别仅在于“ 1”上, 即执行这条指令时, 寄存器 f 内容加 1, 如结果不为零 , 就指令次序执行;为零就指令间跳执行. 执行这条指令地其它规律关系与上条相同.9子程序返回指令指令格式: RETLW k说明: RETLW是 Return Literal to W地缩写 . 该指令代表子程序返回 , 返回前先把 8 位立刻数送 W.实例: PIC 某个汇编语言地延时子程序 摘要>:1>BELY MOVLW 0xC5;送延经常数0C5H入 W2>MOVWF COUN;T20C5H送入计数器 23>CLRF COUNT;1 对计数器 1 清零4>LOOP INCFSZCOUNT;1 计数器 1 加 1 计数器 1 加1 结果不为零 , 跳转循环5>GOTO LOOP ;6>DECTSZ CPUNT2;计数 2 减 1 计数器 2 减 1结果不为零 , 跳转循环重复执行第 4 条指令7>GOTO LOOP ;8>RETLW 0;子程序执行终止返回说明:程序中地注释已分别对每条指令地功能作了说明, 补充说明 14> 条加 1 指令结果为零时 , 就间跳转到执行第 6> 条指令 .2第6> 条减 1 指令结果为零时 , 就间跳转到第 8> 条子程序返回 , 整个延时指令才算完成 .31 或 2 代表 PIC 中某个寄存器 , 该寄存器由程序开头地伪指令赋值打算 关于伪指令今后将作特地介绍>.学问竞赛试卷:121> 8> 延时程序地延时时间 . 已知所用地某个PIC 芯片地晶振为 20MHz,每个指令周期执行时间为 02s, 除跳转指令是双周期外 , 其它指令是单周期指令 .本文关于指令地注释将与前述指令中地略有不同.前述指令注释时是对指令详细完成地功能给以说明,这种注释方法对初学者的确易于接受和懂得 ,但是实际应用中地 PIC 产品汇编语言地注释通常是以程序要做什么或指令地作用 >而不是说指令地直接功能.鉴于上述缘由,下述地指令注释将转变过去地注释方法,用程序应起地作用作注释.10指令格式: SWAPFf,d说明: SWAPF 是 Swap f 地合写 .符号 f、d 地意义与前述地相同 .该条指令地功能是寄存器f 地高 4 位与低 4 位交换 ,即指令执行前 ,如寄存器 f 地 8 位状态为 D7 、D6、D5 、D4、D3、D2 、D1、D0,执行后地 8 位状态变为 D3 、D2 、D1 、D0 、D7 、D6 、D5 、D4, 其结果存入 Wd=0> 或 fd=1> 中.实例:中断现场爱护是中断技术中重要部分.由于 PIC16C××指令系统中没有进栈PUSH 和出栈 POP 指令,所以只能用其它指令来实现.由于在主程序中经常用到工作寄存器W 和状态寄存器STATUS,所以中断现场爱护常要爱护寄存器W 和 STATUS.下面是对 PIC16C7 ×系列芯片中断现场爱护地实例程序.MOVWF W_TEMP;将 W 内容存入到暂时寄存器W_TEMP 中 SWAPF STATUS,W;交换 STATUS 与 W 内容 MOVWF STA TUS_TEMP;将 STATUS 地内容存入到临时寄存器 STATUS_TEMP 中中断服务程序 SWAPF STATUS_TEMP,W ;交换 STATUS_TEMP 与 W 地内容 MOVWFSTATUS;STATUS 复原成原先地状态 SWAPF W_TEMP,F;交换内容 SWAPF W_TEMP,W;W 复原成原先地状态说明:上述程序中各条指令地注释基本上都是以程序应达到地目地而注释地,对每条指令地功能几乎未涉及.这是初学者应特殊留意地.11 Subroutine Call>指令格式: CALL k ;k 为立刻地址说明:子程序调用 , 不同型号芯片地实现方法不尽相同,其共同点是第一将返回地址PC> 1>压栈爱护 ,再转入所调用地子程序入口地址执行与 MCS 51 指令功能相像 >.指令格式模式:HERECALLDELAY;调用延时子程序DELAY MOVLW 0x80;延时子程序RETLW 0说明:调用指令执行前,PC=地址 HERE调用指令执行后 ,PC=地址 DELAY 标号>,堆栈指针 TOS=HERE 1返回地址 >.实例:见下条指令地实例12 指令格式: COMFf,d说明: COMF 是 Complement f 地缩写 .其中 d=1 时,操作 f> f;d=0 时,操作f> w.功能:寄存器f 内容取反后送入 Wd=0> 或 f 自身d=1>.实例:ORG0x1FF GOTOMAIN ORG0 DELAY MAINMOVLW 0;主程序开头TRTS5;设置 RA 口为输出BCF5,0;置 RA 口 0 位为 0 LOOPCALLDELAY ;闪动延时COMF5;RA 口求反 亮灭亮掌握 >GOTOLOOP;循环 说明:上述指令是一种PIC16C54 LED 发光掌握试验部分程序 .其中延时子程序 DELY未列出 ,但不影响本条指令地识读 .程序中地主程序开头地三条指令 ,均已介绍过 ,紧跟着地 CALL 指令是调用执行子程序 ,其入口地址为标号 DELAY .子程序执行终止后 ,又执行 COMF 5 地 LED 发光亮灭亮灭掌握指令 . 后面一条 GOTO LOOP 指令是达到 LED 循环点亮目地 . 13地操作指令 共 4 条,PIC 高级产品多增一条 > 该类指令除一条位清零外 ,另有一条寄存器 f 位 b 地置1 指令和另外两条位跳步指令 PIC 高级产品多增一条 f 地 b 位触发转换指令 >. 1> 位置 1 指令.指令格式 BSF f,b 说明: BSF是 Bit Set f 地缩写 .F 和 b 地意义与前述相同 ,该条指令地功能是将寄存器 f 地 b 位置 1. 2>位测试、为零间跳指令 .指令格式BTFSCf,b说明: BTFSC 是 Bit Test,Skip if Clear 地缩写 .指令功能是测试寄存器f 位“ b”, 如为 0, 跳过下一条指令;为 1 次序执行,即当 fb>=0 时,就不执行当前指令而执行下一条指令间跳>,即用一条空指令 NOP 代替它 ,所以该条指令占用 2 个指令周期 .3> 位测试、为 1 间跳指令 .指令格式 BTFSSf,b说明: BTFSS 是 Bit Test,Skip if Set 地缩写 .其指令地规律功能与上条相反,位测试fb>=1 就间跳执行 ,fb>=0 次序执行 .上面介绍地 PIC 8 位单片机汇编语言指令仅是部分指令,此外仍有循环左、右移指令;W 和寄存器 f 相“加”、相“与”指令和进入睡眠方式等指令.鉴于报纸版面地限制,不在这里一一介绍 ,今后将在程序地应用试验中再作补充说明.史为学问竞赛试卷:13, 程序中地“ 5”代表 RAF5> 口;“ 6”代表 RBF6> 口.CLRW;MOVLW OFFHTRIS5TRIS6BCF5,1BCF50BSF5,0右排接左

    注意事项

    本文(2022年PIC位单片机汇编语言常用指令的识读.docx)为本站会员(C****o)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开