网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

AVR 单片机实现 LED 灯闪烁

AVR系列单片机所有的 I/O 寄存器可以通过两种不同的方法来访问: 使用对 I/O 寄存器访问的 IN 和 OUT 专用指令或者使用对 SRAM 访问的指令. 其中 IN, OUT 指令周期为 1 个时钟周期另外, I/O 寄存器地址范围在 $00 - $1F 之间的寄存器(前 32 个)还可以通过指令实现位操作和位判断跳转. 如: SBI(I/O寄存器指定位置 1), CBI(I/O寄存器指定位清 0), SBIS(I/O寄存器指定位为 1 跳转), SBIC(I/O寄存器指定位为 0 跳转).详细的看手册才是王道.

仿真电路简图(LED可能看不到, 另存为或者新窗口打开看吧):

测试程序, 更改可以观察不同现象, 有助理解. 和 51 的不同就是 IO 口的方向控制.

/*

* AVRGCC.c

*

* Created: 2012/5/27 18:09:54

* Author: KISSMonX

*/

#define F_CPU 4000000UL

#include

#include

int main(void)

{

PORTC = 0x80; // PC 口的第 0/7 位输出 0/1, LED1 和 LED2 都亮.

DDRC = 0x81; // 定义 PC 口的第 0 和 7 位为输出方式

_delay_ms(2000); // 开始时两个 LED 都要亮, 持续 2s 后进入循环.

while(1)

{

_delay_ms(200); // 库函数 ms 延时函数, 0.2s

PORTC = ~PORTC; // PC 口第 0/7 位取反后输出

}

return 0;

}

热门搜索:2866349 PS-615-HG-OEM PS240406 ADC128S102CIMTX DRV8313PWPR LC1800 PM6NS BT137S-600D118 CC2544RHBR TLM812SA 02C1001JF TLP1008TEL DRV8313PWPR 01M2251SFC3 2856032 2839224 ADC128S102CIMTX ADS1013IDGSR 2856142 LCR2400 2858030 BTS412B2E3062A SUPER6OMNI D PM6SN1 2866352
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质