51单片机拆字程序实验

一、实验内容

1.基本要求

熟悉51仿真系统;设计并单步调试,实现将R5中数值(初值为本人学号后两位)拆分成两位独立的数据分别存于R6,R7中;

2.扩展要求

将R6,R7中的被拆出来的一位HEX数据转换为可显示的ASCII编码;

3.思考要求

分析BIN,HEX,BCD, ASCII等不同编码的数学意义及表现形式上的异同。

二、理论分析或算法分析

要求将R5中的数值分开高四位和低四位显示在R6和R7当中,R5的二进制有八位,需要将R5拆成两部分,变成两个独立的数据,分别保存在R6,R7当中,R6保存R5的高四位,R6的高四位为0000,;R7保存R5的低四位,R7的高四位为0000;

实现拆字实验有以下方法:

  1. XCHD、SWAP使用累加器互换,将7654的值与3210的值进行交换;
  2. 使用除法,R5除以10H,可以得到商是7654,余数是3210;
  3. 使用逻辑运算,R5与0F0H  以及R5 与0FH;

R5:7654 3210  27H

R6:xxxx 7564

R7:xxxx 3210

扩展要求:

R5:7654 3210   27H

R6:xxxx 7564   02H

R7:xxxx 3210   07H

对应的数据是3和5,对应的数据取值范围是从0到15,0到9的转化结果是30H到39H,10到15转化的结果需要转化为A到F的转变;

实现的办法:

  1. 直接进行数学计算;R6和R7大于等于10,就把内容变成+41H-10=55,反之,直接加30H=48;
  2. 可以使用查表的方法,“0123456789ABCDEF”,movc  A,@A+DPTR

三、实现方法

基本要求代码

使用方法一的代码:

使用方法二的代码:

扩展要求代码

四.实验结果分析

基本要求结果

方法一执行过程:

取R5为27H.

单步运行:(R7赋值为00H)

(R0赋值为07H) 

           

执行结果:(R6为02,R7为07)

方法二执行过程:

取R5为27H,

单步执行:

       

实现结果:(R6中保存2,R7中保存7)

扩展要求结果

出现的问题

(1)表达语法错误:

(2)表达语法错误:

解决方法

1.将A5保存到A当中,将R7保存到B当中;

2.使用寄存器间接寻址;

五、结论

在本次实验中,学会了如何使用medwin编程来实现对字节的拆分,使用了两种算法来将一个字节的数拆分成两个数值,将其高四位存于一个数,将其低四位存于一个数,了解到了medwin的操作以及窗口平铺等功能。

思考题:分析BIN,HEX,BCD, ASCII等不同编码的数学意义及表现形式上的异同。

BIN在数字上表示的是二进制。其数值为0和1,是计算机中的最小的存储单位;而HEX表示的是十六进制。其数值范围为0到9、A到F,便于在计算机中进行计算ASCII是单字节编码系统,定义字符表示;而BCD码是用来解决二进制和十进制之间的一些转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/267215.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++笔试训练day_2

文章目录 选择题7. 编程题1.2. 选择题 (6)因为p2被const修饰所以p2不可以被改变,但是p2的指向可以被改变 (7)因为指针p3被const修饰,所以p3的指向不能被改变,但是*p3可以被改变 int main() {in…

【基于激光雷达的路沿检测用于自动驾驶的真值标注】

文章目录 概要主要贡献内容概述实验小结 概要 论文地址:https://arxiv.org/pdf/2312.00534.pdf 路沿检测在自动驾驶中扮演着重要的角色,因为它能够帮助车辆感知道可行驶区域和不可行驶区域。为了开发和验证自动驾驶功能,标注的数据是必不可…

ansible的控制语句

本章内容主要介绍 playbook 中的控制语句 使用when判断语句block-rescue判断循环语句 一个play中可以包含多个task,如果不想所有的task全部执行,可以设置只有满足某个条件才执行这个task,不满足条件则不执行此task。本章主要讲解when 和 blo…

婚庆婚礼策划服务网站建设的效果如何

品牌效应越来越重要,婚庆行业在多年的发展下,部分区域内也跑出了头部品牌,连锁门店也开了很多家,无论新品牌还是老品牌在新的区域开店总归少不了线上线下的宣传,虽然几乎每个人都会接触婚庆服务,但因为市场…

【并发编程篇】源码分析,手动创建线程池

文章目录 🛸前言🌹Executors的三大方法 🍔简述线程池🎆手动创建线程池⭐源码分析✨代码实现,手动创建线程池🎈CallerRunsPolicy()🎈AbortPolicy()🎈DiscardPolicy()🎈Dis…

1.倒排索引 2.逻辑斯提回归算法

1.倒排索引 https://help.aliyun.com/zh/open-search/retrieval-engine-edition/introduction-to-inverted-indexes 倒排索引(Inverted Index)是一种数据结构,用于快速查找包含某个特定词或词语的文档。它主要用于全文搜索引擎等应用&#…

c#委托学习笔记1

委托三步骤 第一步:定义委托 //第一步:1 声明委托(定义委托) //对于声明委托的解释如下: //解释a:函数指针 //解释b:委托就是定义函数的形状(形态) // 即:返回值类型&#x…

代码随想录刷题题Day21

刷题的第二十一天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C Day21 任务 ● 216.组合总和III ● 17.电话号码的字母组合 1 组合总和III 216.组合总和III 思路: 在[1,2,3,4,5,6,…

数据孤岛:一场数据的独立战争

在当今数字化的时代,数据已成为企业和组织最宝贵的资产之一。然而,尽管数据的价值被广泛认可,但数据的分散和孤立问题却仍然存在,这就是所谓的数据孤岛。本文将重点分析什么是数据孤岛、数据孤岛的危害以及解决数据孤岛的传统和创…

C语言课程设计_运动会管理系统

本次课程设计利用《C语言程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框…

分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention基于马尔可夫转移场-卷积神经网络融合多头注意力多特征数据分类预测

分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention基于马尔可夫转移场-卷积神经网络融合多头注意力多特征数据分类预测 目录 分类预测 | Matlab实现MTF-CNN-Mutilhead-Attention基于马尔可夫转移场-卷积神经网络融合多头注意力多特征数据分类预测分类效果基本描述程序设计参考…

HarmonyOS4.0系统性深入开发03UIAbility组件详解(中)

UIAbility组件基本用法 UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility的启动页面 应用中的UIAbility在启动过程中,需要指定启动页面,否则应用启动后会因为没有默认加载…

2024华为OD机试真题指南宝典—持续更新(JAVAPythonC++JS)【彻底搞懂算法和数据结构—算法之翼】

PC端可直接搜索关键词 快捷键:CtrlF 年份关键字、题目关键字等等 注意看本文目录-快速了解本专栏 文章目录 🐱2024年华为OD机试真题(马上更新)🐹2023年华为OD机试真题(更新中)🐶新…

Python字符串处理全攻略(三):常用内置方法轻松掌握

目录 引言Python字符串常用内置方法str.index()功能介绍语法注意事项总结 str.startswith()功能介绍语法示例注意事项 str.expandtabs()功能介绍语法示例注意事项总结 str.splitlines()功能介绍语法示例注意事项总结 str.swapcase()功能介绍语法示例注意事项 结束语 引言 欢迎…

XUbuntu22.04之跨平台容器格式工具:MKVToolNix(二百零三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【Hadoop】Zookeeper是什么?怎么理解它的工作机制?

Zookeeper是什么Zookeeper工作机制 Zookeeper是什么 Zookeeper是一个开源的分布式的,为别的分布式矿建提供协调服务的Apache项目。分布式简单地理解就是多台机器共同完成一个任务。 Zookeeper工作机制 从设计模式的角度来理解,是一个基于观察者模式设…

css学习笔记6(盒子模型)

CSS盒子模型 五、CSS盒子模型1.CSS长度单位2.元素的显示模式3.总结各元素的显示模式4.修改元素显示模式5.盒子模型的组成6.盒子内容区(content)7.关于默认宽度8.盒子内边距(padding)9.盒子边框(border)10.盒…

深度学习入门(python)考试速成均方误差

均方误差 表示神经网络的输出,表示监督数据,表示数据的维度。 这里神经网络的输出y是softmax函数的输出 数组元素的索引从第一个开始依次对应数组“0”,“1”,“2”,...... 由于softmax函数的输出可理解为概率 由此…

指针的含义

我们还取前面图片解释的道理: pa表示的意思就是这个地址,并不会显示出10这个数字 *pa就是指针,最后指向了a10,所以他最后程序输出是10 &pa这个含义就是取pa的地址,那么pa是一个虚拟的地址,只是简单的…

概率中的50个具有挑战性的问题[02/50]:连续获胜

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》(Fifty Challenge Problems in Probability with Solutions)一书。我认为…