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

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

本文引用地址: http://www.21ic.com/app/mcu/201707/728611.htm

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可能看不到, 另存为或者新窗口打开看吧):

QQ截图20170707154242.png

测试程序, 更改可以观察不同现象, 有助理解. 和 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;

}

换一批

延伸阅读

[真心话] 漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

漫漫电子工程路:尝百鲜之后,我还是如此钟情于单片机

现在想起来,当时的情形还历历在目。当时工作非常艰辛,累得我是满地找牙。记得进厂的第一天,就加班通霄,以后天天晚上加班至12点,早上7点起床。......

关键字:电子工程师 单片机

[图酷] 无用发明之:LED火柴

无用发明之:LED火柴

我们今天来谈一谈什么是创新,在手机上加入摄像头是创新,声控手机少掉一些操作步骤也是创新,这些都是成功的创新,然而还有一些创新却让我们的生活变得更加麻烦。比如,不用点火的火柴。 Matchbox ......

关键字:

[真心话] 单片机大师郭天祥的大学六年,看看与你的有何不同?

单片机大师郭天祥的大学六年,看看与你的有何不同?

在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。......

关键字:单片机 郭天祥

[真心话] 一个实例简单明了告诉你为什么要用RTOS

一个实例简单明了告诉你为什么要用RTOS

对于搞单片机的特别用8051系列工程师来说,谈到单片机的RTOS,很多时候会问一句:“为什么要用RTOS?单片机就这一点资源,使用RTOS能保证效率吗?”......

关键字:单片机 RTOS
条评论

我 要 评 论

网友评论

技术子站

更多

人才招聘

更多

项目外包

更多

推荐博客