pic关于头文件的进一步理解(基于PIC单片机 C18编译器)

本文介绍了基于PIC单片机C18编译器,如何理解和使用处理器的寄存器定义文件及针对处理器的头文件。寄存器定义文件用于定义器件上的特殊功能寄存器,而头文件则包含这些寄存器的外部声明,如PORTA的声明使用了extern和volatile关键字,并通过匿名结构的联合来处理可位寻址的特性。
摘要由CSDN通过智能技术生成

本文来源其他网站。^_^ 

一:关于处理器的寄存器定义

针对处理器的寄存器定义文件是一个汇编文件,包含特定器件上所有特殊功能寄存器的定义。编译时,针对处理器的寄存器定义文件将被编译成需要链接到应用程序的目标文件 。

例如,在 PIC18C452 针对处理器的寄存器定义文件中, PORTA 定义为:

SFR_UNBANKED0 UDATA_ACS H'f80'

PORTA

PORTAbits RES 1 ; 0xf80

第一行指定 PORTA 所在的数据寄存器存储区和这个存储区的起始地址。 PORTA 有两个标号, PORTAbits 和 PORTA,都指向同一个地址 (本例中是 0xf80)。

二:关于 声明

针对处理器的头文件是包含特殊功能寄存器外部声明的 C 文件,特殊功能寄存器在寄存器定义文件中定义。

例如,在PIC18C452 的针对处理器头文件中, PORTA 声明为:

extern volatile near unsigned char PORTA;

和:

extern volatile near union {

struct {

unsigned RA0:1;

unsigned RA1:1;

unsigned RA2:1;

unsigned RA3:1;

unsigned RA4:1;

unsigned RA5:1;

unsigned RA6:1;

} ;

struct {

unsigned AN0:1;

unsigned AN1:1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值