作业:把片内RAM的30H处的值(是压缩BCD码)展开为非压缩BCD码放41H,42H处。(高位放41H处)
,此题不是太难,所以就选了这道啦!具体步骤,请大家看好啦!
1、先fileànew 建asm文件5.asm。
MOV A,30H
ANL A,#0FH
MOV 42H,A
MOV A,30H
SWAP A
ANL A,#0FH
MOV 41H,A
END
为了调试时看数据,预先在30H中赋值为56H,所以程序前加:
MOV 30H,#56H
为了在最后不至于出现不想看到的框,可以在END前加两三个NOP指令,程序变为:
MOV 30H,#56H
MOV A,30H
ANL A,#0FH
MOV 42H,A
MOV A,30H
SWAP A
ANL A,#0FH
MOV 41H,A
NOP
NOP;因为NOP是仅耗时但什么也不做的空指令,对本程序无影响,也可以不写。
NOP
END
2、建新工程,Projectànew project ,选AtemlàAT89C51 ,导入文件5.asm。
注意,对初学者,一个工程里只能有本程序5.asm,无关的程序要删除,新试验一个程序最好重新建工程,以保证一个工程里只有你要试验的那一个程序。
,前面的出了程序基本照抄老师的,图省事嘛!
3、可见程序:
4、进行编译、连接。编译通过后,点debug下的start/stop开始调试, step 和step over都是单步调试,step是遇到子程序或中断也要进入进行单步调试,step over是遇到子程序或中断当一句一次执行完。本程序物子程序,二者是一样的。,准备工作已经做好,下面就开始执行喽!我们执行一句得到:
点view àmemory windows,再输入D:30h回车,得到:
可见D:30H处变为56H.是将要执行的语句,再执行一步,可见:
把30H中的值赋给了A,所以A中的值变为56H,再执行一步,可见:
把A中的值与0FH进行逻辑“与”,A中的值高四位被屏蔽,所以A中的值变为06H,再执行一步,可见:
[page]
,到此就快找到30H中的值的低位啦!别急,输入D:42h回车,得到:
可见d:42h处变为06h.哈哈,找到啦!再执行一步可得:
可见A中的值又变为56H.接下来该怎么办呢?再执行一步可得:
可见A中的值变为65H.这一步把A中的值高低位互换,为的是找到高位并放到42H中。当然还有其他办法,具体的自己慢慢想吧,哈哈,(提示一下,直接把A与F0H逻辑“与”,也是可以滴。)。再执行一步可得:
可见A中的值变为05H.原因已经说过啦!再执行一步可得:
,这就要找到高位啦!输入D:41h回车,得到:
可见d:41h处中的值变为05H.,找到了吧?!!
综上:就把片内RAM的30H处的值展开为了非压缩BCD码放41H,42H处,并且高位放在了41H处。
关键字:单片机 压缩BCD码
引用地址:单片机第一次作业
为了调试时看数据,预先在30H中赋值为56H,所以程序前加:
为了在最后不至于出现不想看到的框,可以在END前加两三个NOP指令,程序变为:
2、建新工程,Projectànew
3、可见程序:
4、进行编译、连接。编译通过后,点debug下的start/stop开始调试,
点view
可见D:30H处变为56H.是将要执行的语句,再执行一步,可见:
把30H中的值赋给了A,所以A中的值变为56H,再执行一步,可见:
把A中的值与0FH进行逻辑“与”,A中的值高四位被屏蔽,所以A中的值变为06H,再执行一步,可见:
[page]
,到此就快找到30H中的值的低位啦!别急,输入D:42h回车,得到:
可见d:42h处变为06h.哈哈,找到啦!再执行一步可得:
可见A中的值又变为56H.接下来该怎么办呢?再执行一步可得:
可见A中的值变为65H.这一步把A中的值高低位互换,为的是找到高位并放到42H中。当然还有其他办法,具体的自己慢慢想吧,哈哈,(提示一下,直接把A与F0H逻辑“与”,也是可以滴。)。再执行一步可得:
可见A中的值变为05H.原因已经说过啦!再执行一步可得:
,这就要找到高位啦!输入D:41h回车,得到:
可见d:41h处中的值变为05H.,找到了吧?!!
综上:就把片内RAM的30H处的值展开为了非压缩BCD码放41H,42H处,并且高位放在了41H处。
推荐阅读最新更新时间:2024-03-16 14:37
如何自学单片机? 单片机怎么入门?
如何自学单片机?说起这个话题,我就会自然的就想起我的一段血泪史。 我在大学的专业不是应用电子,07年的时候,只有选择了应用电子,才有单片机这门课,我的专业是电光源技术,这个专业,我们都叫 “电灯泡”专业,因为这个专业是研究各种灯的设计和原理。 当时我们“数字电路基础”的教授是负责电子实验室的,我也因此意外的进了 学校“电子大赛电子实验室学”,当时的目标是参加08年的电子大赛。 进入电子实验室后我就开启了一段苦逼的单片机学习之旅。 先是学习C语言,买了一个本,除了白天的正常上课,就是没日没夜的啃这本书。苦干了3个月,写了几个笔记本,用坏了几支笔,当时的我,还是非常的用功。 三个月之后,C语言书是看完了,但对单片机,还是一片茫然,根本
[单片机]
单片机RS485串口通信
RS-485是半双工的通信方式,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通信对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通信瘫痪,无法正常工作。要使总线上的设备在时序上严格配合。在复位时,使主从机都处于接收状态。 MAX3082的发送和接收转换是由芯片的 RE/和DE端控制的。RE/=1,DE=1时,MAX3082处于发送状态;RE/=0,DE=0时,MAX3082处于接收状态。一般使用单片机的一个IO口连接RE/和DE端。在上电复位时,由于硬件电
[单片机]
爱特梅尔推出具有USB和模拟功能的AVR MCU
微控制器领导厂商爱特梅尔推出全新AVR XMEGA系列微控制器,具有更大数据吞吐量、业界最低功耗及最高集成度,可降低高端8/16位微控制器总体系统成本 微控制器及触摸解决方案的领导厂商爱特梅尔公司(Atmel® Corporation) 现已为其获市场公认的8/16位AVR XMEGA微控制器(MCU)系列增添独特功能,即100nA业界最低耗电量和5µS唤醒时间。全新Atmel AVR® XMEGA® 系列包括全速USB、最快的最高精度模拟系统、一个直接存储器存取 (Direct Memory Access, DMA) 控制器和创新的事件系统 (event system),能够最大化实时性能和数据吞吐量,同时减少CPU负载。新微
[单片机]
STC Monitor-51的单片机在线仿真调试
引言 当今很多院校中,单片机的教学仍以经典的51内核单片机为主。其实验与应用开发中最重要的环节是软、硬件综合调试,通常采用的方法主要有两种:一种是使用仿真器,优点是功能齐全,但是价格较高,一般厂家研发采用;另一种是使用软件仿真和芯片直接烧写验证的方法,其成本虽然低,但在程序或硬件出现疑难问题时,很难找到原因。 实际上,还有一种成本低且具有在线仿真调试功能的技术是在线仿真调试,它特别适合初学者。 在线仿真调试 是指:通过Keil C51编译器,结合单片机中的监控程序,对系统的应用程序和硬件进行仿真调试,可以让单片机以单步、断点、全速等运行模式来执行程序。在线仿真调试是单片机应用开发过程中的高效方法,国内STC公司的51内核单片机IA
[单片机]
飞思卡尔推新款8位车用MCU
飞思卡尔(Freescale)推出了专为入门级仪表板及暖气、通风与空调控制(Heating,Ventilation,and Air Conditioning,HVAC)所设计的S08微控制器系列。新款的8位S08LG32微控制器内建液晶屏幕(LCD)硬件驱动电路,能够为新兴汽车市场中(如中国和印度)广受欢迎的平价车款提供超值的LCD模块应用解决方案。 该微控制器可用在入门车款当中,也适用于二轮/三轮车辆,包括摩托车与轻型机车。目前S08LG32系列涵盖五款车用的5伏特微控制器,具备多种闪存容量(最高32KB)以及从48到80接脚的封装选项。芯片内含的LCD硬件驱动电路可支持高达296个节点区段的显示(8×37或4×41的LCD组
[单片机]
8051单片机时钟电路的构成
CPU 的功能,总的来说,就是以不同的方式,执行各种指令。不同的指令其功能各异。有的指令涉及到 CPU 各寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部器件(如外部存储器)有关系。 CPU 是通过复杂的时序电路完成不同的指令功能的。 事实上,控制器按照指令的功能发出一系列在时间上有一定次序的电脉冲信号,控制和启动一部分逻辑电路,完成某种操作。在什么时刻发出什么控制信号,去启动何种部件动作,这就是 CPU 的时序。 CPU 芯片设计一旦完成, 时序 就固定了,因而时序问题是 CPU 的核心问题之一。时钟可看成是主频,时序可看成是完成一个操作各部分电路产生的脉冲对照图。 一、振荡器和时钟电路
[单片机]
51单片机来做的PWM来无级调光程序
51单片机 来做的PWM来无级调光程序通过光耦可控硅来控制可控硅的导通角,从而实现白炽灯亮度的变化。 #include "reg51.h" #include "user.h" #define uchar unsigned char unsigned int value=100; unsigned int del=0; uchar value_temp=4; uchar temp=0; uchar code Tab ={0x88,0xbe,0xc4,0x94,0xb2,0x91,0x81,0xbc,0x80,0x90,0xf7}; sbit PWM_PORT=P3^1; sbit key=P3^7; bit lamp_enable=
[单片机]
DSP与单片机通信的多种方案设计
将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。下面就此问题分别设计串行SCI、SPI和并行HPI三种连接方式。 1 串行通信设计与实现 1 1 SCI串行通信设计 1.1.1 多通道缓冲串行口McBSP原理 TMS320VC5402(简称VC5402)提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口McBSP。MCESP分为数据通路和控制通路。①数据通路负责完成数据的收发。CPU或DMAC能够向数据发送寄存器DXR写入数据,DXR中的数据通过发送移位寄存器
[应用]
小广播
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多热门文章
更多每日新闻
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸
- 千丘智能侍淳博:用数字疗法,点亮“孤独症”儿童的光
- 数药智能冯尚:ADHD数字疗法正为儿童“多动症”提供更有效便捷服务
- Vicor高性能电源模块助力低空航空电子设备和 EVTOL的发展
- 创实技术electronica 2024首秀:加速国内分销商海外拓展之路
更多往期活动
11月22日历史上的今天
厂商技术中心