PIC微控制器实验室.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC微控制器实验室

状态寄存器(STATUS) STATUS 寄存器 C、DC、Z 标志位 RP0、RP1 数据存储器体选 PD 耗电标志,sleep指令后被置       0;上电或看门狗清0后被置1 TO    超时标志,看门狗发生超时被置0; 上电或看门狗清0指令或睡眠指 令执行后被置1 IRP 用于间接寻址,RAM体选; 0:0、1体;1:2、3体 指令集 PIC16F877指令集包含35条指令 按操作码的类别分为四类指令 数据传送类指令 4 条 算术运算类指令 6 条 逻辑运算类指令 14 条 控制转移类指令 11 条 PIC指令集核心助记符 指令系统字符说明 数据传送类指令 程序举例 例1、编程将立即数20H传送到通用寄存器20H中 MOVF 20H,W MOVWF 40H MOVF 30H,W MOVWF 20H MOVF 40H,W MOVWF 30H 算术运算类指令 程序举例 例1、编程将通用寄存器20H(高位)、30H(低位)构成的16位数据与通用寄存器40H(高)、50H(低)构成的16位数相加后放入40H(高)、50H(低)中(已知其和不会超出65535) 端口的输入输出控制 要想控制单片机端口的输入输出,首先需对 端口方向寄存器和数据寄存器进行设置,引 脚的方向寄存器的相应位设置为1表示输入; 设置为0表示输出 程序举例 例1、编程将通用寄存器20H、30HR的数据分别与立即数20H、30H相“与”和相“或”后再相加,结果存入40H存储器中。 例2、编程将数据存储器20H低4位和30H高4位组合成一个8位数据并从RC端口输出。 控制转移类指令 程序举例 例1、将通用寄存器单元20H~2FH分别对应赋值20H~2FH 例2、分析程序段,指出程序执行后,存储单元的结果 SZH MOVWF 20H MOVLW 07H ANDWF 20H,W ADDWF PCL,F L0 GOTO LOOP0 L1 GOTO LOOP1 L2 GOTO LOOP2 L3 GOTO LOOP3 L4 GOTO LOOP4 L5 GOTO LOOP5 L6 GOTO LOOP6 L7 GOTO LOOP7 移动数据: 立即数, W 和 F 间接寻址 间接寻址 FSR 和 INDF 用于间接寻址 FSR 是地址指针 当访问INDF地址时,实际上是访问以FSR内容为地址 的数据存储器RAM单元。 间接寻址 体选码由STATUS的IRP位和FSR寄存器的BIT7组成 体内单元地址来自FSR的低7位 PIC 程序设计 数据存储器组织 PIC16F877 RAM 数据存储器 软件延时子程序 单层循环 COUNT EQU 0X20  DELAY MOVLW 0FFH       MOVWF COUNT LOOP DECFSZ COUNT,F GOTO LOOP RETURN 双层循环 COUNT0 EQU 0X20 COUNT1 EQU 0X21  DELAY MOVLW 0FFH       MOVWF COUNT0  LP0  MOVWF COUNT1 LP1 DECFSZ COUNT1,F GOTO LP1 DECFSZ COUNT0,F GOTO LP0 RETURN 三层循环 DELAY0 MOVLW 0FFH MOVWF hour DELAY2 DECFSZ hour,F

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档