ATMEGA16 IOport相关汇总

ATMEGA16 IOport总的共同所有权有关的寄存器有三个DDRX、PORTX和PINX。

假设你想IO动作基本上与这三个寄存器操纵。DDRX也被称为数据方向寄存器、PORTX所谓数据寄存器、PINX叫port输入引脚。

DDRX的作用:

当DDRX = 0时。表示的是某port的引脚为输入;当DDRX = 0xff时表示某port的引脚为输出。

引脚的状态:输入或者输出是依据什么定义的呢?

是依据高低电平是输入单片机还是从单片机输出。输入是指:不属于单片机的外部的电平输入到单片机;输出是指:单片机的电平输出到单片机的外部。

PORTX的作用:

当DDRX = 0时,若把PORTX置位则表示启动了上拉电阻;若PORTX为0,则不启动上拉电阻。当DDRX = 0xff时,若把PORTX置位则表示输出高电平;若PORTX为0,则输出低电平。

PINX的作用:

PINX寄存器的值与DDRX寄存器的值(输入还是输出)没有不论什么关系;仅仅与port引脚上面的值有关系(PORTX)。假设PORTXn = 0xdd,则不管DDTX取什么样的值。其PINX都为0Xdd。

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
   uint8_t temp;
   DDRC = 0xff;
   PORTC = 0xff;

   DDRA = 0;
   PORTA = 0xdd;

   asm("nop");//汇编指令nop,即空操作。其运行时间为一个时钟周期
   PORTC = PINA;

    return 0;
}

当中不管DDRA的值是0还是0xff。结果都是一样的。

因此也能够得出一个结论:PINX寄存器里的值是能够依照自己的意愿设定的。原因是单片机能捕捉port的电平,并置位PINX寄存器。

初始值问题:

单片机刚上电后。port上的寄存器的初始值是什么?

上电后,默认的初始值为0。即DDRX= 0;PORTX = 0。PINX =  0;

#include <avr/io.h>
#include <util/delay.h>
//#include<intrins.h>

int main(void)
{
   uint8_t temp;
   DDRC = 0xff;
   PORTC = 0xff;

   //DDRA = 0;
   //PORTA = 0xdd;

   asm("nop");//汇编指令nop,即空操作。其运行时间为一个时钟周期
   //_nop();
   PORTC = PINA;

    return 0;
}

初始化方法1:

      PORTA=0xFF;    //内部上拉,高电平

DDRA=0xFF;     //输出高电平---------灯一直是灭的

  初始化方法2:

DDRA=0xFF;     //输出低电平--------灯被错误点亮了

PORTA=0xFF;    //输出高电平--------立即被熄灭了,时间非常短(1个指令不到uS时间),灯闪了一下,眼睛无法察觉

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-11-10 16:59:16

ATMEGA16 IOport相关汇总的相关文章

Git 相关汇总

1 删除远程分支: git push origin :branch-name        冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支. Git 相关汇总,布布扣,bubuko.com

前端开发相关汇总

简介 前端发展迅速,开发者富有的创造力不断的给前端生态注入新生命,各种库/框架/工程化构建工具层出不穷,眼花缭乱,不盲目追求前沿技术,学习框架和库在满足自己开发需求的基础上,然后最好可以对源码进行调研,了解和深入实现原理,从中可以获得更多的收获 随着前端发展,前端的职责也跟着变化,不再仅仅是设计稿切图+JS实现交互,已经可以涉猎到后端,微信小程序,原生APP等领域,大前端,全栈开发,小程序开发,前端架构师,带来了更多岗位选择的同时,也是对自身技术一种挑战 [前端汇总]这里会对前端相关技术教程,开

网站分析相关汇总

1.综述 Adobe, Adobe Analytics, Omniture    ★★★ http://www.myttnn.com/tag/adobe-analytics/

红外图像非均匀性校正相关汇总

红外图像中的不规则条纹是红外焦平面阵列非均匀性的体现,非均匀性产生的原因十分复杂,在生产时完全消除其非均匀性是不现实的,只有通过非均匀性校正来提高其性能.红外焦平面成像产品在出厂前一般都会对其进行定标校正,但产品交付后,由于探测器的时间漂移特性和使用环境的变化,图像中的非均匀性会逐渐增强,甚至严重到影响产品的使用.如果重新对产品进行定标校正,需要大量外部条件的支持,有时甚至是不现实的,此时采用基于场景的校正算法,就能完全依靠场景自身的信息,有效去除图像的非均匀性,改善图像质量. 非均匀性来源主要

函数装饰器相关汇总

原文地址:https://www.cnblogs.com/www-qcdwx-com/p/10287434.html

细粒度图像相关汇总

细粒度图像与超分辨率 细粒度图像识别 2018国内十大技术突破之一,“看”一眼就结账. 在传统计算机视觉研究中,图像识别的目标对象隶属类别通常是诸如“狗”“车”和“鸟”等传统意义上的类别分类.但大家应该都有这样的经历:逛街时看到路人的萌犬可爱至极,可仅知是“犬”殊不知其具体品种.然而,细粒度级别图像识别技术便能准确分辨出哪怕细微差异的目标对象,解决此类难题. 现落地于南京快餐厅的细粒度图像识别智慧收银系统,可以近100%识别率,精确识别几十种菜品,该系统在具体运行时,食客仅需将选好的菜品放在识别

mac快捷键相关汇总

复制文件完整路径: option+command+C 打开多个终端: command+N(弹出新窗口) command+T(打开新窗口) 应用程序中: Command+H(隐藏当前正在运行的应用程序窗口) Command+Q(退出最前面的应用程序) Command+Tab(切换应用程序) Commadn+Option+esc(强制退出窗口,应用程序无响应,强制退出) 浏览器: Command+L(跳到地址栏) Command+W(关闭当前窗口) 进入桌面: cd desktop 创建一个目录并且

高性能MySQL --- 读书笔记(2) - 2016/8/2

第1章 MySQL架构 MySQL架构与其他数据库服务器大不相同,这使它能够适应广泛的应用.MySQL足够灵活,能适应高要求架构.例如Web应用,同时还适用于嵌入式应用.数据仓库.内容索引和分发软件.高可用的冗余系统.联机事务处理系统OLTP及很多其他应用类型. 为了充分发挥MySQL的性能,顺畅地使用它,就必须理解它的设计.MySQL的灵活性体现在很多方面,它可以再众多硬件平台上良好的配置和运行,还支持多种数据类型.不过MySQL最重要.最不同寻常的特征是它的存储引擎框架,这种架构可以讲查询处

毕业设计参考资料

1对手机通讯录的读取.添加.删除.查找 http://blog.csdn.net/u010800530/article/details/39455347 http://lichangsong.blog.51cto.com/7997447/1306033 http://www.apkbus.com/android-13445-1-1.html 2Android中Fragment+ViewPager的配合使用 http://smallwoniu.blog.51cto.com/3911954/1322