MSP430单片机C语言编程与实践(入门篇)之五----C语言简介(2)

本文介绍了MSP430单片机中通过C语言操作寄存器的方法,强调了寄存器在配置单片机模块中的重要性,并详细阐述了函数的定义与调用。通过实例展示了如何定义和使用内部函数,以及C程序的基本框架,包括头文件、宏定义、变量定义、函数定义和主函数。
摘要由CSDN通过智能技术生成

5.1对寄存器的操作

       MSP430单片机内部有许多模块,对这些模块的设置和操作全部通过相关的寄存器进行,或者说,寄存器是我们跟单片机进行交流和对话的窗口。在单片机中,相关的寄存器数以百计,每个寄存器一般有8位或16位,因此有数以千计的控制位。通过这些寄存器可以配置各个模块的工作方式、状态等。在物理空间上,寄存器是位于RAM低端的一些存储单元,而且在MSP430的头文件中进行了相关的定义,寄存器中的位也在头文件中有相应的定义。编写程序时,只要在程序的开头包含相应的头文件,就可以像操作变量一样操作这些寄存器和寄存器中的位。

       例如,对MSP430单片机I/O口中P1口的简单操作会涉及方向寄存器P1DIR、输出寄存器P1OUT等,而以下设置即为寄存器操作:

       P1DIR|=BIT0;    //将P1.0设为输出方向

       P1OUT|=BIT0;    //让P1.0输出高电平

       对寄存器操作时,需要知道寄存器中每个位或组合位(2位、3位、4位或5位的组合)的控制作用,这样才能正确地设置相关的寄存器,通过对多个寄存器的设置,最后实现对某个模块的配置。寄存器中的位或组合位在头文件中也有快捷宏定义,可以通过查看头文件或单片机的用户指南,来了解这些位的宏定义。

       例如,对看门狗定时器的一条设置语句为:

       WDTCTL=WDT_MDLY_8; //在1MHz时钟下,看门狗定时器,8mS定时间隔

       在CCS中查看msp430g2553.h头文件可知,WDT_MDLY_8已被宏定义为:

       #define WDT_MDLY_8    (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0)

       其中WDTPWWDTTMSELWDTCNTCLWDTIS0也有各自的宏定义,因此上述语句中对WDT_MDLY_8的使用变得非常容易和高效。

       对单片机的编程,很多时候就是在对各种各样的寄存器及寄存器中的位进行设置和操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The East Sea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值