历史上的今天
返回首页

历史上的今天

今天是:2024年12月26日(星期四)

正在发生

2019年12月26日 | ATMEGA16单片机I0端口的使用方法解析

2019-12-26 来源:elecfans

一、ATMEGA16的I端口的使用:(只有一个实验,下面的部分每个小节可能有几个实验验证,你懂得)


一—(01)、)—使用4*4行列式按键开关的使用


I/O端口介绍:

直接一个图就哦了,因为根本没什么,就是控制寄存器(这里一定要注意,后面的ATmega16的引脚的功能都是控制寄存器来实现引脚或者器件的功能的,说白了,知道了寄存器,会用了寄存器,再来点51的基础,那这些东西真的就没什么了,AVR单片机很简单的)

ATMEGA16单片机I0端口的使用方法解析

我用的就是IAR和Proteus

好了先给个图,这个是按照手机上的设计的你看了就懂了

ATMEGA16单片机I0端口的使用方法解析

别的就不费话了,一看图不就全明白了

然后就是今天的代码

其实相当的简单,和51的原理一样,然后就是控制引脚的输入输出,高低电平,这里用不到高阻态。


#include“iom16.h”

typedef unsigned char uchar;

typedef unsigned intuint;

//------------------------------------------------------------------------------

__flash uchar skey[16]={10,11,12,13,3,6,9,14,2,5,8,0,1,4,7,15};//这里是根据键盘的设定来设定的,我这里设定的是手机键盘,方便使用

__flash uchar act[4]={0xfe,0xfd,0xfb,0xf7};

ucharconst seg[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,

0x7c,0x39,0x5e,0x79,0x71};//共阴极数码管

//------------------------------------------------------------------------------

//延时函数

voiddelay_ms(uint k)

{

uinti,j;

for(i=0;ifor(j=0;j《1140;j++);

}

//------------------------------------------------------------------------------

//键盘检测函数

uchar key_scan()

{

uchar i,j,in,ini,inj;

uchar flag=0;

for(i=0;i《4;i++)

{

PORTB=act[i];

delay_ms(5);//延时消抖

in=PINB;

in=in》》4;

in=in|0xf0;

for(j=0;j《4;j++)

{

if(act[j]==in)

{

flag=1;

inj=j;

ini=i;

}

}

}

if(flag==0)

return(16);

return(ini*4+inj);

}

//------------------------------------------------------------------------------

//main

voidmain()

{

uchar c,key_value;

DDRA=0XFF;

DDRC=0XFF;

DDRB=0X0F;

PORTA=0X00;

PORTC=0XFF;

PORTB=0XFF;

while(1)

{

c=key_scan();

if(c!=16)

key_value=skey[c];

PORTA=seg[key_value];

PORTC=0xfe;

delay_ms(1);

}

}

推荐阅读

史海拾趣

FOX [Fox Electronics]公司的发展小趣事

在20世纪90年代初,Fox Electronics凭借其创新的温补晶体振荡器(TCXO)技术,在竞争激烈的电子行业中脱颖而出。该技术通过自动调节晶体振荡频率以补偿温度变化,极大地提高了电子设备的稳定性和可靠性。这一创新不仅为Fox Electronics赢得了众多高端客户的青睐,还推动了整个行业对高精度时钟源的需求增长。随着通信和计算机技术的快速发展,Fox Electronics不断迭代其TCXO技术,持续引领市场潮流。

Daewoo公司的发展小趣事

除了汽车产业外,Daewoo公司在家电领域也取得了不俗的成绩。随着消费者对家电品质要求的不断提高,Daewoo公司不断推出高品质、高性能的家电产品,赢得了消费者的信赖和好评。同时,公司还积极拓展国际市场,将产品出口到世界各地,进一步提升了品牌知名度和影响力。

这些故事共同展现了Daewoo公司在电子行业中的发展历程和取得的成就。虽然公司经历了许多挑战和困难,但凭借其坚定的信念和不懈的努力,最终实现了多元化发展,成为了韩国乃至全球电子行业的佼佼者。

Barkston Plastics Engineering Ltd.公司的发展小趣事

面对国内市场的饱和,Barkston Plastics Engineering Ltd.开始寻求国际化发展的道路。然而,国际市场环境的复杂性和文化差异给公司带来了诸多挑战。在经历了一系列的市场调研和风险评估后,Barkston成功打入欧洲市场,通过与当地企业的合作,逐步扩大了其国际影响力。这一国际化发展进程不仅为公司带来了更广阔的市场空间,也提升了其在全球电子行业中的地位。

Deutron Electronics Corp公司的发展小趣事

为了进一步提升竞争力,Deutron Electronics Corp积极寻求国际合作与并购机会。公司与多家国际知名电子企业建立了战略合作关系,共同研发新产品和技术。同时,公司还成功收购了几家具有核心技术的电子企业,增强了自身的研发和生产能力。这些合作与并购为Deutron Electronics Corp带来了更多的发展机遇和市场空间。

CML Microcircuits公司的发展小趣事

在竞争激烈的电子行业中,CML Microcircuits公司始终坚持质量与服务并重的经营理念。公司注重产品的可靠性和稳定性,通过严格的质量控制和测试流程确保产品的高品质。同时,CML还为客户提供全面的技术支持和售后服务,帮助客户解决在使用过程中遇到的问题。这种以客户为中心的服务理念赢得了客户的信任和忠诚,也为CML赢得了良好的口碑。

BELLING LEE公司的发展小趣事

随着电子市场的不断发展和消费者需求的多样化,BELLING LEE公司意识到单一的产品线已无法满足市场需求。于是,公司开始积极拓展产品线,推出了包括智能手机、平板电脑、智能家居设备等一系列新产品。这些新产品不仅满足了消费者的多样化需求,也进一步巩固了公司在电子市场的领先地位。

问答坊 | AI 解惑

VHDL实用教程

VHDL实用教程(潘松编著)PDF格式…

查看全部问答>

给51 DIY超轻量级多任务操作系统

来源:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1398508&bbs_page_no=1&bbs_id=9999 前言 想了很久,要不要写这篇文章?最后觉得对操作系统感兴趣的人还是很多,写吧.我不一定能造出玉,但我可以抛出砖. 包括我在内的很多人都对51使用 ...…

查看全部问答>

AVR初学者提问

  我在做AVR的ADC实验时为什么第一次转换的电压值是正确的,而连续转换的电压不正确…

查看全部问答>

KEIL

编译通不过,提示TOOL。INI does not contain a tool path…

查看全部问答>

请问~~wince5.0的基于s3c2440的BSP在哪里可以下载

缺省安装时 只带了2410的BSP,急求2440版本的~~…

查看全部问答>

红外接收头的相关疑问,牛人请指教!

遥控是TC9012,它采用的38kHz的载波(一个载波周期35us),载波占空比1/3,经过调制后发送波形是9ms的引导码(前4.5ms由载波构成,后4.5ms是载波关断)和33bit的数据构成。比特1是0.56ms的载波和1.69ms的载波关断构成,比特0是0.56ms的载波和0.565ms的 ...…

查看全部问答>

短信猫在低压配电监控应用

短信猫在低压配电监控应用 随着电网改造的逐步深入,电力配网技术的高速发展,科学、经济、有效的控制电网运行,必须逐步实现、提高配网自动化水平。城市配电网自动化系统是电力部门改善供电质量,合理配置供电设备,有效实现电力需求侧管理的重要 ...…

查看全部问答>

有了解嵌入式eXtremeDB内存数据库的吗

有了解嵌入式eXtremeDB内存数据库的吗,有兴趣者,可以加入QQ群:51347012 可以访问:http://www.leadingtek.com.cn/ 邮箱:niexuebin@163.com…

查看全部问答>

参加活动免费赠送Stellaris3S5956开发板

 继TI Stellaris Cortex-M3 的Sandstorm(沙暴)、Fury Class(狂暴)、Dustdevil Class(旋风)之后,Tempest Class(飓风)系列已开始全球批量供应。Stellaris基于实现了革命性突破的ARM Cortex-M3技术之上,是业界领先的高可靠性实时微处理 ...…

查看全部问答>

有人需要这种3.5寸的触摸屏吗

全新3.5寸tft 触摸液晶屏51,avr,pic,stm,430可以直接驱动接口:16,18位接口可选39pinic: r61505u  ili9320 26万色提供51测试代码,初始化代码,接口资料,ic资料     如果有人需要的 我可以负责联系商家,估计价格会在3 ...…

查看全部问答>