添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符P型号页 > 首字符P的型号第26页 > PIC18F4439
PIC18XXX工具快速图表
MPLAB
C18编译器软件安装
要安装MPLAB C18编译器,运行安装程序
从CD- ROM中。一系列对话框将通过加强
安装过程。当在第一次安装MPLAB C18
时间,默认安装目录为
C: \\ MCC18 。
文字说明
助记符
ADDLW KK
ANDLW KK
CLRWDT
描述
添加文字到WREG
和文字与
WREG
功能
W + KK
W
W
.AND 。
kk
W
环境变量
使用这些设置既可以通过
AUTOEXEC.BAT
网络文件
或者你的DOS属性,以便使用MPLAB C18时,
在命令行中,路径的可执行文件和
头文件不会被指定。
PATH = C : \\ MCC18 \\ BIN ; <additional
其他apps>路径
允许MPLAB C18和MPLINK 链接器是
在命令shell提示符下从任何目录执行。
PATH = C : \\ MCC18 \\ MPASM ; C: \\ MCC18 \\ BIN ; C: \\ PROGRAM
文件\\ MPLAB IDE \\ MCHIP_Tools文件;% PATH%
允许MPASM 汇编器在执行
命令shell提示符下从任何目录。
SET MCC_INCLUDE = C : \\ MCC18 \\ ^ h
指定包含文件的默认搜索路径。
清除看门狗定时器0
WDT , 0
WDT
分频器,
1
TO,1
PD
十进制调整WREG如果W<3 : 0> >9或DC = 1 ,
W<3 : 0> + 6 → W<3 : 0> ,
否则W<3 : 0>
W<3 : 0> ;
如果W<7 : 4> >9或C = 1 ,
W<7 : 4> + 6 → W<7 : 4> ,
否则W<7 : 4>
W<7 : 4>
kk
R, KC
包容或文字
与WREG
加载12位的立即数到
FSR (第二个字)
设置BSR银行
将立即为WREG
W
.OR 。
kk
W
kc
FSRR
kb
BSR
kk
W
DAW
IORLW
LFSR
MOVLB KB
MOVLW KK
MULLW KK
SUBLW KK
XORLW KK
乘点燃WREG W * KK
PRODH : PRODL
从字面KK -W减W
W
不含或点亮与WREG W
.XOR 。
kk
W
帮助资源
请参阅MPLAB IDE帮助的故障排除部分
和Microchip网站(www.microchip.com )为:
在线支持
最新开发工具的下载和更新,数据
手册,应用笔记,用户指南,文章和
示例程序
网络会议,设计技巧,器件勘误表
Microchip的变更通知系统
开发系统信息热线和技术
技术支持:
拨打1-800-755-2345美国和加拿大大部分地区
1-480-792-7302世界其他地区。
核心内存的说明
助记符
TBLRD *
TBLRD * +
描述
功能
读表
程序存储
(不改变TBLPTR ) ( TBLPTR )
TABLAT
读表
(后增
TBLPTR )
读表
(后递减
TBLPTR )
读表
(预增
TBLPTR )
程序存储
( TBLPTR )
TABLAT
TBLPTR +1
TBLPTR
程序存储
( TBLPTR )
TABLAT
TBLPTR -1
TBLPTR
TBLPTR +1
TBLPTR
程序存储区( TBLPTR )
TABLAT
TBLRD * -
TBLRD + *
TBLWT *
TBLWT * +
关键PIC18XXX指令集
男, FS , FD
r
b
a
d
KB , KK , KC
nn
nd
mm
表写
TABLAT
PROG
(不改变TBLPTR )存储区(TBLPTR )
表写
(后增
TBLPTR )
表写
(后递减
TBLPTR )
表写
(预增
TBLPTR )
TABLAT
PROG
存储区(TBLPTR )
TBLPTR +1
TBLPTR
TABLAT
PROG
存储区(TBLPTR )
TBLPTR -1
TBLPTR
TBLPTR +1
TBLPTR
TABLAT
PROG
存储区(TBLPTR )
描述
8位文件寄存器地址
0 , 1或2 FSR0 , FSR1 , FSR2寄存器
3比特的值表示比特位置0-7
访问位, 0 =访问寄存器, 1 =使用BSR
目标位, 0 = WREG , 1 = F
4,8和12位立即值,分别为
8位的相对偏移(符号,2的补码)
11位的相对偏移(符号,2的补码)
20位程序存储器地址
TBLWT + *
TBLWT * -
控制指令
助记符
BC
BN
BNC
BNN
bnov
BNZ
BOV
BRA
BZ
通话
nn
nn
nn
nn
nn
nn
nn
nd
nn
毫米,S
文件寄存器指令
功能
如果C = 1 , PC + 2 + 2 *ン→个人电脑
如果N = 1, PC + 2 + 2 *ン→个人电脑
ANDWF
如果C = 0时, PC + 2 + 2 *ン→个人电脑
如果N = 0时, PC + 2 + 2 *ン→个人电脑
如果OV = 0时, PC + 2 + 2 *ン→个人电脑
如果Z = 0时, PC + 2 + 2 *ン→个人电脑
如果OV = 1, PC + 2 + 2 *ン→个人电脑
PC+2+2*nd→PC
DECF
如果Z = 1 , PC + 2 + 2 *ン→个人电脑
PC+4
TOS ,
mm
PC<20 : 1> ,
如果s = 1 ,
W
WS ,
状态
STATUSS ,
BSR
BSRS
mm
PC<20 : 1>
无操作
TOS-1
TOS
PC +2
TOS
PC+2
TOS ,
PC+2+2*nd→PC
同为MCLR复位
F,D ,一
DECFSZ F,D ,一
DCFSNZ F,D ,一
INCF
INCFSZ
INFSNZ
IORWF
MOVF
MOVFF
F,D ,一
F,D ,一
F,D ,一
F,D ,一
F,D ,一
FS , FD
CPFSGT
F,A
CLRF
COMF
F,D ,一
F,A
F,D ,一
描述
相对的,如果分公司
携带
相对的,如果分公司
相对的,如果分公司
不携带
相对的,如果分公司
不是消极的
相对的,如果分公司
不溢流
相对的,如果分公司
不为零
相对的,如果分公司
溢流
无条件的
相对分支
相对的,如果分公司
绝对
子程序调用
(第二个字)
助记符
ADDWF
F,D ,一
ADDWFC F,D ,一
描述
ADD WREG到f
ADD WREG和
进位到f
f清零
补码f
比较的F,
WREG ,
如果跳过F = WREG
比较的F,
WREG ,
跳过当f > WREG
比较的F,
WREG ,
跳过当f < WREG
减1 f
递减楼
如果跳过0
递减楼
跳过如果不为0
f增
f递增,
如果跳过0
f递增,
跳过如果不为0
包容性的或
WREG和f
将f
移动FS
(第一个字) ,以
FD (第二个字)
移动WREG到f
乘WREG
和f
否定F
旋转F左
通过进
旋转F左
(不进位)
旋转F权
通过进
旋转F权
(不进位)
集合F
从减F
与WREG
减去WREG
从步骤f
减去WREG
从f控制
0xFF
f
功能
W + F
DEST
W + F +
DEST
WREG和; F W
.AND 。
f
DEST
0
f
~f
DEST
的f- W,如果F = W, PC + 4
PC
其他PC + 2
PC
的f- W,当f >瓦, PC + 4
PC
其他PC + 2
PC
的f- W,当f <瓦, PC + 4
PC
其他PC + 2
PC
f–1
DEST
f–1
DEST ,如果dest = 0 ,
PC+4
其他PC PC + 2
PC
f–1
DEST ,如果dest
0,
PC+4
其他PC PC + 2
PC
f+1
DEST
f+1
DEST ,如果dest = 0 ,
PC+4
其他PC PC + 2
PC
f+1
DEST ,如果dest
0,
PC+4
其他PC PC + 2
PC
W
.OR 。
f
DEST
f
DEST
fs
fd
W
f
W * F
PRODH : PRODL
~f + 1
f
C
寄存器F
7......0
寄存器F
7......0
寄存器F
7......0
寄存器F
7......0
CPFSEQ F,A
CPFSLT
F,A
GOTO
NOP
POP
RCALL
RESET
mm
绝对分公司
(第二个字)
无操作
弹出顶部/堆栈
按上/堆栈
nd
相对的
子程序调用
产生复位
(同MCLR
复位)
MOVWF
MULWF
F,A
F,A
F,A
F,D ,一
F,D ,一
F,D ,一
RETFIE
s
从回归
中断(
使能中断)
TOS
PC , 1
GIE / GIEH
或PEIE / GIEL ,
如果s = 1 ,Web服务
W,
STATUSS
状态,
BSRS
BSR
TOS
PC , KK
W
TOS
PC ,
如果s = 1 ,
WS
W,
STATUSS
状态,
BSRS
BSR
0
WDT , 0
WDT后分频器,
1
TO , 0
PD
NEGF
RLCF
RLNCF
RRCF
RETLW
kk
从回归
子程序,商店
直译为W
从回归
子程序
回报
s
C
RRNCF
SETF
F,D ,一
F,A
睡觉
进入睡眠模式
SUBFWB F,D ,一
W - F -
DEST
的F - W
DEST
的F - W - C
DEST
位指令
助记符
BCF
BSF
BTFSC
BTFSS
BTG
F,B ,一
F,B ,一
F,B ,一
F,B ,一
F,B ,一
SUBWF
F,D ,一
描述
位清零f
位集合F
位测试f ,则跳过
位测试f ,则跳过设置
位切换F
功能
0
f<b>
1
f<b>
如果f<b> = 0时, PC + 4 →个人电脑
如果f<b> = 1, PC + 4 →个人电脑
f<b>
f<b>
SUBWFB F,D ,一
SWAPF
TSTFSZ
XORWF
F,D ,一
F,A
F,D ,一
F f<3的交换nibbbles : 0>
dest<7 : 4> ,
f<7 : 4>
dest<3 : 0>
测试f ,则跳过0
异或
WREG和f
当f = 0时, PC + 4
PC
其他PC + 2
PC
W
.XOR 。
f
DEST
两个字说明
该PIC18XXX指令集主要包括单
字(2个字节)和几个双字( 4字节)的
指令。每两个单词的第二个字
指令总是有0xFn为第一字节的值。
这样的指令总是作为NOP执行。这允许
“跳过”指令,如
BTFSC
前的任何使用
两道指令。如果跳过取,它将跳过
的双字指令的第一个字的第二个字,
执行NOP ,继续执行下一条指令。
MPLAB C18浮点格式
在MPLAB C18格式浮点数是
在IEEE 754格式的改进形式。区别
在MPLAB C18格式和IEEE 754之间
格式由最高九位的一个旋转
表示。阿左旋转将从IEEE 754转换
格式为MPLAB C18格式。一个向右旋转将转换
从MPLAB C18格式的IEEE 754格式。
浮点
标准
IEEE 754
快速中断和FAST的CALL
在第8位
通话
指令确定是否
WREG ,
状态
BSR
寄存器将被自动保存在
硬件堆栈(快= 1 ) 。使用:
打电话mysub , FAST
然后使用:
返回FAST
让CPU自动保存和恢复
WREG ,
状态
BSR 。
比特1中的
回报
指令设定为
一个用于
的回报。请注意,这个特殊的堆栈只有
一个层次深,
FAST的CALL
中断
不能嵌套。如果
使用中断,
电话
必须避免。
BYTE 3
BYTE 0
1个字节
2字节
seeeeeee
1
e
0
ddd dddd
16
dddd dddd
8
dddd dddd
0
dddd dddd
8
dddd dddd
0
MPLAB C18 eeeeeeee
0
sddd DDDD
16
图例:
S =符号位, D =尾数, E =指数
公共变量修饰符
修改
CONST
FAR
EXTERN
内存
利用
变量将不被修改
变量分页/存入银行而不管
所选的内存模式
变量被分配在另一个模块
变量不分页/存入银行而不管
所选的内存模式
定位数据存储对象
找到目标程序存储器
变量保持不变之间
定义块的执行。
变量可能会改变其他来源
(例如,输入端口)
MPLAB C18的数据类型
TYPE
空间
CHAR
无符号字符型
INT
无符号整型
无符号短
短长
无符号短
无符号长
FL燕麦
位宽
8
8
16
16
16
16
24
24
32
32
32
32
-128 127
0到255
-32,768到32,767
0到65,535
-32,768到32,767
0到65,535
-8,388,608到8,388,607
0 16,777,215
-2,147,483,648到
2,147,483,647
0 4,294,967,295
1.7549435E -38至
6.80564693E+38
1.7549435E -38至
6.80564693E+38
范围
只读存储器
STATIC
挥发物
数据存储格式
端是指字节在一个多字节值的顺序。
MPLAB C18将数据存储在小端格式。字节
低地址具有较低的重要性(该值是
存储“小端为先” ) 。例如:
的#pragma IDATA测试= 0x0200
长ltemp = 0xAABBCCDD ;
结果是一存储器的结构,如下所示:
ltemp地址
ltemp内容
0x0200
0xDD
0x0201
0xCC
0x0202
0xBB
0x0203
0xAA
注意:
一个普通的
CHAR
默认情况下签署的。
一个普通的
CHAR
可以在默认情况下通过是无符号
-k命令行选项。
指针尺寸
指针类型
数据存储器
近PGM内存
据PGM内存
例子
字符* DMP ;
附近的char * NPMP ;
ROM附近的char * NPMP ;
ROM远的char * FPMP ;
SIZE
16位
16位
24位
指令宏
提供了用于有效地使用一些这些宏
PIC18XXX说明,直接从C代码:
指令
1
NOP ( )
CLRWDT ( )
睡眠( )
重设( )
Rlcf ( VAR ,
DEST ,访问)
2,3
宏操作
执行无
操作。
清除看门狗
定时器。
执行
睡觉
指令。
执行器
复位。
旋转
变种
向左
通过进位。
在中断编译器管理的资源
MPLAB C18会自动保存时,一些寄存器
一个中断发生。为了确保其他
寄存器保存和恢复正常使用
保存=
建设中的
的#pragma中断
宣言。
反编译
管理
资源
PC
WREG
状态
BSR
PROD
主要用途(S )
AUTO
保存
x
x
x
x
Rlncf ( VAR ,
DEST ,访问)
2,3
旋转
变种
向左
在不影响
进位。
RRCF ( VAR ,
DEST ,访问)
2,3
旋转
变种
向右
通过进位。
Rrncf ( VAR ,
DEST ,访问)
2,3
旋转
变种
向右
在不影响
进位。
SWAPF ( VAR ,
DEST ,访问)
2,3
交换的上部和
的低四位
变种。
注1 :
在一个函数中使用这些宏的影响
MPLAB C18编译器的执行能力
优化在该功能。
2:
变种
必须是8位的值(即,字符),而不是
位于堆栈上。
3:
If
DEST
为0 ,结果存放在WREG ,如果
DEST
是1 ,则结果被存储在
变种。
If
ACCESS
is
0 ,接入区域将被选中,覆盖
BSR值。如果
ACCESS
是1,则该银行将
根据BSR的值选择。
执行控制
中间计算
计算结果
银行的选择
相乘的结果,
返回值,中间
计算
section.tmpdata
中间计算
FSR0
指针到RAM
FSR1
堆栈指针
FSR2
帧指针
TBLPTR
在获取价值
程序存储器
TABLAT
在获取价值
程序存储器
PCLATH
函数指针调用
PCLATU
函数指针调用
部分
参数,返回值
MATH_DATA
并临时地点
数学库函数
x
x
x
注意:
非ISR的函数编译器临时变量
被放置在限定的接入
UDATA
部分
命名
.tmpdata 。
每一个中断服务例程
创建临时数据存储的单独一节,
所以,节.tmpdata不需要,如果要保存
ISR不作任何函数调用。
MPLAB C18中断
要创建一个中断服务程序不需要额外的库
是必需的。请按照下列步骤操作:
创建
CODE
在中断向量节
包含
转到ISR
声明中,无论是使用内联
装配或一个单独的程序文件。
使用声明在源代码中的中断例程
下面的语句之一:
高优先级中断 -
W, BSR
状态
被保存在
影子寄存器。
的#pragma中断<isr> [保存=符号列表]
低优先级中断 -
W, BSR
状态
保存在
软件堆栈。
#pragma interruptlow伪<isr> [保存=符号列表]
如果你的ISR调用非ISR功能,临时数据
部分必须被保存。使用一节这可以
预选赛上
保存=
关键字。
#pragma interruptlow伪<isr>
|保存=节( ".tmpdata" |
18F452i链接描述
连接器脚本告诉MPLINK这是内存领域
可用于数据和程序代码。下面是一个链接脚本
对于调试与MPLAB ICD 2 PIC18F452的应用程序。
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
NAME =载体
NAME =页
NAME =调试
NAME = idlocs
NAME =配置
NAME = DEVID
NAME = EEDATA
START=0x0
START=0x2A
START=0x7DC0
START=0x200000
START=0x300000
START=0x3FFFFE
START=0xF00000
END=0x29
END=0x7DBF
END=0x7FFF
END=0x200007
END=0x30000D
END=0x3FFFFF
END=0xF000FF
保护
保护
保护
保护
保护
保护
ACCESSBANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
ACCESSBANK
部分
NAME = accessram
NAME=gpr0
NAME=gpr1
NAME=gpr2
NAME=gpr3
NAME=gpr4
NAME=gpr5
NAME = dbgspr
NAME = accesssfr
NAME =配置
START=0x0
START=0x80
START=0x100
START=0x200
START=0x300
START=0x400
START=0x500
START=0x5F4
START=0xF80
ROM =配置
END=0x7F
END=0xFF
END=0x1FF
END=0x2FF
END=0x3FF
END=0x4FF
END=0x5F3
END = 0x5FF受保护
END = 0xFFF的受保护
此链接器脚本是为MPLAB ICD 2使用,因此该地区
在程序存储器中分配给
CODEPAGE
区域
DEBUG
在RAM中的区域所指出的
DATABANK
区域
dbgspr
标记
受保护的。
定位码
#pragma code伪
指令,所有生成的代码
将被分配到指定的代码段,直到另
#pragma code伪
指令为止。绝对
代码部分允许的代码位置的一个特定的
地址。例如:
#pragma code伪my_code =为0x2000
将找到的代码段
my_code
在程序存储器
地址0x2000 。如果地址为空,连接器将
从代码可用空间免费模块选择。
CON组fi guration位
的#pragma romdata伪CONFIG
指令用于设置
当前romdata段的段命名
CONFIG 。
可以使用被指定为设备的配置
_CONFIG_DECL
宏和
#定义
位于
处理器的头文件。
#包括<p18c452.h>
的#pragma romdata伪CONFIG
_CONFIG_DECL
(_CP_ON_1L,
_OSCS_ON_1H & _OSC_LP_1H ,
_PWRT_ON_2L & _BOR_OFF_2L &
_BORV_42_2L,
分别为_WDT_OFF_2H & _WDTPS_1_2H ,
_CCP2MUX_OFF_3H,
_CONFIG4L_DEFAULT);
的#pragma romdata伪
无效的主要(无效)
{
...
}
定位数据
数据可以被放置在任何数据或程序存储器与
MPLAB C18编译器。要查找的数据在内存中,它可以
要么是未初始化的数据( UDATA ) ,初始化数据
( IDATA ) 。当使用intialized数据,所有的数据被存储
在程序存储器中,然后转移到RAM前
在应用功能
被执行(这做起来难
在目标文件中
c018i.o).
下面宣布一个
为静态分配的未初始化数据( UDATA )在
绝对地址0x120 :
的#pragma UDATA my_new_data_section = 0x120的
数据被放置在片内程序存储器可
读但不能写没有额外的用户提供的代码。
只读存储器
关键字告知的数据应该是编译器
放置在程序存储器中。编译器会分配此
数据到当前
ROMDATA
类型一节。例如:
的#pragma romdata伪const_table
常数ROM的字符my_const_array [10] =
{0,1,2,3,4,5,6,7,8,9};
/ *恢复的romdata分配
进入默认的部分* /
的#pragma romdata伪
返回值
有返回值的函数将在不同的回报他们
根据该返回值的大小寄存器
:
回报
值大小
8位
16位
24位
32位
> 32位
WREG
PRODH : PRODL
( AARGB2 + 2) :( AARGB2 + 1): AARGB2
( AARGB3 + 3) :( AARGB3 + 2) :( AARGB3 + 1):
ARGB3
上堆叠,
FSR0
指向的返回值
返回值位置
MPLAB C18直列大会
MPLAB C18有一个内部汇编了语法
类似MPASM汇编器,除了评论
必须是在C ( / *
*/)
或C ++ ( // )风格。的块
汇编代码必须以
_asm
并与结束
_endasm 。
例如:
_asm
/ *用户汇编代码* /
MOVLW 10
//将十进制数10计
MOVWF算, 0
/ *循环直到计数为0 * /
START :
DECFSZ数, 1 , 0
GOTO完成
BRA开始
完成:
_endasm
需要注意的是,带有线上装配,访问位和
目标位必须为每个被明确进入
指令。
PIC18XXX库文件
网络文件
clib.lib
c018i.o
c018iz.o
c018.o
利用
标准C程序,数学例程。
启动代码初始化的数据支持。
用初始化数据支持的启动代码
这将清除未使用的内存。
启动代码没有初始化的数据支持。
p18xxxx.lib
外设库例程和SFR
德网络nitions 。
xxxx
=处理器类型(例如, C452为PIC18C452 )
查看更多PIC18F4439PDF信息
推荐型号
供货商
型号
厂家
批号
数量
封装
单价/备注
操作
    QQ: 点击这里给我发消息 QQ:2880707522 复制 点击这里给我发消息 QQ:2369405325 复制

    电话:0755-82780082
    联系人:杨小姐
    地址:深圳市福田区振兴路156号上步工业区405栋3层

    PIC18F4439
    -
    -
    -
    -
    终端采购配单精选

QQ: 点击这里给我发消息 QQ:5645336 复制
电话:13910052844(微信同步)
联系人:刘先生
地址:北京市海淀区增光路27号院增光佳苑2号楼1单元1102室
PIC18F4439
√ 欧美㊣品
▲10/11+
7909
贴◆插
【dz37.com】实时报价有图&PDF
QQ: 点击这里给我发消息 QQ:5645336 复制
电话:13910052844(微信同步)
联系人:刘先生
地址:北京市海淀区增光路27号2-1-1102
PIC18F4439
√ 欧美㊣品
▲10/11+
8367
贴◆插
【dz37.com】实时报价有图&PDF
查询更多PIC18F4439供应信息

深圳市碧威特网络技术有限公司
 复制成功!