东芝单片机E2存储器读取汇编程序详解

版权申诉
0 下载量 29 浏览量 更新于2024-10-30 收藏 1KB RAR 举报
资源摘要信息: "东芝_存储单片机"文件包含关于东芝系列单片机的存储功能的具体实现细节。东芝是一家知名的电子组件和解决方案供应商,其单片机产品广泛应用于嵌入式系统设计中。本资源着重讲解了如何使用东芝单片机读取E2存储器AT24C02,并提供了相应的汇编源程序代码。 知识点详细说明如下: 1. 东芝单片机基础 东芝单片机属于微控制器(MCU)的一种,通常用于各种嵌入式应用中。东芝单片机有着广泛的应用,包括家用电器、办公设备、工业控制和汽车电子等。东芝的单片机产品线丰富,功能涵盖从简单的I/O控制到复杂的数据处理。 2. E2存储器介绍 E2存储器,通常指的是EEPROM(电可擦可编程只读存储器)。EEPROM是一种可以电擦写和电编程的非易失性存储器,它允许单个字节的写入,特别适合频繁数据更新的应用。AT24C02是东芝生产的一款低电压串行EEPROM,具有2K位(即256字节)存储空间。 3. AT24C02的特性 AT24C02支持I2C总线通信协议,拥有256字节的存储容量,可支持1.8V至5.5V的电源电压。它的通信速率可达400kHz,并且具有写保护功能,确保数据安全。AT24C02通常用于存储配置数据、小型程序代码或传感器数据等。 4. 汇编语言基础 汇编语言是一种低级编程语言,与计算机的机器语言有直接的对应关系,但比机器语言更易于编写和理解。汇编语言通常用于需要对硬件进行精细控制的场合,或者资源受限的嵌入式系统中。由于汇编代码需要针对特定的处理器架构来编写,因此与高级编程语言相比,它的可移植性较差。 5. 东芝单片机与AT24C02的交互实现 要实现东芝单片机读取AT24C02 EEPROM数据,需要通过I2C总线协议进行通信。在汇编程序中,需要正确设置单片机的I2C模块,包括时钟速率、设备地址等,并通过发送启动信号、数据地址、读写信号等来实现对EEPROM的读写操作。程序需要遵循AT24C02的数据手册进行操作,正确处理起始条件、停止条件以及应答信号。 6. tmp86ch29mg.asm文件内容 在提供的压缩包中,"tmp86ch29mg.asm"是核心文件,它包含了一系列汇编指令,用于实现东芝单片机与AT24C02之间的交互。具体的汇编代码将指导单片机如何初始化I2C通信、写入数据到EEPROM、从EEPROM读取数据等操作。用户可以通过阅读和分析这些汇编代码,了解东芝单片机与存储器之间的具体通信流程。 ***.txt文件内容 文件名中带有"***"暗示这可能是一个链接或者说明文本,指向的可能是东芝官方文档或者开发者社区页面。在实际使用中,用户可以访问该链接获取更多关于东芝单片机和AT24C02 EEPROM的官方资源,例如数据手册、应用笔记和示例代码等,从而更好地理解和应用这些组件。 综上所述,该资源包是一个专门为使用东芝单片机读取AT24C02 EEPROM的开发者提供的工具,其中包含了汇编语言编写的源代码,方便用户直接应用于实际项目中。开发者通过学习和使用该资源,可以深入理解和掌握如何在东芝单片机平台上操作E2存储器,并进行相应的数据处理和存储工作。

select * from ( select row_.*, rownum rownum_ from ( select * from ( select distinct OB.BUSI_ORDER_ID, 0 as HIS_ID, OB.BUSI_CODE, OB.CUST_ID, OB.CEASE_REASON, OB.ORDER_STATE, OB.CHANNEL_TYPE, ob.user_id, OB.IS_BATCH_ORDER, OB.APPLICATION_ID, OB.CREATE_DATE, OB.DONE_DATE, OB.EFF_DATE, OB.EXP_DATE, OB.OPER_ID, OB.ORG_ID, OB.REGION_ID, OB.NOTE, OB.PROCESS_STATE, nvl(oi.cust_name, ic.cust_name) cust_name, nvl(oc.icc_id, iu.icc_id) icc_id, nvl(oc.svc_num, iu.svc_num) svc_num, icp.cust_name parent_cust_name, icp.cust_id parent_cust_id, ol.order_list_id from ord_busi ob left join ord_offer oo on oo.busi_order_id = ob.busi_order_id and ob.user_id = oo.user_id left join info_user iu on oo.user_id = iu.user_id left join info_cust ic on ob.cust_id = ic.cust_id left join ord_cust oi on ob.cust_id = oi.cust_id and ob.busi_order_id = oi.busi_order_id left join info_cust icp on nvl(ic.parent_cust_id, oi.parent_cust_id) = icp.cust_id left join ( SELECT * FROM ord_user WHERE user_order_id IN ( SELECT MAX(user_order_id) user_order_id FROM ord_user GROUP BY busi_order_id,user_id ) ) oc on ob.user_id = oc.user_id and ob.busi_order_id = oc.busi_order_id left join ord_list ol on ob.busi_order_id = ol.busi_order_id WHERE 1 = 1 and OB.CUST_ID IN( SELECT DISTINCT CUST_ID FROM (SELECT CUST_ID, PARENT_CUST_ID FROM INFO_CUST UNION SELECT CUST_ID, PARENT_CUST_ID FROM ORD_CUST) TMP START WITH TMP.CUST_ID = '10001009208' CONNECT BY TMP.PARENT_CUST_ID = PRIOR TMP.CUST_ID ) union all select distinct OB.BUSI_ORDER_ID,OB.HIS_ID, OB.BUSI_CODE, OB.CUST_ID, OB.CEASE_REASON, OB.ORDER_STATE, OB.CHANNEL_TYPE, OB.USER_ID, OB.IS_BATCH_ORDER, OB.APPLICATION_ID, OB.CREATE_DATE, OB.DONE_DATE, OB.EFF_DATE, OB.EXP_DATE, OB.OPER_ID, OB.ORG_ID, OB.REGION_ID, OB.NOTE, OB.PROCESS_STATE, nvl(oi.cust_name,ic.cust_name) cust_name , nvl(oc.icc_id, iu.icc_id) icc_id, nvl(oc.svc_num,iu.svc_num) svc_num, icp.cust_name parent_cust_name, icp.cust_id parent_cust_id, ol.order_list_id from ord_busi_his ob left join ord_offer_his oo on oo.busi_order_id = ob.busi_order_id 优化一下

2023-06-02 上传