第六课 LED流水灯
上一课我们介绍了,如何实现在对IO口的按位输出0.现在我们再说下按位输出1;这两个是在
AVR的
学习操作中很基本的,大家要很好的掌握。
前提是DDRB = 0xFF;
PORTB |= (1 <<1); 这里是按位PB1口输出1;
PORB &= ~(1<<1);这里是按位PB1口输出0;
这样可能还是不太直观,上面的可以改写为:
PORTB |= (1 <<PB1); 这里是按位PB1口输出1;
PORTB &= ~(1<<PB1);这里是按位PB1口输出0;
这里的PB1为是1.这个包含在我们的头
文件IO.H中,具体的问题,大家可以查看
WinAVR-20090313\avr\include\avr目录下的iom16.h.
本课我们将用移位,查表两种方式实现
单片机的流水灯。
首先我们来看移位方式,如下图file4:
unsigned dat;这是定义一个无符号单字节变量,把它放在
程序顶,称为全局变量,这样,在每个子函数里都可以对它
进行引用、修改,在整个程序执行中都占用固定的
RAM空间。相对应的就是局部变量,比如我们在main函数内部定义的变量就是局部变量,它们只有在函数执行前才生效,结束后就消失了,占用的RAM
空间会被释放,不能被其它函数引用,在C里面,我们一般建议能用局部变量就不用全局变量,这是因为单片机的
RAM空间有限。
CEPARK
AVR 暑期免费在线培训资料下载
http://bbs.cepark.com/viewthread.php?tid=15057&fromuid=6136
文章评论(0条评论)
登录后参与讨论