原创 第五课:Cepark AVR单片机进阶篇---基本输出:LED灯全闪

2010-7-20 15:15 1586 7 7 分类: MCU/ 嵌入式
上一课我们说了,如何点亮一盏灯。这是很简单的一个程序,下面我们来简单说说解题思路。

1 写程序让LED灯全亮。

思路:LED灯全亮就是说PB口全部输出为低电平。两个要点:1 、IO口为输出状态。2、输出低电平。

2 用位操作的方式点亮一个LED灯。

思路:位操作方式就是我们的操作只对一位作用,其他位不会因为我们的操作而改变。因为我们的WINAVR没有提供位操作方式。那我们只有用逻辑运算来达到要求。比如:说PB0输出0,我们就可以写
成:PORTB &= ~(1 <<0);该操作等价于:PORTB = PORTB &(~(1
<<0));  这里的1<<0表示1左移0位,用2进制表示就是0000 0001,再按位取反就是1111
1110,我们这里用到了“&”或运算,或运算的口决是:见0出0.这样我们就只改变了PB0。其他位都没有改变,这样的操作,我们在以后会常用
到。这里我是位输出0,那位输入1如何表示呢??大家可以自己考虑下。



上一课我们学明白了,那这课就很简单了。

本课说的是让LED灯闪烁, 我们先来会析一下:闪烁就是交替的点亮、熄灭。看程序:

CEPARK
AVR 暑期免费在线培训资料下载

http://bbs.cepark.com/viewthread.php?tid=15057&fromuid=6136



PARTNER CONTENT

文章评论0条评论)

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