单片机编程实验一GPIO1.0

单片机编程 汇编中 十进制 后面加D ,十六进制后边加H, 二进制后面加B。 比如 10进制 35D, 16进制 23H, 二进制 0010 0011B.
c语言中 十进制 不加前缀, 十六进制前边加 0x , 8进制前边加0 , 二进制不能直接表示(比较麻烦), 如 10进制 15 , 16进制 0x25 , 8进制 025
volatile unsigned int i;
unsigned int是类型 :无符bai号整形数
volatile 是关键字 :确保这个变du量不会被编译器优化.一般zhi来说如果你定义个变量,而后面又不用它做其他事的话,编译器会认为这个是多余的,然后把它优化掉,就相当于没写过一样,加了volatile编译器就不会优化它了。更具体去看百科
综合起来就是:定义一个不会被编译器优化的无符号整形数 i;
msp430的程序中P1DIR |= BIT7,是什么意思?BIT7代表什么?
BIT0、BIT1、、、BIT6、BIT7是一个宏定义,原本的意思是0x0001、0x0002、、0x0040、0x0080。#define BIT0 (0x0001)#define BIT1 (0x0002)…#define BITE (0x4000)#define BITF (0x8000)宏定义在头文件io430x14x.h中(针对msp430f149)因为msp430的IO口是8位一组的,所以在IO口操作时习惯上认为BIT0就是0x01,BIT7就是0X80,其他类似。比如语句P1DIR|=BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6等价于P1DIR=P1DIR|0x7F 其中0x7F=0x01+0x02+0x04++0x08+0x10+0x20+0x40把P1口的0,1,2,3,4,5,6设置为输出模式
如何对msp430的某一位取反 p1.0口翻转其他位不变
好好看一下 & | ~运算:
A &= B;
A |= B;
A &= ~B;
A |= ~B;
记住下面的:置1或等于(例如P1OUT|=BIT4就是把P1.4置1,其他位不变) 清0与等于非(例如P1OUT&=~BIT4就是把P1.4清0,其他位不变) 取反异或等于(例如P1OUT^=BIT4就是把P1.4取反,其他位不变)
如果要保持其他位不变的话:
用取反对P1.0翻转
if(P1UOT&BIT1)
P1OUT&=~BIT;
else
P1OUT|=BIT1;
用异或对P1.0翻转 P1OUT ^= BIT0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值