原创 第六课:Cepark AVR单片机进阶篇------基本输出:LED流水灯

2010-7-20 15:17 2431 5 5 分类: MCU/ 嵌入式
第六课 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

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条