zoukankan      html  css  js  c++  java
  • 8051单片机外扩ROM

    首先,我们必须知道外扩ROM的地址,因为8051单片机采用了统一编址,无论是什么样的外部设备,都有一个地址。在这里外扩一片2764(8KB的ROM)。具体的电路图按照如下方式连接。ALE锁存信号接锁存器373的LE端。PSEN信号接2764的选通端。


    在这里我们可以看到片外ROM的地址是0000H——1FFFH.片内只有4KB的ROM,地址是0000H——0FFFH。我们写一段测试代码,代码的功能是让P1.0接的LED灯闪烁。我们的代码从1000H这个地址起,也就是说,放在了外部ROM中。代码如下。

    ;====================================================================
    ; Main.asm file generated by New Project wizard
    ;
    ; Created:   周五 4月 27 2018
    ; Processor: AT89C51
    ; Compiler:  ASEM-51 (Proteus)
    ;====================================================================
    
    $NOMOD51
    $INCLUDE (8051.MCU)
    
    ;====================================================================
    ; DEFINITIONS
    ;====================================================================
    
    ;====================================================================
    ; VARIABLES
    ;====================================================================
    
    ;====================================================================
    ; RESET and INTERRUPT VECTORS
    ;====================================================================
    
          ; Reset Vector
          org   0000h
          jmp   Start            ;跳到Start处
    
    ;====================================================================
    ; CODE SEGMENT
    ;====================================================================
    
          org   1000h
    Start:	                    ;Start是从1000H这个地址单元开始的,也就是在外部ROM中
    here:
    	LCALL Delay
    	cpl p1.0
    	ljmp here
    	org 1100h           ;延时程序在1100H地址起
    Delay:	mov r7,#0ffh
    loop2:	mov r6,#0a0h
    loop1:	nop
    		nop
    		nop
    		djnz r6,loop1
    		djnz r7,loop2
    		ret
          ; Write your code here
    Loop:	
          jmp Loop
    
    ;====================================================================
          END
    
    

    我测试的是没有问题的,LED安装设想来闪烁。

  • 相关阅读:
    Android应用开发之避免内存泄露
    史上最经典的数据库面试题之二
    某大型银行深化系统之二十一:Log4j执行性能
    ruby支持批量数组的定义
    为VIM提供python代码提示功能
    使用win7登陆远程机器时自动保存密码
    安装Beanstalk
    在linux下安装或者卸载nginx
    python的数据类型
    使Ruby自动定位查找本地路径
  • 原文地址:https://www.cnblogs.com/zy666/p/10504313.html
Copyright © 2011-2022 走看看