问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有几行PIC单片机的c语言程序代码看不懂,请教一下。

发布网友 发布时间:2022-04-22 04:50

我来回答

1个回答

热心网友 时间:2023-10-21 08:33

INDF 和 FSR两个寄存器构成了一个间接寻址的作用。
FSR有点像C语言中的指针,INDF是一个虚拟的寄存器,对它操作其实是对FSR锁指向的内存单元操作。
简单的说,当20h这个数赋给了FSR,那么就是FSR作为指针指向了内存中地址为20h的这个单元(以下就用<20h>来表示这个单元,以区别十六进制的20h这个数值),此时INDF就被映射到<20h>。
从头说起:
1:W被赋值20h这个数;2:FSR被赋值和W寄存器相同的数20H,此时FSR指向了<20h>;3:此时W寄存器因为没被改变过,所以其数值依然是十六进制的20h那么MOVWF 20H其实就是把W里的数据赋值给<20h>这个内存单元 也就是 <20h> = 20H ;
4:重点来了 INCF INDF,让INDF自加1。前面说了对INDF操作其实就是对FSR所指向的单元操作,也就等同于 INCF <20h>(真正程序里不能这么写的,因为<20h>这杨写法是错误的) 类似C与语言中的<20h>++
5:FSR自加1,FSR内部的值等于21h所以FSR指向了<21h>这个内存单元。
6:<20h>单元的数值高4位和低4位转换一下数据。所以 <20h> = 02h
7:把<20h>的内容赋值给W寄存器,所以w = 02h
8:FSR此时 等于21h ,把21h和W的02h做与运算,结构 0 赋值给FSR。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我用无线数传模块PTR6000做实验 接收不到数据包 很急啊 祈求高人指导帮 ... Lora无线传输协议技术浅析 南昌定购433M无线通讯模块 福州433m无线模块订购 联想电脑系统重装后怎么连网线电脑做完系统怎么网络连接 电脑重装了系统还是连接不到wifi为什么电脑重装系统后不能连接wifi 笔记本电脑新装系统后连不上wifi为什么电脑重装系统后不能连接wifi 笔记本电脑装系统后无法连接wifi为什么笔记本电脑wifi连接不上 电脑重装系统后搜不到无线网了为什么笔记本电脑重装了系统之后就连不... 求问~怎样区分2018款君越是不是库存车? 大学本科的毕业论文有什么写作技巧吗? 如何写好大学毕业论文? 关于PIC单片机C语言编程 MPLAB和PICC的问题 健康管理师的好就业嘛? PIC单片机c语言中如何嵌套汇编 医保有哪些类型? 健康管理师就业前景怎么样,今后会有发展吗? PIC单片机串口C程序 c语言 PIC单片机 考健康管理师好就业吗? 单片机PIC16F886可以用C语言编程吗 PIC单片机中用C语言编程时 ADCON1 是什么意思怎么用! 健康管理师证书好就业吗?健康管理师证的用途 PIC单片机C语言编程,二进制如何转换成十六进制。 健康管理师的就业前景怎么样? PIC单片机C语言编程,端口设置问题,if语句条件设... 一般8位PIC单片机使用C语言还是汇编语言编程,好像... PIC单片机C语言编程问题 PIC单片机C语言编程的高手来帮帮忙啊! 健康管理师就业方向有哪些地方? 医疗保险都有哪些种类 大学毕业论文怎么写 单片机 pic c语言 pic单片机编程,c语言。在头文件里有些语句不明白... 怎么写大学毕业论文 PIC单片机C语言编程,数组问题 大学毕业论文怎么写?大概有什么样的步骤 目前我们国家医疗保险制度有哪几种形式 医保都有什么类型的?哪种类型的最为有用? 大学毕业论文怎么写的啊? 医疗保险分为几种类型 面临毕业,大学毕业论文怎么写? 本科毕业论文怎么写? 大学的时候写毕业论文,应该怎么写? 基本医疗保险有几种形式 本科生:怎么才能写好毕业论文? 大学的时候写毕业论文,应该注意些什么? 怎样写一篇高质量的本科毕业论文 写毕业论文的步骤,越详细越好。。。 看了这么久,c语言指针到底是干什么用的?