最近刚学PIC单片机,有个程序看不懂,请高手帮下,越详细越好:

最近刚学PIC单片机,有个程序看不懂,请高手帮下,越详细越好:,第1张

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。

1:第一个问号:是; 第二个问号:不一定;

2:一些C30有多种类型版本,你说的30C和36可能不是指同一种类型。

3:没破解的编译器过期就不能编译程序了。想用就需要重装(貌似它会在系统内记录的,所以应该是重装 *** 作系统才行)。

4:肯定不可靠。我有过编译经历,破解的编译出来的在逻辑上就会有问题。但这不影响普通学生入门者做设计。如果你是做工业、航天领域设计的,你的领导也不会让你用破解版或者未注册版。所以现在很多单位宁愿用汇编来编译程序。

PICC有支持 PIC10/12/16/18/24/32系列单片机 的C编译器。同时也支持dsPIC30/33 系列DSC芯片的C编译器

在你的C文件里引用EEPROM函数的头文件,eeprom_routinesh

然后在程序中使用

voideeprom_write(unsignedcharaddr,unsignedcharvalue);

unsignedchareeprom_read(unsignedcharaddr);

这两个函数了。

这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,

就写:eeprom_write(0x55,0x10);

同理,如果想读取0x55地址处的值,

就写:ee_value=eeprom_read(0x55);

如果编译时编译器提示找不到eeprom_routinesh,可以在

X:\ProgramFiles\HI-TECHSoftware\PICC\981\include 目录下找,然后复制到自己项目文件夹下。

对了,我用的是MPLabIDE,编译器使用的是PICC。

pic线路优选的用法如下:

1、运行picpick程序,单击左上角的“文件”按钮。

2、在d出窗口的右侧列表单击一种截图类型。

3、在功能区中进行相关的设置。

4、接着再单击“文件”菜单,出来的列表将鼠标移动到“另存为”,点击一种格式。PicPick是一款截取全屏、活动窗口、指定区域、固定区域、手绘区域功能,支持滚动截屏,屏幕取色,支持双显示器,具备白板、屏幕标尺、直角坐标或极坐标显示与测量,具备强大的图像编辑和标注功能的软件。截图可以保存到剪贴板、自动或手动命名的文件(png/gif/jpg/bmp)。

在你的C文件里引用EEPROM函数的头文件,eeprom_routinesh

然后在程序中使用

void eeprom_write(unsigned char addr, unsigned char value);

unsigned char eeprom_read(unsigned char addr);

这两个函数了。

这两个函数一个读一个写。比如你想写0x10到地址为0x55的EEPROM,

就写:eeprom_write(0x55,0x10);

同理,如果想读取0x55地址处的值,

就写:ee_value = eeprom_read(0x55);

如果编译时编译器提示找不到eeprom_routinesh,可以在

X:\Program Files\HI-TECH Software\PICC\981\include  目录下找,然后复制到自己项目文件夹下。

对了,我用的是MPLab IDE,编译器使用的是PICC。

以上就是关于最近刚学PIC单片机,有个程序看不懂,请高手帮下,越详细越好:全部的内容,包括:最近刚学PIC单片机,有个程序看不懂,请高手帮下,越详细越好:、关于PIC单片机C语言编程、pic单片机EEPROM怎么编写程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10133701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存