【ACCESS精品源码栏目提醒】:网学会员--在 ACCESS精品源码编辑为广大网友搜集整理了:【精品】PICC18使用说明 - 其它资料绩等信息,祝愿广大网友取得需要的信息,参考学习。
PICC18 使用说明2007-5-18翻译人 :张元南指导校对 :翻译修改时间:2007-4-20地点 :中国福州重要说明 :仅就 PICC18V9.50PL3 安装目录下的使用手册的编程使用最紧密相关的部分做翻译。
本翻译纯粹为本人业余兴趣所致。
本人不承担因翻译错误、偏差带来的任何后果。
并且保留在不做通知的情况下升级本翻译文档的权利。
请查阅英文原始版本说明书,本文仅做入门参考。
另外,本文翻译的目的在于加深对 PICC18 的认识和理解,所以将大量采用意译而非逐字翻译。
故可能和英文原版有较大的篇幅差别。
版本说明 :增加了对指针的翻译,中断处理部分的翻译。
3.1.1 与 ANSI 标准 C 的区别受 PIC18 MCU 的硬件限制,PICC18 不支持函数的递归调用。
3.1.2同样的 C 代码可能在不同版本的编译器或者不同的编译器之间会编译成不同的汇编代码。
3.2.1 可以增加用户自定义的新的 PIC18 系列的 MCU。
编辑安装目录下的 pic-18.ini 文件,3.2.2 CONFIG 的操作PICC18 可以在源代码中配置 CONFIG,由于 PIC18 MCU 的 CONFIG 有多个字节,所以采用如下语法:__CONFIG2 BW8 amp PWRTDIS amp WDTPS1 amp WDTEN注意,前面是两个下划线,这是一个宏__CONFIG。
该宏的定义在系统文件 htc.h 中,根据 PICC18 编译器特性,如果再每个源文件中都使用了include ltpic18.hgt使用该宏则可不必再写include ltstc.hgt。
这个宏,必须在函数外使用。
3.2.3 ID 区定义和 CONFIG 区操作类似,采用如下语法:__IDLOC15F01注意,前面是两个下划线,这是一个宏__CONFIG。
该宏的定义在系统文件 htc.h 中,根据 PICC18 编译器特性,如果再每个源文件中都使用了include ltpic18.hgt使用该宏则可不必再写include ltstc.hgt。
这个宏,必须在函数外使用。
3.2.4.1 EE 区操作很多时候,需要在 MCU 运行前,事先在 EE 区烧入一定数据,MCU 上电后,则可从 EE 区读出相关数据,执行相应操作。
这个操作和上面的 CONFIG 操作类似,采用一个系统定义的宏,采用如下语法:__EEPROM_DATA0 1 2 3 4 5 6 7注意,前面是两个下划线,这是一个宏__CONFIG。
该宏的定义在系统文件 htc.h 中,根据 PICC18 编译器特性,如果再每个源文件中都使用了include ltpic18.hgt使用该宏则可不必再写include ltstc.hgt。
这个宏,必须在函数外使用。
使用这个宏,必须也只能一次性初使化 8 个字节。
而且第一次调用这个宏就是只能是在 0 地址开始初使化。
从 0 初使化到 7,要想再初使化 8 个字节,就再调用一次。
比如如下:__EEPROM_DATA0 1 2 3 4 5 6 7__EEPROM_DATA891011 12131415即使不想初使化前 8 个字节,只初使化第 10 个字节,也要采用上述的写法从 0 写到 15。
不过一般没有必要特意从某个地址开始初使化 EE 区。
建议我们不要去挑战编译器的组织方式,把有这样的系统调用宏全部放在主文件中,以便于修改。
如果是在 MCU 的运行过程中需要对 EE 区操作,则可以考虑在程序中使用自己编写读写 EE 区函数,或者采用系统定义的一个宏(不是系统函数)。
写 EE 区 address 字节一个 valus 值,如下:EEPROM_WRITEaddressvalue从 EE 区的 address 地址读回值,存入 variable 变量,如下:variableEEPROM_READaddress variable 为自定义的 unsigned char 变量。
这些宏为了保证操作,在过程中关断了总中断 GIE。
这可能会导致某些情况下一些实时控制系统崩溃——由于中断不能即时响应。
比如发电机控制。
PIC18 MCU 写EE 区一个字节一共需要 8MS,插除 4MS,写 4MS。
3.2.4.2 FLASH 操作用来在程序中写 COPY FLASH 区的一个块到另外一个块:flash_writesource_pointer length dest_pointer读 FLASH(程序)区的一个字节variableflash_readaddress3.2.5 外扩程序区操作用 PIC18 的 MCU,基本上无人使用它提供的这个功能。
本章节不翻译。
有兴趣请查阅英文原版。
如果一定要外扩,建议使用 51 或者增强型 51MCU。
3.2.6 位指令PICC18 会尽可能使用位指令来提高