导航:首页 > 操作系统 > 单片机读程序题

单片机读程序题

发布时间:2023-02-05 23:32:05

Ⅰ 一道单片机编程

现假定左边是地址,右边的是内容
1.它的功能是以50H为首地址,个数为0AH个的RAM全部清零

2.机器码
7A 0A··········MOV R2,#0AH
mov rn的机器码是01111xxx,其中xxx由Rn的地址来决定,相应地,R0~R7二进制地址为000~111
那么R2就是010,后面的数据就跟着mov rn的机器码后面

7850··········MOV R0,#50H
E4 ···········CLR A;
机器码固定
F6 ·········LOOP:MOV @R0,A

mov @rn,a机器码为1111011n
n就是Rn的n
所以间接寄存器寻址只能是R1或R0

08 ············INC R0
inc rn机器码为00001xxx
xxx同理为Rn的物理地址

DA__ ···········DJNZ R2,LOOP
djnz rn机器码11011xxx
xxx同理为RN的物理地址
loop为8位地址标号
机器码是以loop为首的第一个指令离loop的单元数
所以djnz r2,loop的loop不能放在此后超过255字节的程序空间单元
题中loop:后面跟有MOV @R0,A占1个内部ram单元,INC R0占1个内部ram单元,DJNZ R2占1个内部ram单元(由机器码可得),所以255-3=252=FCH
即机器码为DAFC

···········DONE:

3.对于第三个问题,楼上的方法有误
,R0和R2有可能在00H~A0H
而且你只是把0~10放入50H~5AH单元
所以可以这样
SETB RS1
SETB RS0;R0工作在18H单元
MOV A,#50H
MOV R2,#10
MOV R0,#0
LOOP:
MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP

经仿真无误

Ⅱ 单片机问题

我将答案都放到题目中去了,方便你查看。

三、读程序题:(每空5分,共20分)
1、写出下列程序段执行的结果:
MOV A,#90H
MOV R0,#20H
MOV @R0,A
ANL A, #0F0H
ORL A, #70H
XRL A, @R0
(A)=__60H______;(R0)= 20H ;(20H)=__90H________;
2、 写出下列程序段执行的结果:
MOV A,#20H
MOV DPTR,#2020H
MOVX @DPTR,A
MOV A,#50H
MOVX @DPTR,A
(2020H)= 50H ,(A)= 50H
3、写出下列程序段执行的结果:
MOV A, #36H
MOV R2, #45H
MOV 40H, #2CH
MOV R0, #40H
ADD A, R2
ADDC A,@R0
ADDC A, 40H
A= D3H
4、写出下列程序段执行的结果:
MOV A,#02H
MOV B,#30H
MUL AB
DIV AB
ADD A,B
A= 60H
5、写出下列程序段执行的结果:
MOV A,#0F7H
CPL A
ANL 30H,#0FFH
ORL 30H,#79H
XRL 30H,A
(30H)= 71H
根据所描述的实验现象将程序补充完整:P1口的八个灯右移循环点亮,用单次脉冲申请中断,按下脉冲源后8个灯全部闪烁8次后继续往右循环点亮。
ORG 0000H
LJMP START
__ORG 0003H___________;设置外部中断1的入口地址
LJMP INTP
ORG 0030H
START: MOV SP,#60H
_SETB EA____________;设置中断总允许
SETB EX1
_SETB IT0______________;设置触发方式为低电平触发
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
__RL A___________;实现将8个灯右移循环点亮
LJMP LOOP
INTP: PUSH ACC
PUSH PSW
PUSH P1
CLR RS1
SETB RS0
MOV R1,#8
LOP: MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
__DJNZ R1,LOP_______________; 控制8个灯全部闪烁8次
POP P1
POP PSW
POP ACC
RETI
DELAY: ……;延时程序省略
RET
END
六、设单片机的时钟频率为12MHz,用定时器T1定时方法,在P1.0产生频率为20KHz等宽矩形波,选择工作方式2编程实现,根据提示将程序补充完整。
程序:
ORG 0000H
LJMP START
ORG 001BH
LJMP TIME1
ORG 0100H
START:
MOV TMOD,#20H ;设置TMOD
MOV TH1, #0CEH ;设置计数初值.50
MOV TL1, #0CEH

SETB EA
SETB ET1
SETB TR1 ;启动定时器T1运行
$:SJMP $
TIME1: ;产生矩形波
CPL P1.0
RETI
END
六、以定时器1进行外部事件计数,每计数150个脉冲后,从P1.1输出高电平并保持1s,如此循环不止。设晶振频率为12MHz,试用模式2编程。根据提示将程序补充完整。
程序:
ORG 0000H
LJMP START
ORG 001BH
LJMP T1FW
ORG 0100H
START:___MOV TMOD,#60H_____________________;设置TMOD
____MOV TH1,_#6AH______________;设初值,要求每计150个脉冲产生溢出
____ MOV TH1,_#6AH _______________;设初值,要求每计150个脉冲产生溢出
SETB EA
SETB ET1
__SETB TR1___________;启动定时
SJMP $
T1FW:__SETB P1.1_____________;从P1.1输出高电平;
……;省略延时程序段
RETI
END
问题补充:
图片上也要做 做好给500分 加油啊

1: CLR PX0 ;中断0设置为低中断优先级
CLR PX1 ;中断1设置为低中断优先级
CLR IT0 ;中断0设置为电平触发
CLR IT1 ;中断1设置为电平触发
2:
SETB PT1 ;T1高优先级中断
CLR PS ;串行口低优先级中断
3:
51的中断优先级只有两级,如果都处于同一级时,优先级是/INT0→T0→/INT1→T1→串口
所以要通过设置,实现上面的顺序是不可行的。
如果要实现:T0→T1→串口→/INT0→/INT1则是可以的。
程序如下:
SETB PT0
SETB PT1
SETB PS
CLR PX0
CLR PX1
4:
CLR PT0
CLR PX1
CLR IT1
5:
1)
MOV TMOD,#60H ;设置TMOD
MOV TH1,#0CEH ;设初值,要求每计50个脉冲产生溢出
MOV TH1,#0CEH ;设初值,要求每计50个脉冲产生溢出
SETB EA
SETB ET1
SETB TR1 ;启动定时
2)
MOV TMOD ,#10H ;设置工作为方式1
MOV TH1,#0ECH ;送初值,定时5ms
MOV TL1,#78H
SETB EA ;开总中断
SETB ET1 ;开定时器1中断
SETB TR1 ;启动定时器1

Ⅲ 51单片机程序阅读题

惊!!! 以后做作业都这样做好了

Ⅳ 单片机读程序

你发出来的程序少了一部分,最后面应该有
ORG 4000H
DB 10H, 50H,30H,80H,30H,50H
地址4000H是10H,DPTR+A=4000H+04H=4004H,那就是这六个数(上面的数)的第五个就是30H,刚好复习到这个,给个采纳啊

Ⅳ 单片机c语言读程序题

大头存储、或小头存储,
这在 C 语言中,是可以自己设定的吧。

Ⅵ 单片机复习题(C语言)

一. 填空题
1. MCS-51单片机是____8____位机,其最大程序容量可达___64_____K字节,有_____4___个并行口和____32____条I/O管脚。
2. MCS-51单片机正常工作所必须的外部硬件电路是___电源_____、___时钟_____、__复位______。
3. MCS-51单片机复位电平是___高_____电平,正常工作时复位端为__低______电平,复位后并所有行口的输出为____高____电平。
4. MCS-51单片机内部结构中,四个基本功能单元分别是___CPU_____、__RAM______、____ROM____、___定时器计数器I/O口_____;三个扩展功能单元分别是____?____、___?____、___?_____。
5. MCS-51单片机内部RAM四个分区分别是__00H到1FH(R0-R7)可位寻址____、____ _ 20H-2FH___、_30H-7FH__ _____、__80H-FFH______。
6. MCS-51单片机___P0_____口没有内部上拉电阻;并行口作为输入口使用时必须保证该端口场效应管__开漏______,即向该端口写___0xff_____,此时该端口的输出锁存器Q端为___1(高电平)_____。
7. MCS-51单片机计数器工作在方式1和方式2的最大计数值分别是_____65536______、___256________。
8. MCS-51单片机若单片机的主时钟振荡频率为6MHz,定时器工作在方式1和方式2的最大定时时间分别是_____自己算!!______ms、___不懂看书!!________us。基本指令周期是___0.5-2_______us。
9. MCS-51单片机的五个中断源分别是___INT0______、__T0_______、_____INT1_____、___T1______、___UART_______。
10. 编写程序常用的三种程序结构是 __顺序结构_______、__循环结构_______、___选择结构_______。
11. C语言语法中,数据类型unsigned char 定义的是____8_____位无符号数;数据类型unsigned int定义的是___16______位无符号数。对8位和16位有符号数,定义数据类型关键词为___signed char______、____short_____。
12. 单片机上电后是从主函数void main()的___0x0000H______位置运行。
13. 单片机C语言编程时必须有的固定结构的语句是#include <reg51.h>、void main()以及____while_____。
14. keil 集成开发软件的三个主要功能是___编译______、__调试_______、___仿真______。
15. 十进制数100对应的十六进制数是____64_____、二进制数是___01100100______。

二. 读程序题
默认有关变量x、y、z、a、b、c、i均为unsigned int (8为无符号数)(这个是不是打错了)请写出局部程序运行后的结果,用十进制表示。
1. x = ___6___, y = ___3___, z = __11____ , a = ___5___, b = ___15___, c = ___252___。
x = 50/8; y = 100%12; z = 240+26;
a = z>>1; b = x | z; c = ~y;
2. x = _183_____, y = __10____, z = __11____ , a = __10____, b = __10____, c = ___10___。
x = 0xa5 ^ 0x12; y = 5*2; z = y++
a = --z; b = a & y; c = (a+z)/2;
3. x = ___6___, y = __12____, i = ___3___。
x=0;y=0;
for (i=1;i<=3;i++){
x = x+i;
y = y + i*2;
}
4. x = __20____, y = ___10___, z = ___81___ , a = __8____, b = ____9__,
c = __48____, i = ___8___。
a=0;
if (!a){
x=20; y=x<<2; z=y++;
}else{
x=10; y=x<<2; z=y++;
}
i=2<<2; y=10;
if (i>3 && y){
a=y & 0x0c;
b=++i;
c=x^y;
}
随便做的,有些东东忘了!不懂的自己回去看看书去。

Ⅶ 单片机题目(简述、读程序、综合题)高手进!!急!!!最好带分析(可追加分数)

1。时钟周期:计算机在时钟信号的作用下,以节拍方式工作。因此必须有一个时钟发生电路,输入微处理器的时钟信号的周期称为时钟周期。
机器周期:机器完成一个动作所需的时间称为机器周期,一般由一个或一个以上的时钟周期组成。在我们讲述的MCS-51系列单片机中,一个机器周期由12个时钟周期组成。
指令周期:执行一条指令(如“MOV A,#34H”,该指令的含义是将立即数34H传送到微处理器内的累加器A中)所需时间称为指令周期,它由一个到数个机器周期组成。指令周期的长短取决于指令的类型,即指令将要进行的操作步聚及复杂程度。
2。先进后出
3。伪指令:汇编语言程序的语句除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。

Ⅷ 51单片机C语言 读 程序的问题

你这里的data不是单片机里面的那个data,这个只是你自己程序中的宏定义:
而单片机存储类型与存储区关系

data ---> 可寻址片内ram
bdata ---> 可位寻址的片内ram
idata ---> 可寻址片内ram,允许访问全部内部ram
pdata ---> 分页寻址片外ram (MOVX @R0) (256 BYTE/页)
xdata ---> 可寻址片外ram (64k 地址范围FFFFH)
code ---> 程序存储区 (64k 地址范围),对应MOVC @DPTR

Ⅸ 单片机:阅读下面程序,指出该程序的功能

Y EQU 30H
ORG 1000H
CLR A ;清零累加器
MOV R0,#01 ;R0初始化为1
NEXT:
CJNE R0,#11,AD ;只要R0未累加到11,则执行AD程序段(计算1~10的总和)
MOV Y,A ;将累加器内容(1~10的总和)写入30H处
RET
AD:ADD A, R0 ;R0的内容加进累加器
INC R0 ;R0加一
SJMP NEXT ;跳转回循环

Ⅹ 一道MCS-51单片机的读程序题,重点是RL

MOV A,#0FH ;(A)=0FH
CPL A ;(A)=F0H
MOV 30H,#00H ;(30H)=00H
ORL 30H,#0ABH;(30H)=ABH
RL A ;(A)=E1H
RL是循环左移一位(不带进位位的),原本的F0H=11110000B,各位左移一位,原最高位移入最低位,就成了11100001B=E1H。

阅读全文

与单片机读程序题相关的资料

热点内容
免费vip会员电视剧的网址 浏览:717
程序员懂修电脑吗 浏览:309
韩国电影与丈夫 浏览:374
安卓手机怎么打开短信字那么大 浏览:31
服务器如何实现多桌面镜像 浏览:789
上了大嫂韩国电影 浏览:950
java监控命令 浏览:70
极品都市后宫 浏览:386
人妻哺乳电影 浏览:838
乐高解压器价格 浏览:560
云开发服务器价格表 浏览:979
d盘英雄时刻文件夹是什么 浏览:740
wordpress网址简洁导航源码 浏览:476
搞笑视频网 浏览:910
电影韩国美女爱情 浏览:14
手机在线看电影的网站 浏览:944
十部必看重生军婚小说 浏览:751
海上海下电影 浏览:876
何家驹演的全部电影 浏览:684
个人信息处理者加密 浏览:779