93C46串行EEPROM数据读写

Similar documents
untitled

untitled

目 录

12232A LED LED LED EL EL CCFL EL CCF

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

DPJJX1.DOC

Tel:

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

CA24064B LED LED LED EL EL CCFL EL CCF /

微處理機期末專題

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

專題最終版.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

untitled

Microsoft Word - P3.doc

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

dfgdafhdafhdafhdafh

R/W

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

Microsoft Word - 專題封面.doc

逢 甲 大 學

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

展 望 与 述 评 2 广 电 设 备 与 技 术

untitled

,310,022, ,382,044, % 1,270,602, ,316,653, % % % 19,720,

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

单片机学习教程

Microsoft Word - ~ doc

一:概述

1 目 录 建 达 北 京 爱 丽 舍 花 园 地 产 基 金... 0 特 别 提 示... 2 第 一 章. 基 金 介 绍... 3 一 基 金 概 要... 3 二 产 品 优 势... 4 三 风 控 措 施... 6 四 交 易 结 构... 6 第 二 章. 投 资 项 目 介 绍..

附件1-1

2


16位A/D转换器

内部明电

D/A DAC ( 1us) (10~20 ) DAC0832 1

粤社保函〔2013〕80号

bnb.PDF

STC90C51RC-cn.pdf

1 TPIS TPIS 2 2

一、研究動機

学习MSP430单片机推荐参考书

Microsoft Word - SC16C550应用实例.doc

Microsoft PowerPoint - chap12.ppt

!"#!$ %!$"" %%$&&''!(!)!*+,,!%*& -./ *##)' * %$" ',!*+/!*+ / - 0,1 #$*#2 #$*#2'' *($#3 *($#3'' -. 45,67!&$#6)*$ , ' 189


《佛子行三十七颂》讲记1

至 尊 法 王 蒋 阳 龙 朵 加 参 尊 者 上 师 瑜 伽 皈 依 境

(给多有拉姆)佛子行三十七颂1——7

DK 通道带自校正功能的容性触摸感应器 概述 DK712 触摸感应器可以用平均电容值作为基准检测感应点的电容变化 它可以通过任何非导电介质来感应电容变化 这样感应模块就可以很好的跟水和灰尘隔离 DK712 有更强的抗干扰性和更好的一致性 特点 带自校正功能的 12 通道感应芯片 可以通过

AT89C2051中文资料.doc


序 1995 年 我 走 进 了 朝 阳 区 将 台 乡 五 保 老 人 院, 如 今 17 年 后, 十 分 欣 喜 有 机 会 为 这 本 流 金 岁 月 小 集 作 序 在 多 年 陪 伴 孤 单 老 人 的 过 程 中, 我 深 深 地 体 会 到 每 位 老 人 的 生 命 里 其 实 都

78 云 芝 79 五 加 皮 80 五 味 子 81 五 倍 子 82 化 橘 红 83 升 麻 84 天 山 雪 莲 85 天 仙 子 86 天 仙 藤 87 天 冬 88 天 花 粉 89 天 竺 黄 90 天 南 星 91 天 麻 92 天 然 冰 片 ( 右 旋 龙 脑 ) 93 天 葵

43081.indb


一 天 吃 两 顿, 从 不 例 外 我 上 班 就 是 找 一 个 网 吧 上 网 上 网 的 内 容 很 杂, 看 新 闻, 逛 论 坛, 或 者 打 打 小 游 戏 如 果 没 钱 上 网, 我 会 独 自 一 个 人 到 一 个 偏 僻 的 地 方, 静 静 地 坐 着 发 呆 这 也 是

工 造 价 15 邗 江 南 路 建 设 工 一 标 市 政 公 用 6000 中 机 环 建 集 团 有 限 公 胡 美 娟 16 邗 江 南 路 建 设 工 二 标 市 政 公 用 品 尊 国 际 花 园 1# 2# 3# 4# 7# 9# 10# 11# 楼 地 库 C 区 工

第一篇 建置区划


untitled


31 121

ǎà

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>


´®ÐжàͨµÀ10λA/Dת»»Æ÷TLC1543¼°ÆäÔÚµçѹÊý¾Ý²É¼¯ÏµÍ³ÖеÄÓ¦ÓÃ

Microsoft PowerPoint - chap5.ppt

管脚描述 X1 X KHz 晶振管脚 GND 地 RST 复位脚 I/O 数据输入 / 输出引脚 SCLK 串行时钟 Vcc1,Vcc2 电源供电管脚 订单信息部分 # 描述 DS1302 串行时钟芯片 8 脚 DIP DS1302S 串行时钟芯片 8 脚 SOIC 200mil DS

CH559指令周期.doc

(譯本)

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

51 C 51 isp 10 C PCB C C C C KEIL

untitled

7688使用手冊V10.doc

<4D F736F F D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63>


Microsoft Word - RT-T19264B-SPEC.doc

PowerPoint Presentation

() () () () () () () () DDRAM () II

Microsoft Word - xiuxinduanyu-2-doc.doc

第一次段考 二年級社會領域試題 郭玉華 (A)(B) (C)(D)

四、通 讯 规 约

(E). (A) (B) (C) (D) (E). (A) (B) (C) (D) (E) (A) (B) (C) (D) (E) (A) (B) (C) (D). ( ) ( ) ( ) ( ) ( ) ( ) (A) (B) (C) (D) (E). (A) (B) (C) (D) (E). (

fgfdg

SPMC75F2413A_EVM_使用说明_V1.2.doc

单片机原理及应用实验指导书.doc

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结!

2 12

第5章:汇编语言程序设计


Microsoft Word - FM12232C.doc

<4D F736F F D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

02所有分支机构的营业场所和电话.xls

的 城 镇 化 放 在 第 一 位 新 型 城 镇 化 在 未 来 一 段 时 间 首 先 是 调 整 人 口 结 构, 坚 决 抑 制 大 城 市 人 口 规 模, 发 展 城 市 群 城 市 卫 星 群 中 小 城 镇, 实 现 大 中 小 城 市 协 调 发 展 中 国 城 乡 建 设 经 济

Transcription:

一 \ 实验目的 93C46 串行 EEPROM 数据读写 1 学会 93C46 的操作指令, 掌握 93C46 读 / 写程序的编写 2 掌握 93C46 与单片机的接口方式二 实验说明 93C46/56/66 是 1K/2K/4K 位的串行电可擦写的 EPROM 93C46 的 1K 位 EPROM, 可以按 128 字节排列, 也可以 64 字节排列 93C46 芯片有 8 脚, 当 ORG 接 VCC 时作 64 字使用 当 ORG 接地时作 128 字节使用 本实验单片机 P3 口的低 4 位是 93C46 的控制线和数据线 CS 是片选端, 高电平有效 SK 是移位脉冲输入端 D1 是数据输入端 D0 是数据位输出端 ORG 接 5V,93C46 作 64 个字使用 如图 :93C46 指令表 起始位操作码 地址 数指 字节字字节字 说明 RWEN 1 00 11XXXX 读 / 写允许 RWDS 1 00 00XXXX 读 / 写禁止 ERAL 1 00 10XXXX 擦写指令 WRAL 1 00 01XXXX D7~D0 D15~D0 同一数据写片 WRITE 1 01 A6~A0 A5~A0 D7~D0 D15~D0 写指定单元 READ 1 10 A6~A0 A5~A0 读指定单元 ERASE 1 11 A6~A0 A5~A0 擦除指定单元 本实验提供 93C46 的读写操作软件, 有 5 条主要的命令 :READ WRITE WRAL ERASE 和 ERAL 其中 EWEN( 写允许 ) 和 EWDS( 写禁止 ) 操作命令已经包含在写入命令和擦除命令 当中了 程序中寄存器 R7 用来指定 93C46 的地址,R6 R5 分别用来存放待操作数据的高低 字节 对主程序操作只要在调用子程序之前把相应的内容写进 R7 R6 R5 中就可以了 三 实验内容及步骤 1 使用 80C51 单片机最小应用系统和 93C46 串行接口模块, 用扁平数据线连接单片机 P0 口与八位逻辑电平显示模块, 用导线连接 P1.0 到 CS,P1.1 到 SK,P1.2 到 DI,P1.3 到 D0,ORG 与 +5V 电源相接 2 用串行数据通信线连接计算机与仿真器, 把仿真器插到模块的锁紧插座中, 请注意 仿真器的方向 : 缺口朝上 3 打开 Keil uvision2 仿真软件, 首先建立本实验的项目文件, 接着添加 93C46.ASM

源程序, 进行编译, 直到编译无误 按程序要求设置断点 4 进行软件设置, 选择硬件仿真, 选择串行口, 设置波特率为 38400 5 打开模块电源和总电源, 点击开始调试按钮, 点击 RUN 按钮运行程序 查看寄存器 R7 R6 R5 的值, 查看发光管显示情况 6 按程序要求设置下一个断点, 继续上一步骤 验证 93C46 可读可写 7 93C46 先写入数据, 断电一段时间后, 再读出数据, 查看是否与写入值一致 四 93C46 的流程图及源程序 1. 源程序 CS_93C46 BIT P1.0 SK_93C46 BIT P1.1 DI_93C46 BIT P1.2 DO_93C46 BIT P1.3 BIT_CNT EQU 10H ; 移位次数 BIT_SEND EQU 11H ; 发送 Bit 数 DATSEND EQU 12H ; 待发送数据缓存 ORG 0000H LJMP MAIN ORG 0030H MAIN: LCALL ERAL ; 把芯片的内容全部擦除 MOV R7,#10H ; 读进 10H 的内容查看 LCALL READ MOV A,R5 MOV P0,A ; 显示 R5 的值 MOV P2,A ; 显示 R6 的值 ; 在这里设置断点, 查看读入内容应为 R6=0FFH 和 R5=0FFH ;SJMP $ MOV R7,#10H ; 把 1234H 写到 10H 中 MOV R6,#12H MOV R5,#34H LCALL WRITE MOV R6,#00H MOV R5,#00H ; 改变 R5 R6 的值, 以变和后面比较 MOV R7,#10H ; 读进 10H 的内容查看 LCALL READ MOV A,R5 MOV P0,A ; 显示 R5 的值 MOV P2,A ; 显示 R6 的值

;SJMP $ ; 在这里设置断点, 查看读入内容应为 R6=12H 和 R5=34H MOV R7,#10H ; 把 10H 内容擦除 LCALL ERASE MOV R7,#10H ; 读进 10H 的内容查看 LCALL READ MOV A,R5 MOV P0,A ; 显示 R5 的值 MOV P2,A ; 显示 R6 的值 ; 在这里设置断点, 查看读入内容应为 R6=0FFH 和 R5=0FFH ;SJMP $ MOV R6,#56H ; 把 5678H 写到全部内存中 MOV R5,#78H LCALL WRAL MOV R6,#00H MOV R5,#00H ; 改变 R5 R6 的值, 以变和后面比较 MOV R7,#10H ; 读进 10H 的内容查看 LCALL READ MOV A,R5 MOV P0,A ; 显示 R5 的值 MOV P2,A ; 显示 R6 的值 ; 在这里设置断点, 查看读入内容应为 R6=12H 和 R5=34H SJMP $ ; 名称 : 读指令 (READ 指令 ) ; 功能 : 把 93C46 中 R7 所指向的内存的资料读到 R6(H),R5(L) READ: MOV DATSEND,#06H ; 发送读操作指令 MOV DATSEND,R7 ; 发送写入地址 SETB DO_93C46 ; 准备读入资料 MOV BIT_CNT,#16 READ1: SETB SK_93C46 ; 产生一个时钟信号 SETB SK_93C46

MOV C,DO_93C46 ; 读取 DO 的信息 MOV A,R5 ; 移位保存 RLC A MOV R5,A RLC A MOV R6,A DJNZ BIT_CNT,READ1 ; 名称 : 写指令 (WRITE 指令 ) ; 功能 : 把 R6(H),R5(L) 的资料写到 93C46 中 R7 所指向的内存中 WRITE: LCALL WEN_93C46 MOV DATSEND,#05H ; 发送写入操作指令 MOV DATSEND,R7 ; 发送写入地址 MOV DATSEND,R6 ; 发送写入资料 MOV BIT_SEND,#08H MOV DATSEND,R5 MOV BIT_SEND,#08H LCALL WDS_93C46 ; 名称 : 写全部 (WRAL 指令 ) ; 功能 : 把 R6(H),R5(L) 的资料写到 93C46 的全部内存中 WRAL: LCALL WEN_93C46 MOV DATSEND,#11H ; 发送写全部操作指令 MOV BIT_SEND,#05H

MOV DATSEND,#00H MOV BIT_SEND,#04H MOV DATSEND,R6 ; 发送写全部资料 ( 高位 ) MOV BIT_SEND,#08H MOV DATSEND,R5 ; 发送写全部资料 ( 低位 ) MOV BIT_SEND,#08H LCALL WDS_93C46 ; 名称 :START_93C46 ; 功能 : 片选 93C46 做好读 / 写资料的准备 START_93C46: SETB DO_93C46 SETB DI_93C46 SETB CS_93C46 JNB DO_93C46,$ ; 查询器件是否繁忙 SETB SK_93C46 CLR CS_93C46 CLR DI_93C46 SETB CS_93C46 ; 名称 :STOP_93C46 ; 功能 : 停止对 93C46 操作 STOP_93C46: CLR DI_93C46 CLR CS_93C46 SETB DO_93C46 ; 名称 :WEN_93C46(EWEN 指令 )

; 功能 :93C46 写允许 WEN_93C46: MOV DATSEND,#04H ; 发送开始位和写允许操作码, 共 3 位 ; 调用发送子程序 MOV DATSEND,#30H ; 发送 6 位的指令操作码 ; 名称 :WDS_93C46(EWDS 指令 ) ; 功能 :93C46 写禁止 WDS_93C46: MOV DATSEND,#04H ; 发送开始位和写禁止操作码, 共 3 位 ; 调用发送子程序 MOV DATSEND,#00H ; 发送 6 位的指令操作码 ; 名称 :ERASE(ERASE 指令 ) ; 功能 : 擦除 93C46 中 R7 所指向的地址的内容 ERASE: LCALL WEN_93C46 MOV DATSEND,#07H ; 发送擦除指令 MOV DATSEND,R7 LCALL WDS_93C46

; 名称 :ERAL(ERAL 指令 ) ; 功能 : 擦除 93C46 所有内容 ERAL: LCALL WEN_93C46 MOV DATSEND,#04H ; 发送全部擦除指令 MOV DATSEND,#20H LCALL WDS_93C46 ; 名称 :SEND_DATA ; 功能 : 资料发送子程序, 把待发送资料 DATSEND 的低 BIT_SEND 位送到 DI 上 SEND_DATA: ; 因为为了使程序容易读懂, 前面把要发送的内容 ; 直接送给 DATSEND, 而现在就要把 DATSEND 中无 ; 用的位去掉, 把要发送的内容移到最高位来 MOV BIT_CNT,BIT_SEND MOV A,#08H ; 计算要移位的个数 CLR C SUBB A,BIT_CNT MOV BIT_CNT,A JZ SEND_DATA2 ; 如果发送的位数为 8 位, 则不用移位, 跳转 MOV A,DATSEND ; 把要送出资料的移到 DATSEND 的最高位 SEND_DATA1: RL A DJNZ BIT_CNT,SEND_DATA1 JMP SEND_DATA3 SEND_DATA2: MOV A,DATSEND ; 把要送出的 8 位资料 DATSEND 传给 A SEND_DATA3: MOV BIT_CNT,BIT_SEND SEND_DATA4: RLC A ; 移位元送出 BIT_SEND 位资料 JC SEND_DATA5 CLR DI_93C46 ; 发送 0 码 JMP SEND_DATA6

SEND_DATA5: SETB DI_93C46 ; 发送 1 码 SEND_DATA6: SETB SK_93C46 ; 产生移位元时钟信号 DJNZ BIT_CNT,SEND_DATA4 END 五 思考题 1. 改变硬件连线修改程序, 把 93C46 改为以字节形式排列, 存放数据 2. 当应用电路与此电路不同时只需更改软件包里引脚的定义就可以了 六 实验电路 CS SK DI DO 1 2 3 4 5 6 7 8 13 12 15 14 31 19 18 9 17 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR 8051 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 RXD TXD ALE/P PSEN 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 30 29 CS VCC SK DC DI ORG DO GND 93C46 VCC 0.1uF CAP GND