请高人注释一下这一段汇编代码 要详细点 不胜感激

KEYSCANBCFSTATUS,RP1;BSFSTATUS,RP0;恢复体0BCFOPTION_REG,7;上升沿触发有效MOVLW0FH;MOVWFTRISD;MOV... KEYSCAN
BCF STATUS,RP1;
BSF STATUS,RP0; 恢复体0
BCF OPTION_REG,7; 上升沿触发有效
MOVLW 0FH;
MOVWF TRISD;
MOVLW 0FFH;
MOVWF TRISB;
BCF STATUS,RP0;
MOVLW 00H;
MOVWF PORTD;
NOP;
NOP;
MOVF PORTB,0;
ANDLW 0FH;
MOVWF VALUE;
XORLW 0FH;
BTFSC STATUS,Z;
GOTO NOKEY;
BSF STATUS,RP0;
MOVLW 0F0H;
MOVWF TRISD;
MOVLW 0F0H;
MOVWF TRISB;
BCF STATUS,RP0;
MOVF VALUE,0;
MOVWF PORTB;

NOP;
NOP;
MOVF PORTD,0;
ANDLW 0F0H;
IORWF VALUE,1;
RETURN;
NOKEY
MOVLW 0FFH;
MOVWF VALUE;
RETURN;

TRANSLATE
MOVLW 40H
MOVWF FSR
LOOPT1
MOVF 0,0
XORWF VALUE,0
BTFSC STATUS,Z
GOTO LOOPT2
INCF FSR,1
BTFSS FSR,4
GOTO LOOPT1
MOVLW 0AAH
MOVWF FSR
RETURN
LOOPT2
BCF FSR,6
RETURN
展开
 我来答
Nigel_BD
2013-07-09 · 超过23用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:44.8万
展开全部
KEYSCAN ;按键扫描例程

BCF STATUS,RP1;
BSF STATUS,RP0; ;bank切换
BCF OPTION_REG,7; ;上升沿触发有效
MOVLW 0FH; ;D端口方向置位
MOVWF TRISD; ;
MOVLW 0FFH;
MOVWF TRISB; ;B端口方向置位
BCF STATUS,RP0; ;bank切换
MOVLW 00H;
MOVWF PORTD; ;端口清零初始化
NOP;
NOP;
MOVF PORTB,0; ;端口判断操作,放W寄存器,一般不这么写0
ANDLW 0FH; ;与操作
MOVWF VALUE;
XORLW 0FH;
BTFSC STATUS,Z;
GOTO NOKEY; ;就是看了下有没有按到,没有按到直接跳转
BSF STATUS,RP0;
MOVLW 0F0H; ;更换了I/O的输出输入状态
MOVWF TRISD;
MOVLW 0F0H;
MOVWF TRISB; ;更换了I/O的输出输入状态
BCF STATUS,RP0;
MOVF VALUE,0;
MOVWF PORTB;

NOP;
NOP;
MOVF PORTD,0;
ANDLW 0F0H;
IORWF VALUE,1;
RETURN;
NOKEY
MOVLW 0FFH;
MOVWF VALUE;
RETURN;

TRANSLATE ;按键的读取
MOVLW 40H ;40地址的间接寻址
MOVWF FSR
LOOPT1
MOVF 0,0 ;这么写很奇葩
XORWF VALUE, 0 ;寻址完后和VALUE值异或
BTFSC STATUS,Z ;判0,就是判断值是否等
GOTO LOOPT2
INCF FSR,1
BTFSS FSR,4
GOTO LOOPT1
MOVLW 0AAH
MOVWF FSR
RETURN
LOOPT2
BCF FSR,6
RETURNl
;这程序得有图纸才行,简单注释也没有什么意义。。。
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式