430是我接触的第二块单片机,在此说说使用IO的感受,高手勿喷。
1, 首先是IO口的问题,我想刚才51过来的同学肯定觉得它的IO口比较高级,有输入 输出 ,而且还有高低电平,
说来好笑,当初自己也总是搞不懂,比如P1DIR |= BIT0 ,然后P1OUT |= BIT0 这两句话的意思是说把P1.0的IO口
设置为输出,并且输出高电平。同样如果跟着这个节拍走的话,初学者肯定能写出把P1.0口的设置为输出低电平P1DIR |= BIT0 ;P1OUT &=~BIT0 这很正常
因为这两条语句一般在点亮流水灯的实验例子中经常会看到。
可能会有调皮的同学问,那输出方向有两种状态,电平也有两种状态,按照数字电路中0,1 的思想,两个一共就有4中状态组合,你上面说出了两种,还有下面两种;输入低电平 输入高电平 于是就有相应的语句。
恩,这样想是对的,可是一般这样是没有意义的,因为如果把电平状态设为输入的话,要么就是模拟输入进行AD采样,这个时候电压肯定是会连续变化的不确定值,要不你进行AD干嘛了?要么就是检测中断,而这个时候作为我们人来说肯定是不知道电平是否为高或者低,所以才会去进行检测,然后判断并作出相应的动作。
所以输入高电平,输入低电平也是你没有听人有这种说法的原因。
2,然后再讲讲定时器,430的定时器和51的定时器从概念上来说基本上差不多,但是作为一个16位的单片机来说,显然他会比较灵活,虽然定时器也是装个初始值,然后计数到这个值去中断,或者查询什么的。但是计数器可以设置为增减计数,加计数,减计数这些模式,而且还有捕获寄存器也是和这个计数器有关的,所以设定计数器模式时,必须要小心。
|