找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3012|回复: 0
打印 上一主题 下一主题
收起左侧

单片机汇编语言存储器块赋值实验程序

[复制链接]
跳转到指定楼层
楼主
ID:759837 发表于 2020-5-24 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.汇编源程序
    ORG 0000H
    AJMP    MAIN
    MAIN:   MOVR0,#32          ;循环次数32次
        MOV R1,#40H         ;首址
        MOV A,#0H           ;要存入地址的值
        SJMP LOOP
    LOOP:   MOV@R1,A           ;A->(40H)
        MOV P1,@R1          ;P1输出(40H)值
    DELAY:  MOVR3,#10          ;延时1秒
    D1: MOVR4,#200         
    D2: MOVR5,#250         
    D3: DJNZR5,D3
        DJNZ R4,D2
        DJNZ R3,D1
        INC R1              ;R1指向下一地址
        ADD A,#05H          ;A+5->A
        DJNZ R0,LOOP            ;是否达到循环次数,没有则继续循环
        END

2.C51源程序
#include<REG51.h>
/*延时程序*/
void delay(int n)
{
    inti,j;
    for(;n>0;n--)
    {
        for(i=0;i<500;i--)
            for(j=0;j<250;j--);
    }
}
void main(){
    int len;
    unsigned char data *ptr;
    unsigned int n;
    n=0x00;
    ptr=0x40;
    for(len=0;len<32;len++)//将0,5,15……155依次填入以40H为首地址的32个单元格里。
    {
        *ptr=5*n;
        n++;
        ptr++;
    }
    ptr=0x40;
    for(len=0;len<32;len++)//将以40H为首地址的32个单元格里的数据依次输出。
    {
        P1=*ptr;
        ptr++;
        delay(1);
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表