收藏 分销(赏)

实验一 地址译码.docx

上传人:s4****5z 文档编号:8799540 上传时间:2025-03-02 格式:DOCX 页数:7 大小:571.36KB
下载 相关 举报
实验一 地址译码.docx_第1页
第1页 / 共7页
实验一 地址译码.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述
08300720452 张阳 实验1 地址译码 一、 实验目的 通过本实验掌握MCS-51系列单片机的存储器系统,并掌握外部存储器的扩展技术,明白外部程序存储器和外部数据存储器的工作周期。 二、 实验内容 利用A2区的A0-A15,B_RD,B_WR和A3区的74LS138设计译码电路,并用示波器观测选通脉冲并测量宽度。 1.利用MOVX指令,产生地址为2003H的外部数据空间地址选通信号(需要读写控制信号参与)。 2.利用MOVC指令,产生地址为2003H的外部程序空间地址选通信号,并用示波器观测。(无需读写控制信号参与)。 1. 使用MOVX指令访问外部数据存储器,读控制信号参与。 执行程序如下: ORG 0000H ;伪指令,指定程序从0000H开始存放 AJMP MAIN ;跳转指令,程序跳转到MAIN处 ORG 0100H ;伪指令,指定以下程序从0100H开始存放 MAIN: MOV DPTR,#2003H ;DPTR提供16位地址 LOOP: MOVX A,@DPTR ;2003H单元内容送入A中 NOP ;Delay NOP NOP NOP AJMP LOOP ;继续循环 END 2. 利用MOVX指令, 写控制信号参与 执行程序如下: ORG 0000H ;伪指令,指定程序从0000H开始存放 AJMP MAIN ;跳转指令,程序跳转到MAIN处 ORG 0100H ;伪指令,指定以下程序从0100H开始存放 MAIN: MOV DPTR,#2003H ;DPTR提供16位地址 LOOP: MOVX @DPTR,A ;A中内容送入2003H单元 NOP ;Delay NOP NOP NOP AJMP LOOP ;继续循环 END 3. 利用MOVC指令, 无需读写控制信号参与 执行程序如下: ORG 0000H ;伪指令,指定程序从0000H开始存放 LJMP MAIN ;跳转指令,程序跳转到MAIN处 ORG 0100H ;伪指令,指定以下程序从0100H开始存放 MAIN: MOV DPTR,#2003H ;DPTR提供16位地址 LOOP: MOV A,#0000H ;给A赋值0 MOVC A,@A+DPTR ;2003H单元内容送入A中 NOP ;Delay NOP NOP NOP AJMP MAIN ;继续循环 END 利用MOVC指令, 无需读写控制信号参与。使用对外部程序存储器进行选通。 三、 实验记录 指令 选通脉冲宽度(ns) 周期宽度(us) MOVX(read) 536 8.700 MOVX(write) 540 8.700 MOVC 540 9.800 晶振周期为12MHz 四、 实验数据分析 1) 在分析实验所得数据之前,我们应该先了解一下指令操作及硬件执行的计数方法,比如在MOVX读操作时序图中(下图),P、S的含义是什么。 所谓时序,是指在执行指令过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的相互关系。 1.拍节:振荡脉冲的周期(晶振周期)定义为拍节(用“P”表示)。 2.状态:振荡脉冲经过两分频后,就是单片机的时钟信号,把时钟信号的周期定义为状态(用“S”来表示)。这样,一个状态包含两个拍节,前半周期为拍节1(P1),后半周期为拍节2(P2)。 3.机器周期:规定一个机器周期为6个状态,相当于12个拍节,即12个振荡脉冲的周期,可分别用S1~S6来表示状态,S1P1、S1P2、S2P1、S2P2……S6P2来表示拍节。 4.指令周期:执行一条指令所需要的时间称之为指令周期,指令周期以机器周期的数目来表示。 (以上摘自课件) 因此,P的频率为12M,S的频率为6M,工作周期频率为1M。 2) MOVX读操作 由于读信号和地址选通信号同时参与,要选择持续时间最短及重叠,考虑: 1.DPL持续时间:就是锁存器的持续时间为ALE两个下降沿的间隔,即第一个工作周期的S5P2到第二个工作周期的S5P1,共12个拍节; 2.DPH持续时间:与DPL一致; 3.RD信号持续时间:低电平有效,故为第二个工作周期的S1P1到S3P2,共6个拍节。 所以脉冲宽度应为6个拍节,6÷12MHz=500ns,与实验测得536ns接近。 查书附表得,指令MOVX占2个机器周期,NOP为1个,AJMP为2个,共计8个机器周期,一个循环需要8÷1MHz=8us。 3) MOVX写操作 外部数据存储器的写周期时序图如下, 分析与MOVX读操作一样,脉冲宽度应为写信号的6个拍节,500ns,而总周期为8个机器周期,8us。 4) MOVC操作 外部程序存储器访问时序图如下, 执行MOVC时除了地址信号没有读写信号参与,于是只需要考虑PCL和PCH的持续时间即可得到脉冲宽度: 1.PCL持续时间:两个ALE下降沿间隔,S2P2到S5P1,6个拍节; 2.PCH持续时间:S2P1到S4P2,6个拍节。 这里有个值得注意的地方,PCL和PCH重叠的部分只有S2P2到S4P2,即5个拍节,但是从时序图中看,P2端口是持续输出PCH的,只不过地址改变,而PCH是高8位,当PC+1时,PCH并不改变,所以实际上有效选通脉冲宽度为6个拍节,即500ns。 在程序循环中,加了一条MOV指令,确保累加器A值不变,立即数MOV为1个机器周期,MOVC为2个,故共计9个机器周期,即9us。 五、 误差分析与总结 1) 振荡频率可能不为严格12MHz,下面将6个数据一一计算: 根据公式f=nT ,n为拍节数,T为时间, 时间(us) 0.536 8.700 0.540 8.700 0.540 9.800 拍节数 6 96 6 96 6 108 频率(MHz) 11.194 11.034 11.111 11.034 11.111 11.020 综上结果,振荡频率应该在11.1MHz左右。 2) 地址信号,控制信号波形不理想,上升下降沿有斜度,信号有延迟,早消现象等等。 3) 示波器的误差和人为读数产生的误差。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服