PIC 专用绝对地址定义参考
在微控制器编程中,特别是在使用PIC系列单片机时,绝对地址定义是非常关键的一部分,因为这些地址直接影响到硬件寄存器的访问。标题和描述提到的"PIC 专用绝对地址定义参考"是关于如何在C语言环境下为PIC16X单片机定义并访问特定的硬件寄存器地址。 `INOSCR`是一个静态的、易变的、bank1类型的无符号字符变量,它的地址被定义为0x90。这个变量对应于一个特定的寄存器,即INOSCR(可能表示输入输出系统控制寄存器)。接下来的代码定义了该寄存器中的各个位,如`OSCIN`、`OSC2O`、`OSC2E`和`ECKIN`,它们分别代表振荡器输入、振荡器2的输出、振荡器2的使能和外部时钟输入等控制位。这些位的定义是通过将`INOSCR`的地址乘以8再加上位偏移量来完成的,这在C语言中是访问位带操作的一种方式。 接着,我们看到一些未使用的位定义,如`REG`,它们可能被注释掉是因为在当前应用中不需要或者已经由其他名称代替。在实际应用中,每个`bit`变量代表寄存器中的一位,可以单独设置或读取。 然后,代码中定义了一些类型别名,例如`unsigned8`、`unsigned16`和`unsigned32`,它们分别代表无符号的8位、16位和32位整数,这是为了提高代码的可读性和兼容性。 接下来,`struct bit_t`和`Typ_IO`的定义提供了结构体来处理单个字节内的每一位。`bit_t`结构体包含了8个位成员,每个成员都对应一个位,从b0到b7。`Typ_IO`是一个联合体,它既可以以位结构体的形式访问(`sbit`),也可以以字节(`byte`)的形式访问,这使得对单个位或者整个字节的操作变得方便。 同样,`struct word_t`和`Typ_WordIO`用于处理16位数据。`word_t`结构体包含16个位成员,而`Typ_WordIO`则提供了一种访问方式,既可以按位访问(`sbit`),也可以按16位字访问(`word`)。 `Typ_LongIO`定义了一个联合体,用于处理32位长的数据,但是文件中似乎没有完整给出这部分内容。 这段代码展示了在PIC16X单片机的C语言编程中如何定义并访问硬件寄存器的绝对地址,以及如何利用结构体和联合体进行位操作和字节操作,这对于理解单片机的底层工作原理和编写低级驱动程序至关重要。
剩余18页未读,继续阅读
- lurenxiaoyu2018-09-11很不错,谢谢分享
- 粉丝: 1
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【企业文化分析模型-1】克拉克洪—斯托特柏克构架.docx
- 【企业文化分析模型-7】郑伯埙的VOCS量表.docx
- 【企业文化分析模型-3】弗恩斯·特朗皮纳斯的组织文化模型.docx
- 【企业文化分析模型-2】霍夫斯泰德的组织文化模型.docx
- 【范文】企业文化管理制度2.docx
- 【学习】如何创建学习型组织2.ppt
- 《华为的企业文化》-27页.ppt
- 【案例分析】惠普—康柏企业文化整合方案-29页 英文.ppt
- 【案例分析】沃尔玛的企业文化.ppt
- 【培训课件】华夏基石—企业文化落地与传播-68页.ppt
- 【培训课件】联想核心价值观培训(2006年)-75页.ppt
- 惠普-文化尽职调查研究-29页 英文版本.PPT
- 【培训课件】企業文化---培訓教材.ppt
- 前端技术实现圣诞树与飘雪花特效
- 【培训课件】中兴通讯-企业文化建设方案-42页.ppt
- 《白沙企业文化大纲》-21页.doc