历史上的今天
返回首页

历史上的今天

今天是:2024年11月05日(星期二)

正在发生

2021年11月05日 | ATmega128 I/O存储器

2021-11-05 来源:eefocus

ATmega128 的I/O 空间定义见P 342“ 寄存器概述” 。


ATmega128 的所有I/O 和外设都被放置在I/O 空间。所有的I/O 地址都可以通过 LD/LDS/LDD和ST/STS/STD指令来访问,在32个通用工作寄存器和I/O之间传输数据。地 址为$00 - $1F 的I/O 寄存器还可用SBI 和CBI 指令直接进行位寻址,而SBIS 和SBIC 则用来检查单个位置位与否。当使用IN 和OUT 指令时地址必须在$00 - $3F 之间。如果 要象SRAM一样通过LD和ST指令访问I/O 寄存器,相应的地址要加上$20。ATmega128是一个复杂的微处理器,其支持的外设要比预留的64 个I/O( 通过IN/OUT 指令访问) 所 能支持的要多。对于扩展的I/O 空间$60 - $FF,只能使用ST/STS/STD 和LD/LDS/LDD 指令。当ATmega128 工作于ATmega103 兼容模式时,扩展的I/O 被SRAM 所取代。


为了与后续产品兼容,保留未用的未应写"0“,而保留的I/O 寄存器则不应进行写操作。

一些状态标志位的清除是通过写"1“ 来实现的。CBI 和SBI 指令可以操作I/O 寄存器所有 的位,并给置位的位回写"1“,因此会清除这些标志位。CBI 和SBI 指令只对$00 to $1F 之间的寄存器有效。


I/O 和外设控制寄存器在其他章节介绍。


推荐阅读

史海拾趣

Horizon Electronics Enterprises Group公司的发展小趣事

随着工业互联网和智能制造技术的快速发展,Horizon紧跟时代步伐,积极推进数字化转型和智能制造升级。公司引入先进的自动化生产线和智能管理系统,实现生产过程的智能化和精细化管理。通过数字化转型,Horizon不仅提高了生产效率和产品质量,还降低了运营成本和市场风险。同时,公司还积极探索智能制造的新模式和新应用,为电子行业的未来发展贡献智慧和力量。

Elpida Memory公司的发展小趣事

尽管Elpida Memory已经不复存在,但其在DRAM领域的技术和经验仍然对全球半导体产业产生了深远的影响。Elpida Memory在技术研发、生产管理和市场营销等方面的经验,为后来的半导体企业提供了宝贵的借鉴和参考。同时,Elpida Memory的失败也提醒了半导体企业需要时刻保持警惕和创新精神,以应对日益激烈的市场竞争和技术变革。

Henkel公司的发展小趣事

Elpida Memory的成立,标志着日本在DRAM(动态随机存取存储器)领域的一次重要整合。1999年,为了应对全球半导体市场的激烈竞争,日本政府主导了日立、NEC、三菱电机等公司的DRAM业务整合,成立了Elpida Memory。这一举措旨在保护日本在DRAM领域的市场份额和技术优势,同时也为Elpida Memory的未来发展奠定了坚实的基础。

ETTINGER公司的发展小趣事

Ettinger,这个源于英国的皮具奢侈品牌,由Gerry Ettinger在1934年创立。自创立之初,Ettinger就致力于提供高品质的皮具产品,凭借其精湛的皮具制作工艺和独特的英格兰式设计风格,逐渐在市场上树立了良好的品牌形象。初期,Ettinger主要专注于手工制作皮具,通过不断提升产品质量和设计水平,赢得了消费者的青睐。

CML Microcircuits公司的发展小趣事

在1968年,电子行业正迎来一场技术革新。在这个充满机遇的时代,CML Microcircuits公司应运而生。初创时期的CML专注于研发单芯片解决方案,而不是传统的标准组件组合。这一创新理念使CML在行业中脱颖而出。公司的第一个产品——频率敏感开关,凭借其卓越的性能和可靠性,迅速赢得了市场的认可。这款产品不仅销售了30多年,而且至今仍在某些应用中发挥着关键作用。

品赞(G-Switch)公司的发展小趣事
检查控制回路中的接线是否正确,各元件是否损坏。

问答坊 | AI 解惑

99SE 转Gerber视频教程

教程分三部分: 1 PADS 转文件文字教程 2 99SE 转文件文字教程 3 CAM350 导入文件…

查看全部问答>

lwip 的性能到底怎样?我需要它长期运行,但它出现“重传”现象,而且十几分钟后会出现被PC端“FIN”断开。

lwip 的性能到底怎样?我需要它长期运行,但它会出现“重传”现象,而且十几分钟后会出现被PC端“FIN”断开。 本人刚开户,没有那么什么积分可以悬赏。sorry。…

查看全部问答>

关于DeviceIoControl控制摄像头的操作码

2440的开发板,编过摄像头的应用程序,就用DeviceIoControl函数对摄像头进行操作。记得IOCTL_CAM_CONT这个操作码是使能并初始化摄像头,CAM_IOCTL_GET_LATEST_FRAME这个是拍照,现在想问一下对于视频摄像,应该用哪个操作码?(想到一个很笨的方法 ...…

查看全部问答>

几个驱动同时对注册表某项读写,如何保证数据的完整和正确?

驱动程序是自己写的. 还要加些什么代码. 怎样写? 谢谢. …

查看全部问答>

请问s3c2410中addr0,addr1,addr2,addr3,addr4等地址线怎么操作

在S3C2410.h中找不到对应的寄存器定义啊?请问怎么进行读写操作?谢谢!…

查看全部问答>

为何不接收浮点参数????以及在shell中不能对浮点型全局变量赋值呢???

代码如下: #include \"vxworks.h\" #include \"stdio.h\" void test(float a,int b) { printf(\"a=%f,b=%d\"); } 编译完了,运行,在windshell中 敲入test(2.2,3)命令运行结果整型b可以打印正确结果,浮点a打印N/A。不明白为什么会这样 ...…

查看全部问答>

如何查找无线AP的IP

无线AP我设过静态IP地址。现在无线我可以连接使用,但是我忘了当时的ip地址,无线AP无法配置。 请高手支招。 在下先谢谢了!!^_^…

查看全部问答>

EVC下的程序问题,请大家帮帮忙!

我在调别人写的程序,刚开始用EVC3.0,有许多错误调也调不出来,如果我想用他原程序中的一部分,哪些文件必须留下呢? 我留下了一些.cpp和.h文件,还有.vcw和.vcp文件,以及程序中用到的.ico文件,还有.rc文件,但是在编译时还是出了错误,告诉我 ...…

查看全部问答>

大侠,来看看我的软件串口啥问题

我的软件串口,错在那,请指教,谢谢 //ACLK = 32768,波特率为2400的软件串口// #define Bitime_5 0x06 // ~ 0.5 的长度添加一点修正 #define Bitime 0x0E // 427us 长度 ~ 2341波特根据实际需要修改 ...…

查看全部问答>

【为2011大赛准备】集成运算放大器分析与设计

本帖最后由 paulhyde 于 2014-9-15 03:52 编辑 第一次发帖,希望大家能喜欢~~~  …

查看全部问答>