AVR 单片机实现 LED 灯闪烁.

发布者:雅意盎然最新更新时间:2017-02-19 来源: eefocus关键字:AVR  单片机  LED  灯闪烁. 手机看文章 扫描二维码
随时随地手机看文章

ATmega16 有 4 个 8 位的双向 I/O 端口 PA, PB, PC, PD, 他们对外对应 32 个 I/O 引脚, 每一位都可以独立的用于逻辑信号的输入和输出. 在 5V 工作电压下, 输出高电平时, 每个引脚可输出达 20mA 的驱动电流; 而输出低电平时, 每个引脚可以吸收最大 40mA 的电流.

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;  

}  


关键字:AVR  单片机  LED  灯闪烁. 引用地址:AVR 单片机实现 LED 灯闪烁.

上一篇:ATmega16单片机(AVR)主要特点总结
下一篇:任意2个io直接驱动LCD1602,并且不需外加芯片

推荐阅读最新更新时间:2024-03-16 15:33

采用ATmega16单片机的干式变压器智能控制器系统设计
1工作原理   温控仪由温度监测、信号处理、输出控制三部分组成。系统框图如图1所示,它通过预埋在 变压器三相绕组中的三只铂电阻传感器获取绕组温度值,经信号调理电路处理后直接送入控 制器的A/D转换输入端。微控制器根据信号数据及设定的各种控制参数,按照嵌入的软件控 制规律执行计算与处理,自动显示变压器绕组的温度值、输出相应的控制信号、控制风机的 启停,并根据当前状态输出正常、报警和跳闸信号等,同时将各种数据通过RS-485传到上 位机实现集中监控。   温控仪控制核心采用ATmegal6单片机,它是一款基于AVR RISC的低功耗CMOS 8位单片机,在 一个时钟周期内执行一条指令,可以取得1MIPS/MHz的性能,因此具有实时性。
[单片机]
采用ATmega16<font color='red'>单片机</font>的干式变压器智能控制器系统设计
一种基于单片机的正弦波输出逆变电源的设计
    低压小功率逆变电源已经被广泛应用于工业和民用领域。特别是新能源的开发利用,例如太阳能电池的普遍使用,需要一个逆变系统将太阳能电池输出的直流电压变换为220V、50Hz交流电压,以便于使用。本文给出了一种用单片机控制的正弦波输出逆变电源的设计,它以12V直流电源作为输入,输出220V、50Hz、0~150W的正弦波交流电,以满足大部分常规小电器的供电需求。该电源采用推挽升压和全桥逆变两级变换,前后级之间完全隔离。在控制电路上,前级推挽升压电路采用SG3525芯片控制,采样变压器绕组电压做闭环反馈;逆变部分采用单片机数字化SPWM控制方式,采样直流母线电压做电压前馈控制,同时采样电流做反馈控制;在保护上,具有输入过、欠压保护,
[电源管理]
一种基于<font color='red'>单片机</font>的正弦波输出逆变电源的设计
51单片机自学笔记(二)——C语言基础知识
进制转换(二进制、十进制、十六进制) 二进制:二进制是计算机/单片机中常用的一种数制,二进制用0和1两个数码来表示数,进位规则是逢二进一,借一当二。 十进制:我们生活中常用的就是十进制,十进制用0~9十个数码来表示数,进位规则是逢十进一,借一当十。 十六进制:十六进制也是计算机/单片机中常用的一种数制,它由0~9和A—F组成,字母不区分大小写。与十进制对应的关系是:0—9对应0—9;A—F对应10—15;进位规则是逢十六进一,借一当十六。 C语言的特点 (1)语言简洁、紧凑、使用灵活; (2)运算符丰富; (3)具有数据类型构造能力; (4)具有很强的流程控制结构; (5)语言生成的代码质量高; (6)可移植性较好;
[单片机]
51<font color='red'>单片机</font>自学笔记(二)——C语言基础知识
利用RS-232C实现PC机与单片机的通信
  我们知道EIA-RS-232C是用正负电压来表示逻辑状态,单片机串行口采用正逻辑TTL电平,这样单片机和PC机的COM1或者COM2就不能直接连接。为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS一232C与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MCl488、SN75150芯片可完成TTL电平到EIA电平的转换,MCl489、SN75154可实现EIA电平到TTL电平的转换。而MAX232芯片可完成TTL←→EIA双向电平转换,MAX232系列芯片集成度高,+5V电源(内置了电压倍增电路及负电源电路),只需外接5个容量为0
[单片机]
利用RS-232C实现PC机与<font color='red'>单片机</font>的通信
电源重新上电引起的MCU启动失败的原因分析
对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品PCB板上有大电容甚至是超级电容器的身影。大容量的电容虽然能延时系统掉电,使得系统在电源意外关闭时MCU能继续完成相应操作,而如果此时重新上电,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢? 一、上电失败问题分析 1. 上电缓慢引起的启动失败 对于需要进行掉电保存或者掉电报警功能的产品,利用大容量电容缓慢放电的特性来实现这一功能往往是很多工程师的选择,以便系统在外部电源掉电的情况下,依靠电容的储能来维持系统需要的重要数据保存及安全关闭的时间。此外,在不需要掉电保存数据的系统中,为了防止电源纹波
[电源管理]
S3C2410 LED驱动程序
编写驱动程序代码: #include linux/config.h #include linux/module.h #include linux/kernel.h #include linux/devfs_fs_kernel.h #include linux/init.h #include asm/hardware.h #include asm/delay.h #include asm/uaccess.h #undef DEBUG #define DEBUG #ifdef DEBUG #define DPRINTK(x...) printk( s3c2410-led: x) #else #define DPRINTK(x.
[单片机]
位移测量装置的设计与实现
l 设计要求 1.1 任务 设计并制作一台位移测量装置,其原理示意图如图1所示(虚线框内部分可以用硬件实现,也可以用软件实现)。 1.2 要求 (1)制作正弦信号激励电路,技术指标如下: ①频率:100kHz; ②驱动线性可变差动变压器时输出波形无明显失真。 (2)设计、制作差动信号测量电路,包括线性可变差动变压器,放大、整流、滤波等电路,数据处理和显示等单元。在图1中的A、B两点分别输出直流电压信号VA、VB。 (3)用模拟或数字方法计算 根据d值计算、显示实际位移量。 (4)测量的位移范围为一20mm~+20mm,测量误差的绝对值不大于2mm。 (5)设计一个闭环控制电路,要求用直流电机驱动
[测试测量]
位移测量装置的设计与实现
键盘接口在单片机系统与PC机通信中的应用
    摘要: 提出一种全新的利用键盘接口实现单片机系统和PC机通信的方案,介绍了键盘与PC机通信的原理,并成功地应用于实际系统。该方案为外部单片机系统与PC机通信提供了一条有效的途径。     关键词: 键盘接口 单片机系统 时序 命令字 在工控系统中,单片机应用系统与PC机之间的通信主要是采用异步串行通信方式,通过RS-232C、RS-422、RS-423或RS-499标准接口实现。这引起通信方式都各自规定了自己的电气标准,都不能直接满足 TTL电平的传送要求。为了通过这些标准接口通信,必须在单片机应用系统中加入电平转换芯片,以实现TTL电平向标准接口电平的转换 。 键盘接口是PC机的固有接
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved